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.
Mit Hilfe von Verknüpfungen können in relationalen Datenbanken Beziehungen zwischen Tabellen definiert werden. So können z. B. in einem Bestellsystem Beziehungen zwischen Benutzern und Bestellungen hergestellt werden. Die Verknüpfungen erfolgen über eindeutig identifizierbare Felder, die auch als Schlüssel bezeichnet werden und die in beiden Tabellen enthalten sein müssen. Enthält eine Tabelle keine eindeutigen Felder, können als Schlüssel auch zusätzliche Felder mit ID‘s erstellt werden. Dabei können Beziehungen auch zwischen mehreren Tabellen bestehen:
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 „Ross Hagen“ der Entitätstyp „Mitarbeiter“ abgeleitet!
Hinweis: Die Entitätstypen entsprechen in einer relationalen Datenbank den Tabellen!
Als nächstes werden die für die Entitäten relevante Eigenschaften, wie Vorname und Name, 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!
Mit Hilfe von Beziehungen werden Zusammenhänge zwischen Entitäten definiert.
So besteht z. B. eine Beziehung zwischen den Entitäten „Max Muster“ und „Abteilung XY“, wenn Max Muster in der Abteilung XY arbeitet.
Aus gleichartigen Beziehungen werden dann Beziehungstypen abgeleitet, wie z. B. „Mitarbeiter arbeitet in Abteilung“.
Hinweis: Beziehungen werden in einer relationalen Datenbank mit Hilfe von sog. Fremdschlüsseln gebildet,
die auf den Primärschlüssel der Entität verweisen, mit der eine Beziehung besteht!
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.
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.
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.
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.
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: