Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
POSOBIE_MORUGIN_AGPU_ch_2-osn.doc
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
3.03 Mб
Скачать

6.2.2.8. Связь

В ER-модели для представления схемы базы данных используются два равноправных понятия — сущность и связь.

Связь — это графически изображаемая ассоциация, устанавливаемая между двумя типами сущностей. Как и сущность, связь — это типовое понятие, все экземпляры обоих связываемых типов сущностей подчиняются устанавливаемым правилам связывания. Поэтому правильнее говорить о типе связи, устанавливаемой между типами сущности, и об экземплярах типа связи, устанавливаемых между экземплярами типа сущности. (Тем не менее, как и в случае типа сущности, мы будем часто использовать термин связь в значении типа связи) В рассматриваемом варианте ER-модели эта ассоциация всегда является бинарной и может существовать между двумя разными типами сущностей или между типом сущности и им же самим (рекурсивная связь). В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указываются имя конца связи, степень конца связи (сколько экземпляров данного типа сущности должно присутствовать в каждом экземпляре данного типа связи), обязательность связи (т.е. любой ли экземпляр данного типа сущности должен участвовать в некотором экземпляре данного типа связи).

В некоторых вариантах ER-модели конец связи называют ролью связи в данной сущности. Тогда можно говорить об имени роли, степени роли и обязательности роли связи в данной сущности.

Связь представляется в виде направленной или ненаправленной линии, соединяющей две сущности или ведущей от сущности к ней же самой.

Обязательный конец связи изображается сплошной линией, а необязательный — прерывистой линией.

Отметим, что связи в ER-модели играют роль, отличную от той, какую играют отношения в реляционной модели данных. В реляционной модели отношение (relation) — это единственная родовая структура данных. С помощью этого же механизма представляются «связанные» сущности (вспомните, например, про внешние ключи).

6.2.3. Нотация Чена для изображения er-диаграмм

Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.

Таблица 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 – Связи супертип-подтип между сущностями «Контрагент» и «Физ. лицо», «Юр. лицо»

Сущность "Контрагент" является надтипом (родительской категорией) для своих подтипов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]