Читайте также:
|
|
Проанализируем, каким образом мы можем отобразить то, какие аэропорты соединяет каждый из маршрутов. На данный момент в модели отображается только аэропорт вылета. Исходя из смысла АВИАМАРШРУТА, необходимо отображать все аэропорты, через которые этот маршрут проходит. Так как один АВИАМАРШРУТ может соединятьнесколько АЭРОПОРТОВ и через каждый АЭРОПОРТ может проходить несколько АВИАМАРШРУТОВ, необходимо создать промежуточную сущность, в этой сущности должны быть определены атрибуты: каким по счету будет аэропорт в авиамаршруте, время прилета и вылета. Среди всех аэропортов входящих в авиамаршрут первым будет тот, где время прилета будет пустым (кроме этого первый аэропорт в маршруте легко распознать т.к. «Номер в Маршруте» будет равен 1), а последним, соответственно, тот, где время вылета пусто. Созданную сущность можно рассматривать как РАСПИСАНИЕ (каждая запись будет соответствовать одной строке расписания). После появления Сущности РАСПИСАНИЕ атрибут «Время вылета» в сущности РЕЙС следует убрать, т.к. он полностью заменяется таким же атрибутом расписании.
Заметим, что нам нужно знать не только аэропорт, но и город, которому этот аэропорт принадлежит, таким образом, вводим сущность ГОРОД.
Рисунок 7 Результат ввода сущности Расписание |
Обратим внимание на сущность ТИП САМОЛЕТА. Пассажиры приобретают билеты не просто на самолет, а в салон определенного типа (бизнес класс, эконом класс и т.д.), заметим, что нужно знать не общее количество мест во всем самолете, а количество мест в каждом из салонов. Таким образом, появляются сущность ТИП САЛОНА, и САЛОН В САМОЛЕТЕ, которая связывает ТИП САМОЛЕТА и ТИП САЛОНА.
Рисунок 8 Результат ввода сущности Тип Салона |
Проанализируем, какая информация кроме уже представленной в модели, является существенной для описания сферы воздушных перевозок.
Во-первых, для описания АВИАМАРШРУТА нужно указать, какой авиакомпанией этот маршрут выполняется, так появляется сущность АВИАКОМПАНИЯ, которая связывается с АВИАМАРШРУТОМ как «один ко многим».
Во-вторых, необходимо ввести сущность БОРТ, которая покажет, какие конкретные самолеты имеются в распоряжении каждой из АВИАКОМПАНИЙ, и какие из них выполняют тот или иной рейс.
В-третьих, добавляем сущность ТАРИФ, которая показывает цену билета для АВИАМАРШРУТА при следовании из аэропорта вылета в аэропорт прилета, для моделирования этой ситуации необходимо соединить АЭРОПОРТ и ТАРИФ отношением «один ко многим» два раза. Для различия между этими двумя отношениями даем названия ролям «Аэропорт Откуда» и «Аэропорт Куда» соответственно. Теперь можно обратить внимание на то, что в тарифе для каждого авиамаршрута должны быть указаны только те аэропорты, через который проложен данный маршрут (которые присутствуют в расписании), это значит что более правильно будет установить отношения «Аэропорт Откуда» и «Аэропорт Куда» не между ТАРИФОМ и АЭРОПОРТОМ, а между ТАРИФОМ и РАСПИСАНИЕМ.
Так как цена билета зависит также от типа салона, устанавливаем связь между сущностями ТАРИФ и ТИП САЛОНА.
И наконец вводим сущность БИЛЕТ, которая даст возможность учитывать, кто когда, каким рейсом, откуда и куда летал по билету. У билета, очевидно, существует естественный первичный ключ «Номер билета». БИЛЕТ связывается отношением с РЕЙСОМ как «один ко многим». Информация о маршруте, аэропорте вылета и аэропорте прилета, а также типе салона будет извлекаться из сущности ТАРИФ с которой билет также связывается отношением «один ко многим».
Дата добавления: 2015-12-08; просмотров: 53 | Нарушение авторских прав