
- •Сикха Багуи и Ричард Ирп
- •Контрольные вопросы 1.1
- •Модели данных
- •Иерархическая Модель
- •Сетевая модель
- •Реляционная модель
- •Контрольные вопросы 1.2
- •Функциональные зависимости
- •Правило декомпозиции (разложения)
- •Правило объединения
- •Контрольные вопросы 1.3
- •Краткий обзор метода нормальных форм
- •Примеры 1нф, 2нф и 3нф
- •Упражнение 1.3
- •Глава 2: Базовая er-диаграмма – схема
- •Некоторые определения баз данных: Сущность, Связь, Атрибут
- •Начальная Методология
- •Еще об атрибутах
- •Простые или атомарные атрибуты
- •Многозначные атрибуты
- •Производный атрибуты
- •Описание Сущности на структурном английском языке
- •Сущность
- •Атрибуты
- •Методология er-проектирования
- •Примеры
- •Сущность
- •Атрибуты
- •Методология er проектирования
- •Итоги главы
- •Упражнения Главы
- •Упражнение 2.1
- •Упражнение 2.2
- •Проработка примера
- •Сущность
- •Глава 3: После первой диаграммы сущности
- •Проверка Сущности — замена атрибута сущностью
- •Методология er-проектирования
- •Определение вторичной сущности
- •Существует ли связь?
- •Атрибут или Связь?
- •Глава 4: Расширение связей/ Структурные
- •1(Полное участие):1:
- •Глава 5: Слабая Сущность
- •Грамматика Слабой Сущности
- •Контрольные вопросы 5.3
- •Упражнения Главы 5. Упражнение 5.1
- •Список литературы
- •Сущность
- •Атрибуты для отдела
- •Сущность
- •Атрибуты для служащего
- •Глава 6: Дальнейшее Расширение
- •Сущность
- •Атрибуты
- •Более двух Сущностей
- •С указанием всех атрибутов
- •Развитие базы данных
- •Глава 7: Троичные и er-диаграммы более высокого порядка
- •Глава 8: Обобщения и специализации.
- •Глава 9: Реляционные преобразования и
- •Глава 10: Краткий обзор модели Баркера
- •Глава 10. Упражнения.
Сущность
Эта база данных содержит информацию об ОТДЕЛЕ. Для каждого ОТДЕЛА в базе данных мы записываем название отдела и номер отдела.
Атрибуты для отдела
Каждому ОТДЕЛУ всегда будет соответствовать одно и только одно название. Значение названия будет неделимо.
Каждому ОТДЕЛУ всегда будет соответствовать один и только один номер. Значение номера будет неделимо.
Ключи
Для каждого ОТДЕЛА предполагаем, что ни один из атрибутов не является уникальным, чтобы идентифицировать ОТДЕЛ его как самостоятельную сущность, без указания ссылки на родительскую сущность МАГАЗИН. Подобное описание позволяет нам считать сущность ОТДЕЛ слабой.
Теперь выберем сущность СЛУЩАЩИЙ и повторим для него Шаг 2:
Сущность
Эта база данных содержит информацию о СЛУЖАЩЕМ. Для каждого СЛУЖАЩЕГО в базе данных мы записываем имя служащего и номер страховки служащего.
Атрибуты для служащего
Каждому СЛУЖАЩЕМУ всегда будет соответствовать одно и только одно имя. Значение имени будет неделимо.
Каждому СЛУЖАЩЕМУ всегда будет соответствовать один и только один номер страховки. Значение номера будет неделимо.
Ключи
Для каждого СЛУЖАЩЕГО будем считать номер социального обеспечения уникальным. (Следовательно, СЛУЖАЩИЙ будет сильной сущностью).
Данные сущности были добавлены к диаграмме на Рисунке 5.7.
Рис. 5.7. ER-диаграмма БД Западно-Флоридского Торгового Комплекса
Используя шаг 6, чтобы наложить структурные ограничения на связи, получаем следующее:
Сначала рассмотрим связь dept_of:
От МАГАЗИНА к ОТДЕЛУ соответствует Шаблону 3, 1(полное участие):N :
Магазины, записанные в базе данных, должны иметь множество (один или более) отделов.
От ОТДЕЛА к МАГАЗИНУ соответствует Шаблону 1, M(полное участие):1 :
Множество отделов (один или более) должны быть в одном магазине.
Чтобы преобразовать данную связь:
Связь между МАГАЗИНОМ и ОТДЕЛОМ является двоичной связью типа 1:N, поэтому применяя правило M3c_1, возьмем ключ со стороны 1 и внесем его в качестве внешнего ключа в отношение со стороны N, так что отношение ОТДЕЛ преобразуется в:
Отношение МАГАЗИН будет таким же как и было в Главе 4, но нам не нужно будет отношение ОТДЕЛЫ_МАГАЗИНА. (ВГлаве 4, отделы были многозначным атрибутом отношения МАГАЗИН, поэтому мы имели отношения МАГАЗИН и ОТДЕЛЫ_МАГАЗИНА). Из спецификаций, приведенных выше в этой главе, становится очевидным, что ОТДЕЛ является самостоятельной сущностью, поэтому отношение ОТДЕЛЫ_МАГАЗИНА заменяется отношением ОТДЕЛЫ.
Далее, для связи «работает»:
От СЛУЖАЩЕГО к ОТДЕЛУ соответствует Шаблону 1, 1(полное участие):1 :
Служащие, записанные в базе данных, должны работать в одном и только одном отделе.
От ОТДЕЛА к СЛУЖАЩЕМУ соответствует Шаблону 3, 1(полное участие):N
Отделы, записанные в базе данных, должны иметь одного или более служащих, работающих в них.
Чтобы преобразовать данную связь:
Связь от СЛУЖАЩЕГО к ОТДЕЛУ является двоичной связью типа 1:1, и поскольку обе стороны имеют полное участие, применяя правило М3b_3, мы можем выбрать сторону, которая будет хранить ключ другой стороны. Но поскольку связь между ОТДЕЛОМ и СЛУЖАЩИМ является двоичной связью типа 1(полное участие):N, применим правило преобразования М3с_1 и возьмем ключ со стороны 1 (со стороны сущности ОТДЕЛ), и добавим этот составной ключ в отношение со стороныN(т.е. отношение СЛУЩАЖИЙ) в качестве внешнего ключа. Тогда отношение СЛУЖАЩИЙ примет вид:
В итоге, наша реляционная база данных преобразуется к следующему виду (пока без данных):
Мы продолжим рассмотрение этого примера в конце Главы 6.