Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.
Таблица 6.1 – Элементы нотации Чена для изображения ER-диаграмм
Изображение | Комментарий |
Так на диаграмме изображается сильная (стержневая) сущность | |
Так на диаграмме изображается сущность, отличная от сильной сущности, без уточнения ее типа (ассоциация, характеристика, обозначение). | |
Атрибут сущности. Вместо имени атрибута можно указать многоточие «…», что будет обозначать группу атрибутов. | |
Атрибут сущности, являющийся первичным ключом | |
Обозначает связь между двумя сущностями | |
Ассоциативная сущность (связь «многие ко многим») | |
Обозначение сущности вида «характеристика» | |
Показывает сущность вида «обозначение» | |
Прямая линия указывает на связь между сущностями, либо соединяет сущность и атрибут. Линия со стрелкой указывает направленную связь. |
Первичный ключ - атрибут или группа атрибутов, однозначно идентифицирующих сущность (объект). Первичный ключ может состоять из нескольких атрибутов, тогда подчеркивается каждый из них.
|
|
Сущность и ее атрибуты соединяются ненаправленными дугами (рисунок 6.3).
Рис. 6.3 - Связь сущности и атрибутов, включая первичный ключ
Связи между сущностями могут быть 3-х типов:
Один - к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот. Например: сотрудник может руководить только одним отделом, и у каждого отдела есть только один руководитель.
Один - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида. Например: в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе.
Многие - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот. Например: каждый счет может включать множество товаров, и каждый товар может входить в разные счета.
Ромб связи и прямоугольник сущности соединяются ненаправленными дугами в сторону "ко многим" и направленными в сторону "к одному" (рисунок 6.4).
Рис. 6.4 – Связь сущностей «один-ко-многим»
Связь может соединять сущность саму с собой, например (рисунок 6.5):
|
|
Рис. 6.5 – Связь сущностей самих с собой (рекурсивная)
Если связь соединяет две сущности, она называется бинарной. Связь может соединять более двух сущностей, например, связь, соединяющая три сущности, называется тернарной (рис. 6.6). Обратите внимание, что здесь «Заказ» – не сущность, а связь, как равноправный с сущностями элемент модели. Далее на уровне логических и, тем более, физических моделей реляционных БД «Заказ» превратится в реляционную таблицу.
Рис. 6.6 – Тернарная связь сущностей
На схеме слабые сущности обозначаются двойными линиями (рисунок 6.7).
Рис. 6.7 – Слабая сущность «Сотрудник» связана связью
«Работает» с сильной сущностью «Отдел»
Иногда для более удобной классификации используются так называемые подтипы (подкатегории или дочерние категории) сущностей. Их обозначают с помощью треугольника с надписью "есть" (т.е. "является"). Пусть, например, среди контрагентов могут быть как физические, так и юридические лица. Поскольку они имеют разные атрибуты, то удобно создать для них подтипы (рисунок 6.8)
Рис. 6.8 – Связи супертип-подтип между сущностями «Контрагент» и «Физ. лицо», «Юр. лицо»
Сущность "Контрагент" является надтипом (родительской категорией) для своих подтипов.