Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.
Таблица 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 – Связи супертип-подтип между сущностями «Контрагент» и «Физ. лицо», «Юр. лицо»
Сущность " Контрагент" является надтипом (родительской категорией) для своих подтипов.