- •Введение
- •1. Концептуальное проектирование
- •1.1 Анализ предметной области
- •1.2 Выявление сущностей
- •1.3 Анализ информационных задач и круга пользователей системы
- •1.4 Выбор субд и других программных средств
- •2. Логическое проектирование
- •2.1 Преобразование концептуальной модели в схему базы данных
- •2.2 Описание групп пользователей и прав доступа
- •3. Физическое проектирование
- •4. Демонстрация приложения
- •Заключение
- •Список литературы
- •Приложение №1
- •Приложение №2
2.2 Описание групп пользователей и прав доступа
Приложение рассчитано на одного человека, который занимается учётом информации о проданных билетах в компании без ограничений прав доступа.
3. Физическое проектирование
Рис.2 Физическая модель
В соответствии со схемой физической модели базы данных были созданы скрипты для создания объектов базы данных и триггеров. Скрипты для создания таблиц, ограничений и первичных ключей приведены в приложении №1, скрипты для создания триггеров приведены в Приложении №2.
Необходимо рассчитать объём базы данных, используя формулы:
1. Расчёт длины записи в таблице.
Длина 1 записи = длина поля 1 + длина поля 2 + … + длина поля n
2. Расчёт длины индекса.
Длина индекса = длина адресного указателя + длина ключевого поля 1 + … + длина ключевого поля n
(Длина адресного указателя = 4 байта)
3. Расчёт объёма таблицы.
Объём таблицы = Длина 1 записи * количество предполагаемых строк в таблице
4. Расчёт объёма всей базы данных.
Объём БД = Объём таблицы 1 + Объём таблицы 2 + Объём таблицы 3 + … + Объём таблицы n
В качестве примера рассчитаем объём таблицы Plane (Самолёты)
Длина записи = 4 + 4 + 20 + 4 + 4 + 7 = 43 байт
Длина индекса = 4 + 4 = 8 байт
Предполагаемое число записей = 3 000 записей
Объём таблицы = (43 + 8) * 3 000 = 153 000 байт
Аналогично проводим расчёт для остальных таблиц:
Имя таблицы |
Длина записи (байт) |
Длина индекса (байт) |
Предполагаемое число записей |
Объём таблицы (байт) |
Passenger |
145 |
8 |
100 000 |
15 300 000 |
Airline |
54 |
8 |
10 |
620 |
Plane |
43 |
8 |
3 000 |
153 000 |
Flight |
64 |
8 |
30 000 000 |
2 160 000 000 |
Airport |
40 |
8 |
400 |
19 200 |
Ticket |
17 |
8 |
200 000 000 |
5 000 000 000 |
City |
44 |
8 |
150 |
7 800 |
Class |
24 |
8 |
4 |
128 |
Payment |
34 |
8 |
2 |
84 |
Объём базы данных = 7 175 480 832 байт ≈ 6,6 Гбайт |
||||
4. Демонстрация приложения
В приложении реализована возможность редактирования всех таблиц базы данных. В соответствии с этим в приложении представлены 9 форм: Passenger, Airline, Plane, Flight, Airport, Ticket, City, Class, Payment.
Перемещение по формам осуществляется при помощи меню слева, либо с помощью кнопок.
На формах представлена вся информация об объекте.
Рис. 3 Меню приложения
Рис. 4 Форма «Passenger»
Аналогичным образом построены остальные формы, представленные на рисунках: 5, 6, 7, 8, 9, 10, 11, 12.
Рис.5 Форма «Airline»
Рис.6 Форма «Plane»
Рис.7 Форма «Flight»
Рис.8 Форма «Airport»
Рис.9 Форма «Ticket»
Рис.10 Форма «City»
Рис.11 Форма «Class»
Рис.12 Форма «Payment»
Для удаления или изменения записи необходимо нажать на иконку «карандаша» в результате чего появится новая форма, в которой можно осуществить редактирование. Для добавления записи нужно нажать на кнопку «Create» в результате чего появится новая форма для добавления записи.
В базе данных присутствую триггеры, которые обрабатываются и выполняются в приложении. Так на рисунке показан случай срабатывания триггера, когда в таблицу «Flight» добавляется запись с одинаковыми кодами городов отправления и прибытия.
Рис. 13 Срабатывание триггера на форме «Flight»
