Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
uch_pos.docx
Скачиваний:
213
Добавлен:
20.03.2016
Размер:
423.96 Кб
Скачать

4.2.2. Множественность e/r-связей

Для выражения множественности связей в E/R-диаграммах можно применять стрелки. Если между множествами Е и F есть связь типа "многие-к-одному", используется стрелка, указывающая на F. Она означает, что каждая сущность из множества Е связана только с одной сущностью из множества F. Однако сущность из F может быть связана с многими сущностями в Е.

Связь типа "один-к-одному" между множествами Е и F выражается стрелками, указывающими и на Е, и на F. Например, на рис. 48 показаны два множества Цех и Начальник, а также связь между ними Возглавляет (атрибуты не показаны). Предполагается, что начальник может возглавлять только один цех, а у начальника может быть только один цех, что и выражено стрелками, указывающими на оба множества.

Зачастую E/R-связи удобно изображать таблицей, каждая строка которой представляет пару сущностей, вовлеченных в данную связь. Например, связь мастером можно представить так:

Изделия

Мастера

Вечернее платье

Иванова

Мужской костюм

Павлов

Дубленка

Семенова

Конкретного способа, которым должны реализовываться связи, не существует ни в E/R-моделях, ни в ODL.

Такая таблица иногда называется множеством отношений для конкретной связи. Элементы этого множества – строки таблицы. Их можно представить в виде кортежей с компонентами для каждого множества сущностей. Например, кортежем во множестве отношений для связи мастером, является пара

(Вечернее платье, Иванова)

Многосторонние связи

В E/R-моделях, в отличие от ODL, удобно определять связи между несколькими множествами. Однако на практике тернарные (трехсторонние) связи или связи еще более высокого порядка встречаются довольно редко. Многосторонние связи в E/R-моделях изображаются линиями, соединяющими ромб (связь) с каждым из участвующих в данной связи множеств.

Пример 4.14. На рис. 49 изображена связь Договоры между цехом и мастером на изготовление изделия. Она означает, что цех заключает с мастером контракт на изготовление изделия. В общем случае значением E/R-связи можно считать множество кортежей, компонентами которых являются сущности, вовлеченные в данную связь. Например, связь Договоры можно описать трехмерными кортежами вида:

(цех, мастер, изделие).

В многосторонних связях стрелка, указывающая на множество Е, означает, что из всех других вовлеченных в эту связь множеств выбирается по одной сущности, связанной с единственной сущностью в Е. (Заметим, что такое определение – это обобщение понятия множественности, применявшегося для двухсторонних связей.) На рис. 49 стрелка, указывающая на множество Цеха, означает, что каждый мастер может иметь договор на изготовление конкретного изделия только с одним цехом. Однако здесь нет стрелок, указывающих на Мастера или Изделия. Цех может заключать договор на участие в работе над изделием со многими мастерами, а мастер может заключить контракт с цехом на работу над несколькими изделиями.

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

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