Das Entity Relationship Model (ERM) ist eine graphische Sprache für die semantische Datenmodellierung, d.h. der Einsatzzweck des ERM liegt in der konzeptuellen Darstellung der Datensicht auf einen bestimmten Realitätsausschnitt. Die zentralen Modellierungskonstrukte sind der Entitätstyp, der Beziehungstyp und das Attribut.
ERM nach Chen
Das Entity Relationship Model (ERM) wurde in seiner Grundform 1976 von Peter Chen vorgestellt [Chen 1976]. Es handelt sich um eine graphische Sprache für die semantische Datenmodellierung, d.h. der Einsatzzweck des ERM liegt in der konzeptuellen Darstellung der Datensicht auf einen bestimmten Realitätsausschnitt. Die Modellierung erfolgt also ohne Berücksichtigung technischer Aspekte, wie sie zum Beispiel bei der Speicherung von Daten in einer Datenbank zu beachten sind.
Zur Modellierung werden folgende Modellelemente genutzt:
[Chen 1976, S. 10]
-
Entitätstyp (engl.: entity type): Ein Entitätstyp wird eingesetzt, um eine gleichartige Menge (Entitätsmenge) materieller oder immaterieller Realtweltobjekte (Entitäten) abzubilden. Dabei wird jedem Entitätstyp ein „sprechender“ Name zugeordnet. Beispiele sind „Kunde“, „Produkt“ und „Auftrag“; als graphisches Symbol wird das Rechteck verwendet.
-
Beziehungstyp (engl.: relationship type): Ein Beziehungstyp erlaubt es, eine gleichartige Menge von Zuordnungen zwischen Realtweltobjekten (Beziehungen) abzubilden: Entitätstypen werden durch einen Beziehungstyp miteinander verbunden. Als Name von Beziehungstypen werden Bezeichnungen eingesetzt, die die Zuordnung verbal darstellen. Beispiele sind „Kunde erteilt Auftrag“ und „Auftrag bezieht sich auf Produkt“. Als graphisches Symbol wird die Raute verwendet. Ein Beziehungstyp beinhaltet auch eine Angabe darüber, wie viele Entitäten des einen Entitätstyps mit einer Entität des anderen Entitätstyps in Beziehung stehen können und vice versa. Diese Angabe bezeichnet man als Komplexität bzw. Kardinalität des Beziehungstyps.
-
Attribut (engl.: attribute): Attribute werden eingesetzt, um die Eigenschaften von Realweltobjekten und Zuordnungen im Modell abzubilden. Entitätstypen müssen durch Attribute ergänzt werden, bei Beziehungstypen sind Attribute hingegen optional. Auch Attribute erhalten „sprechende“ Namen. Attribute des Entitätstyps „Produkt“ können bspw. „Produktname“ und „Lagerbestand“ sein. Die konkreten Ausprägungen von Attributen werden Attributwerte genannt, die gemeinsam betrachtet den Wertebereich des Attributs definieren (z.B. für das Attribut „Lagerbestand“ alle positiven ganzen Zahlen inkl. Null). Prinzipiell muss jeder Entitätstyp über einen Schlüssel verfügen, also über ein Attribut, das eine Identifikation der zugrunde liegenden Entitäten ermöglicht (engl.: key attribute). Sofern zur Identifikation mehrerer Attribute bzw. deren Attributwerte kombiniert werden müssen, bilden diese Attribute gemeinsam den Schlüssel. Da die natürlichen Eigenschaften der Realweltobjekte häufig keine eindeutige Unterscheidung erlauben, werden oft künstliche Schlüssel eingeführt (z.B. das Attribut „Produktnummer“). Als graphisches Symbol für ein Attribut wird eine Ellipse verwendet. Die Bezeichnungen der zum Schlüssel gehörenden Attribute werden unterstrichen.
Das graphische Ergebnis der Modellierung nach dem ERM ist ein (konzeptuelles) Datenschema. Die einander direkt zugeordneten Modellkomponenten (Symbole) werden dabei durch ungerichtete Kanten miteinander verbunden. Die Komplexitätsangabe „N“ in dem beispielhaften Datenschema in Abbildung 1 sagt aus, dass ein Kunde mehrere Aufträge erteilen kann. Die „1“ hingegen sagt aus, dass ein Auftrag von genau einem Kunden erteilt wird.
Abb. 1: Konzeptuelles Datenschema nach dem ERM-Ansatz (Beispiel)
In einigen Fällen bestehen in der Realität existentielle Abhängigkeiten zwischen Entitäten. Eine Auftragsposition gehört beispielsweise untrennbar zu einem bestimmten Auftrag. Chen hat für diesen Sonderfall den sogenannten schwachen Beziehungstyp und den schwachen Entitätstyp vorgeschlagen. In der graphischen Darstellung ist der schwache Beziehungstyp durch eine Pfeilspitze gekennzeichnet, die auf den schwachen (abhängigen) Entitätstyp deutet. Letzterer wird durch ein doppelt gerahmtes Rechteck markiert.
Häufig ist es nicht möglich, für einen schwachen Entitätstyp einen Schlüssel festzulegen. Im Beispiel trifft das bei dem Entitätstyp „Auftragsposition“ zu: Eine Auftragspositionsnummer ist nur für einen bestimmten Auftrag eindeutig; ein anderer Auftrag kann identische Positionsnummern beinhalten. Die Attributwerte zu „Positionsnr.“ sind also nur in Kombination mit den (Schlüssel-)Attributwerten zu „Auftragsnr.“ eindeutig.
Erweiterungen des ERM
Zu dem Vorschlag von Chen, der große Verbreitung erfahren hat, wurden diverse Erweiterungen vorgeschlagen, darunter die genauere Spezifikation von Komplexitäten, die Generalisierung/Spezialisierung sowie die Aggregation (vgl. Ferstl, Sinz 2006, S. 140 ff.).
Literatur
Chen, P.P.-S.: The entity-relationship model – toward a unified view of data; ACM Transactions on Database Systems 1 (1976) 1, S. 9-36.
Ferstl, O.K., Sinz. E.J.: Grundlagen der Wirtschaftsinformatik, 5. Aufl. München, Wien: Oldenbourg 2006.