Entity-Relationship-Modell
Das Entity-Relationship-Modell (kurz: ER-Modell oder ERM) ist eine grafische Methode zur Modellierung von Datenstrukturen. Es beschreibt, welche Entitäten (Objekte) in einem System existieren, welche Attribute (Eigenschaften) sie haben und welche Beziehungen (Relationships) zwischen ihnen bestehen. Das ER-Modell wurde 1976 von Peter Chen entwickelt und ist bis heute der De-facto-Standard für den konzeptionellen Datenbankentwurf.
In der IT-Ausbildung gehört das ER-Modell zu den fundamentalen Konzepten, die jeder Fachinformatiker für Anwendungsentwicklung und Fachinformatiker für Daten- und Prozessanalyse beherrschen muss. Es bildet die Brücke zwischen fachlichen Anforderungen und der technischen Datenbankimplementierung.
Die drei Grundelemente des ER-Modells
Das ER-Modell basiert auf drei zentralen Bausteinen, die zusammen die Struktur einer Datenbank beschreiben:
Entitäten
Eine Entität ist ein eindeutig identifizierbares Objekt der realen Welt, über das Daten gespeichert werden sollen. Im ER-Diagramm werden Entitätstypen als Rechtecke dargestellt.
- Beispiele für Entitäten: Kunde, Produkt, Bestellung, Mitarbeiter, Projekt
- Starke Entitäten: Können allein durch ihre Attribute identifiziert werden (z.B. Kunde mit Kundennummer)
- Schwache Entitäten: Benötigen eine Beziehung zu einer starken Entität für die Identifikation (z.B. Rechnungsposition zur Rechnung)
Attribute
Attribute sind die Eigenschaften einer Entität. Sie beschreiben, welche Informationen über eine Entität gespeichert werden. Im klassischen ER-Diagramm werden Attribute als Ellipsen dargestellt.
| Attributtyp | Beschreibung | Beispiel |
|---|---|---|
| Einfaches Attribut | Atomarer, nicht weiter zerlegbarer Wert | Vorname, Geburtsdatum |
| Zusammengesetztes Attribut | Besteht aus mehreren Teilattributen | Adresse (Straße, PLZ, Ort) |
| Einwertiges Attribut | Nur ein Wert pro Entität | Kundennummer |
| Mehrwertiges Attribut | Mehrere Werte möglich | Telefonnummern |
| Abgeleitetes Attribut | Wird aus anderen Attributen berechnet | Alter (aus Geburtsdatum) |
| Schlüsselattribut | Identifiziert die Entität eindeutig | Kundennummer (unterstrichen) |
Beziehungen (Relationships)
Beziehungen beschreiben die Verbindungen zwischen Entitäten. Sie werden im ER-Diagramm als Rauten dargestellt und mit einem Verb benannt, das die Art der Beziehung beschreibt.
- Beispiel: Ein Kunde erteilt eine Bestellung
- Beispiel: Ein Mitarbeiter arbeitet in einer Abteilung
- Beispiel: Ein Student belegt ein Seminar
Beziehungen können auch eigene Attribute haben. Zum Beispiel könnte die Beziehung zwischen Mitarbeiter und Projekt ein Attribut "Stunden_pro_Woche" besitzen.
Kardinalitäten
Die Kardinalität beschreibt, wie viele Entitäten an einer Beziehung beteiligt sein können. Sie ist entscheidend für das spätere Datenbankdesign und bestimmt, wie Beziehungen in Tabellen umgesetzt werden.
1:1-Beziehung (Eins zu Eins)
Jede Entität des einen Typs steht mit genau einer Entität des anderen Typs in Beziehung.
Beispiel: Mitarbeiter ↔ Firmenparkausweis
- Jeder Mitarbeiter hat genau einen Parkausweis
- Jeder Parkausweis gehört genau einem Mitarbeiter
Implementierung: Der Primärschlüssel einer Tabelle wird als Fremdschlüssel in die andere eingefügt.
1:n-Beziehung (Eins zu Viele)
Eine Entität kann mit mehreren Entitäten des anderen Typs in Beziehung stehen, aber jede Entität der anderen Seite nur mit einer.
Beispiel: Kunde ↔ Bestellungen
- Ein Kunde kann viele Bestellungen aufgeben
- Jede Bestellung gehört zu genau einem Kunden
Beispiel: Abteilung ↔ Mitarbeiter
- Eine Abteilung hat viele Mitarbeiter
- Jeder Mitarbeiter arbeitet in genau einer Abteilung
Implementierung: Der Primärschlüssel der "1"-Seite wird als Fremdschlüssel in die "n"-Seite eingefügt.
m:n-Beziehung (Viele zu Viele)
Jede Entität beider Typen kann mit mehreren Entitäten des anderen Typs in Beziehung stehen.
Beispiel: Student ↔ Seminar
- Ein Student kann mehrere Seminare belegen
- Ein Seminar kann von mehreren Studenten besucht werden
Beispiel: Mitarbeiter ↔ Projekt
- Ein Mitarbeiter kann an mehreren Projekten arbeiten
- An einem Projekt arbeiten mehrere Mitarbeiter
Implementierung: Es wird eine Zwischentabelle (Assoziationstabelle) erstellt, die beide Primärschlüssel als Fremdschlüssel enthält.
Notationssysteme
Es gibt verschiedene Notationssysteme für ER-Diagramme, die sich in der Darstellung von Kardinalitäten unterscheiden.
Chen-Notation
Die Chen-Notation ist die ursprüngliche Notation von Peter Chen und wird häufig in der Ausbildung verwendet:
- Entitäten: Rechtecke
- Beziehungen: Rauten
- Attribute: Ellipsen (Schlüsselattribute unterstrichen)
- Kardinalitäten: "1" und "M" (oder "N") an den Verbindungslinien
Crow's Foot Notation (Krähenfuß)
Die Crow's Foot Notation (Krähenfuß-Notation) ist in der Praxis weit verbreitet und nutzt grafische Symbole an den Linienenden:
| Symbol | Bedeutung |
|---|---|
| Ring (Kreis) | Null (optional) |
| Strich (Linie) | Eins |
| Krähenfuß (Gabel) | Viele |
Kombinationen:
- Ring + Strich = 0 oder 1 (optional, maximal eins)
- Strich + Strich = genau 1 (obligatorisch)
- Ring + Krähenfuß = 0 bis viele (optional)
- Strich + Krähenfuß = 1 bis viele (mindestens eins)
ER-Modell vs. ER-Diagramm
Die Begriffe werden oft synonym verwendet, bezeichnen aber technisch unterschiedliche Dinge:
- ER-Modell: Das konzeptionelle Modell, das die Datenstruktur beschreibt – inklusive textueller Dokumentation und Geschäftsregeln
- ER-Diagramm (ERD): Die grafische Visualisierung des ER-Modells
Ein vollständiges ER-Modell besteht aus dem Diagramm plus der erläuternden Dokumentation.
Transformation zum relationalen Modell
Das ER-Modell muss für die Implementierung in ein relationales Datenbankschema überführt werden. Dabei gelten folgende Transformationsregeln:
- Entitätstypen → Tabellen: Jeder Entitätstyp wird zu einer Tabelle, Attribute werden zu Spalten
- 1:1-Beziehungen: Fremdschlüssel in einer der beiden Tabellen
- 1:n-Beziehungen: Fremdschlüssel in der n-Seite
- m:n-Beziehungen: Eigene Zwischentabelle mit beiden Primärschlüsseln als Fremdschlüssel
- Schwache Entitäten: Zusammengesetzter Primärschlüssel aus eigenem Attribut + Fremdschlüssel
Praxisbeispiel: Bibliotheksverwaltung
Ein typisches Beispiel aus der IT-Ausbildung ist die Modellierung einer Bibliotheksverwaltung:
Entitäten:
- Buch (ISBN, Titel, Erscheinungsjahr)
- Autor (AutorID, Name, Geburtsjahr)
- Mitglied (MitgliedID, Name, Adresse)
- Ausleihe (AusleiheID, Ausleihdatum, Rückgabedatum)
Beziehungen:
- Autor schreibt Buch (m:n – ein Autor kann mehrere Bücher schreiben, ein Buch kann mehrere Autoren haben)
- Mitglied leiht aus Buch (m:n über die Ausleihe-Entität)
Resultierende Tabellen:
CREATE TABLE Buch (
ISBN VARCHAR(13) PRIMARY KEY,
Titel VARCHAR(255),
Erscheinungsjahr INT
);
CREATE TABLE Autor (
AutorID INT PRIMARY KEY,
Name VARCHAR(100),
Geburtsjahr INT
);
CREATE TABLE Buch_Autor (
ISBN VARCHAR(13),
AutorID INT,
PRIMARY KEY (ISBN, AutorID),
FOREIGN KEY (ISBN) REFERENCES Buch(ISBN),
FOREIGN KEY (AutorID) REFERENCES Autor(AutorID)
);
Zusammenhang mit Normalisierung
Das ER-Modell und die Normalisierung ergänzen sich im Datenbankentwurf. Ein sauber erstelltes ER-Modell erfüllt in der Regel bereits die ersten Normalformen:
- 1NF: Wird erreicht, wenn alle Attribute atomar sind (keine mehrwertigen Attribute in einer Spalte)
- 2NF: Wird erreicht, wenn Entitäten korrekt voneinander getrennt sind
- 3NF: Wird erreicht, wenn keine transitiven Abhängigkeiten zwischen Attributen bestehen
Die Normalisierung dient als Kontrollmechanismus, um das ER-Modell zu überprüfen und zu verfeinern.
Tools zur ER-Modellierung
Für die Erstellung von ER-Diagrammen stehen zahlreiche Tools zur Verfügung:
| Tool | Beschreibung | Kosten |
|---|---|---|
| draw.io | Kostenloses Online-Tool, einfache Bedienung | Kostenlos |
| Lucidchart | Cloud-basiert, Team-Kollaboration, SQL-Export | Freemium |
| MySQL Workbench | Datenbankdesign mit direkter Implementierung | Kostenlos |
| DbSchema | Visuelles Design mit Reverse-Engineering | Kostenpflichtig |
| Microsoft Visio | Professionelles Diagramm-Tool | Kostenpflichtig |
| QuickDBD | Schnelles Erstellen per Textnotation | Freemium |
ER-Modellierung in der IHK-Prüfung
In der Abschlussprüfung für IT-Berufe werden regelmäßig Aufgaben zum ER-Modell gestellt. Typische Prüfungsaufgaben sind:
- Konzeptfragen: "Erklären Sie den Unterschied zwischen Entität und Entitätstyp"
- Kardinalitätsbestimmung: Aus einem Sachverhalt die korrekten Kardinalitäten ableiten
- ER-Diagramm erstellen: Aus einer textuellen Beschreibung ein vollständiges Diagramm zeichnen
- Transformation: Ein ER-Modell in ein relationales Schema überführen
- Normalisierung prüfen: Ein Schema auf Normalformen überprüfen und ggf. korrigieren
Tipp: Übe das Erstellen von ER-Diagrammen aus Textbeschreibungen – das ist eine häufige Prüfungsaufgabe!