В этой базе заказчик хотел бы хранить информацию:
· о различных странах (Австрия, Германия, Италия, Франция, Швейцария, Андорра и т.п.)
· о различных регионах катания (например, различные курорты одной страны, количестве легких и сложных трасс, наличии снежных пушек и условий для беговых лыж)
· об отелях
· о необходимом уровне подготовки путешественника (включая возможности занятия freeride, helliski)
Некоторые условия, существенные для проектирования базы данных:
· в одной стране может быть несколько регионов катания
· для различных регионов катания может быть одинаковым базисный необходимый уровень подготовки катающегося
· для различных уровней подготовки катающегося могут подходжить сразу несколько мест катания
Этапы проектирования базы данных:
1. определение объектов (сущностей) предметной области - источников данных, которые должны быть включены в базу данных
2. определение атрибутов каждой сущности, первичных ключей
3. выявление связей между сущностями
4. определение степени каждой выделенной связи (один-к-одному, один-ко-многим, многие-ко-многим) и класса принадлежности каждой сущности, который характеризует обязательность включения каждого экземпляра сущности в связь
|
|
5. построение ER-диаграмм, отображающих выявленные связи
6. формирование таблиц базы данных по ER-диаграммам:
§ определение нужного количества таблиц
§ определение вторичных ключей таблиц, их связи с соответствующими первичными ключами.
1 и 2 этапы: объекты, их атрибуты и первичные ключи
Список объектов (сущностей):
· страна
· регион катания
· трассы
· отель
Сущности изображаются в виде прямоугольника, атрибуты вписываются внутрь прямоугольника, изображающего сущность.
Атрибут или набор атрибутов, используемый для идентификации экземпляра сущности, называется ключом сущности. Ключевые атрибуты каким-либо образом выделяются на диаграмме (например, подчеркиванием, более жирным шрифтом или курсивом).
Если значения ни одного из атрибутов не обладают уникальностью, то вместо набора уникальных атрибутов можно ввести дополнительный атрибут – код экземпляра (его номер).
Необходимый уровень подготовки |
Уровень катания лыжника Условия для free ride Условия для helliski Код |
Страна |
Название Въезд в страну Время перелета Разница во времени Валюта Телефонный код |
Отель |
Название Регион катания Расстояние до подъемника Звездность |
Регион катания |
Название Страна Перепад высот Легкие трассы (зеленые) Средние трассы (синие) Сложные трассы (красные) Трассы для экспертов (черные) Снежные пушки Для беговых лыж |
3, 4 и 5 этапы: выявление степени связей и классов принадлежности, их фиксация с помощью диаграмм
|
|
| |||||||
|
В этой диаграмме отражены свойства связи двух объектов нашей предметной области (страна и регион катания):
· в каждой стране несколько регионов катания
· каждый регион катания расположен в определенной одной стране
· в базе не будет храниться информация о странах и регионах катания, с которыми на данный момент фирма не работает
В этой диаграмме отражены свойства связи двух объектов нашей предметной области (регион катания и необходимый уровень подготовки):
· различных уровней подготовки катающегося могут подходить сразу несколько мест катания
· в базе не будет храниться информация о регионах катания, с которыми на данный момент фирма не работает
· необходимые уровни катания будут храниться в базе данных, даже если сейчас фирма не работает с соответствующими им курортами
|
В этой диаграмме отражены свойства связи двух объектов нашей предметной области (регион катания и отель):
· в одном регионе катания много отелей
· каждый конкретный отель расположен в определенном регионе катания
· в базе не будет храниться информация о регионах катания, с которыми на данный момент фирма не работает
· в базе не будет храниться информация об отелях, с которыми на данный момент фирма не работает
6 этап: формирование таблиц базы данных по ER-диаграммам
В связи сущностей СТРАНА Û РЕГИОН КАТАНИЯ и РЕГИОН КАТАНИЯ Û ОТЕЛЬ степень связи «один-ко-многим», n-связная сущность имеет обязательный класс принадлежности; следовательно, в соответствии с ER-методом
Достаточно использовать две таблицы (по одной для каждой сущности); ключ каждой сущности служит в качестве первичного ключа соответствующей таблицы. Кроме того, ключ 1-связной сущности должен быть добавлен как атрибут в таблицу, представляющую n-связную сущность.
Но у нас в таблице РЕГИОН КАТАНИЯ уже есть такой атрибут – Страна(он и будет вторичным ключом, соответствующим первичному ключу Название).
СТРАНА
Название | Время перелета | Разница во времени | Валюта | Телефонный код | Въезд в страну |
Австрия | 3 часа | … | … | … | … |
Франция | 3,5 – 4 часа | … | … | … | … |
Андорра | 3,5 часа | … | … | … | … |
… | … | … | … | … | … |