Entity Data Model
Das Entity Data Model (EDM) ist eine Reihe von Konzepten, die die Datenstruktur unabhängig von der gespeicherten Form beschreiben. Das EDM ist aus dem 1976 von Peter Chen beschriebenen Entitätsbeziehungsmodell ausgeliehen, baut aber auch auf dem Entitätsbeziehungsmodell auf und erweitert seine herkömmliche Verwendung.
Das EDM löst die Herausforderungen, die sich aus dem Speichern von Daten in vielen Formen ergeben. Denken Sie z. B. an ein Unternehmen, das Daten in relationalen Datenbanken, Textdateien, XML-Dateien, Arbeitsblättern und Berichten speichert. Dies stellt bedeutende Herausforderungen an Datenmodellierung, Anwendungsentwurf und Datenzugriff dar. Beim Entwerfen einer datenorientierten Anwendung besteht die Herausforderung darin, effizienten und verwaltbaren Code zu schreiben, ohne auf effizienten Datenzugriff, Speicherung und Skalierbarkeit zu verzichten. Wenn Daten eine relationale Struktur haben, sind Datenzugriff, Speicherung und Skalierbarkeit sehr effizient, allerdings wird das Schreiben von effizientem und verwaltbarem Code schwieriger. Wenn Daten über eine Objektstruktur verfügen, kehren sich Vor- und Nachteile um: Das Schreiben von effizientem und verwaltbarem Code erfolgt zu Lasten von effizientem Datenzugriff, Speicherung und Skalierbarkeit. Selbst wenn die richtige Balance zwischen diesen Kompromissen gefunden wird, entstehen neue Herausforderungen, wenn Daten zwischen Formen verschoben werden. Das Entity Data Model löst diese Herausforderungen, indem die Datenstruktur in Bezug auf Entitäten und Beziehungen beschrieben wird, die unabhängig von einem Speicherschema sind. Dadurch wird die gespeicherte Datenform unabhängig von Anwendungsentwurf und Entwicklung. Und da Entitäten und Beziehungen die Datenstruktur beschreiben, wie sie in einer Anwendung (nicht der gespeicherten Form) verwendet wird, können sie mit der Anwendung weiterentwickelt werden.
Ein conceptual model
ist eine bestimmte Darstellung der Datenstruktur als Entitäten und Beziehungen und wird im Allgemeinen in einer domänenspezifischen Sprache (DSL) definiert, die die Konzepte des EDM implementiert. Die konzeptionelle Schemadefinitionssprache (CSDL) ist ein Beispiel für eine derartige domänenspezifische Sprache. In einem konzeptionellen Modell beschriebene Entitäten und Beziehungen können als Abstraktionen von Objekten und Zuordnungen in einer Anwendung betrachtet werden. Dadurch können sich Entwickler ohne Beachtung des Speicherschemas auf das konzeptionelle Modell konzentrieren und Code mit dem Schwerpunkt auf Effizienz und Verwaltbarkeit schreiben. In der Zwischenzeit können sich Speicherschema-Designer auf die Effizienz von Datenzugriff, Speicherung und Skalierbarkeit konzentrieren.
In diesem Abschnitt
In den Themen dieses Abschnitts werden die Konzepte des Entity Data Model erläutert. Jede DSL, die das EDM implementiert, sollte die hier beschriebenen Konzepte enthalten. Beachten Sie, dass das ADO.NET Entity Framework CSDL zum Definieren konzeptioneller Modelle verwendet. Weitere Informationen finden Sie unter CSDL Specification.
Schlüsselkonzepte im Entity Data Model
Entity Data Model: primitive Datentypen
Multiplizität des Zuordnungsendes
Im Modell deklarierte Funktion
Einschränkung der referenziellen Integrität