Реализация спроектированной базы данных при помощи СУБД Visual FoxPro 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реализация спроектированной базы данных при помощи СУБД Visual FoxPro



 

Создадим проект приложения баз данных. Для чего выберем в главном меню File – New, затем выберем Project и укажем New File – введём имя проекта Auditoriums и сохраним файл проекта (*.PJT). Далее откроется окно Project Manager (диспетчер проектов) в котором перейдём на вкладку Data (Данные) и выберем пункт Free Tables(Свободные таблицы) и нажмём кнопку New. Появится окно, в котором выберем New Table (Новая таблица) и сохраним таблицу как Auditoriums.dbf. После этого на экране появится диалоговое окно Table Designer(Конструктор таблиц) в котором введём названия всех полей таблицы Аудитории (Auditoriums), укажем их типы данных и ограничения.

Рис. 2.15.5. Построение таблицы Аудитории (Auditoriums)

 

Аналогично создадим две другие таблицы Buildings.dbf и Employees.dbf.

Теперь создадим базу данных и добавим в неё уже созданные свободные таблицы. В окне Диспетчера проектов на вкладке Data выберем пункт Databases и нажмём кнопку New. Появится окно, в котором выберем New Database (Новая база данных) и сохраним базу данных как Auditoriums.dbc. В появившемся окне Database Designer (Построитель базы данных) выберем из контекстного меню Add Table… (Добавить таблицу)

 

Рис. 2.15.6. Добавление таблицы в БД

 

В появившемся диалоговом окне открытия файла выберем сразу все три созданные таблицы и нажмём ОК.

Определим индексы для таблиц. Для этого в окне Диспетчера проектов на вкладке Data выберем пункт Databases, затем выберем созданную базу данных Auditoriums, в которой выберем пункт Tables (Таблицы). Появится список из трёх добавленных в базу данных таблиц, в котором выберем таблицу Auditoriums и нажмём кнопку Modify (Изменить). В появившемся окне конструктора таблиц перейдём на вкладку Indexes (Индексы). Создадим индекс первичного ключа таблицы. В поле Name введём имя индекса PK_auditor, а из раскрывающегося списка Type (Тип) выберем тип индекса Primary (Первичный), затем нажмём кнопку справа от поля Expression (Выражение) и введём значение индексного выражения в окне построителя выражений «ALLTRIM(name_build+STR(number_aud))», что означает конкатенацию двух строковых значений: значения поля name_build, имеющего стоковой тип и строкового представления числа, взятого из поля number_aud. Преобразование числа в строку осуществляется при помощи функции STR. Функция ALLTRIM убирает из выражения начальные и конечные значения. Так как совокупность значений этих строк должна быть уникальной, то при вводе данных в таблицу будет проверятся уникальность значения этого индекса, то есть совокупности значений двух полей, хотя по отдельности в этих полях могут присутствовать одинаковые значения.

Теперь создадим два регулярных индекса для определения внешних ключей. Первый FK_buildin, тип – Regular, выражение – «name_build» и второй FK_employe, тип – Regular, выражение – «number_emp».

Аналогично определим первичные ключи при помощи индекса Primary для двух других таблиц, назовём их PK_buildin и PK_employe.

Создадим отношения между таблицами. Для этого в окне конструктора базы данных щёлкаем мышью на имени индекса PK_buildin таблицы Buildings к индексу FK_buildin таблицы Auditoriums.

 

Рис. 2.15.7. Схема отношений базы данных

 

Создание форм

 

Создадим три формы по одной для каждой таблицы при помощи мастера форм. Для создания формы нужно в окне Диспетчера проектов перейти на вкладку Documents, где выбрать пункт Form и нажать кнопку New. Выберем Form Wizard, затем выберем мастера создания формы с одной таблицы Form Wizard. На первом шаге необходимо выбрать таблицу и поля, которые будут применяться в форме. Укажем таблицу AUDITORIUMS базы данных AUDITORIUMS (не свободную таблицу, потому, что мы её уже добавили в базу данных) и выберем все поля, переместив их в список Selected fields (Выбранные поля).

 

Рис. 2.15.8. Создание формы при помощи мастера форм

 

На втором шаге выберем стиль формы.

На третьем шаге укажем поля, по которым будет происходить упорядочение записи и порядок сортировки записей. Выберем упорядочение по значению поля Название корпуса (name_build), для чего переместим его в список Selected fields (Выбранные поля). Укажем сортировку по возрастанию (Ascending).

На четвёртом шаге введём заголовок для формы в поле Type a title for your form, введём Аудитории. Выберем Save and modify it in the Form designer (Сохранить и изменить форму в Конструкторе форм).

Форма откроется в окне конструктора форм, в котором изменим надписи, для чего выделим нужную надпись и в окне свойств Properties - auditoriums.scx изменим свойство Caption. Сохраним изменения, выбрав File – Save.

 

Рис. 2.15.9. Форма для таблицы «Аудитории»

 

Аналогично создадим формы для двух других таблиц.

Создадим форму для двух связанных таблиц Аудитории (Auditoriums) и Корпуса (Buildings)(Рис. 2.15.10.). Для этого выберем мастера создания формы, использующего связанные таблицы One-toForm Wizard.

На первом шаге необходимо выбрать поля из родительской таблицы, которые будут применяться в форме. Выберем таблицу Buildings базы данных AUDITORIUMS и выберем из этой таблицы поля Название корпуса (Name_building) и Адрес (Address), переместив их в список Selected fields (Выбранные поля).

На втором шаге выберем поля из дочерней таблицы. Здесь мы выберем таблицу Auditoriums и выберем из этой таблицы поля Номер аудитории (Number_aud), Число посадочных мест (Number_pla) и Тип (type_).

На третьем шаге указывается связь таблиц. Оставим связку по полю Название корпуса (Name_build).

На четвёртом шаге укажем стиль формы.

На пятом шаге укажем поля, по которым будет происходить упорядочение записи и порядок сортировки записей. Выберем упорядочение по значению поля Название корпуса (name_build) и дополнительную сортировку по полю Адрес (Address), для чего переместим их в список Selected fields (Выбранные поля). Укажем сортировку по возрастанию (Ascending).

На шестом шаге введём заголовок для формы в поле Type a title for your form, введём Аудитории и корпуса. Выберем Save and modify it in the Form designer (Сохранить и изменить форму в Конструкторе форм). Сохраним форму как Auditoriums and Buildings.scx.

 

Рис. 2.15.10. Создание формы для связанных таблиц при помощи мастера форм

 

Форма откроется в окне конструктора форм, в котором изменим надписи, для чего выделим нужную надпись и в окне свойств Properties - auditoriums.scx изменим свойство Caption. Также изменим названия столбцов и ширину полей объекта формы grid1, для чего выберем этот объект и в окне свойств в верхнем выпадающем списке выберем для первого столбца Column1 и изменим ширину поля, указав нужное число в значении свойства Width (Ширина). Для указания текста заголовка этого поля выберем в том же выпадающем списке окна свойств Header1 и введём название в свойство Caption. Сохраним изменения, выбрав File – Save.

 

Рис. 2.15.11. Изменение свойств столбца объекта grid1

 

Рис. 2.15.12. Форма «Аудитории и корпуса»

 

Создание отчётов

 

Для создания отчётов нужно в окне Диспетчера проектов перейти на вкладку Documents, где выбрать пункт Reports(Отчёты) и нажать кнопку New. После этого откроется диалоговое окно New Report (Новый отчёт) Выберем New Report. Появится окно конструктора отчётов Report Designer. Определим среду данных для отчёта, для чего выберем из контекстного меню пункт Data Environment (Среда данных). Щёлкнем правой кнопкой мыши в окне среды данных и выберем в появившемся контекстном меню пункт Add…(Добавить). Добавим таблицы Auditoriums и Buildings и установим связи между ними. Разместим надписи столбцов в области Page Header (Верхний колонтитул) окне конструктора отчётов, а в поле Detail разместим поля из таблиц. Для добавления поля выберем его из окна среды данных отчёта или поместим объект Field (Поле) из элементов управления отчётом Report Controls. При этом появится диалоговое окно Report Expression (Выражение для отчёта), затем введём в поле Expression наименование требуемого поля. В области Page Footer поместим значение, указывающее общее количество строк в отчёте и выведем текущую дату. Для того чтобы вывести значение числа строк, поместим в полосу Page Footer объект Field (Поле). В окне Report Expression нажжём кнопку Calculations (Вычисления), после чего появится диалоговое окно Calculate Field (Вычисляемое поле), в котором выберем операцию Count (Количество), а в поле Expression укажем наименование первого поля – Name_build. Для того, чтобы вывести текущую дату необходимо поместить объект Field (Поле) и в окне Report Expression ввести в поле Expression выражение DATE() – функцию по вычислению текущей даты. Рядом добавим соответствующие надписи, поместив на макет формы объекты Label (Надпись) и введя требуемые надписи. Сохраним отчёт.

 

Рис. 2.15.13. Макет отчёта в окне конструктора форм.

 

Создание меню

 

Для создания меню нужно в окне Диспетчера проектов перейти на вкладку Other (Другое), где выбрать пункт Menus (Меню) и нажать кнопку New. После этого откроется диалоговое окно New Menu (Новое меню) Выберем Menu. Появится окно конструктора меню Menu Designer. Введём названия пунктов меню в поле Prompt (Наименование), а в раскрывающемся списке Result (Результат) определим действия, происходящие при выборе пункта меню. Введём подменю «Таблицы», для чего в поле Prompt введём название пункта меню «Таблицы», а в списке Result укажем Submenu (Подменю), затем нажмём на кнопку Create (Создать) после чего в раскрывающемся списке Menu Level (Уровень меню) появится название созданного подменю. Все остальные пункты, созданные на этом уровне, будут пунктами подменю для пункта меню «Таблицы». Создадим пункт «Аудитории». Для этого в списке Result укажем Command (Команда) и введём «DO FORM «c:\бд auditoriums\формы\auditoriums.scx»«, что значит открыть форму auditoriums.scx. Аналогично создадим пункты для открытия трёх других форм.

Рис. 2.15.14. Создание меню

 

Затем в списке Menu Level (Уровень меню) выберем верхний уровень – Menu Bar и введём ещё одно подменю «БД», в котором укажем два пункта «Отчёт» и «Выход». В поле ввода команды для пункта «Отчёт» введём «REPORT FORM «c:\бд auditoriums\отчёты\report1.frx» PREVIEW», т. е открытие файла отчёта. Для пункта «Выход» укажем команду QUIT.

Чтобы меню можно было использовать в приложении, сначала его нужно сгенерировать. Для этого используется пункт системного меню Menu (Меню) и диалоговое окно Generate Menu (Генерация меню). В этом окне укажем файл, в котором будет сохранено меню, после чего нажмём кнопку Generate (Генерация).

Созданное меню необходимо запустить на экранной форме. Если просто в Диспетчере проекта выделить меню и нажать Run (Выполнить), то меню будет запущено в главном окне Visual FoxPro. Для того чтобы меню запускалось в форме приложения баз данных, необходимо установить флажок Top-Level Form (Форма верхнего уровня) в диалоговом окне General Options (Основные опции) и снова запустить процесс генерации меню.

Теперь создадим главную форму приложения, из которой будут открываться все остальные. Назовём её Main_form. На эту форму поместим четыре кнопки, и зададим команды на запуск соответствующих форм при нажатии на эти кнопки. Поместим на макет формы компонент Command Button (Командная кнопка), у которого в свойстве Caption напишем текст надписи на кнопке, например, для кнопки вызова формы Аудитории так и напишем Аудитории. Затем перейдём на вкладку Methods (Методы) окна Properties (Свойства) формы и выбираем метод Click Event (Событие щелчок). Щёлкнем два раза на названии события, после чего появится окно Command1.Click, в котором введём

DO FORM «c:\бд auditoriums\формы\auditoriums.scx»

Окно ввода команды, выполняющейся при нажатии на кнопку окно Command1.Click, можно вызвать и двойным щелчком на макете кнопки.

Аналогично создадим кнопки вызова других форм и отчёта.

Теперь поместим на эту форму созданное ранее меню. Для этого сначала установим свойство формы ShowWindow равным 2 – As top level form (Как форма верхнего уровня), затем в методе Init Event пропишем

DO «C:\БД Auditoriums\MENU1.MPR» WITH THIS,.T..

Создадим файл основной программы. Для этого в окне Диспетчера проекта перейдём на вкладку Code, где выберем пункт Programs (Программы) и нажмём кнопку New….Появится окно Program1, в котором напишем

DO FORM «c:\бд auditoriums\формы\main_form.scx»

_SCREEN.Visible =.T.

READ EVENTS

Сначала откроется окно главной формы, затем значение свойства Visible (Видимость) окна проставим в Истина. Затем зададим точку останова командой READ EVENTS, то есть после выполнения этой команды программа будет ожидать действий пользователя, и все следующие за ней команды не будут выполнятся до тех пор, пока не будет выполнена команда CLEAR EVENTS. Поместим эту команду в обработчик события Destroy Event (Закрытие формы) главной формы Main_form.

Сохраним файл программы как Program1.prg и сделаем этот файл основной в приложении, для чего выделим его в Диспетчере проекта и в контекстном меню выберем пункт Set Main (Сделать основным). Файл при этом станет выделенным жирным шрифтом.

 

Рис. 2.15.15. Окно главной формы



Поделиться:


Последнее изменение этой страницы: 2020-03-14; просмотров: 164; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.153.38 (0.118 с.)