Relationships, auch Beziehungen oder Verknüpfungen genannt, bilden zusammen mit Entities die Grundlage, um mit dem ER-Modell einen Ausschnitt der realen Welt in der semantischen Datenmodellierung umzusetzen.
Erklärung
Wenn die reale Welt durch die semantische Modellierung in das ER-Modell überführt wird, werden nicht nur Objekte aus der Wirklichkeit abgebildet.
Entscheidend sind, sowohl in der realen Welt als auch Modell, die Beziehungen zwischen den Objekten.
Um diese Beziehungen und Verhältnisse im ER-Modell darzustellen, werden Relationships verwendet.
An einer Relationship können beliebig viele Entities beteiligt sein. Eine Relationships kann auch zwischen einer Entity und sich selbst bestehen. Wichtig ist dabei nur, zwischen den verschiedenen Typen von Relationships zu unterscheiden:
1 zu 1 Beziehung
Bei der 1 zu 1 Beziehung steht immer genau ein Element der linken Entity mit genau einem Element der rechten Entity in Beziehung. Dabei muss es mindestens ein Element auf beiden sein, jedoch darf es auch höchstens nur ein Element sein.
Diese Anforderungen an die Anzahl an beteiligten Elementen werden auch Multiplizitäten gennant.
Im ER-Modell wird eine solche 1 zu 1 Beziehung durch eine einfache Raute dargestellt. Die Multiplizitäten werden in der Chen-Notation an der Stelle der Verbindung mit den Entities eingetragen. Es gibt auch noch andere mögliche Notationen, jedoch sollte aus Gründen der Übersichtlichkeit immer eine konsistente Notation gewählt und nicht zwischen den verschiedenen Notationen gewechselt werden.
1 zu M Beziehung
Bei der 1 zu M Beziehung steht immer genau ein Element der linken Entity mit beliebig vielen Elementen der rechten Entity in Beziehung.
Dabei muss es genau ein Element auf der linken Seite sein, jedoch dürfen es keine bis unendlich viele Elemente auf der rechten Seite sein:
M zu N-Beziehung
Bei der M zu N Beziehung stehen beliebig viele Elemente der linken Entity mit beliebig vielen Elementen der rechten Entity in Beziehung.
Dabei können es keine bis unendlich viele Elemente sowohl auf der linken als auch auf der rechten Seite sein:
Existenzabhängigkeiten
Wenn eine Relationship zwischen einem starken und einem schwachen Entity-Typen existiert, kann es passieren, dass der schwache Entity-Typ nicht nur ohne den starken Entity-Typ nicht eindeutig identifizierbar ist, sondern gar nicht existieren kann.
Eine solche Existenzabhängigkeit zwischen einem schwachen und einem starken Entity-Typen wird durch eine doppelt umrandete Raute und einer doppelten Linie hin zur schwachen Entity dargestellt:
Vererbung
Ein weiteres grundlegendes Konzept, sowohl der realen Welt als auch der Informatik, ist die Vererbung. Dabei erben die Untertypen Eigenschaften des Obertypen, besitzen jeweils an sich einzigartige Eigenschaften, die nicht generalisiert werden können.
Um die Vererbung im ER-Modell darzustellen, wird eine is-a (oder ist-ein) Relationship verwendet:
Beispiel
In diesem Beispiel werden die Entities Raum und Gebäude um die Entity Firma ergänzt. Zur Übersichtlichkeit wird auf die Eintragung von Multiplizitäten verzichtet.
Eine Firma hat dabei einen Namen und eine eindeutige SteuerID.
Eine Firma besitzt dabei mehrere Gebäude, wobei ein Gebäude von genau einer Firma besessen wird (1 zu M-Beziehung). Sowohl die Firma, als auch die Gebäude können unabhängig voneinander existieren. Daher wird eine einfache Relationship gewählt.
Ein Raum liegt immer genau in einem Gebäude, wobei ein Gebäude mehrere Räume hat (1 zu M-Beziehung). Dabei ist der Raum existenzabhängig von dem zugehörigen Gebäude und kann nicht losgelöst existieren. Die Relationship liegt_in muss deshalb existenzabhängig sein.
Das zugehörige ER-Modell sieht abschließend so aus: