Entity-Relationship-Modell

Was ist das Entitiy-Relationship-Modell?

Das Entity-Relationship-Modell (kurz ER-Modell oder ERM) wird für den Entwurf von relationalen Datenbanken im Rahmen der semantischen Datenmodellierung verwendet. Mit dem ER-Modell können die zu speichernden Objekte sowie deren Eigenschaften und Beziehungen abgebildet werden. Damit können Zusammenhänge zwischen den zu erstellenden Tabellen besser verstanden und geplant und somit möglichen Fehlern bei der Implementierung vorgebeugt werden.

Komponenten

Entitäten und Entitätstypen

Im ersten Schritt werden die zu speichernden Objekte aus der realen Welt identifiziert, die als Entitäten bezeichnet werden. Entitäten sind z. B. die Mitarbeiter Max Muster und Eva Meister. Bei der Modellierung werden dann von den individuellen realen Objekten allgemeingültige Typen, die Entitätstypen, abgeleitet. So wird aus den Entitäten „Max Muster“ und „Eva Meister“ der Entitätstyp „Mitarbeiter“ abgeleitet:

Hinweis: Die Entitätstypen entsprechen in einer relationalen Datenbank den Tabellen!

Eigenschaften und Attribute

Als nächstes werden die für die Entitäten relevante Eigenschaften, wie Vorname und Nachname, ermittelt. Aus gleichartigen Eigenschaften der individuellen Entitäten werden dann bei der Typisierung die Attribute der Entitätstypen. Für jeden Entitätstypen müssen Attribute oder Attributskombinationen definiert werden, mit denen Entitäten eindeutig identifiziert werden können. Diese Attribute werden auch Primärschlüssel genannt. So ist z. B. das Attribut „Mitarbeiter-ID“ der Primärschlüssel, über den ein Mitarbeiter eindeutig identifiziert werden kann. Im ER-Modell werden Primärschlüssel unterstrichen:

Hinweis: Die Attribute entsprechen in einer relationalen Datenbank den Spalten der Tabellen!

Beziehungen und Beziehungstypen

Mit Hilfe von Beziehungen werden Zusammenhänge zwischen Entitäten definiert. So besteht z. B. eine Beziehung zwischen den Entitäten „Max Muster“ und „Projekt XY“, wenn Max Muster in dem Projekt XY arbeitet. Aus gleichartigen Beziehungen werden dann Beziehungstypen abgeleitet, wie z. B. „Mitarbeiter arbeitet in Projekt“:

Hinweis: Beziehungen werden in einer relationalen Datenbank mit Hilfe von sog. Fremd-schlüsseln gebildet, die auf den Primärschlüssel der Entität verweisen, mit der eine Beziehung besteht!

Kardinalität von Beziehungstypen

Die Kardinalität legt bei Beziehungstypen fest, mit wie vielen Entitäten eines Entitätstyps eine Entität eines anderen Entitätstyps eine Beziehung eingehen kann.

1:1 - Beziehungen

Bei einer 1:1-Beziehung kann jede Entität des einen Entitätstyps nur zu genau einer Entität des anderen Entitätstyps eine Beziehung haben und umgekehrt. So ist z. B. der Beziehungs-typ „CEO leitet Unternehmen“ i. d. R. eine 1:1-Beziehung, da meist ein CEO (Chief Executive Officer) nur ein Unternehmen leitet und ein Unternehmen nur von einem CEO geleitet wird:

Bei der Übertragung des Datenmodells in eine Datenbank, bekommt bei 1:1-Beziehungen eine Tabelle eine zusätzliche Spalte für die Primärschlüssel der beteiligten Entitäten der anderen Tabelle. Diese Schlüssel werden dann als Fremdschlüssel bezeichnet. Außerdem können bei einer 1:1-Beziehung die beiden Entitätstypen auch zu einer Tabelle zusammengefasst werden.

1:n - Beziehungen

Bei einer 1:n-Beziehung kann jede Entität eines Entitätstyps mit beliebig vielen Entitäten des anderen Entitätstyps eine Beziehung haben. In der Gegenrichtung kann aber jede Entität des einen Entitätstyps nur mit einer Entität des anderen Entitätstyps eine Beziehung haben. So kann z. B. ein Kunde mehrere Projekte beauftragen, aber ein Projekt i. d. R. nur von einem Kunden beauftragt werden:

Bei der Übertragung des Datenmodells in eine Datenbank, bekommt auch bei 1:n-Beziehungen eine Tabelle eine zusätzliche Spalte für die Fremdschlüssel, d. h. für die Primärschlüssel der beteiligten Entitäten der anderen Tabelle.

n:m - Beziehungen

Bei einer n:m-Beziehung kann jede Entität des einen Entitätstyps mit beliebig vielen Entitäten des anderen Entitätstyps eine Beziehung eingehen und genauso in der Gegenrichtung. So kann z. B. ein Mitarbeiter an mehreren Projekten mitarbeiten und an einem Projekt auch mehrere Mitarbeiter:

Bei der Übertragung des Datenmodells in eine Datenbank, wird bei einer n:m-Beziehung eine zusätzliche Tabelle erstellt, mit jeweils einer Spalte für die Primärschlüssel der beiden in Beziehung stehenden Entitäten aus beiden Tabellen.

ER-Diagramme

Die im Rahmen des ER-Modells definierten Entitätstypen, Attribute und Beziehungstypen lassen sich mit Hilfe von ER-Diagrammen (Entity-Relationship-Diagrammen) grafisch darstellen. Dabei gibt es mehrere verschiedene Notationen, bzw. Darstellungsformen. Die bekannteste Notation ist die Chen-Notation, bei der Entitätstypen als Rechtecke, Attribute mit Ellipsen und Beziehungstypen durch Linien mit einer Raute in der Mitte und den Kardinalitäten an den Enden, dargestellt werden. Die Kardinalität wird dabei meist mit 1:1, 1:n und n:m bezeichnet. Manchmal wird das n und m jedoch auch durch ein * dargestellt, d. h. also 1:*- und *:*-Beziehungen, statt 1:n- und n:m-Beziehungen. Außerdem wird das Attribut, das als Primärschlüssel verwendet wird, meist unterstrichen dargestellt:

Quellen