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

ER-модель способна отражать связи, охватывающие более двух множеств сущностей. В реальных ситуациях тернарные связи (ternary relationship) соединяющие три множества, или связи, представляющие взаимоотношение еще большего количества сущностей, довольно редки, но иногда они все-таки находят применение, помогая воссоздать настоящее положение вещей.

Пример (Рисунок 5 Тернарная связь)

Связь отражает факт заключения контракта между киностудией и актером, обязующимся принять участие в съемках конкретного фильма.

Рисунок 5 Тернарная связь

Такую связь можно представить в виде множества кортежей, компонентами которых являются сущности из множеств, соединяемых этой связью. Таким образом, связь «контракт» может быть описана набором кортежей вида:

(«Студия», «Актер», «Фильм»)

Связи и роли

Вполне вероятна ситуация, когда одно и то же множество сущностей упоминается в контексте единственной связи многократно. Если это так, то в ER диаграмме рисуется столько линий, сколько требуется. Каждая линия, направленная к множеству сущностей, представляет отдельную роль, в которой сущность выступает в конкретном случае. Линии сопровождают текстовыми метками, описывающими роли.

Пример (Рисунок 6 Связь и ее роли)

Связь подразумевает, что исходный фильм может иметь несколько продолжений, но продолжение может иметь только один исходный фильм.

Рисунок 6 Связь и ее роли