Freigeben über


Entitäten und Beziehungen (EDM)

Das Entitätsdatenmodell (EDM) ist ein Entitätsbeziehungsmodell. In frühen Phasen des Anwendungsentwurfs einer typischen Geschäftsbereichsanwendung ist die Datenstruktur abstrakt. Der Entwurf muss die logische Struktur einer Anwendung angeben, in der die unterschiedlichen Arten von Daten enthalten sein sollen. Von den oft sehr komplexen Datenstrukturen können beispielsweise Aufträge, Kunden, Auftragspositionen, Adressen, Lieferanten, Produkte oder Mitarbeiter dargestellt werden. Nachdem die grundlegenden Konzepte identifiziert wurden, können alle Details der Datenstruktur durch Entitäten formal festgelegt werden.

Der Customer-Datentyp ist beispielsweise für Informationen wie den Kontaktnamen, den Firmennamen, die Adresse und einen eindeutigen Bezeichner für jeden Kunden vorgesehen. Der Typ Order kann z. B. das Auftragsdatum, Auftragspositionen, das Fälligkeitsdatum, einen eindeutigen Bezeichner und weitere Daten enthalten. Wie die meisten anderen Datenmodelle stellt das EDM eine logische Verbindung zwischen einem Auftrag und dem Kunden, der den Auftrag erteilt, als Beziehung dar.

Im folgenden Diagramm sind einige Details der Datenstruktur veranschaulicht und unter Verwendung der vom EDM angegebenen Entitätskonzepte und Beziehungen modelliert. Entitäten sind im Diagramm als Rechtecke und Beziehungen als Linien zwischen den Rechtecken dargestellt. Der Text in den Rechtecken stellt die Eigenschaften der Entitäten dar.

Diagramm für Customer, Order, OrderLines

Im EDM werden nur Konzepte auf der obersten Ebene als Entitäten bezeichnet. Ein Customer ist im Diagramm ein Konzept auf der obersten Ebene und wird als Entität modelliert. Die Customer-Entität wird im EDM vom einfachsten EntityType abgeleitet.

Untergeordnete Datenelemente werden als Eigenschaften von Entitäten bezeichnet. Die Customer-Entität verfügt über mehrere Eigenschaften: CustomerID, CompanyName, ContactName, Address und Phone. Jede dieser Eigenschaften hat einen bestimmten Datentyp. CustomerID, CompanyName und ContactName sind beispielsweise Zeichenfolgen.

Die Address-Eigenschaft im Diagramm unterscheidet sich von den anderen Eigenschaften, da sie über eine interne Struktur verfügt, die mehrere Arten von Informationen enthält. Im EDM kann eine geschachtelte Datenstruktur wie diese Adresse als Entität modelliert werden und anschließend eine Beziehungs- und Navigationseigenschaft verwenden, um eine Verbindung mit der Entität herzustellen, in der sie als Eigenschaft fungiert.

Die Datentypen Customer und Address sind vergleichbar, da sie beide über interne Strukturen verfügen, die aus mehreren Eigenschaften zusammengesetzt sind. Ein Customer unterscheidet sich von einer Address sowohl in der Semantik als auch in der Verwendung. Bei einem Customer handelt es sich wahrscheinlich um eine dauerhafte Einheit für Abfrage- oder Datenänderungsvorgänge. Eine Address ist andererseits immer in einem Customer-Datentyp vorhanden und wird normalerweise nicht unabhängig verwendet.

Die Beziehungen zwischen den Entitäten werden mithilfe von Zuordnungen modelliert. Eine Zuordnung ist die Beziehung zwischen Entitäten, wie beispielsweise die Beziehung zwischen einer Customer-Entität und einer Order-Entität. Jede Order-Entität muss über eine entsprechende Customer-Entität verfügen. Order und Customer sind logisch verknüpft, es handelt sich jedoch um getrennte Entitäten. Weitere Informationen über die Zuordnungsbeziehung finden Sie unter Zuordnung (EDM).

Eine Beziehung, in der Entitäten von anderen Entitäten logisch gesteuert werden, wie z. B. OrderLine-Elemente von ihrer Order-Entität, wird auch durch die Zuordnungsbeziehung dargestellt. Jede Order-Entität ist aus mindestens einer OrderLine zusammengesetzt. Wenn ein Customer beispielsweise Produkt Nr. 49 bestellt, bestehen die Informationen über den bestellten Artikel aus einer OrderLine. Die OrderLine-Entität muss die Order-Entität enthalten.

Siehe auch

Konzepte

Implementieren von Entitäten (EDM)
Implementieren von Zuordnungen (EDM)

Weitere Ressourcen

Schemas und Mappingspezifikation (Entity Framework)