В ERWin можно задавать идентифицирующие и неидентифицирующие связи.
Идентифицирующей связью называется связь, которая добавляет признаки идентичности в дочернюю сущность путем миграции ключей родительской сущности в область ключевых атрибутов дочерней и, таким образом, делая дочернюю сущность зависимой от родительской в смысле своей идентичности. Можно задать также и такую связь, которая не ставит дочернюю сущность в зависимость от родительской. Этот тип связи называется неидентифицирующей связью. В ERwin такая связь обозначается пунктирной линией с жирной точкой на конце, соответствующем дочерней связи.
При неидентифицирующей связи атрибуты первичного ключа родительской сущности мигрируют в область данных (неключевая область), которая расположена под чертой в дочерней сущности.
Варианты реализации связей в логической модели показаны на рисунке 6.12-6.14. При задании связи ключ из главной (в примере из стержневой) таблицы мигрирует в зависимую (характеристическую) таблицу.
|
|
Рис. 6.12 – Идентифицирующая связь типа один-ко-многим между сущностями «Отдел» и «Сотрудник», ключи мигрируют
в состав ключевых полей
Рис. 6.13 – Неидентифицирующая связь типа один-ко-многим между
сущностями «Отдел» и «Сотрудник», ключи мигрируют в
состав описательных полей. Внешний ключ может
содержать значение NULL (связь необязательная)
Рис. 6.14 – Неидентифицирующая связь типа один-ко-многим между
сущностями «Отдел» и «Сотрудник», ключи мигрируют в
состав описательных полей. Внешний ключ имеет значение
NOT NULL (связь обязательная)