Entities, auch Objekte oder Elemente genannt, bilden zusammen mit Relationships die Grundlage, um mit dem ER-Modell einen Ausschnitt der realen Welt in der semantischen Datenmodellierung umzusetzen.
Erklärung
Das ER-Modell stellt eine Möglichkeit in der semantischen Datenmodellierung dar. Dabei bedeutet semantisches Datenmodell einen abstrahierten Ausschnitt aus der realen Welt, welcher formal beschrieben wird.
Es wird also nie die gesamte Wirklichkeit abgebildet, sondern nur die für das jeweilige Datenmodell wichtigen Elemente.
Das ER-Modell unterscheidet nun in zwei größere Gruppen von Elementen: Entities und Relationships.
Ziel des ER-Modells ist meistens, dieses später in eine Datenbank zu überführen.
Entities und Entity-Typen
Entities, auch Objekte, Entitäten oder Elemente genannt, stellen dabei die physischen Objekte abstrakt dar. Wie abstrakt/spezifisch eine Entity dabei gestaltet wird, hängt stark von der Modellierung ab. Es gilt jedoch, dass Entities grundsätzlich immer so abstrakt wie möglich sein und so spezifisch wie nötig sein sollen. Dies bedarf einiger Vorüberlegungen!
Die Entities bilden später die Tabellen der relationalen Datenbank.
Um nun auch die tatsächlichen Verhältnisse der realen Welt abbilden zu können, gibt es verschiedene Entity-Typen.
Starke Entity-Typen
Starke Entity-Typen sind die häufigste Form von Entity-Typen. Sie stellen reale Elemente dar, welche komplett unabhängig von allen anderen Elementen existieren können.
Um einen starken Entity-Typen darzustellen, wird ein Rechteck mit einfacher Umrandung verwendet. Die Bezeichnung des Entity-Typen wird dabei in das Rechteck eingetragen:
Schwache Entity-Typen
Neben den starken Entity-Typen gibt es noch schwache Entity-Typen. Sie werden deshalb als schwach bezeichnet, weil sie unabhängig von einem starken Entity-Typen nicht eindeutig identifizierbar wären!
Um einen schwachen Entity-Typen darzustellen, wird ein Rechteck mit doppelter Umrandung verwendet. Die Bezeichnung des Entity-Typen wird dabei wieder in das Rechteck eingetragen:
Attribute
Objekte aus der realen Wirklichkeit tragen jedoch selten nur einen Namen. Stattdessen sind die Objekte auch immer mit weiteren Eigenschaften verknüpft, welche unter Umständen auch modelliert werden müssen. Diese Eigenschaften, auch Attribute genannt, stellen später in einer Datenbankmodellierung die Tabellenspalten dar.
Um die Eigenschaften der Entities in das ER-Modell eintragen zu können, werden dafür Ellipsen verwendet. Diese „Blasen” enthalten dann auch jeweils eine abstrakte Bezeichnung der Eigenschaft, nicht jedoch den Wert der Eigenschaft selbst:
Primärschlüsselattribut
Um nun eine Entity eindeutig zuordnen zu können, müssen Entities eine eindeutige Identifizierung besitzen. Dies kann jedes bereits vorhandene Attribut mit der Eigenschaft sein, dass alle Werte dieses Attributes später einzigartig seien werden. Dadurch ist jede Instanz der Entities später eindeutig identifizierbar.
Es kann jedoch auch ein künstliches Attribut eingeführt werden. In beiden Fällen stellt dieses spezielle Attribut dann den Primärschlüssel des Entity-Typen dar.
Das Primärschlüsselattribut wird durch eine durchgängige Unterstreichung gekennzeichnet:
Fremdschlüsselattribut
Schwache Enitity-Typen sind existenzabhängig von einem starken Entity-Typen. Daher hängen auch ihre Schlüsselattribute von dem jeweiligen starken Entitiy-Typen ab und können keine Primärschlüssel sein.
Deshalb wird zur Kennzeichnung der Fremdschlüssel der schwachen Entity-Typen eine andere Darstellung gewählt. Dieses Fremdschlüsselattribut des schwachen Entity-Typen ist nur ein eindeutiger Schlüssel in Kombination mit dem Primärschlüssel des starken Entity-Typen!
Das Fremdschlüsselattribut wird durch eine gestrichelte Unterstreichung gekennzeichnet:
Beispiel
In diesem Beispiel soll nun die Gebäude einer Firma modelliert werden. Jedes Gebäude existiert unabhängig von allen anderen Gebäuden.
In einem einzelnen Gebäude gibt es mehrere Räume. Jeder Raum ist dabei jedoch abhängig von dem Gebäude, in dem er sich befindet und kann nicht unabhängig vom Gebäude existieren.
Gebäude haben eine eindeutige GebäudeID.
Räume haben eine Raumnummer, welche jedoch nur in Kombination mit der GebäudeID den Raum eindeutig identifizieren.
Im ER-Modell könnte dies nun so aussehen: