Идентифицирующая и неидентифицирующая связи
Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Дочерняя сущность при идентифицирующей связи всегда является зависимой.
Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Дочерняя сущность при неидентифицирующей связи обычно является относительно независимой от родительской.
Идентифицирующая связь изображается сплошной линией; неидентифицирующая – пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности.
Таким образом, связи определяют, является ли сущность независимой или зависимой.
Связи типа «один-ко-одному», «один-ко-многим», «многие ко-многим»
Связи между сущностями могут быть типа
· один-ко-одному;
· один-ко-многим;
· многие ко-многим.
Связь один-ко-одному означает, что один экземпляр первой сущности связан с одним экземпляром второй сущности и, наоборот, один экземпляр второй сущности связан с одним экземпляром первой сущности. Обычно такая связь возникает, когда одна сущность искусственно делится на две сущности.
Связь один-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности и один экземпляр второй сущности связан с одним экземпляром первой сущности. Причем первая сущность называется главной, а вторая – подчиненной.
Связь многие-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности и, наоборот, один экземпляр второй сущности связан с несколькими с несколькими экземплярами второй сущности. Связь многие ко многим обычно используются на начальной стадии разработки диаграммы и отображаются в IDEF1X в виде сплошной линии с точками на обоих концах.
Так как отношения многие ко многим могут скрыть другие бизнес правила или ограничения, они должны быть полностью исследованы на одном из этапов моделирования. Например, иногда отношение многие ко многим на ранних стадиях моделирования идентифицируется неправильно, на самом деле представляя два или несколько случаев отношений один-ко-многим между связанными сущностями. Или, в случае необходимости хранения дополнительных сведений о связи многие-ко-многим, например, даты или комментария, такая связь должна быть заменена дополнительной сущностью, содержащей эти сведения. При моделировании необходимо быть увереным в том, что все отношения многие ко многим будут подробно обсуждены на более поздних стадиях моделирования для обеспечения правильного моделирования отношений.