Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4,14,24,34,44,54.docx
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
30.05 Кб
Скачать

4. Элементы модели «сущность-связь» (er-модель) Диаграммы сущностей и связей.

Множественность бинарных связей Многосторонние связи. Связи и роли Связи и атрибуты. Подклассы в ER-модели.

Наиболее распространенным средством абстрактного представления структур баз данных является ER-модель, или модель "сущность—связь" (entity-relationship model). В ER-модели структура данных отображается графически, в виде диаграммы сущностей и связей (entity-relationship diagram), состоящей из элементов трех основных типов: множества сущностей, атрибутов и связей.

Диаграммы сущностей и связей

Диаграмма сущностей и связей (entity—relationship diagram), или ER-диаграмма (ER-diagram), — это графическое представление множеств сущностей, их атри­бутов и связей. Элементы названных видов описываются вершинами графа, и для задания принадлежности элемента к определенному виду используется специаль­ная геометрическая фигура:

прямоугольник — для множеств сущностей;

овал — для атрибутов;

ромб — для связей.

Ребра графа соединяют множества сущностей с атрибутами и служат для представле­ния связей между множествами сущностей.

Множественность бинарных связей

Бинарная связь (binary relationship) в общем случае способна соединять любой член одного множества сущностей с любым членом другого множества сущностей. Однако весьма распространены ситуации, в которых свойство "множественности" связи неко­торым образом ограничивается. Предположим, что R — связь, соединяющая множест­ва сущностей Е и F. Тогда возможно выполнение одного из нескольких условий, пе­речисленных ниже.

Если каждый член множества Е посредством связи R может быть соединен не более чем с одним членом F, принято говорить, что R представляет связь типа "многие к одному" (many-one relationship), направленную от Е к F. В этом случае каждая сущность множества /"допускает соединение с многими членами Е. Ес­ли же член F посредством связи R может быть соединен не более чем с одним членом Е, мы говорим, что R — это связь "многие к одному", направленная от F к Е (или, что то же самое, связь типа "один ко многим " (one-many relationship), направленная от £ к F).

Если связь R в обоих направлениях, от Е к F и от Е к Е, относится к типу "мно­гие к одному", говорят, что R — это связь типа "один к одному" (one-one relationship). В этом случае каждый элемент одного множества сущностей допус­кает соединение не более чем с одним элементом другого множества сущностей.

Если связь R ни в одном из направлений — ни от Е к F и ни от F к Е — не от­носится к типу "многие к одному", имеет место связь типа "многие ко многим" (many-many relationship).

Многосторонние связи

ER-модели вполне по силам отображать связи, охватывающие более двух множеств сущностей. В реальных ситуациях тернарные связи (ternary relationships), соединяющие три множества, или связи, представляющие взаимоотношения еще большего числа множеств сущностей, сравнительно редки, но иногда они все-таки находят примене­ние, помогая воссоздать в модели истинное положение вещей. Многосторонние связи (multiway relationships) отображаются на ER-диаграмме линиями, соединяющими ромб связи с каждым из соответствующих прямоугольников множеств сущностей.

Связи и роли

Вполне вероятна ситуация, когда одно и то же множество сущностей упоминается в контексте единственной связи многократно. Если дело обстоит именно так, в ER- диаграмме задается столько линий, соединяющих связь с множеством сущностей, сколько требуется. Каждая линия, направленная к множеству сущностей, представля­ет отдельную роль (role), в которой множество выступает в конкретном случае. Линии, соединяющие связь и множество сущностей, принято обозначать текстовыми метка­ми, описывающими определенные роли.

Связи и атрибуты

Подчас бывает удобно или даже, как кажется настоятельно необходимо ассоциировать атрибут со связью, а не с некоторым множеством сущностей, охватываемых этой связью.

Впрочем, злоупотреблять возможностью размещения атрибутов на связях не следу­ет. В ка-честве альтернативы можно предложить следующее: ввести в диаграмму новое множество сущностей с тем же атрибутом, соединить это множество со связью и уда­лить атрибут связи. Но иногда мы все-таки будем использовать атрибуты, ассоцииро­ванные со связями напрямую, если такое решение в конкретной ситуации окажется более целесообразным и наглядным.

Подклассы в ER-модели

Нередки ситуации, когда множество сущностей содержит определенные сущности, которые обладают специальными свойствами, не присущими остальным членам мно­жества. В подобных случаях подчас оказывается полезным создавать специальные множества сущностей — или подклассы (subclasses) — каждое из которых обладает соб­ственными набором атрибутов и/или связями. Для соединения "полного" множества сущностей — базового класса (superclass) — с его подклассами используются связи, на­зываемые isa (от "is а" — есть) (например, утверждение есть В" выражает наличие связи isa, направленной от множества сущностей А к множеству сущностей В).

Связь isa имеет особый смысл, и чтобы отличить ее от других, мы применяем специальное обозначение: каждая связь isa на ER-диаграмме представляется тре­угольником. Одна из сторон треугольника соединяется с подклассом, а противопо­ложная вершина — с базовым классом. Каждая связь isa относится к типу "один к одному", но, в отличие от других связей типа "один к одному", стрелки на ее ли­ниях не проставляются.

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