Файл: Программное обеспечение справочной службы аэропорта.pdf
Добавлен: 25.05.2023
Просмотров: 1568
Скачиваний: 23
СОДЕРЖАНИЕ
1. Теоретические основы проектирования информационных систем
1.2. Характеристика программ-аналогов
1.4 Среды разработки базы данных и клиентского приложения
1.4.1 СУБД Microsoft Access 2013
1.4.2 Интегрированная среда разработки Delphi XE3
2.1 Проект базы данных информационной системы
2.1.1 Анализ информационных потоков предметной области. ER-модели
2.1.3 Описание структуры базы данных «Программное обеспечение кассы аэропорта»
2.1.4 Схема базы данных «Программное обеспечение кассы аэропорта»
2.2 Структурная схема пользовательского приложения
2 Проектирование информационной системы «Программное обеспечение кассы аэропорта»
2.1 Проект базы данных информационной системы
2.1.1 Анализ информационных потоков предметной области. ER-модели
Проведем концептуальное проектирование базы данных разрабатываемой информационной системы. Для этого словесно опишем структуру разрабатываемой базы данных.
Сотрудники авиакомпании оформляют билеты на рейсы. Каждый сотрудник обладает определенной должностью.
Билеты приобретаются пассажирами.
Каждый рейс принадлежит определенной авиакомпании.
Каждый рейс выполняется определенным самолетом в определенный пункт назначения.
На билеты могут быть предусмотрены какие-либо скидки.
Таким образом, перечень сущностей разрабатываемой базы данных следующий:
- Сотрудники;
- Билеты;
- Рейсы;
- Должности;
- Пассажиры;
- Авиакомпании;
- Самолеты;
- Пункты назначения;
- Скидки.
Концептуальная модель предметной области базы данных приведена на рисунке ниже.
Рисунок 2.1. Концептуальная модель предметной области
Атрибуты таблиц базы данных следующие.
Сущность «Билет»:
- Код;
- Рейс;
- Пассажир;
- Сотрудник;
- Номер;
- Вылет.
Сущность «Рейс»:
- Код;
- Пункт назначения;
- Номер рейсса;
- Дата начала;
- Дата конца;
- Авиакомпания;
- Стоимость билета;
- Самолёт.
Сущность «Авиакомпания»:
- Код;
- Название;
- Описание;
- Контакты.
Сущность «Сотрудник»:
- Код;
- Фамилия;
- Имя;
- Отчество;
- Телефон;
- Адрес;
- Должность;
- Пароль;
- Логин.
Сущность «Должности»:
- Код;
- Наименование;
- Описание;
- Право продавать билеты.
Сущность «Пассажир»:
- Код;
- Фамилия;
- Имя;
- Отчество;
- Телефон;
- Адрес;
- Паспорт;
- Скидка.
Сущность «Скидка»:
- Код;
- Процент;
- Название.
Сущность «Самолет»:
- Код;
- Бортовой номер;
- Модель;
- Вместимость;
- Дата ввода в эксплуатацию.
Сущность «Пункт назначения»:
- Код;
- Название;
- Адрес;
- Координаты;
- Описание.
2.1.2 ER-модель
Логическая модель разработанной базы данных показана на рисунке ниже:
Рисунок 2.2. Логическая модель базы данных
Путем добавления типов данных к атрибутам модели была получена физическая модель базы данных.
Рисунок 2.3. Физическая модель базы данных
2.1.3 Описание структуры базы данных «Программное обеспечение кассы аэропорта»
Таблица 2.1. Должности
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Наименование |
Длинный текст |
255 |
|
|
Описание |
Длинный текст |
255 |
|
|
Право продавать билеты |
Да/Нет |
1 |
Таблица 2.2. Сотрудник
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Фамилия |
Длинный текст |
255 |
|
|
Имя |
Длинный текст |
255 |
|
|
Отчество |
Длинный текст |
255 |
|
|
Телефон |
Длинный текст |
255 |
|
|
Адрес |
Длинный текст |
255 |
|
|
Должность |
Длинное целое |
Внешний |
|
|
Логин |
Длинный текст |
32 |
|
|
Пароль |
Длинный текст |
32 |
Таблица 2.3. Билет
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Рейс |
Длинное целое |
Внешний |
|
|
Пассажир |
Длинное целое |
Внешний |
|
|
Сотрудник |
Длинное целое |
Внешний |
|
|
Номер |
Длинный текст |
50 |
|
|
Вылет |
Дата/Время |
Полный формат даты |
Таблица 2.4. Рейс
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Наименование |
Длинный текст |
255 |
|
|
Пункт назначения |
Длинное целое |
Внешний |
|
|
Номер рейса |
Длинное целое |
Внешний |
|
|
Дата начала |
Дата/Время |
||
|
Дата окончания |
Дата/Время |
||
|
Авиакомпания |
Длинное целое |
Внешний |
|
|
Стоимость билета |
Длинное целое |
||
|
Самолет |
Длинное целое |
Внешний |
Таблица 2.5. Самолет
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Бортовой номер |
Длинный текст |
255 |
|
|
Модель |
Длинный текст |
255 |
|
|
Вместимость |
Длинное целое |
||
|
Дата ввода |
Дата/время |
Таблица 2.6. Пункт назначения
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Название |
Длинный текст |
255 |
|
|
Адрес |
Длинный текст |
255 |
|
|
Координаты |
Длинный текст |
255 |
|
|
Описание |
Memo |
Таблица 2.7. Пассажир
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Фамилия |
Длинный текст |
255 |
|
|
Имя |
Длинный текст |
255 |
|
|
Отчество |
Длинный текст |
255 |
|
|
Телефон |
Длинный текст |
32 |
|
|
Адрес |
Длинный текст |
255 |
|
|
Паспорт |
Длинный текст |
150 |
|
|
Скидка |
Длинное целое |
Внешний |
Таблица 2.8. Авиакомпания
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Название |
Длинный текст |
255 |
|
|
Описание |
Memo |
||
|
Контакты |
Длинный текст |
255 |
|
|
Адрес офиса |
Длинный текст |
255 |
Таблица 2.9. Скидки
|
Имя поля |
Тип данных |
Размер |
Ключ |
|
Код |
Счетчик |
Длинное целое |
Первичный |
|
Наименование |
Длинный текст |
255 |
|
|
Процент |
Длинное целое |
2.1.4 Схема базы данных «Программное обеспечение кассы аэропорта»
Схема базы данных в Access 2013 показана на рисунке ниже.
Рисунок 2.4. Схема базы данных в Access
2.2 Структурная схема пользовательского приложения
Структурная схема пользовательского приложения показана на рисунке ниже.
Рисунок 2.5. Структурная схема пользовательского приложения
2.3. Разработка приложения
После того, как база данных создана, необходимо организовать её связь с программой в Delphi. Наша задача состоит в том, чтобы организовать такое взаимодействие без использования дополнительных SQL-запросов и представлений.
Итак, создаем проект Delphi. Для того, чтобы таблицы обрабатывались централизованно (что в дальнейшем значительно облегчит работу с ними) мы будем использовать компонент типа Data Module. Data Module – это разновидность формы Delphi, на которой не может быть представлено никаких визуальных компонентов, кроме компонентов, предназначенных для работы с базами данных.
Создаем такой модуль, выбрав в главном меню File – New – Data Module. Сохраним программную часть этого компонента под названием UDataModule.
Разместим в данном модуле компонент ADOConnection для связи с базой данных. Для того, чтобы иметь доступ к БД, необходимо указать в свойстве ConnectionString данного компонента строку подключения к базе данных.
Для этого нажимаем на кнопку с тремя точками рядом с этим свойством. На экран выводится следующее окно.
Рисунок 2.6 – Свойства подключения
Далее нажимаем кнопку Build и настраиваем соединение с базой данных, указывая расположение базы данных.
Рисунок 2.7 – Настройка подключения к базе данных
Для проверки соединения можно нажать на кнопку «Проверить подключение». Если выведется сообщение о том, что подключение успешно, то данные правильны. После нажатия на кнопку «ОК» строка соединения будет сформирована.
Разместим на полученном модуле несколько компонентов типа ADOTable и несколько компонентов типа DataSource, дав им соответствующие имена.
После того, как мы добавили компоненты и указали их свойства, необходимо создать связи внешних ключей в одних таблицах с ключевыми в других, чтобы при отображении на компоненте DBGrid можно было выбирать значения из списка и значения соответствующих ключевых полей подставлялись в таблицу автоматически. Для этого используется поле таблицы типа fkLookup.
Сначала настроим такие связи для таблицы TSotrudnik. Для этого два раза щелкаем мышью по таблице на форме. Появляется редактор полей. Сейчас он пуст. В него необходимо добавить все поля таблицы. Для этого нажимаем в поле редактора правой кнопкой мыши и выбираем в контекстном меню Add Fields. Появится список, в котором автоматически будут выделены все поля, содержащиеся в исходной таблице. Нажимаем ОК, поля будут добавлены в редактор.
Теперь создадим подстановочные поля. Для этого нажимаем правой кнопкой в окне редактора, и выбираем «New Field».
В появившемся окне необходимо указать следующие параметры:
Рисунок 2.8 – Создание Lookup поля
Поясним эти параметры.
В поле Name указывается название поля. Можно указать любое не дублирующееся с имеющимся название.
В поле Type указывается тип данных в поле. Для корректной работы необходимо выбрать значение Variant.
Поле Field Type указывает на тип поля. Необходимо указать тип Lookup.
Поле Key Fields указывает поле в исходной таблице для подстановки ключевого значения.
Поле Dataset указывает на таблицу, из которой будут браться значения для автоподстановки в таблицу.
Поле Lookup Keys указывает значения ключевых полей, которые будут подставляться.
Поле Result Fields указывает поля с названиями ключевых полей.
Нажимаем на кнопку OK. Таким образом мы добавили поле типа Lookup в таблицу TSotrudnik
Остальные ключевые поля для этой и других таблиц создаются аналогичным образом.