Файл: 1 Детально изучить и описать предметную область.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.02.2024

Просмотров: 37

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Введение


Любая организация нуждается в своевременном доступе к информации. Ценность информации в современном мире очень высока. Роль распорядителей информации в современном мире чаще всего выполняют базы данных. Базы данных обеспечивают надежное хранение информации, в структурированном виде и своевременный доступ к ней. Практически любая современная организация нуждается в базе данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.

На сегодняшний день на рынке представлено множество технологий доступа к данным и серверов баз данных, каждое, из которых имеет свои отличительные черты. Современные приложения обработки данных ориентированы на работу с большим количеством пользователей, на их удаленность от места расположения основного сервера БД.

Целью данной курсовой работы является проектирование и реализация базы данных по учету продаж авиабилетов. Для достижения поставленной цели необходимо решить следующие задачи:

1) Детально изучить и описать предметную область;

2) Разработать концептуальную схему базы данных;

3) Реализовать базу данных;

4) Реализовать запросы к базе данных.

1. Описание предметной области базы данных по учету продаж авиабилетов


На кассе продаются авиабилеты. Оформление билета возможно только на совершеннолетнее лицо. Для оформления билета необходимо предъявить серию и номер паспорта, имя, фамилию. Билет оформляется на рейс. В билете указываются класс и место в классе, а также пассажир, на которого оформлен билет (таким образом сотрудники пропускных пунктов могут контролировать попытки прохода на рейс несовершеннолетних без сопровождения взрослых (оформивших билет)).

Каждый рейс имеет свой номер, по которому пассажиры могут его узнать. Рейсам выставляются борта, маршруты – аэропорт вылета и аэропорт посадки, время вылета и посадки, дата вылета и посадки, а также цена рейса. Каждый рейс планируется заранее и согласовывается с другими рейсами во избежание столкновений в воздушном или наземном пространстве, поэтому время вылета не зависит от маршрута.


Производители самолетов выставляют максимально разрешенный вес самолета, поэтому у каждого лайнера свое максимально разрешенное кол-во мест. Как укомплектовать борт решают уже в авиакомпании, поэтому у каждого борта могут быть разные классы мест и количество мест в классе, но суммарное количество мест не должно превышать максимально установленное производителем.

2 Разработка базы данных

2.1 Разработка концептуальной схемы базы данных по учету продаж авиабилетов

Для удачного проектирования базы данных сначала необходимо представить предметную область в виде концептуальной схемы. Это позволит наглядно определить необходимые сущности и их атрибуты. Концептуальная модель – это модель, представленная множеством понятий и связей между ними, определяющих смысловую структуру рассматриваемой предметной области или её конкретного объекта. Для данной предметной области выделим следующие сущности: авиалайнер, борт, билет, маршрут, пассажир, рейс.

Сущность «авиалайнер» имеет атрибуты: код авиалайнера, модель самолета и максимальное количество мест.

Сущность «борт» имеет атрибуты: класс, номер борта и количество мест.

Сущность «билет» имеет атрибуты: класс и место.

Сущность «маршрут» имеет атрибуты: точка назначения, точка вылета и номер маршрута.

Сущность «пассажир» имеет атрибуты: дата рождения, номер визы, серия номера паспорта, фамилия, имя и отчество.

Сущность «рейс» имеет атрибуты: номер рейса, время вылета, время прилета, дата вылета, дата прилета, цена.

На рисунке 1 представлена концептуальная схема базы данных по учету продаж авиабилетов.



Рисунок 1 – Концептуальная схема базы данных по учету продаж авиабилетов


8

2 Разработка логической схемы базы данных по учету продажи

авиабилетов

Логическая схема выполнена в нотации IDEF1X. В данной нотации


есть сущности, атрибуты и связи. Логическая схема строится на основе

концептуальной схемы базы данных. Сущности логической схемы «Рейс»,

«

Борт», «Авиалайнер» соответствуют сущностям концептуальной схемы.

Атрибуты данных сущностей также соответствуют атрибутам сущностей

концептуальной схемы.

На логической схеме можно выделить связи между таблицами и

выделить первичные и внешние ключи между таблицами. Связи между

таблицами бывают «идентифицирующими» и «неидентифицирующими».

Идентифицирующими связями будут соединены: сущности «Борт» и

«

Класс». Для создания связи многие ко многим определяется третья таблица

Борт имеет класс», которая называется промежуточной таблицей. Первичный

«

ключ промежуточной таблицы состоит из внешних ключей «Номер борта» и

«

ИД класса».

Неидентифицирующими связями будут соединены: сущности

Авиалайнер» и «Борт», сущности «Пассажир» и «Билет», сущности «Класс»

«

и «Билет», сущности «Борт» и «Рейс», сущности «Рейс» и «Билет», сущности

«Маршрут» и «Рейс» и сущности «Аэропорт» и «Маршрут».

После, полученную схему нормализуют, т.е. приводят к необходимой


нормальной форме (далее, НФ). В данной курсовой работе приведем базу

данных к 3НФ. Рассмотрим все НФ до третьей включительно.

Отношение находится в 1НФ, если все значения атрибута принимают

простые значения, не являющиеся множеством или кортежем из более

элементарных составляющих.




9

Отношение находится в 2НФ, если оно находится в 1НФ и каждый не

ключевой атрибут зависит от всего первичного ключа (не зависит от части

ключа).

Отношение находится в 3НФ, если оно находится в 2НФ, и если все не

ключевые атрибуты отношения взаимно независимы и полностью зависят от

первичного ключа.

Построим логическую схему базы данных по учету продажи

авиабилетов. Схема представлена на рисунке 2.1.

Рисунок 2.1 Логическая схема базы данных по учету продаже

авиабилетов

Рассмотрим таблицу «рейс», изображенную на рисунке 2.2.




1

0

Рисунок 2.2 Сущность «Рейс»

Сущность «рейс» находится в 1НФ, т.к. все не ключевые атрибуты

сущности, а именно «время вылета», «время прилета», «дата вылета» и «дата

прилета» принимают простые значения, не состоящие из более простых

значений. Сущность «рейс» находится во 2НФ, т.к. находится в 1НФ и все

перечисленные раннее не ключевые атрибуты сущности неприводимо зависят

от первичного ключа этой сущности, а именно от атрибута «номер рейса».

Сущность «рейс» находится в 3НФ, т.к. она находится во 2НФ и все

перечисленные раннее не ключевые атрибуты этой сущности не находятся в

транзитивной зависимости от потенциальных ключей этой сущности, то есть

от атрибутов «номер маршрута» или «номер борта».


Аналогично рассмотрим другие сущности, представленные на

рисунках.

Рисунок 2.3 Сущность «Авиалайнер»

Рисунок 2.4 Сущность «Борт»




1

1

Рисунок 2.5 Сущность «Класс»

Рисунок 2.6 Сущность «Пассажир»

Рисунок 2.7 Сущность «Билет»

Рисунок 2.8 Сущность «Аэропорт»

Рисунок 2.9 Сущность «Маршрут»

Сущности Авиалайнер, Борт, Класс, Пассажир, Билет, Аэропорт,

Маршрут находятся в 1НФ, т.к. не ключевые атрибуты - модель самолета и

максимально возможное кол-во мест сущности Авиалайнер; название класса

сущности Класс; номер визы, имя, фамилия, отчество, дата рождения

сущности Пассажир, место и цена сущности Билет; название города сущности

Аэропорт принимают простые значения, не состоящие из кортежей более

простых значений. Перечисленные сущности находятся во 2НФ, т.к. находятся

в 1НФ и все не ключевые атрибуты этих сущностей неприводимо зависят от


1

2

всего первичного ключа своей сущности соответственно. Сущности находятся

в 3НФ, т.к. у перечисленных атрибутов сущностей нет транзитивных

функциональных зависимостей от потенциальных ключей своей сущности

соответственно.