Entity-Relationship-Diagramm

Ein Entity-Relationship-Diagramm ist ein Strukturdiagramm zur grafischen Darstellung (Modellierung) von Entitäten und deren Beziehungen. Sie erstellen damit ein normalisiertes redundanzfreies Modell Ihrer fachlichen Daten.

Entity-Relationship-Diagramme erstellen Sie komfortabel mit dem bewährten Modellierungstool von MID.
Innovator Enterprise Modeling Suite kostenlos testen.

Definition

Ein Entity-Relationship-Diagramm ist ein Strukturdiagramm zur grafischen Darstellung (Modellierung) von Entitäten und deren Beziehungen. Sie erstellen damit ein normalisiertes redundanzfreies Modell Ihrer fachlichen Daten.

Das Symbol zeigt ein Diagramm mit symbolischen Entitäten.

Verwendung

Das Diagramm des Entity-Relationship-Modells basiert auf dem klassischen Ansatz von Peter Pin-Shan Chen. Mit dem ER-Diagramm modellieren Sie ein Teilmodell des konzeptionellen Schemas. Dabei stellen Sie die Entitäten (Entity) als Knoten und die Beziehungen (Relationship) als Kanten dar. Die zulässigen Notationen der ER-Diagramme werden in den Anzeigeoptionen konfiguriert und im Diagramm angeboten.

Innovator bietet folgende Diagrammnotationen an:

  • Chen

    Notation nach Peter Pin-Shan Chen mit (min,max)-Kardinalitäten

  • DSA

    Notation gemäß Datenstrukturanalyse

  • James Martin

    Notation nach James Martin, Bachmann und Odell (auch "Krähenfußnotation" genannt)

  • SERM

    Notation gemäß der Strukturierten Entity-Relationship-Modellierung von Prof. Dr. Elmar J. Sinz

  • UML

    Notation gemäß der Unified Modeling Language

  • IDEF1X

    Notation gemäß IDEF1X-Standard (U.S.-Behördenstandard FIPS 184)

Der Hauptunterschied dieser Notationen ist die Darstellung der Beziehungen, deren Kardinaltiäten mit unterschiedlichen Grafiksymbolen oder formalen Texten an unterschiedlichen Positionen abgebildet werden. Die SERM-Notation ordnet die Entitäten quasihierarchisch von links nach rechts an.

Des Weiteren können Sichten als Knoten und ihre From-Klauseln als Kanten dargestellt werden.

Achtung

Die SERM-Notation ändert die Anordnung derjenigen Knoten im Diagramm, die bisher nicht SERM-konform angeordnet waren.

Lesendes Öffnen erzeugt diese SERM-Anordnung temporär, sie wird nicht gespeichert.

Elemente des Entity-Relationship-Diagramms

Knoten

Die folgenden Modellelemente können als Knoten in Entity-Relationship-Diagrammen dargestellt werden.

Tabelle: Knotentypen
Symbol Element Beschreibung
Entität Eine Entität ist die Menge gleichartiger Entitäten der zu modellierenden fachlichen Welt. Genauer wäre der Begriff Entitätsmenge, aber für eine konkrete Entität in dieser Menge ist der Begriff Instanz gebräuchlich.
Sicht Eine Sicht fasst die Attribute einer oder mehrerer Entitäten in einer Tabelle zusammen. Dabei können die Zeilen einer Sicht redundante Daten enthalten. Als Oberbegriff für Entität und Sicht wird der Begriff Attributmenge verwendet.
Kombinierte Sicht
Union-View

Eine Sicht kann durch Unter-Sichten modelliert werden, die mit UNION, UNION ALL, INTERSECT oder EXCEPT und Klammerung kombiniert werden.

Select-Statement
Sub-Select wie View

Ein Select ist als Select-Statement Teil eines Union-Views oder wird in Ausdrücken von View-Elementen als Sub-Select verwendet.

Attribut Die Attribute einer Entität beschreiben die Merkmale einer Instanz.
Primärer Schlüssel Ein Schlüssel ist eine Untermenge der Attribute seiner Entität, anhand derer eine Instanz eindeutig identifiziert werden kann. Bleiben die Werte der Schlüsselattrribute über die komplette Lebensdauer ihrer Instanz zwingend unverändert, handelt es sich um einen sogenannten Schlüsselkandidaten. Aus der Menge der Schlüsselkandidaten wird der Primärschlüssel gewählt, der sich am besten für die Implementierung einer Beziehung durch einen Fremdschlüssel eignet. Hat eine Entität der realen Welt keinen Schlüsselkandidaten, wird meist ein künstlicher Schlüssel definiert, der ein extra dafür modelliertes Zahlenattribut enthält.
Alternativer Schlüssel
Sichtattribut Die Werte von Sichtattributen werden aus den Werten der verwendeten Attribute ermittelt. Dabei können auch Berechnungsausdrücke mit Funktionen verwendet werden.
Wertprüfung Eine Wertprüfung schränkt die möglichen Werte von Attributen ein. Sie ist das Pendant zu einem SQL-Check-Constraint aus dem DB-Modell.
R-Typ Ein R-Typ ist fachlich gesehen eine Beziehung. Diese Entitäten werden benötigt, um in einem Modell, das auf eine relationale Datenbank abgebildet werden soll, die 1. Normalform zu sichern. Klassischerweise sind dies m:n-Beziehungen.
Erweiterungen für multidimensionale Modellierung:
Dimensionsentität

In einem vollständigen Modell gibt es einen orthogonalen Ring in Bezug auf den Würfel, seine Würfeldimensionen und Faktenmengen.

Dies bedeutet, dass die Dimension einer Würfeldimension eine unterste Dimensionsebene hat, die mit einer Dimensionsentität des Entity-Relationship-Modells verknüpft ist. Diese Dimensionsentität wird wiederum in einer Faktenmenge per Fremdschlüsselbeziehung referenziert. Und diese Faktenmenge wird vom Würfel über eine From-Klausel verwendet, so dass der Würfel seine Kennzahlen aus der Faktenmenge bezieht. Die Fremdattribute der Faktenmenge werden im Würfel als Dimensionsattribute angezeigt.

Faktentität
Dimensionsview
Faktenview
Erweiterungen für Data Vault:
Hubentität Eine Hubentität beschreibt ein Kernobjekt der Geschäftslogik (z.B. Produkt), das in der Regel sehr stabil ist, was zur Langlebigkeit des Datenmodells beiträgt.
Linkentität Eine Linkentität stellt die Beziehungen zwischen den Geschäftsobjekten dar, z.B. zwischen Kunde und Produkt.
Satellitenentität In der Satellitenentität werden alle Informationen gespeichert, die die Hubentität oder die Linkentität beschreiben.
Erweiterungen für NoSQL:
NoSQL Schema Dienen der Integration von unstrukturierten NoSQL-Daten.
NoSQL Group
NoSQL Attribute

Kanten

Kanten stellen in Entity-Relationship-Diagrammen die Beziehungen (Relationship) zwischen den Entitäten dar.

Tabelle: Kantentypen
Symbol Element Beschreibung
1:C

Jede Entität der ersten Entitätsmenge kann mit höchstens einer Entität der zweiten Entitätsmenge in Beziehung stehen.

Jede Entität der zweiten Entitätsmenge steht mit genau einer Entität der ersten Entitätsmenge in Beziehung.

1:M

Jede Entität der ersten Entitätsmenge kann mit mindestens einer Entität der zweiten Entitätsmenge in Beziehung stehen.

Jede Entität der zweiten Entitätsmenge steht mit genau einer Entität der ersten Entitätsmenge in Beziehung.

1:MC

Jede Entität der ersten Entitätsmenge kann mit beliebig vielen Entitäten der zweiten Entitätsmenge in Beziehung stehen.

Jede Entität der zweiten Entitätsmenge steht mit genau einer Entität der ersten Entitätsmenge in Beziehung.

C:C Jede Entität der ersten Entitätsmenge kann mit höchstens einer Entität der zweiten Entitätsmenge in Beziehung stehen, und umgekehrt.
C:MC

Jede Entität der ersten Entitätsmenge kann mit beliebig vielen Entitäten der zweiten Entitätsmenge in Beziehung stehen.

Jede Entität der zweiten Entitätsmenge kann mit höchstens einer Entität der ersten Entitätsmenge in Beziehung stehen.

M:M Jede Entität der ersten Entitätsmenge steht mit mindestens einer Entität der zweiten Entitätsmenge in Beziehung, und umgekehrt.
M:MC

Jede Entität der ersten Entitätsmenge kann mit beliebig vielen Entitäten der zweiten Entitätsmenge in Beziehung stehen.

Jede Entität der zweiten Entitätsmenge steht mit mindestens einer Entität der ersten Entitätsmenge in Beziehung.

MC:MC Jede Entität der ersten Entitätsmenge kann mit beliebig vielen Entitäten der zweiten Entitätsmenge in Beziehung stehen, und umgekehrt.
Generalisierung Die Generalisierungsbeziehung (kurz auch Generalisierung) verknüpft zwei Entitäten im Sinne von Ober- und Unterart. Hier werden oft auch die Präfixe Super und Sub für die über- bzw. untergeordnete Entität verwendet.
From-Klausel Die From-Klausel referenziert eine Entität und ist in allen Select-Anweisungen erforderlich, in denen Daten aus Tabellen oder Sichten abgerufen werden.
Sub-Select Legt eine neue Instanz des Elementtyps Sub-Select-From-Klausel an.

Beispiel für ein Entity-Relationship-Diagramm