Автор работы: Пользователь скрыл имя, 13 Марта 2013 в 14:03, лабораторная работа
Строкой заголовка называется самая верхняя строка диалогового окна работающего СУБД Visual FoxPro. В ней можно прочитать имя активной прикладной программы и полное название (спецификацию) обрабатываемого в данный момент файла. В строке заголовка находится три управляющих элемента: кнопка вызова системного меню (содержащая директивы для манипуляции с окном), минимизатор окна или кнопка сворачивания окна до размера пиктограммы, кнопка восстановления окна и кнопка закрытия окна.
Строка главного меню находится под строкой заголовка и содержит всплывающие пункты меню с группами команд и опций Visual FoxPro, разворачивающиеся щелчком мыши на соответствующем заголовке или клавишей
Частное охранное предприятие (ЧОП)
Лабораторная работа №1
Рис. 1.1. Рабочее пространств среды Visual FoxPro
Схема иерархии меню среды Visual FoxPro
Рис. 1.2. Схема иерархии меню среды Visual FoxPro
Строкой заголовка называется самая верхняя строка диалогового окна работающего СУБД Visual FoxPro. В ней можно прочитать имя активной прикладной программы и полное название (спецификацию) обрабатываемого в данный момент файла. В строке заголовка находится три управляющих элемента: кнопка вызова системного меню (содержащая директивы для манипуляции с окном), минимизатор окна или кнопка сворачивания окна до размера пиктограммы, кнопка восстановления окна и кнопка закрытия окна.
Строка главного меню находится под строкой заголовка и содержит всплывающие пункты меню с группами команд и опций Visual FoxPro, разворачивающиеся щелчком мыши на соответствующем заголовке или клавишей [F10].
Статусная строка (строка состояния), расположенная в нижней части окна, представляет пользователю полезную информацию относительно состояния и режимов обработки открытого объекта. Так из нее можно узнать, какая таблица активна в данный момент, сколько в ней записей, какая запись является активной.
В центре экрана расположена рабочая зона пользователя. В данной зоне во время работы открываются и располагаются различные диалоговые окна. Переключаться между окнами можно с помощью комбинации клавиш [Ctrl]+[F6], для закрытия диалоговых окон используется [Ctrl]+[F4].
Окно команд автоматически открывается и располагается вверху справа на экране при старте программы. В этом окне пользователь может непосредственно вводить команды языка программирования Visual FoxPro (xBase-директивы) и таким способом, например, открывать базу данных или произвести поиск записей данных. Кроме того, как только будет выбрана и выполнена одна из директив меню, в командном окне появится (продублируется) текст команды в xBase-эквиваленте.
Создадим базу данных «Частное охранное предприятие», состоящую из таблиц: «Sotrudniki», «Klient», «Uslugi», «Oborudovanie», «Zakaz».
Первоначально необходимо определить совокупность признаков, составляющих столбцы таблиц. Для удобства сведем всю необходимую для
рассматриваемого этапа работ информацию в табл. 1.
Табл. 1.
Признаки, составляющие БД «Частное охранное предприятие»
№ |
Наименование |
Тип данных |
Наименование столбца |
Таблица |
Ключ |
1 |
Номер сотрудника |
Целое значение |
Nomer_sotr |
Sotrudniki |
Первичный |
2 |
Фамилия имя отчество |
Символьный |
Fio |
Sotrudniki |
|
3 |
Занимаемая должность |
Символьный |
Zanim_dolg |
Sotrudniki |
|
4 |
Дата рождения |
Дата |
Data_rogd |
Sotrudniki |
|
5 |
Образование сотрудника |
Символьный |
Obrazov |
Sotrudniki |
|
6 |
Номер клиента |
Целое значение |
Nomer_klie |
Klient |
Первичный |
7 |
Фамилия имя отчество |
Символьный |
Fio |
Klient |
|
8 |
Дата рождения |
Дата |
Data_rogd |
Klient |
|
9 |
Номер телефона клиента |
Символьный |
Nomer_telefon |
Klient |
|
10 |
Объект охраны |
Символьный |
Ob_ohran |
Klient |
|
11 |
Адрес клиента |
Символьный |
Adres_klie |
Klient |
|
12 |
Номер услуги |
Целое значение |
Nomer_uslu |
Uslugi |
Первичный |
13 |
Наименование предоставляемых услуг |
Символьный |
Naim_uskug |
Uslugi |
|
14 |
Особые условия |
Символьный |
Osob_uslug |
Uslugi |
|
15 |
Режим |
Целое число |
Regim |
Uslugi |
|
16 |
Тариф |
Число с плавающей точкой |
Tariff |
Uslugi |
|
17 |
Примечание |
Символьный |
Primech |
Uslugi |
|
18 |
Номер заказа |
Целое число |
Nomer_zaka |
Zakaz |
Первичный |
19 |
Номер договора |
Целое число |
Nomer_dogo |
Zakaz |
|
20 |
Номер клиента |
Целое число |
Nomer_klie |
Zakaz |
Внешний |
21 |
Адрес заказа |
Символьный |
Adres_zakaz |
Zakaz |
|
22 |
Наименование предоставляемых услуг |
Символьный |
Naim_uskug |
Zakaz |
Внешний |
23 |
Номер сотрудника |
Целое значение |
Nomer_sotr |
Zakaz |
Внешний |
24 |
Наименование оборудования |
Символьный |
Naim_obor |
Zakaz |
Внешний |
25 |
Сумма |
Число с плавающей точкой |
Summa |
Zakaz |
|
26 |
Номер оборудования |
Целое значение |
Nomer_obor |
Oborudovanie |
Первичный |
27 |
Наименование оборудования |
Символьный |
Naim_obor |
Oborudovanie |
|
28 |
Стоимость оборудования |
Число с плавающей точкой |
Stoimost |
Oborudovanie |
|
29 |
Срок эксплуатации месяцы |
Целое значение |
Srok_iksp |
Oborudovanie |
|
30 |
Ответственное лицо |
Символьный |
Otvetstv |
Oborudovanie |
Создания модели является определение связей между создаваемыми таблицами. Необходимая информация сводится в табл. 2.
Табл. 2.
Связи между таблицами БД «Частное охранное предприятие»
№ |
Таблица 1 связи |
Таблица 2 связи |
Первичный ключ |
Внешний ключ |
Тип связи |
1 |
«Klient» |
«Zakaz» |
«Номер клиента» таблицы «Klient» |
«Номер клиента» таблицы «Zakaz» |
«Один ко многим» |
2 |
«Uslugi» |
«Zakaz» |
«Наименование услуги» таблицы «Uslugi» |
«Наименование услуги» таблицы «Zakaz» |
«Один ко многим» |
3 |
«Oborudovanie» |
«Zakaz» |
«Наименование оборудования» таблицы «Oborudovanie» |
«Наименование оборудования» таблицы «Zakaz» |
«Один ко многим» |
4 |
«Sotrudniki» |
«Zakaz» |
«Номер сотрудника» таблицы «Sotrudniki» |
«Номер сотрудника» таблицы «Zakaz» |
«Один ко многим» |
В заключении создаем графическое представление разработанной модели, состоящей из совокупности элементов, каждый из которых отображает одну разработанную таблицу БД «Частное охранное предприятие» (Рис. 1.3.).
Верхняя часть элемента (выделенная цветом) содержит наименование таблицы, оставшиеся элементы списка – признаки, расположенные в данной таблице в виде соответствующих столбцов. Линии показывают связи между таблицами и соединяют столбцы с первичным и внешним ключом соответствующей связи. Надпись над линией указывает, к какому типу связи
она относится: «один к одному» (1:1): или «один ко многим» (1:N).
Услуги |
Номер услуги |
1:N Наименование услуги |
Особые условия |
Режим |
Тариф |
Примечание |
Заказы |
Оборудование | ||
Номер заказа |
Номер оборудования | ||
Номер договора |
N:1 |
Наименование оборудования | |
Номер клиента |
Стоимость | ||
Адрес заказа |
Срок эксплуатации | ||
Наименование услуги |
Ответственный | ||
Номер сотрудника |
|||
Наименование оборудования |
1:N
|
||
Сумма |
1:N
Сотрудники |
Клиенты | |
Номер сотрудника |
||
ФИО |
ФИО Клиента | |
Заним.должность |
Дата рождения | |
Дата рождения |
Номер телефона | |
Образование |
Объект охраны | |
Адрес клиента |
Рис. 1.3. Графическая интерпретации модели БД "Частное охранное предприятие"
Лабораторная работа №2
Для создания новой таблицы следует выбрать команду File, New… В открывшемся диалоговом окне устанавливается опция Table и далее нажимается кнопка New File.
После щелчка мышью на командной кнопке сохранения, Visual FoxPro спросит, хотите ли Вы ввести записи данных в только что определенную таблицу.
Рис. 1.4. Диалоговое окно сохранения файла
Visual FoxPro открывает диалоговое окно, в котором можно определить файл таблицы.
В центральной части окна расположен список полей. В нем определяем имена полей (Name), типы полей (Type), размеры полей (Width), количество десятичных разрядов после запятой для числовых полей (Decimal) и возможные ключи (Index).
В поле Name вводится имя создаваемого поля, которое может содержать не более десяти символов и должно начинаться с буквы. В имени разрешено использовать малые латинские буквы от a до z, все цифры, а также символ подчеркивания "_", который применяется вместо пробела.
Справа рядом со списком полей располагается область, в которой используя Insert, можно добавить новое поле выше только что выбранного поля (перед ним), а кнопка Delete – для удаления выбранного поля.
Таблицы, созданные в режиме конструктора:
Рис. 1.5. Диалоговое окно проектирования структуры таблицы «Сотрудники»
Рис. 1.6. Диалоговое окно проектирования структуры таблицы «Клиенты»
Рис. 1.6. Диалоговое окно проектирования структуры таблицы «Услуги»
Рис. 1.7. Диалоговое окно проектирования структуры таблицы «Оборудование»
Рис. 1.8. Диалоговое окно проектирования структуры таблицы «Заказы»
Данный режим можно поменять на табличный. Для переключения режима отображения необходимо выбрать команду View, Browse или View, Edit.
После ввода записей в базу данных окно ввода закрывается. При этом следует отметить, что база данных осталась открытой, в чем можно убедиться по содержимому строки состояния (там индицируется имя базы данных, количество содержащихся в ней записей и т.д.).
На основании спроектированной структуры таблицы, получаются следующие таблицы.
Рис. 1.9. Записи в таблице «Сотрудники»
Рис. 1.10. Записи в таблице «Клиенты»
Рис. 1.11. Записи в таблице «Услуги»
Рис. 1.12. Записи в таблице «Оборудование»
Рис. 1.13. Записи в таблице «Заказы»
Чтобы закрыть базу данных, можно воспользоваться командой Window, Data Session. Visual FoxPro откроет диалоговое окно Data Session, где есть командная кнопка Close (Рис. 1.14). В левой половине окна находится список открытых файлов. В данном диалоговом окне можно одновременно работать с несколькими объектами, открыв их в различных рабочих областях и перемещаясь по ним с помощью мыши.
Рис. 1.14. Диалоговое окно Data Session
Для внесения изменений в структуру таблицы следует выбрать кнопку Properties в диалоговом окне Data Session. Visual FoxPro откроет диалоговое окно Work Area Properties.
Последующее Modify… активизирует окно Table Designer, позволяющее изменить параметры выбранной таблицы.
После того, как создана и отредактирована структура таблицы, можно выполнять различные манипуляции с данными. Для ввода новой записи в открытую базу данных используется команда Table, Append New Record.
В среде Visual FoxPro существуют два режима удаления записей – физическое и логическое.
При логическом удалении записи из базы данных отмечаются метками удаления, и устанавливается флаг доступа к записям "DELETED", помеченным на удаление. Данные записи физически существуют, но для пользователя они недоступны.
Если же хочет совсем удалить помеченные записи из файла базы данных, то для этого существует физическое удаление: команда Table, Remove Deleted Records. Данные записи восстановлению не подлежат.
Лабораторная работа №3
Перед тем, как строить отношения между базами данных, в проекте, база данных является главной «Заказы». Для установки отношения между базами данных нужно открыть диалоговое окно Вид (команда Window, Data Session). В рабочих областях, открываем базы данных «Sotrudniki», «Klient», «Uslugi», «Oborudovanie», «Zakaz». Родительскую базу данных проиндексируем по главному ключу. Второстепенные базы данных нужно проиндексировать по внешним ключам. Выбирая закладку Indexes необходимо уточнить тип индекса, на Рис.1.15 – 1.19 показано, как задать параметры для столбца, являющимся первичным ключом (Primary Key).
Рис. 1.15. Диалоговое окно Table Desinger, определение типа индекса для таблицы «Zakaz»
Рис. 1.16. Диалоговое окно Table Desinger, определение типа индекса для таблицы «Oborudovan»
Рис. 1.17. Диалоговое окно Table Desinger, определение типа индекса для таблицы «Uslugi»
Рис. 1.18. Диалоговое окно Table Desinger, определение типа индекса для таблицы «Klient»
Рис. 1.19. Диалоговое окно Table Desinger, определение типа индекса для таблицы «Sotrudnik»
Далее в диалоговом окне Data Session нужно установить курсор на родительскую таблицу и нажать командную кнопку Relations. В правом, до сих пор пустом списке, появляется имя маркированной базы данных с «хвостиком» связи.
Затем выберите в списке рабочих областей таблицу, которая должна быть подчинена первой таблице. Visual FoxPro откроет диалоговое окно Expression Builder, которое предназначено не только для установки отношения между таблицами, но и для решения других задач. В этом диалоговом окне нужно в поле SET RELATION установить имя поля, которое является общим для обеих таблиц и ранее было определено как главный индекс (дважды щелкнув левой клавишей мыши по связываемому столбцу). После чего следует нажать командную кнопку ОК.
Когда отношение установлено в окне Data Session (в правой его части), этот факт иллюстрируется соединительной линией между обеими таблицами. Имя таблицы, расположенное с небольшим отступом вправо, обозначает, что эта таблица подчинена первой таблице.
Visual FoxPro по умолчанию создает отношение 1:1, т.е. одной записи из главной базы данных может быть поставлена в соответствие только одна единственная запись дочерней базы данных. Для того, чтобы создать 1:n-отношение, нужно установить курсор мыши на родительскую базу данных в рабочих областях и выполнить щелчок на командной кнопке 1-к-многим.
Открывается диалоговое окно One-to-Many Relationships.
Доступ к дочерним таблицам осуществляется с помощью наследующего алиаса. Для установления связи выбирается командная кнопка All и с помощью ОК закрывается диалог. 1:n-связь установлена. Этот факт индицируется в правом списке окна One-to-Many Relationships двойной горизонтальной соединительной линией.
Рис. 1.20. Связь 1:n в окне Data Session
Отношение между базами данных существует лишь до конца текущего сеанса работы Visual FoxPro. При новом запуске программы отношение не возобновляется. Поэтому необходимо установленное отношение сохранить в виде файла с расширением VUE. Для этого нужно активизировать диалоговое окно Expression Builder и выбрать команду File, Save As….