Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДьт.doc
Скачиваний:
60
Добавлен:
27.03.2015
Размер:
1.08 Mб
Скачать

Связи более высокого порядка

Рассмотрим предыдущий пример в базу данных “Рыболовный туризм”. Предположим, что туристы, нанимающие проводника, хотят знать, какую рыбу предпочитает ловить проводник.

Проводник

Озеро

Рыба

На рисунке 7.45 с помощью диаграммы ER-экземпляра показаны связи между сущностями ПРОВОДНИК, РЫБА и ОЗЕРО. Связь “Предпочитает” между сущностями ПРОВОДНИК и РЫБА показана пунктиром.

Рис. 7.45 Диаграммы ER-экземпляров связей “Обслуживает”, “Водится” и “Предпочитает”

Правило 4 (в)

Правило 4 (а)

Правило 6 (б)

Рис. 7.46 Диаграммы ER-типа связей “Обслуживает”, “Водится” и “Предпочитает”

По диаграмме ER-типа из рисунка 7.46 определяем отношения:

а) Связь бинарная, степень связи N:1 класс, принадлежности N-связанной сущности

обязательный - следовательно применяем правило номер 4.

Проводник (Фам,…,Озеро)

Озеро (Озеро,…)

б) Связь бинарная, степень связи N:M следовательно применяем правило номер 6.

Озеро (Озеро,…)

Рыба (Вид,…)

Водится (Озеро, Вид,…)

в) Связь бинарная, степень связи N:1 класс, принадлежности N-связанной сущности

обязательный следовательно применяем правило номер 4.

Проводник (Фам,…,Вид)

Рыба (Вид,…)

Проанализируем и реорганизуем полученные отношения:

  1. В данных отношениях есть повторяющиеся, вычеркиваем их (это Озеро,Рыба).

  2. Объединям два отношения проводник (Проводник (Фам,…,Озеро) и Проводник (Фам,…,Вид)) в одно Проводник (Фам,…,Озеро, Вид).

  3. Переписываем оставшиеся отношения дополняем их неключевыми атрибутами

  4. Определяем ключи отношений.

Проводник (Фам, Тном, Плата, Группа, Озеро, Вид)

Водится (Озеро, Вид)

Озеро (Озеро, Оценка)

Рыба (Вид, Вес, Наживка)

Все четыре отношения находятся в НФБК, следовательно вывод: бинарных связей в данном случае оказалось достаточно.

Усложним задачу: Дополним условия базы данных “Рыболовный туризм”.

Нам известно, что проводник может обслуживать несколько озер. Добавим к этому, что он может предпочитать ловить разную рыбу в разных озерах.

Предположим что:

П1

обслуживает

О1 и О2

П2

обслуживает

О2

П1

предпочитает

Р1 в О1

П1

предпочитает

Р2 в О2

П2

предпочитает

Р2 в О2

Попробуем решить данную проблему используя только бинарные связи. По представленным данным составим диаграмму ER-экземпляра, изображенную на рис. 7.47. Где простой линией обозначена связь “обслуживает”, волнистой – “водится”, а пунктиром “предпочитает”.

Рис. 7.47 Диаграмма ER-экземпляра усложненного “Рыболовного туризма”

Правило 6 (в)

Правило 6 (а)

Правило 6 (б)

Рис. 7.48 Диаграмма ER-типа усложненного “Рыболовного туризма”

По диаграмме ER-типа из рисунка 7.48 определяем отношения:

а) Связь бинарная, степень связи N:M следовательно применяем правило номер 6

Проводник (Пфам,…)

Озеро (озеро,…)

Обслуживает (Пфам, озеро)

б) Связь бинарная, степень связи N:M следовательно применяем правило номер 6

Водится (озеро,…,вид)

Озеро (озеро,…)

Рыба (вид,…)

в) Связь бинарная, степень связи N:M следовательно применяем правило номер 6

Проводник (Пфам,…)

Рыба (вид,…)

Предпочитает (Пфам, вид,…)

Проанализируем и реорганизуем полученные отношения:

  1. В данных отношениях есть повторяющиеся, вычеркиваем их (это Озеро,Рыба).

  2. Переписываем оставшиеся отношения дополняем их неключевыми атрибутами

  3. Определяем ключи отношений.

Озеро (Озеро, Оценка)

Рыба (Вид, Вес, Наживка)

Проводник (Фам, Озеро, Тном, Плата, Группа)

Водится (Озеро, Вид)

Предпочитает (Фам, вид)

Все эти отношения находятся в НФБК, но отношение Предпочитает (Фам, вид) – некорректное так как из него можно сделать неверные выводы о предметной области.

Из полученных отношений можно заключить, что П1 обслуживает О1, в О1 водится Р2, П1 предпочитает ловить Р2. Из чего можно было бы сделать вывод, что П1 предпочитает ловить в О1 Р2, а это неверно. Следовательно, в данном случае только бинарными связями обойтись нельзя. Причина неудачи образования этой связи только с помощью бинарных связей заключается в следующем, что Пi проводник предпочитает ловить рыбу Рi в озере Оi т.е. здесь объединяются три сущности и такое высказывание нельзя заменить комбинациями из двух сущностей (т.е. заменить на бинарные связи).

Правильная модель должна использовать трехсторонний или трехмерный вид связи.

Рис. 7.49 Трехсторонний вид связи.

Рис. 7.50 Диаграмма ER-экземпляра связи “Предпочитает”

Построим диаграмму-ER типа для трехсторонней связи “Предпочитает”:

Рис. 7.51 Диаграмма ER-типа трехcторонней связи “Предпочитает”

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]