Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование бизнес-процессов / Моделирование бизнес-процессов / ER-диаграмы / Проектирование реляционных БД с помощью ER-диаграмм_ver1.6.doc
Скачиваний:
184
Добавлен:
30.04.2013
Размер:
7.8 Mб
Скачать

Сущность

Эта база данных содержит информацию об ОТДЕЛЕ. Для каждого ОТДЕЛА в базе данных мы записываем название отдела и номер отдела.

Атрибуты для отдела

Каждому ОТДЕЛУ всегда будет соответствовать одно и только одно название. Значение названия будет неделимо.

Каждому ОТДЕЛУ всегда будет соответствовать один и только один номер. Значение номера будет неделимо.

Ключи

Для каждого ОТДЕЛА предполагаем, что ни один из атрибутов не является уникальным, чтобы идентифицировать ОТДЕЛ его как самостоятельную сущность, без указания ссылки на родительскую сущность МАГАЗИН. Подобное описание позволяет нам считать сущность ОТДЕЛ слабой.

Теперь выберем сущность СЛУЩАЩИЙ и повторим для него Шаг 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.