aellieme/Database-project
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Отчёт Предметная область нашего приложения охватывает процессы, связанные с работой аэропортов, авиакомпаний и пассажиров. Наша база данных дает возможность структурировано представлять информацию о перелетах. Приложение создано для беспечения быстрого доступа к информации, например, для сотрудников аэропорта. С помощью нашей базы они могут быстро и просто находить информацию о том, какие самолеты принадлежат какой авиакомпании, сколько человек зарегистрировано на некоторый рейс, какое количество из них выбрали питание на борту и тд Мы создали базу данных из 5 таблиц, поподробнее про каждую из них: 1 Аэропорт — здесь хранится информация о каждом аэропорте, его названии и местоположении (город). 2 Самолет — информация о воздушных судах: модель, вместимость, информация о том, какой авиакомпании этот самолет принадлежит. 3 Авиакомпания — данные о компаниях, которые осуществляют авиаперевозки - название, код IATA 4 Рейс — здесь хранится информация о рейсах. Здесь есть такие поля, например, как номер рейса, время, направление, самолёт. Также в этой таблице мы прописываем базовую цену билета 5 Билет — тут находятся данные непосредственно о билетах, такие как уникальный номер, фио пассажира , номер паспорта, место в самолёте и питание, цена Требования Наличие информации об аэропортах, авиакомпаниях, самолетах, выполняемых рейсах. К базе данных должно быть реализовано веб приложение, в котором можно будет искать аэропорты, смотреть выполняемые рейсы. Валидность данных: • У нас реализованы проверки на (не)корректность введённых данных - например, проверка на непустые строки, положительные числа , числовой формат для номера паспорта •Уникальность номер паспорта Каждый пассажир регестрируется на рейс со своим уникальным 10 значным номером паспорта. •Функционал для управления данными Мы реализовали создание, изменение и удаление информации о рейсах. Аналогичный функционал реализован для всех таблиц •В нашем приложении реализован поиск по названию аэропорта. Найденные данные мы можем также удалять и редактировать Бд находится в третьей нормальной форме тк: (чтобы быть в 3нф, гужно чтобы каждый неключевой атрибут зависел только от первичного ключа, но не был транзитивно зависим от других неключ. атрибутов. Т.е ни одно полн не должно описывать информацию, которая уже содержится в другом поле через посредника) Рассмотрим каждую таблицу отдельно. Аэропорт: первичный ключ - id аэропорта, неключевые атрибуты - его название и город. Так вот, атрибуты зависят напрямую от первичного ключа и не являются транзитивными (тк название и город не зависят друг от друга) Авиакомпания: первичный ключ -id авиакомпании. Неключевые -название и код iata. Они оба зависят непосредственно от первичного ключа, и они также не явл. транзитивными Самолет: неключевые - id авиакомпании, модель, вместимость. Каждый зависит от первичного ключа, модель и вместимость не зависят от авиакомпании (а только от конкретного самолета) Рейс: первичный ключ - id рейса. Неключевые : id самолета, id аэропорта вылета и прилета, время вылета и продолжительность, базовая стоимость. Эти атрибуты также относятся к конкретному рейсу и зависят только от него. Билет: первичный ключ - ticket id. Неключевые - id рейса, ФИО пассажира, номер паспорта, номер кресла, еда и цена. Каждый атрибут не имеет транзитивных зависимостей. Да, цена билета повышается при доп услуге - наличии питания, но это не нарушение 3 нф