Zum Inhalt springen
YellowBlue
IT-Grundlagen5 Min. Lesezeit

ER-Modell erklärt: Entity-Relationship-Modell

Kurzantwort

Das Entity-Relationship-Modell (ER-Modell) ist der Bauplan einer Datenbank. Es beschreibt, welche Dinge gespeichert werden (Entitäten), welche Eigenschaften sie haben (Attribute) und wie sie zusammenhängen (Beziehungen). Aus diesem Modell entstehen später die Tabellen. Besonders wichtig sind die Kardinalitäten, die festlegen, wie viele Datensätze einander zugeordnet sind.

Teil des Lernpfads Datenbanken und SQL · Schritt 2 von 9

Zuletzt aktualisiert am

Wer eine Datenbank baut, ohne sie vorher zu planen, baut sich Ärger ein: doppelte Daten, unmögliche Beziehungen, Chaos beim Erweitern. Das ER-Modell ist der Bauplan, der das verhindert – und der erste Schritt jedes ernsthaften Datenbankprojekts.

Was ist ein Entity-Relationship-Modell?

Das Entity-Relationship-Modell, kurz ER-Modell, beschreibt die Daten eines Systems als Entitäten (Dinge), Attribute (ihre Eigenschaften) und Beziehungen zwischen den Entitäten. Gezeichnet wird es als ER-Diagramm. Es ist der Standardweg, um eine relationale Datenbank zu entwerfen.

Warum ein Modell vor der Tabelle?

Eine Datenbank besteht am Ende aus Tabellen. Aber welche Tabellen brauchst du, welche Spalten, und wie hängen sie zusammen? Diese Fragen klärt man vor dem Bauen – im ER-Modell. Es ist der Architektenplan, bevor der erste Stein gesetzt wird.

Die drei Bausteine

Ein ER-Modell kennt drei Elemente:

  • Entität: ein Ding, über das Daten gespeichert werden – zum Beispiel Azubi oder Berufsschulklasse. In der Datenbank wird daraus später eine Tabelle.
  • Attribut: eine Eigenschaft einer Entität – etwa Name oder Geburtsdatum. Daraus werden die Spalten.
  • Beziehung: wie zwei Entitäten zusammenhängen – zum Beispiel „ein Azubi besucht eine Klasse".
┌──────────┐        besucht        ┌──────────────────┐
│  AZUBI   │────────────────────── │ BERUFSSCHULKLASSE │
├──────────┤                       ├──────────────────┤
│ id       │                       │ id               │
│ name     │                       │ bezeichnung      │
│ geburtstag│                      │ raum             │
└──────────┘                       └──────────────────┘

Kardinalitäten: wie viele gehören zusammen?

Das Herzstück des ER-Modells ist die Kardinalität. Sie legt fest, wie viele Datensätze der einen Seite mit wie vielen der anderen verbunden sind. Es gibt drei Grundtypen:

KardinalitätBedeutungBeispiel
1:1genau einer zu genau einemPerson ↔ Personalausweis
1:neiner zu vielenKlasse ↔ Azubis (eine Klasse, viele Azubis)
n:mviele zu vielenAzubi ↔ Kurse (viele Azubis, viele Kurse)

Vom Modell zur Tabelle

1:1- und 1:n-Beziehungen lassen sich direkt in Tabellen umsetzen, indem man einen Fremdschlüssel setzt – einen Verweis auf den Primärschlüssel der anderen Tabelle. Bei n:m geht das nicht direkt.

Beispiel: n:m-Beziehung zwischen Azubi und Kurs

Azubis belegen Wahlkurse, jeder Kurs hat mehrere Teilnehmer: Das ist eine n:m-Beziehung. In der Datenbank entstehen daraus drei Tabellen:

TabelleSpaltenHinweis
Azubiazubi_id (Primärschlüssel), nameeine Zeile je Azubi
Kurskurs_id (Primärschlüssel), titeleine Zeile je Kurs
Belegungazubi_id, kurs_idZwischentabelle, beide Spalten zusammen sind der Primärschlüssel
CREATE TABLE Belegung (
  azubi_id INT,
  kurs_id  INT,
  PRIMARY KEY (azubi_id, kurs_id),
  FOREIGN KEY (azubi_id) REFERENCES Azubi(azubi_id),
  FOREIGN KEY (kurs_id)  REFERENCES Kurs(kurs_id)
);

Jede Zeile in Belegung sagt: „Dieser Azubi besucht diesen Kurs." Aus der n:m-Beziehung sind so zwei saubere 1:n-Beziehungen geworden. Wie du solche Tabellen anlegst, zeigt DDL und DML, und wie du sie verknüpft abfragst, SQL-JOINs.

ER-Diagramm erstellen: Schritt für Schritt

  1. Entitäten finden: Über welche Dinge sollen Daten gespeichert werden, zum Beispiel Azubi, Kurs, Klasse?
  2. Attribute festlegen: Welche Eigenschaften hat jede Entität? Ein Attribut wird als eindeutiger Primärschlüssel gekennzeichnet.
  3. Beziehungen benennen: Wie hängen die Entitäten zusammen? Ein Verb hilft, etwa „besucht“.
  4. Kardinalitäten eintragen: In beide Richtungen lesen und 1:1, 1:n oder n:m notieren.
  5. n:m auflösen: Jede n:m-Beziehung bekommt eine Zwischentabelle.
  6. In Tabellen überführen: Entität wird Tabelle, Attribut wird Spalte, Beziehung wird Fremdschlüssel.

Selbstkontrolle

Selbstkontrolle

Ein Azubi kann mehrere Wahlkurse belegen, und jeder Wahlkurs hat mehrere Azubis. Welche Kardinalität liegt vor?

Häufige Fragen

Was ist ein ER-Diagramm?

Ein ER-Diagramm ist die grafische Darstellung eines ER-Modells. Es zeigt die Entitäten als Kästen, ihre Attribute und die Beziehungen dazwischen samt Kardinalitäten. Es gibt verschiedene Notationen, zum Beispiel die Chen-Notation und die Krähenfußnotation. Achte in Aufgaben darauf, welche Schreibweise verwendet wird.

Was ist der Unterschied zwischen einer Entität und einem Attribut?

Eine Entität ist ein eigenständiges Ding, über das man Daten speichert – etwa ein Azubi oder ein Kurs. Ein Attribut ist eine Eigenschaft dieser Entität, zum Beispiel der Name oder das Geburtsdatum. In der fertigen Datenbank wird aus einer Entität eine Tabelle und aus ihren Attributen die Spalten.

Was ist ein Fremdschlüssel?

Ein Fremdschlüssel ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist. So werden Tabellen miteinander verknüpft, ohne Daten zu wiederholen. Eine Tabelle mit Azubis kann etwa über einen Fremdschlüssel auf die Tabelle der Klassen verweisen, statt bei jedem Azubi alle Klassendaten erneut zu speichern.

Warum braucht eine n:m-Beziehung eine Zwischentabelle?

Weil sich viele-zu-viele nicht mit einem einfachen Verweis abbilden lässt: Man müsste in beiden Tabellen beliebig viele Fremdschlüssel unterbringen, was nicht funktioniert. Die Zwischentabelle nimmt je einen Verweis auf beide Seiten auf und zerlegt die n:m-Beziehung so in zwei saubere 1:n-Beziehungen.

Ist das ER-Modell an eine bestimmte Datenbank gebunden?

Nein. Das ER-Modell beschreibt die Struktur der Daten unabhängig von der eingesetzten Datenbanksoftware. Erst bei der Umsetzung in konkrete Tabellen kommt ein bestimmtes System wie MySQL oder PostgreSQL ins Spiel. Dasselbe Modell lässt sich in verschiedenen Datenbanken umsetzen.

Weiterlesen: Normalisierung: Datenbanken ohne Redundanz · DDL und DML: SQL-Befehle im Überblick · SQL-Grundlagen: Daten mit SELECT abfragen · UML-Grundlagen: Klassendiagramm und Use Cases

Das Wichtigste in Kürze

  • Das ER-Modell ist der Bauplan einer Datenbank – erst planen, dann bauen.
  • Seine Bausteine: Entität (wird zur Tabelle), Attribut (wird zur Spalte), Beziehung.
  • Kardinalitäten (1:1, 1:n, n:m) legen fest, wie viele Datensätze zusammengehören.
  • Eine n:m-Beziehung wird immer über eine Zwischentabelle aufgelöst.

Schlagwörter

Verwandte Beiträge

IT-Grundlagen4 Min. Lesezeit

DDL und DML: SQL-Befehle im Überblick

DDL, DML, DQL, DCL und TCL im Überblick: Welche SQL-Befehle zu welcher Gruppe gehören, mit Beispielen und Prüfungstipps zu DELETE, TRUNCATE und DROP.

IT-Grundlagen4 Min. Lesezeit

SQL-Grundlagen: Daten mit SELECT abfragen

Wie du mit SELECT gezielt Daten aus einer Datenbank holst: Spalten wählen, mit WHERE filtern, mit ORDER BY sortieren und mit GROUP BY gruppieren.

IT-Grundlagen3 Min. Lesezeit

Transaktionen und das ACID-Prinzip

Warum Datenbanken zusammengehörige Schritte zu Transaktionen bündeln und was die vier ACID-Eigenschaften bedeuten – erklärt am Beispiel einer Überweisung.