4.3. Выбор СУБД.
Для проектирования БД «Рейсы - самолеты» выбираем СУБД MicrosoftAccess 2003.
MicrosoftAccess 2003 представляет собой мощную базу данных (РСУБД), которая предназначена для создания настольных приложений и приложений клиент-сервер.
Главной причиной успеха Access является то, что этот продукт позволяет пользоваться на настольном ПК многими возможностями систем управления реляционными базами данных. Однако, несмотря на всю мощь Access, эта настольная РСУБД легка в использовании. Набор мастеров и разнообразных вспомогательных средств автоматизирует выполнение одних и тех же стандартных процедур, ускоряя создание и изменение таблиц, запросов, форм, отчётов и диаграмм. Построители помогают при создании сложных элементов управления и выражений.
Access имеет уникальную структуру баз данных, которая позволяет объединить все связанные таблицы с данными, а также их индексы, формы, отчёты и код VBA в едином файле базы данных с расширением *.mdb.
4.4. Даталогическое проектирование базы данных
Даталогическим (логическим) проектированием называют проектирование логической структуры БД в среде конкретной СУБД. Выберем в качестве модели данных реляционную базу данных (РБД).
Существуют разные способы проектирования логической структуры РБД. Рассмотрим способ проектирования, основанный на анализе инфологической модели и переходе от нее к реляционным отношениям.
Для РБД проектирование логической структуры заключается в том, чтобы разбить всю информацию по отношениям, а также определить состав атрибутов для каждого из этих отношений. От ER-модели перейдем к реляционной модели данных (описать правила перехода).
В результате получили следующие отношения:
Рейсы (Номер рейса, Аэропорт отправления, Дата отправления, Время отправления, Место прибытия, Город прибытия, Дата прибытия, Время прибытия, Бортовой номер самолета, Количество мест общее, количество свободных мест, Цена билета)
Самолеты (Бортовой номер самолета, Модель, Авиакомпания, Максимальная вместимость, Год выпуска)
Аэропорты (Название аэропорта, Город, Страна, Телефон, Юридический адрес, Наличие детской комнаты)
Клиенты (Номер билета, Фамилия И.О., Серия и номер паспорта, Адрес, Телефон домашний, Телефон сотовый, Номер рейса, Цена билета)
4.4.1. Нормализация отношений
Все отношения находятся в 1-ой нормальной форме, т.к. не имеют сложных атрибутов. Функциональные зависимости между атрибутами отношений приведены на рис.2.
Отношение «Рейсы»
номер рейса
аэропорт отправления
дата отправления
время отправления
место прибытия
город прибытия
дата прибытия
время прибытия
бортовой номер самолета
количество мест общее
количество свободных мест
цена билета
Отношение «Самолеты»
бортовой номер самолета
модель
авиакомпания
максимальная вместимость
год выпуска
Отношение «Аэропорты»
название аэропорта
город аэропорта
страна аэропорта
телефон
юридический адрес
наличие детской комнаты
Отношение «Клиенты»
номер билета
номер рейса
Фамилия, имя, отчество
серия и номер паспорта
адрес
цена билета
Рис.2. Функциональные зависимости отношений
Поскольку все отношения имеют простые ключи, они уже во 2-ой нормальной форме. Отношения «Самолеты», «Аэропорты» и «Клиенты» находятся в 3-ей нормальной форме, т.к. в них нет транзитивных зависимостей. В отношении «Рейсы» есть транзитивная зависимость, значит 3-я нормальная форма в этом отношении нарушена. Это показано на рис.3.
Отношение «Рейсы»
номер рейса
аэропорт отправления
дата отправления
время отправления
место прибытия
город прибытия
дата прибытия
время прибытия
бортовой номер самолета
количество мест общее
количество свободных мест
цена билета
Рис.3. Транзитивная зависимость в отношениях «Рейсы»
Приведем отношение «Рейсы» к 3-ей нормальной форме, разделив отношение на два отношения. Назовем их «Рейсы» и «Места», в отношении «Места» будет составной ключ, состоящий из двух атрибутов - номер рейса и дата отправления.
Функциональные зависимости полученных отношений после приведения к 3-ей нормальной форме отношений «Рейсы» приведены на рис.4.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.