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


Сущности и связи (модель EDM)

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

Тип данных Customer, например, предназначен для хранения таких сведений, как имя контактного лица, имя компании, адрес и уникальный идентификатор каждого клиента. Тип Order может содержать дату заказа, строки заказов, срок выполнения заказа, уникальный идентификатор и другие данные. Как и большинство других моделей, модель EDM представляет такое логическое соединение между заказом и клиентом, сделавшим заказ, как связь.

На следующей схеме приводятся некоторые сведения о структуре данных и выполняется их моделирование с использованием понятий сущностей и связей, заданных моделью EDM. На схеме сущности представлены прямоугольниками, а связи — линиями, соединяющими их. Текст в прямоугольниках представляет свойства сущностей.

Диаграмма классов Customer, Order, OrderLines

Только понятия верхнего уровня называются сущностями в модели EDM. На схеме понятием верхнего уровня является Customer — оно моделируется как сущность. В модели EDM сущность Customer является производной от основного элемента EntityType.

Подчиненные элементы данных называются свойствами сущностей. Сущность Customer имеет несколько свойств: CustomerID, CompanyName, ContactName, Address и Phone. Каждое из этих свойств имеет тип данных. Например, свойство CustomerID представляет собой строку, как и свойства CompanyName и ContactName.

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

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

Связи между сущностями моделируются с помощью ассоциаций. Ассоциация — это связь между сущностями, например связь между сущностями Customer и Order. Каждая сущность Order должна иметь соответствующую сущность Customer. Сущности Order и Customer логически связаны, но существуют как независимые сущности. Дополнительные сведения о связи ассоциации см. в разделе Элемент Association (модель EDM).

Связи, в которых одна сущность логически управляет другой, как, например, в случае с сущностью Order и ее элементами OrderLine, также представляются связью ассоциации. Каждая сущность Order состоит по крайней мере из одного элемента OrderLine. Например, если Customer заказывает продукт № 49, сведения о заказанном продукте состоят из элемента OrderLine. Элементы OrderLine не могут существовать без сущности Order.

См. также

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

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

Другие ресурсы

Спецификация схем и сопоставлений (платформа Entity Framework)