Проектирование БД «Зимний отдых с ДжетТревел»

В этой базе заказчик хотел бы хранить информацию:

· о различных странах (Австрия, Германия, Италия, Франция, Швейцария, Андорра и т.п.)

· о различных регионах катания (например, различные курорты одной страны, количестве легких и сложных трасс, наличии снежных пушек и условий для беговых лыж)

· об отелях

· о необходимом уровне подготовки путешественника (включая возможности занятия freeride, helliski)

Некоторые условия, существенные для проектирования базы данных:

· в одной стране может быть несколько регионов катания

· для различных регионов катания может быть одинаковым базисный необходимый уровень подготовки катающегося

· для различных уровней подготовки катающегося могут подходжить сразу несколько мест катания

Этапы проектирования базы данных:

1. определение объектов (сущностей) предметной области - источников данных, которые должны быть включены в базу данных

2. определение атрибутов каждой сущности, первичных ключей

3. выявление связей между сущностями

4. определение степени каждой выделенной связи (один-к-одному, один-ко-многим, многие-ко-многим) и класса принадлежности каждой сущности, который характеризует обязательность включения каждого экземпляра сущности в связь

5. построение ER-диаграмм, отображающих выявленные связи

6. формирование таблиц базы данных по ER-диаграммам:

§ определение нужного количества таблиц

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

1 и 2 этапы: объекты, их атрибуты и первичные ключи

Список объектов (сущностей):

· страна

· регион катания

· трассы

· отель

Сущности изображаются в виде прямоугольника, атрибуты вписываются внутрь прямоугольника, изображающего сущность.

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

Если значения ни одного из атрибутов не обладают уникальностью, то вместо набора уникальных атрибутов можно ввести дополнительный атрибут – код экземпляра (его номер).

Необходимый уровень подготовки
Уровень катания лыжника Условия для free ride Условия для helliski Код
Страна
Название Въезд в страну Время перелета Разница во времени Валюта Телефонный код
Отель
Название Регион катания Расстояние до подъемника Звездность


Регион катания
Название Страна Перепад высот Легкие трассы (зеленые) Средние трассы (синие) Сложные трассы (красные) Трассы для экспертов (черные) Снежные пушки Для беговых лыж

3, 4 и 5 этапы: выявление степени связей и классов принадлежности, их фиксация с помощью диаграмм

               
   
n
   
        Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru
 
 
  Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru
 

регион катания
Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (страна и регион катания):

· в каждой стране несколько регионов катания

· каждый регион катания расположен в определенной одной стране

· в базе не будет храниться информация о странах и регионах катания, с которыми на данный момент фирма не работает

Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (регион катания и необходимый уровень подготовки):

· различных уровней подготовки катающегося могут подходить сразу несколько мест катания

· в базе не будет храниться информация о регионах катания, с которыми на данный момент фирма не работает

· необходимые уровни катания будут храниться в базе данных, даже если сейчас фирма не работает с соответствующими им курортами

       
  Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru
    Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru
 

отель
Проектирование БД «Зимний отдых с ДжетТревел» - student2.ru

В этой диаграмме отражены свойства связи двух объектов нашей предметной области (регион катания и отель):

· в одном регионе катания много отелей

· каждый конкретный отель расположен в определенном регионе катания

· в базе не будет храниться информация о регионах катания, с которыми на данный момент фирма не работает

· в базе не будет храниться информация об отелях, с которыми на данный момент фирма не работает

6 этап: формирование таблиц базы данных по ER-диаграммам

В связи сущностей СТРАНА Û РЕГИОН КАТАНИЯ и РЕГИОН КАТАНИЯ Û ОТЕЛЬ степень связи «один-ко-многим», n-связная сущность имеет обязательный класс принадлежности; следовательно, в соответствии с ER-методом

Достаточно использовать две таблицы (по одной для каждой сущности); ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы. Кроме того, ключ 1-связной сущности должен быть добавлен как атрибут в таблицу, представляющую n-связную сущность.

Но у нас в таблице РЕГИОН КАТАНИЯ уже есть такой атрибут – Страна(он и будет вторичным ключом, соответствующим первичному ключу Название).

СТРАНА

Название Время перелета   Разница во времени Валюта   Телефонный код Въезд в страну  
Австрия 3 часа
Франция 3,5 – 4 часа
Андорра 3,5 часа

РЕГИОН КАТАНИЯ

Название Страна Перепад высот Легкие трассы Средние трассы Сложные трассы для экспертов Снежные пушки   Для беговых лыж
Ле дез Альп Франция 1650-3568м
Три долины Франция 1350-2450м
Обертауэрн Австрия 1740-2305м

Итак, через первичный ключ Название в таблице СТРАНА и вторичный ключ Страна в таблице РЕГИОН КАТАНИЯ будет фиксироваться связь двух сущностей нашей предметной области –СТРАНЫ и РЕГИОНА КАТАНИЯ.

У нас в таблице ОТЕЛЬ уже есть такой атрибут – Регион катания(он и будет вторичным ключом, соответствующим первичному ключу Название).

РЕГИОН КАТАНИЯ

Название Страна Перепад высот Легкие трассы Средние трассы Сложные трассы для экспертов Снежные пушки   Для беговых лыж
Ле дез Альп Франция 1650-3568м
Три долины Франция 1350-2450м
Обертауэрн Австрия 1740-2305м

ОТЕЛЬ

Название регион катания удаленность от подъемника звездность  
Hotel Latini Шюттдорф
Alpina Гармиш-Партенкирхен
Coray Энкамп

Итак, через первичный ключ Название в таблице РЕГИОН КАТАНИЯ и вторичный ключ Регион катания в таблице ОТЕЛЬ будет фиксироваться связь двух сущностей нашей предметной области –ОТЕЛЯ и РЕГИОНА КАТАНИЯ.

В связи сущностей РЕГИОН КАТАНИЯ Û НЕОБХОДИМЫЙ УРОВЕНЬ ПОДГОТОВКИ степень связи «многие-ко-многим». В этом случае классы принадлежности сущностей не влияют на количество и структуру соответствующих таблиц; следовательно,

Необходимо формирование трех таблиц – по одной для каждой сущности (ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы), а также таблицы для связи. Таблица, создаваемая для связи, должна иметь по одному вторичному ключу от каждой сущности.

РЕГИОН КАТАНИЯ

Название Страна Перепад высот Легкие трассы Средние трассы Сложные трассы для экспертов Снежные пушки   Для беговых лыж
Ле дез Альп Франция 1650-3568м
Три долины Франция 1350-2450м
Обертауэрн Австрия 1740-2305м

НЕОБХОДИМЫЙ УРОВЕНЬ ПОДГОТОВКИ

Код Уровень катания лыжника     free ride   helliski
начинающий -
средний +
средний -

КУДА ЕХАТЬ

Регион катания Уровень Примерная стоимость тура
Энкамп  
Солдеу

В таблице-связке КУДА ЕХАТЬ поле Регион катания является вторичным ключом, соответствующим первичному ключу Название таблицы РЕГИОН КАТАНИЯ; поле Уровень является вторичным ключом, соответствующим первичному ключу Код таблицы НЕОБХОДИМЫЙ УРОВЕНЬ ПОДГОТОВКИ. С помощью этих вторичных ключей фиксируется связь сущностей РЕГИОН КАТАНИЯ и НЕОБХОДИМЫЙ УРОВЕНЬ ПОДГОТОВКИ. Дополнительные поля в таблице КУДА ЕХАТЬ могут использоваться для уточнения характеристик этой связи – примерная стоимость тура на человека на неделю.

Наши рекомендации