Реферат: Методические указания к лабораторным работам для студентов специальности 210100 "Автоматика и информатика в технических системах"



Министерство общего и профессионального образования
Российской Федерации


Хабаровский государственный технический университет


ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ
СИСТЕМ УПРАВЛЕНИЯ


Методические указания к лабораторным работам

для студентов специальности 210100

"Автоматика и информатика в технических системах"


Хабаровск

Издательство ХГТУ

1997

УДК 621.398


Информационное обеспечение систем управления: Методические указания к лабораторным работам для студентов специальности 210100 «Автоматика и информатика в технических системах» /Сост. В.В. Воронин, Г.К. Конопелько. – Хабаровск: Изд-во Хабар. гос. техн. ун-та, 1997.
– 48 с.


Методические указания составлены на кафедре «Автоматика и системотехника» и предназначены для проведения лабораторного практикума, состоящего из девяти работ, по дисциплине "Информационное обеспечение систем управления". В них приводятся краткие теоретические сведения, описания необходимых элементов языка манипулирования данными СУБД FoxPro, задания на выполнение работ.


Печатается в соответствии с решениями кафедры "Автоматика и системотехника" и методического совета института информационных технологий.


© Издательство Хабаровского
государственного технического
университета, 1997
Введение
Согласно образовательному стандарту специальности 210100 дисциплина "Информационное обеспечение систем управления" входит составной частью в цикл специальных дисциплин. Она преподается в восьмом семестре и имеет в составе аудиторных занятий 34 часа лабораторного практикума, целью которого является приобретение студентами практических навыков по проектированию и реализации различных составных частей информационных систем. В данных методических указаниях основное внимание уделяется следующим вопросам: проектированию логической структуры базы данных заданной предметной области, изучению возможностей языков описания данных, манипулирования данными и овладению языком запросов СУБД FoxPro.

Методические указания содержат описание девяти лабораторных работ, каждая из которых может быть выполнена в среде FoxPro для операционных систем MS-DOS или WINDOWS. Выполнив лабораторную работу, студент должен знать структуру соответствующих команд и функций, их основные возможности и правила их использования по назначению.

Технология выполнения лабораторных работ единообразна и включает в себя следующие этапы:

· теоретическое усвоение материала в объеме данных методических указаний и соответствующих разделов курса лекций;

· получение задания на работу, осмысление его и проведение необходимых подготовительных работ;

· выполнение задания с использованием вычислительной системы со средой FoxPro;

· оформление отчета;

· защиту выполненной лабораторной работы.

Каждая лабораторная работа рассчитана на два или четыре аудиторных часа и заканчивается оформлением отчета. Отчет должен включать титульный лист и другие листы, оформленные согласно СТП 21600.33-10-84 "Выполнение и оформление отчетов по лабораторным работам". Основная часть отчета должна содержать цель и задачи работы, при необходимости – формализованное описание алгоритма решения задачи, текст программы и краткое описание особенностей программы, оформленные в соответствии с требованиями ЕСПД.
^ Лабораторная работа № 1 РАЗРАБОТКА ЭКРАННЫХ ФОРМ ДЛЯ ИСС
Цель работы: изучить команды и функции языка манипулирования данными для разработки экранных форм и разработать "визитную" экранную форму информационно-справочной системы (ИСС) заданной предметной области.
^ 1. ОБЩИЕ СВЕДЕНИЯ
Для разработки экранных форм используется большой набор команд и функций языка манипулирования данными СУБД. Перечень элементов этого набора приведен в разд. 2. В данном разделе описаны функциональные возможности одной из основных команд, а именно: команды @ ...SAY...GET.

Формат команды:

@

[SAY <выр.1>
[PICTURE <выр.с1>] [FUNCTION <Фкоды 1>]
^ [COLOR SCHEME <выр.N1>/COLOR <список цвет. пар>]]

[GET <пер>
[PICTURE <выр.С2>] [FUNCTION <Фкоды 2>]
[DEFAULT <выр.2>] [ENABLE/DISABLE]
[MESSAGE <выр.С3>] [[OPEN] WINDOW <окно>]
[RANGE [<выр.3>] [,<выр.4>]]
[SIZE<выр.N2>,<выр.N3>]
[VALID <выр.L1/<выр.N4>[ERROR<выр.C4>]>]
[WHEN <выр.L2>]
^ [COLOR SCHEME <выр.N5>/COLOR<список цвет. пар>]].

Здесь Y и X – пара чисел, переменных или численных выражений, которые определяют номер строки и столбца (для экрана это соответственно 0–24 и 0–79, для принтера определяется размером листа бумаги). С этой позиции будет осуществляться ввод-вывод. Обязательным элементом команды является только @ . Если больше ничего нет, то курсор устанавливается в позицию Y, X и очищает строку Y вправо с позиции X (@ 5,0 очищает пятую строку).

Команда @ Y,X SAY <выр.1> – выдает с заданной позиции значение <выр.1> любого типа (поле отношения, переменные, элемент массива, сложное выражение, функцию пользователя (ФП)).

Например, @ row()+I, col()+8 SAY `HOMEР СТРОКИ–` +
STR(ROW()+I,2).

Эта команда в позиции, смещенной относительно текущего положения курсора на , выдаст сообщение НОМЕР СТРОКИ – 12, если I=5 и текущая строка имеет значение 7.

Команда Y,X GET <перем./поле> – с заданной позиции выводит значение переменной или поля с возможностью их редактирования. Переменная к этому моменту должна существовать (если не указано ключевое слово DEFAULT). Если в команде есть оба ключевых слова SAY и GET, то поле GET идет через пробел вслед за сообщением, определяемым выражением в SAY.

DEFAULT <выр.2> – задает выражение, которое по умолчанию будет помещено в GET-поле и предъявлено на редактирование.

ENABLE/DISABLE – разрешается/запрещается доступ к GET-полю. Цвета таких полей определяются шестой (W+/GR) и десятой (R+/B) цветовыми парами из цветовой схемы номер 1.

MESSAGE <выр.С3> – для данного GET-поля задается поясняющее сообщение <выр.С3>, выводимое в последней строке экрана/окна (если не изменено командой

^ SET MESSAGE TO [<выр.N> [LEFT/ RIGNT/ CENTER]]). Символьное выражение <выр.С3> должно иметь меньше 79 символов.

RANGE <выр.3>, <выр.4> – этот элемент команды организует входной диапазонный контроль вводимых данных (числовых, строковых и даты ). Здесь проверяется вхождение редактируемой переменной в заданный диапазон от <выр.3> до <выр.4>. Допускается отсутствие одного из выражений.

SIZE <выр.N2>, <выр.N3> – определяет область, отводимую под редактируемое поле. По умолчанию под редактируемое поле отводится одна строка длиной, равной длине поля. Если она не умещается на экране/окне, то строка "ломается" у правой границы и продолжается на следующей строке и т.д. Ключевое слово SIZE позволяет управлять этим процессом. Здесь <выр.N2> – число строк, <выр.N3> – колонок, отводимых под данные. Если фактическая длина данных больше обозначенной области, доступ к неуместившейся их части может быть осуществлен скроллингом.

Например, последовательность команд имеет результат

PP=` тест на размер области поля GET `
@ 5,5 SAY ` Результат: ` GET PP SIZE 3,8
READ

Результат: тест на
размер
области

VALID <выр.L1>/<выр.N4> [ERROR <выр.C4>] – если контроль должен быть более сложным, можно предусмотреть логическую проверку вводимой переменной. Если указано условие <выр.L1>, то будет допущен ввод только такого значения, которое ему удовлетворяет, т.е. <выр.L1>=.T. Если введено неправильное значение (<выр.L1>=.F.), то система выдаст предупреждение о неправильном вводе и предложит после нажатия клавиши <Пробел> повторить ввод. Можно задать собственное сообщение <выр.С4> на неправильный ввод ключевым словом ERROR. Опция VALID (в отличие от RANGE) выполняет проверку всегда и допустит выход из редактируемой области только при нажатии клавиши , если результаты проверки оказались неверными (даже если редактирование не выполнялось). Допускается использовать ФП, возвращающую числовое или логическое значение. Если задано числовое выражение <выр.N4>, то оно определит относительное положение поля, которое будет редактироваться после текущего. Выражение может быть положительным (движение вперед) и отрицательным (движение назад). Если <выр.N4> указывает на номер поля, которое отсутствует, команда прерывается, если <выр.С4>=0, то обнаружена ошибка и курсор остается в том же поле.

Пример. Рассмотрим ввод суммы платежа за партию товара (CEN – цена единицы товара; MX – максимальное число единиц в партии; 1000 – минимальная сумма, которую оплачивает банк; 6000000 – максимальная сумма, которую предприятие может истратить на данный вид товара)

@ 10,3 SAY `ПЛАТЕЖ-` GET pl VALID MOD(pl/сеn)=0;
^ RANGE MIN(1000,MN*CEN), MAX(6000000,MX*CEN)

Здесь MOD() – вычислит остаток от деления.

WHEN<выр.L2> – вход в редактируемое поле допускается только при истинности условия < выр.L2 >. Если условие имеет значение .F., поле пропускается.

^ [OPEN] WINDOW <окно> – ключевое поле используется с мемо-полями. Это поле открывается в определенном ранее командой DEFINE WINDOW окне. Если указано слово OPEN, окно будет открыто по умолчанию, в противном случае – через клавиши доступ к мемо-полю.

^ COLOR SCHEME <выр.N>/COLOR <список цвет. пар> – определит раскраску областей ввода-вывода. По умолчанию используется цветовая схема номер 1: первая цветовая пара для SAY (W+/B), вторая – для GET-области (W+BG).

Команда @...GET позволяет осуществлять только предъявление данных. Наделение GET-полей аппаратом редактирования и фактическое запоминание экранных образов данных в полях осуществляется командой READ, которая стоит обычно всегда вслед за одной или несколькими командами @...GET.

PICTURE <выр.С2> FUNCTION <Фкоды> – контролируют форму вводимых значений. Выражение <выр.С2> задает шаблон для ввода. Он состоит из специальных символов, которые устанавливает программист в соответствии с желаемым форматом вводимой/выводимой переменной. Каждый символ шаблона определяет один символ переменной. Строка шаблона может содержать любые символы, но только "специальные" символы влияют на данные. "Неспециальные" символы будут лишь отображаться при вводе-выводе. При вводе курсор будет перескакивать через них. Этот механизм хорошо работает в числовых полях. В символьных полях чаще пользуются кодом R (FUNCTION`@R..`).

Ниже приведены некоторые специальные символы:
А – допускает ввод только букв;
L – только логических данных;
N – только букв и цифр;
X – любых символов;
9 – в символьных только цифр, а в числовых – цифр и знаков "+" "–";
# – ввод цифр, пробелов и знаков "+" и "–";
! – преобразует строчные буквы в прописные. Например:

@ 10,3 SAY `ПЛАТЕЖ-' GET pl PICTURE '######.##'

Фкоды распространяются на всю переменную, а не на отдельные ее символы. Они могут сочетаться с шаблонами. В этом случае нет необходимости указывать в команде само слово FUNCTION, а нужно поместить в апострофы перед строкой шаблона знак @ и коды функций и затем, обязательно через пробел – сам шаблон.

Приведем некоторые форматные коды:
А – ввод только букв;
В – выводимые числа выравниваются к левой границе поля;
J – к правой;
I – центрируются внутри поля SAY;
R – вывод в шаблоне символов, которые не являются частью данных.

Например, зададим шаблон для ввода реквизитов паспорта (номер и серия) IV – ДВ 747581

@ 10,30 SAY 'Введите серию/номер паспорта–';
GET pasp PICTURE '@R! Серия АА-АА номер 999999'

Здесь ! – конвертирует латинские буквы в прописные;
А – гарантирует ввод только букв;
девятки – цифр.

Элементы области "серия", "–", "номер" и пробелы при вводе будут только отображаться, но запоминаться они не будут, поскольку в шаблон включен код R. Номер будет храниться в виде:IVДВ747581.

Использование шаблонов, функций, диапазонов и условий ввода данных очень удобно для пользователя, поскольку в значительной степени защищает его от неправильного ввода. Это важно, так как заполнение базы данных – длительный и трудоемкий процесс.
^ 2. ЗАДАНИЕ НА РАБОТУ
2.1. Используя учебные пособия [4–15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, изучить функциональные возможности следующих команд и функций: ?/??, \ и \\, INPUT, ACCEPT, WAIT, KEYBOARD, SCREEN; RESTORE SCREEN; SAVE SCREEN; SET COLOUR; SET CURSOR; TEXT; TYPE; COL(); ROW(); RESTSCREEN(); SAVESCREEN(); SCROOL(); SETCOLOUR(); SETCURSOR(); SETPOS(); TONE().

2.2. Разработать и реализовать "визитную" экранную форму для заданной предметной области. Форма должна содержать сведения о назначении ИСС, о предметной области, об организации-разработчике, об авторе, о дате создания, о версии и иметь "фирменный знак" в виде обобщенной схемы системы управления (рис.1).



Рис. 1

2.3. Представить для защиты командный файл с текстом "визитной" формы.
^ Лабораторная работа № 2 РАЗРАБОТКА МНОГОУРОВНЕВЫХ СИСТЕМ МЕНЮ ДЛЯ ИСС
Цель работы: изучить команды и функции языка манипулирования данными для реализации систем меню и разработать двухуровневую систему меню информационно-справочной системы заданной предметной области.
^ 1.ОБЩИЕ СВЕДЕНИЯ
Меню является основной формой диалога в автоматизированной информационной системе (АИС). Существуют и используются много вариантов организации меню. В самом общем случае инструментарий для организации меню можно разбить на два класса: неспециализированные средства (по существу, это команды ввода/вывода) и специализированные средства.

FoxPro обладает исключительно развитыми специализированными средствами поддержки меню. Классификация этих средств приводится на рис.2.



Рис. 2

Световое меню представляет собой перечень элементов меню, среди которых один текущий отображен иным цветом, чем другие пункты меню ("подсвечен"). Выбор пункта осуществляется перемещением объемного светового курсора с помощью клавиш управления курсором, фиксация пункта – нажатием клавиши , отказ от выбора – нажатием клавиши .

Все виды светового меню допускают работу с мышью, а также выбор по первой букве элемента меню (или другой назначенной букве).

В FoxPro реализованы две технологии построения светового меню, а именно: технология из FoxBase и технология из DBase IV. Важнейшее различие между технологиями может быть отражено терминами "меню-программа" для технологии FoxBase и "меню-объект " для DBase IV, т.е. Fox-меню является только частью программы, где оно создается, используется и "умирает", а DBase-меню после своего определения остается независимым и "живым" объектом, к которому можно обратиться из любого места программы и даже из командного окна уже после завершения программы.

Fox-меню всегда вырабатывает числовые переменные, фиксирующие сделанный пользователем выбор, который дальше анализируется в команде DO CASE. Для возврата в меню, как правило, его помещают в бесконечный цикл.

DBASE-меню может не только вырабатывать переменные для анализа, но и непосредственно вызывать процедуру или команды по обработке выбора. Это дает возможность строить программы без единого ядра, а все АИС могут состоять из процедур, связанных друг с другом только через вызовы меню.

Fox-меню можно организовать с помощью трех пар команд:
@ ... PROMPT и MENU TO; @ ... MENU и READ MENU TO; MENU BAR и READ MENU BAR TO.

Команды организации DBase-меню делятся на четыре вида: команды определения меню, (DEFINE POPUP, DEFINE BAR); команды активизации меню (ACTIVATE POPUP); деактивизации меню (DEACTIVATE POPUP); удаления меню (CLEAR POPUP). Эти четыре вида команд определяют технологию использования меню. Меню предварительно определяется, а затем по необходимости используется, сохраняется, убирается или уничтожается в любом месте программы .

В отличие от светового меню, клавишное меню не использует нескольких движущихся элементов. Обычно это просто строка, где содержится перечень возможных действий и вызывающих их клавиш. Клавишное меню используется, как правило, для реализации простых, но часто выполняемых операций по обработке данных, при этом выбираются привычные функциональные клавиши (например, F1 для подсказок). Кроме того, клавишное меню полезно для вызова определенных действий без того, чтобы покидать текущий экран.

Для организации клавишных меню используются команды и функции: ON KEY, ON KEY LABEL, ON ERROR, ON READ ERROR, ON ESCAPE, INKEY(), LASTKEY(), READKEY(), SET FUNCTION.

Кнопочное меню широко используется в операционной оболочке FoxPro. Термин "кнопка" здесь означает не физическую кнопку на клавиатуре, а некоторую область экрана, которой переданы управляющие свойства. Кнопочное меню, как правило, используют совместно с мышью и реализуют с помощью команды ввода @...GET.

Рассмотрим формат и возможности самой простой команды для организации светового меню по технологии Fox-меню .

Синтаксис команды @ ... PROMPT и MENU TO следующий:
@ <строка,столбец> PROMPT <симв.выраж.> [MESSAGE<симв.выраж.>]
MENU TO <перем.пам.>
^ SET MESSAGE TO <числ.выраж.>.

Последовательность команд @...PROMPT позволит вывести строки меню в соответствующих позициях на экране. Команда MENU TO вызывает меню со световым указателем, управляемое клавишами курсора, для заданных в текущий момент подсказок PROMPT.

По мере перемещения пользователя по строкам меню выделяется каждая подсказка PROMPT и в позиции, заданной командой SET MESSAGE TO, выводится дополнительное сообщение, связанное с этой строкой. Выбор в меню может быть произведен нажатием клавиши при расположении маркера выбора на соответствующей строке PROMPT или вводом первой буквы соответствующей строки.

В переменную памяти, указанную в строке команды MENU TO, заносится номер выбора, определяемый порядком следования строк PROMPT.

Сохранена поддержка команды SET MESSAGE. Выбор определенного варианта определяется типом выражения: числовое оно или символьное. Команда SET MESSAGE TO без дополнительных аргументов очистит оба типа заданных сообщений MESSAGE. Для анализа результата выбора используют команду DO CASE, ее формат имеет вид

^ DO CASE
CASE <выраж.1>
<операторы>
CASE <выраж.2>
<операторы>
..............
CASE <выраж.N>
<операторы>
[OTHERWISE
<операторы>]

ENDCASE

В этом типе команды структурного программирования операторы CASE анализируются по одному в поисках первого логически истинного оператора. Когда обнаруживается первый логически истинный оператор, выполняются соответствующие выражения <операторы>. Выполнение операторов производится до тех пор, пока не будет обнаружен следующий оператор CASE. Когда это происходит, система возобновляет выполнение с первой команды, следующей за ENDCASE.

В цикле DO CASE всегда выполняется один и только один (первый из обнаруженных) оператор CASE, независимо от того, сколько операторов CASE фактически являются истинными. Если истинный оператор CASE не обнаружен, тогда дальнейшее выполнение команды зависит от наличия в составе команды оператора OTHERWISE. Оператор OTHERWISE (представленный соответствующими выражениями) является просто описанием действий, которые должны быть выполнены, если не будет найден ни один истинный оператор CASE. Если оператор OTHERWISE имеется в составе команды, то выполняются связанные с ним выражения до тех пор, пока не будет обнаружен оператор ENDCASE. Если оператор OTHERWISE отсутствует, система продолжает работу с первой команды, следующей за оператором ENDCASE. Обратите внимание, что в этом последнем случае ни одно выражение, входящее в структуру DO CASE, выполнено не будет. Пример:

DO CASE
CASE Action = "Rental"
DO Rentfee
CASE Action = "Purchase"
DO Price
OTHERWISE
DO Mainmenu

ENDCASE

Каждое выражение CASE в составе конструкции DO CASE анализируется в поисках первого выражения, которое является логически истинным. В данном примере анализируется переменная Action. Если Action равняется "Rental", выполняется программа Rentfee. Если Action равняется "Purchase", выполняется Price. Если ни одно из выражений CASE не истинно, то выполняется Mainmenu.
^ 2. ЗАДАНИЕ НА РАБОТУ
2.1. Используя учебные пособия [4–15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, изучить функциональные возможности следующих команд и функций: @.PROMPT, MENU TO, DO CASE, SET KEY, SET MESSAGE, SET WRAP, ACHOICE().

2.2.Разработать двухуровневую систему меню, связанную с "визитной" экранной формой из лабораторной работы № 1.На первом уровне должны быть представлены основные функции ИСС, а именно: ввод новых данных, корректировка данных, поиск данных, формирование отчетных форм, выход из системы и др. Второй уровень раскрывает содержание первого уровня. Например, функции корректировки данных могут включать в себя уничтожение данных, исправление данных, добавление данных и т.п.

2.3.Оформить отчет.
^ Лабораторная работа № 3 РАЗРАБОТКА ИНФОРМАЦИОННОЙ МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ
Цель работы: освоить технологию разработки информационной модели предметной области (ПО), изучить команды языка описания данных СУБД реляционного типа и разработать информационную модель заданной в рамках курсовой работы предметной области.
^ 1.ОБЩИЕ СВЕДЕНИЯ
В информационной системе (ИС) реализуется определенная информационная технология по сбору, обработке, хранению, передаче и использованию информации. Если говорится о современной информационной технологии, то, как правило, подразумевают в составе ИС наличие вычислительной системы и такие ИС называют автоматизированными информационными системами (АИС). В класс АИС обычно включают(рис.3):

1. Автоматизированные системы управления (АСУ) различного назначения. Они предназначены для непрерывного динамичного отражения изменений в предметной области с целью обеспечения лиц, принимающих решения, объективной информацией. Основная функция – это систематизация информации о предметной области.

2. Автоматизированные рабочие места различного назначения (АРМ). Например, АРМ бухгалтера по начислению заработной платы, АРМ экономиста по калькуляции себестоимости, АРМ "Квартплата", АРМ "Ведение реестра акционеров", АРМ "Складское хозяйство", АРМ диспетчера АТП и т.п. Основная функция – это достаточно сложная обработка информации.

3. Информационно-справочные системы различного назначения (ИСС) . Например, ИСС для диагностики болезней, ИСС для продажи авиабилетов, ИСС "Расписание движения поездов". Основная функция – использование информации по назначению. В перечисленных системах наиболее ярко выделяется одна из составных частей информационной технологии.



Рис. 3

Среди множества задач, решаемых разработчиком логической структуры БД, следующие являются наиболее важными:

1. Реализация возможности хранения всех необходимых данных о ПО.

2. Исключение избыточности данных. (Повторение данных в таблицах может явиться причиной ошибок при вводе и быть проявлением нерационального использования дисковой памяти.

3. Сведение числа хранимых в БД отношений к минимуму (обеспечение быстрого доступа к данным).

4. Обеспечение целостности данных. Обеспечить такие условия, чтобы при изменении одних данных автоматически происходило соответствующее изменение связанных с ними других данных.

В FoxPro целостность данных средствами СУБД не поддерживается, поэтому для упрощения проблем, связанных с модификацией и удалением данных, следует нормализовать все отношения БД. Нормализация также способствует исключению избыточности.

Третья и четвертая задачи, очевидно, являются противоречивыми.

Обычно содержание проектных работ при разработке АИС (такие системы в простейшем варианте являются предметом курсовой работы или дипломного проектирования) включает четыре относительно самостоятельных этапа.

1. Обоснование и выбор СУБД.

2. Разработка информационной модели предметной области.

3. Разработка прикладного программного комплекса.

4. Опытная эксплуатация и доводка.

Формальных методик выполнения работ по перечисленным этапам не существует, как их не существует для любых проектных работ, хотя отдельные проектные процедуры хорошо формализуются.

Второй этап проектирования распадается на две части, а именно: разработку логической структуры БД (разработку инфологической модели); описание логической структуры БД на языке описания данных выбранной СУБД (разработку датологической модели).

По существу разработка логической структуры БД - это поиск ответов на два следующих вопроса:

1. Какие объекты и какие их свойства отражать в БД?

2. Как объекты взаимосвязаны между собой в БД?

Другими словами, какие поля и сколько их будет назначено в БД; сколько отношений будет организовано и какие поля войдут в каждое отношение? Качество ответов на эти вопросы можно оценить следующими критериями:

1. Невозможностью проявления аномальных явлений при работе с БД.

2. Неизбыточностью информации в БД.

3. Объемом хранимых данных.

Для решения первой задачи существуют два подхода: "от запроса" и "от предметной области".

При выяснении перечня полей в будущей БД по подходу "от предметной области" ставят цель - задать такое множество полей, которое бы не пришлось в будущем дополнять даже при изменении функции БД. Например, при проектировании АРМа "Кадры" - учесть всю информацию о сотруднике, даже такую, которая не нужна отделу кадров, т.е. чтобы в будущем возможно было бы автоматизировать систему начисления заработной платы и др. Обычно, чтобы решить достаточно качественно такую сложную задачу, исследуется документооборот в данной предметной области. Формы документов (приказы, отчеты и карточки), как правило, содержат полные сведения об исследуемой ПО, существуют на длительном отрезке времени, и в них отражается вся необходимая информация.

Технология "от запроса" предполагает исследование потребностей в информации каждого будущего пользователя. Как правило, это исследование ведется в форме беседы, и разработчик БД старается максимально полно выяснить, какие запросы к БД интересуют потенциального пользователя. Опросив всех потенциальных пользователей, разработчик может задать перечень полей проектируемой БД. В этой технологии вероятность пропустить нужную информацию значительно больше, чем в первой технологии, т.к. пользователи чаще всего не представляют сами четко, что бы они хотели получать от БД. Реально технология проектирования БД обычно сочетает в себе идеи обоих подходов. Как правило, в ней приоритетное место отводится подходу "от запроса".

Результат решения второй задачи - назначение перечня отношений и полей в них. Это наиболее сложная часть процесса проектирования. Работа с базой, содержащей аномалии, может привести к негативным явлениям, к неверным ответам на запросы, к потери информации.

В литературе обсуждаются обычно только две технологии назначения отношений и их состава:

1. Метод декомпозиции.

2. Метод "сущность – связь".

Идея метода декомпозиции заключается в том, что на первом шаге строится универсальное отношение (одна большая таблица) и анализируются функциональные зависимости в этой таблице, ее разбивают на ряд подтаблиц так, чтобы каждая из них содержала одну функциональную зависимость (взаимооднозначное отображение).

Идея второго метода: в предметной области выделяются объекты или явления, анализируется как они взаимосвязаны, и информация о каждом объекте и каждой возможной связи хранится в отдельной таблице.

Приведем основные моменты технологии "сущность-связь".

Это неформальная технология разработки инфологической модели ПО. Модель отражает объекты и их свойства и взаимоотношения объектов в ПО.

Основными структурными элементами модели являются: сущность, атрибут и связь (такие понятия приняты традиционно). Эти элементы составляют содержание графических диаграмм, представляющих модель. Кроме того, неявно присутствует, как правило, для отражения динамики ПО такой элемент, как время. Неявное представление времени осуществляется атрибутами, например, "годом рождения", "датой поступления", "датой назначения" и т.п.

Сущность – это собирательный (обобщенный) термин для реально существующего объекта, процесса или явления, о котором необходимо хранить информацию в системе. Примеры сущностей:

материальные – предприятия, изделия, сотрудники;
нематериальные – описание явления, рефераты научных статей, платежные поручения и т.д.

В технологии каждая рассматриваемая конкретная сущность является опорной точкой сбора информации. С термином «сущность» связаны еще два понятия: тип сущности и экземпляр сущности.

Тип сущности – это набор (множество) однородных объектов. Например, "студенты – ХГТУ", "города – края", "квартиры – районы" и т.п.

Экземпляр сущности – это конкретный объект типа сущности.

Каждый рассматриваемый тип сущности должен быть поименован уникальным именем. Правило образования имен произвольно и назначается разработчиком модели.

Для идентификации экземпляров сущности в каждом типе следует назначить специальный атрибут(ы), который позволяет однозначно отличить один экземпляр от другого. Его называют идентификатором, ключом, ключевым атрибутом.

Атрибут – это поименованная характеристика (свойство) сущности, которая может принимать значения из некоторого множества значений. Например, для описания свойств сущности "книга" можно использовать атрибуты "название", "фамилия автора", "год издания" и др. Чтобы задать атрибут в модели следует:

– присвоить ему имя;

– дать смысловое описание;

– определить множество его допустимых значений;

– указать, для чего он используется;

Назначение атрибутов в модели – задать свойство объекта, идентифицировать экземпляры типов сущностей и, возможно, задать связи между сущностями (например, связь "отец"), т.к. связи характеризуют объекты, находящиеся в данном отношении.

Связь – это средство, с помощью которого представляют отношение между сущностями, имеющее место в ПО. Так как связь может рассматриваться только между типами сущностей, то принято говорить, что между этими типами сущностей существует такой-то тип связи. Связь между экземплярами сущностей принято называть экземпляром связи.

Связь между двумя типами сущностей – это бинарная связь; тремя – тернарная и в общем случае n – арная.

В реляционных СУБД связи бинарные специфицируются парами, компонентами которых являются ключевые атрибуты соответствующих сущностей. Кроме того, связь может иметь свои атрибуты. Например, связь "поставка товаров" между типами сущностей "поставщики" и "товары" может иметь атрибут "количество".

Результаты разработки модели оформляют в виде :

– спецификации сущностей; например

– спецификации атрибутов сущностей;

например

– спецификации связей; например

– графической диаграммы.

На графических диаграммах типы сущностей представляют обычно прямоугольниками; атрибуты – овалами, соединенными с соответствующими типами сущностей ненаправленными ребрами, ключевые атрибуты подчеркиваются; связи – ромбами, соединенными с соответствующими типами сущностей ненаправленными ребрами, за исключением бинарных связей, которые обозначаются направленными дугами.

При разработке информационной модели следует придерживаться общих правил:

1. Использовать только три типа элементов модели: сущность, атрибут и связь.

2. В модели каждый компонент ПО моделировать только одним элементом (исключать избыточность).

3. Использовать декомпозицию ПО (разбить ПО на ряд локальных областей, смоделировать каждую локальную область отдельно, а затем их объединить).

Помнить об итерационном характере процесса проектирования.

Для представления информационной модели предметной области в вычислительной системе используется язык описания данных СУБД. В известных СУБД реляционного типа, ориентированных на использование с ПК, этот язык представлен в виде одной команды. Ниже приводится описание функциональных возможностей этой команды.
Ее формат

CREATE [файл].

Этот формат команды CREATE позволяет создавать новые файлы баз данных с использованием режима полноэкранного редактирования. Если имя файла [файл] не задано явно в составе команды, то будет выведен запрос на ввод имени создаваемого файла. Затем система управления запросит ввести имя, тип, длину и количество дробных десятичных знаков для каждого из полей создаваемого файла базы данных. Вы сообщаете системе о завершении создания файла базы данных путем нажатия вместо ввода имени очередного поля.

После того как создание базы данных будет завершено, система спросит, желаете ли вы вводить данные в новую базу немедленно. Если вы ответите 'Y'es (да), то система автоматически перейдет в режим APPEND и вы сможете выполнить ввод данных. Если вы ответите 'N'o (нет), то управление будет передано команде, следующей за командой CREATE в командном файле или просто в интерактивный режим. Возможен и другой формат команды, а именно:

CREATE <файл1> FROM <файл2>

В этом формате команды CREATE подразумевается, что файл <файл2> был создан в ручном режиме или с использованием команды COPY STRUCTURE EXTENDED и что этот файл был отредактирован соответствующим образом. Затем создается <файл1>, который имеет структуру, описанную в файле <файл2>. В результате вновь созданный файл базы данных заносится в область USE.

Доступ к существующему файлу базы данных осуществляется командой USE.

При необходимости структуру отношения можно изменить. Для этого можно воспользоваться командой

^ MODIFY STRUCTURE,

которая выводит структуру активного файла базы данных. Затем может быть выполнено редактирование структуры в полноэкранном режиме, включая введение новых и удаление старых полей, изменение имен, размеров и типов полей.

Система выполняет автоматическое копирование файла <файл> перед изменением структуры. Когда процесс редактирования будет завершен, данные, содержащиеся в скопированном файле базы данных (.BAK) будут введены в отредактированную структуру файла. Будет также создана копия файла примечаний (.FPT) с расширением .TBK, если в файле <файл> изменяется количество полей примечания.

Записи из копии файла не будут введены в новую структуру, если единовременно будут изменены и имя и длина поля (или общая длина записи). В связи с этим рекомендуется при первом сеансе работы в MODIFY STRUCTURE изменять имена полей, а затем со второго прохода изменять длину полей и/или вводить новые поля.

^ 2. ЗАДАНИЕ НА РАБОТУ
2.1. Используя учебные пособия [4–15], материал первого раздела данной лабораторной работы, системную документацию по СУБД или информационную подсистему по языкам СУБД в автоматизированной справочной системе NG, сведения о предметной области из задания на курсовую работу, исследовать предметную область с позиции системного подхода и изучить функциональные возможности команды CREATE.

2.2.Разработать инфологическую модель заданной предметной области, применив технологию "сущность-связь". Используя команду CREATE, представить информационную модель на машинном носителе.

2.3.Оформить отчет, который должен включать спецификации сущностей, атрибутов и связей, а также графическую диаграмму инфологической модели предметной области. Представить для защиты датологическую модель в виде распечаток содержимого соответствующих файлов DBF.
^ Лабораторная работа № 4 ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ КОМАНДЫ BROWSE
Цель работы: изучить полный формат команды BROWSE языка манипулирования данными СУБД реляционного типа FoxPro и приобрести навыки по использованию этой команды для ввода, просмотра, редактирования и удаления данных в одном заданном отношении.
^ 1.ОБЩИЕ СВЕДЕНИЯ
Команда BROWSE является мощным универсальным средством для ввода, редактирования и просмотра баз данных в стандартном окне команды или в окне, определенном пользователем. По существу это не просто команда – это целая среда доступа и управления данными.

Записи из базы (по умолчанию) предъявляются горизонтально или внутри предварительно описанного окна. Записи можно редактировать, дополнять и помечать к удалению. Формат отображения полей в BROWSE-окне может настраиваться пользователем.

Допускается создавать так называемые вычисляемые поля. Эти поля фактически не являются полями базы данных, но могут быть их функциями и отображаться на э
еще рефераты
Еще работы по разное