2016-07-14 4 views
1

Предположим, что существуют две организации, называемые Employee and Campaign. Один сотрудник может работать во многих кампаниях. И одна кампания может иметь много сотрудников. Я уже знаю, что это много-много отношений.Когда использовать ассоциативные объекты?

И при построении диаграммы ER (в обозначениях Чена) связь символизируется формой бриллианта. Но есть отдельный символ для ассоциативных объектов, который символизирует много-много отношений между двумя сущностями.

1) Должен ли я использовать форму бриллианта или форму ассоциативной сущности (алмаз внутри квадрата) при рисовании многих или многих связей на диаграмме в обозначениях Чэна?
2) Они оба означают одно и то же или разные вещи?
3) Если это две отдельные вещи, как я могу определить, когда их использовать?

ответ

4

Ассоциативные объекты используются, когда вам нужно отношение, чтобы быть вовлеченным в отношения.

Например:

Enrollment relationship ERD

Для нормального многие-ко-многим между Student и Course, мы будем использовать только алмаз. Однако, если мы хотим связать Enrollment с Teacher, мы можем включить Enrollment в ассоциативную сущность.

Enrollment associative entity ERD

Phyiscally, наша база данных выглядит следующим образом:

Enrollment associative entity tables

Создание Enrollment тройных отношения, в которых Teacher является необязательной роль будет иметь много то же значение (за исключением было бы денормализованный, имеющий нулевую роль).

+0

Вы всегда отвечаете на мои вопросы. Спасибо, что нашли время, чтобы дать ясный и подробный ответ :) – Ivantha

+0

@reeanb Имеет ли очень мало ассоциативных объектов в диаграмме ER означает, что приложение не будет богатым функциональностью? –

+1

@JasonKrs Нет, модель данных определяет только то, что может знать приложение, а не то, что она может сделать. – reaanb

Смежные вопросы