Поделиться через


Связи в модели EDM

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

В отличие от этого в модели Entity Data Model (модель EDM) обеспечивается явная поддержка связей в модели данных, благодаря чему возможности моделирования становятся более гибкими. Поддержка связей распространяется и на запросы к модели EDM, благодаря чему появляется возможность применять явные ссылки и средства навигации на основе связей.

В модели EDM поддерживается модель одноранговой связи, называемая ассоциацией. Подробные сведения см. в разделе Элемент Association (модель EDM).

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

В модели EDM ассоциации между сущностями задаются в тех схемах, в которых определены сущности и ассоциации.

Характеристики связей

Для описания связей служат понятия степени, кратности и направления. В сценариях моделирования данных связи имеют степень (одноместная, двухместная, трехместная или n-местная) и кратность («один к одному», «один ко многим» или «многие ко многим»). В некоторых ассоциациях может оказаться значимым и направление, если, например, ассоциация установлена между сущностями одного и того же типа.

Характеристики связей показаны на следующих схемах.

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

Степень связи на каждой схеме представлена количеством прямоугольников. Связи представлены ромбовидными фигурами. Линии между ромбами и прямоугольниками представляют кратность связей. Одинарной линией обозначается связь «один к одному». Линия, которая разветвляется на три отрезка в том месте, где происходит соединение с типом, представляет такие связи со многими участниками, как связи «один ко многим» или «многие ко многим».

Степень

Степень связи представляет собой количество типов, между которыми существует связь. Наиболее широко применяемой степенью связи является двухместная, связывающая два типа. В одноместной связи один экземпляр определенного типа связан с другим экземпляром того же типа, как в случае связи «руководитель» между одним сотрудником и другим сотрудником. Трехместная связь связывает три типа, а n-местная — произвольное количество типов (n). Трехместные и n-местные связи главным образом представляют интерес лишь с точки зрения теории. Модель EDM поддерживает одноместные и двухместные связи.

Кратность

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

Например, двухместная связь существует между книгой и ее автором, поскольку каждая книга имеет по крайней мере одного автора. Связь определяется между классом Book и классом Author, но кратность этой связи не обязательно такова, что одна книга принадлежит одному автору. Кратность связи указывает, какое количество авторов имеет книга и какое количество книг написал каждый автор. Степень связи в этом примере является двухместной. А кратность связи определяется как «многие ко многим».

Направление

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

Если обе сущности, представляющие собой элементы ассоциации, относятся к одному и тому же типу, то для указания направленности может использоваться атрибут роли свойства End ассоциации модели EDM. Ассоциация между сотрудником и руководителем сотрудника является семантически отличной от двух элементов этой ассоциации. Обоими элементами ассоциации являются сотрудники, но они имеют разные атрибуты Role. Пример реализации рассматриваемого варианта с использованием ссылочного ограничения см. в разделе Элемент Association (язык SSDL).

В следующих разделах приведены подробные сведения о связях.

В этом разделе

См. также

Основные понятия

Типы модели EDM
Реализация сущностей (модель EDM)
Реализация ассоциаций (модель EDM)