-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME
More file actions
33 lines (25 loc) · 6.05 KB
/
Copy pathREADME
File metadata and controls
33 lines (25 loc) · 6.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Отчёт
Предметная область нашего приложения охватывает процессы, связанные с работой аэропортов, авиакомпаний и пассажиров.
Наша база данных дает возможность структурировано представлять информацию о перелетах. Приложение создано для беспечения быстрого доступа к информации, например, для сотрудников аэропорта. С помощью нашей базы они могут быстро и просто находить информацию о том, какие самолеты принадлежат какой авиакомпании, сколько человек зарегистрировано на некоторый рейс, какое количество из них выбрали питание на борту и тд
Мы создали базу данных из 5 таблиц, поподробнее про каждую из них:
1 Аэропорт — здесь хранится информация о каждом аэропорте, его названии и местоположении (город).
2 Самолет — информация о воздушных судах: модель, вместимость, информация о том, какой авиакомпании этот самолет принадлежит.
3 Авиакомпания — данные о компаниях, которые осуществляют авиаперевозки - название, код IATA
4 Рейс — здесь хранится информация о рейсах. Здесь есть такие поля, например, как номер рейса, время, направление, самолёт. Также в этой таблице мы прописываем базовую цену билета
5 Билет — тут находятся данные непосредственно о билетах, такие как уникальный номер, фио пассажира , номер паспорта, место в самолёте и питание, цена
Требования
Наличие информации об аэропортах, авиакомпаниях, самолетах, выполняемых рейсах. К базе данных должно быть реализовано веб приложение, в котором можно будет искать аэропорты, смотреть выполняемые рейсы.
Валидность данных:
• У нас реализованы проверки на (не)корректность введённых данных - например, проверка на непустые строки, положительные числа , числовой формат для номера паспорта
•Уникальность номер паспорта
Каждый пассажир регестрируется на рейс со своим уникальным 10 значным номером паспорта.
•Функционал для управления данными
Мы реализовали создание, изменение и удаление информации о рейсах. Аналогичный функционал реализован для всех таблиц
•В нашем приложении реализован поиск по названию аэропорта. Найденные данные мы можем также удалять и редактировать
Бд находится в третьей нормальной форме тк: (чтобы быть в 3нф, гужно чтобы каждый неключевой атрибут зависел только от первичного ключа, но не был транзитивно зависим от других неключ. атрибутов. Т.е ни одно полн не должно описывать информацию, которая уже содержится в другом поле через посредника)
Рассмотрим каждую таблицу отдельно.
Аэропорт: первичный ключ - id аэропорта, неключевые атрибуты - его название и город. Так вот, атрибуты зависят напрямую от первичного ключа и не являются транзитивными (тк название и город не зависят друг от друга)
Авиакомпания: первичный ключ -id авиакомпании. Неключевые -название и код iata. Они оба зависят непосредственно от первичного ключа, и они также не явл. транзитивными
Самолет: неключевые - id авиакомпании, модель, вместимость. Каждый зависит от первичного ключа, модель и вместимость не зависят от авиакомпании (а только от конкретного самолета)
Рейс: первичный ключ - id рейса. Неключевые : id самолета, id аэропорта вылета и прилета, время вылета и продолжительность, базовая стоимость. Эти атрибуты также относятся к конкретному рейсу и зависят только от него.
Билет: первичный ключ - ticket id. Неключевые - id рейса, ФИО пассажира, номер паспорта, номер кресла, еда и цена. Каждый атрибут не имеет транзитивных зависимостей. Да, цена билета повышается при доп услуге - наличии питания, но это не нарушение 3 нф