Базы данных

Пример нотации er-модели – метод idef1x

Image

Рис. 28. Зависимая и независимая сущности

Каждая сущность может обладать любым количеством связей с другими сущностями модели. Одна из участвующих в связи сущностей называется родительской сущностью, другая – дочерней или сущностью-потомком.

Связиименуются глаголами или глагольными фразами, которые выражают некоторые бизнес-правила и облегчают чтение диаграмм. Связь сотрудника с заказом может быть определена следующим образом (рис. 29):

·Сотрудник выполняет один или более Заказов;

· Заказ должен выполняться ровно одним Сотрудником.

Image

Рис. 29. Связи на диаграмме

На логическом уровне можно установить:

1)      идентифицирующую связь один-ко-многим (обозначается ѕ·);

2)      неидентифицирующую связь один-ко-многим (обозначается ----·);

3)      связь многие-ко-многим (обозначается ·ѕ·).

При установлении идентифицирующей связи дочерняя сущность автоматически превращается в зависимую. Атрибуты первичного ключа родительской сущности автоматически мигрируют в зону атрибутов первичного ключа дочерней сущности как внешние ключи (Foreign Key) (рис. 30).

Image

Рис. 30. Идентифицирующая связь

При установлении неидентифицирующей связи дочерняя сущность не превращается в зависимую, а ключевые атрибуты родительской сущности мигрируют в область неключевых атрибутов дочерней сущности (рис. 31).

Image

Рис. 31. Неидентифицирующая связь

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

предыдущаяследующая