‹ Informatik

Datenbankmodellierung

Datenbankmodellierung in der Informatik verständlich erklärt: Bedeutung, typische Anwendung und Beispiele für Datenbanken und SQL.

Stell dir vor, deine Schule speichert alles in einer riesigen Excel-Tabelle: Namen, Noten, Kurse, Lehrer – alles durcheinander. Sobald eine Lehrerin umzieht, müsste man ihre Adresse in hunderten Zeilen ändern. Genau solche Probleme verhindert die Datenbankmodellierung: Sie plant, wie Daten gespeichert werden, bevor die erste Tabelle angelegt wird. In diesem Artikel lernst du, wie du aus einer Alltagsbeschreibung ein sauberes Datenmodell entwickelst – mit ER-Diagramm, Kardinalitäten und Normalisierung.

Was ist Datenbankmodellierung?

Eine Datenbank ist eine strukturierte Sammlung von Daten, die von einem Programm – dem Datenbankmanagementsystem (DBMS) – verwaltet wird. Bekannte DBMS sind zum Beispiel MySQL, PostgreSQL oder SQLite.

Die Datenbankmodellierung (auch Datenmodellierung) ist der Planungsprozess davor: Man überlegt sich, welche Dinge aus der realen Welt gespeichert werden sollen, welche Eigenschaften sie haben und wie sie zusammenhängen. Das Ergebnis ist ein Datenmodell – ein vereinfachtes Abbild eines Ausschnitts der Wirklichkeit, oft „Miniwelt" genannt.

Warum der Aufwand? Ein gutes Modell verhindert doppelte Daten, Widersprüche und Chaos beim Ändern. Es ist außerdem die gemeinsame Sprache zwischen Auftraggebern („Ich will Kundenaufträge verwalten") und Entwicklerinnen, die später die Datenbank bauen.

Die drei Phasen des Datenbankentwurfs

Der Weg von der Idee zur fertigen Datenbank verläuft in drei Stufen:

Phase Ergebnis Leitfrage
Konzeptioneller Entwurf ER-Diagramm Was soll gespeichert werden?
Logischer Entwurf Relationenmodell (Tabellen) Wie wird es in Tabellen abgebildet?
Physischer Entwurf SQL-Anweisungen, Indexe Wie setzt es ein konkretes DBMS um?

Im konzeptionellen Entwurf beschreibt man die Miniwelt unabhängig von jeder Technik – meist mit dem Entity-Relationship-Modell. Im logischen Entwurf übersetzt man das Modell in das Format des Datenbanktyps, bei relationalen Datenbanken also in Tabellen. Im physischen Entwurf schreibt man schließlich die konkreten Befehle (z. B. in SQL, der Standardsprache für relationale Datenbanken) und optimiert die Datenbank für schnelle Zugriffe.

Merke: Erst denken, dann bauen: konzeptionell (ER-Diagramm) → logisch (Tabellen) → physisch (SQL).

Das Entity-Relationship-Modell

Das wichtigste Werkzeug des konzeptionellen Entwurfs ist das Entity-Relationship-Modell (ER-Modell), das Peter Chen 1976 vorstellte. Es kommt mit wenigen Bausteinen aus:

  • Entität: ein konkretes, abgrenzbares „Ding" der Miniwelt, z. B. die Schülerin Lena oder das Buch Faust.
  • Entitätstyp: die Klasse gleichartiger Entitäten, z. B. Schüler oder Buch. Im ER-Diagramm wird ein Entitätstyp als Rechteck gezeichnet.
  • Attribut: eine Eigenschaft eines Entitätstyps, z. B. Name oder Titel – gezeichnet als Ellipse.
  • Beziehung (Relationship): eine Verbindung zwischen Entitätstypen, z. B. Schüler leiht Buch aus – gezeichnet als Raute.

Damit man jede Entität eindeutig wiederfindet, braucht jeder Entitätstyp einen Schlüssel: ein Attribut (oder eine Kombination von Attributen), dessen Wert innerhalb des Entitätstyps nur einmal vorkommt. Der ausgewählte Schlüssel heißt Primärschlüssel und wird im Diagramm unterstrichen. Der Name ist als Schlüssel ungeeignet – zwei Schüler können gleich heißen. Deshalb vergibt man meist künstliche Nummern wie eine Schülernummer oder eine ISBN.

Beispiel: Eine Schulbibliothek soll modelliert werden. Schritt für Schritt:

  1. Entitätstypen finden: Schüler und Buch.
  2. Attribute zuordnen: Schüler(SchülerNr, Name, Klasse), Buch(ISBN, Titel, Autor).
  3. Beziehung erkennen: Ein Schüler leiht Bücher aus – mit dem Beziehungsattribut Ausleihdatum, denn das Datum gehört weder zum Schüler noch zum Buch allein, sondern zur Ausleihe.

Kardinalitäten: Wie viele dürfen es sein?

Die Kardinalität gibt an, mit wie vielen Entitäten des anderen Typs eine Entität in Beziehung stehen kann. In der klassischen Chen-Notation gibt es drei Grundtypen:

Typ Bedeutung Beispiel
1:1 Jedem A ist höchstens ein B zugeordnet und umgekehrt Eine Klasse hat einen Klassenlehrer, ein Lehrer leitet höchstens eine Klasse
1:n Ein A kann mit vielen B verbunden sein, jedes B nur mit einem A Eine Klasse hat viele Schüler, jeder Schüler ist in genau einer Klasse
n:m Viele zu viele auf beiden Seiten Ein Schüler belegt mehrere Kurse, ein Kurs hat mehrere Schüler

Die Kardinalität liest man direkt aus dem Aufgabentext heraus. Formulierungen wie „ein Kunde kann mehrere Aufträge erteilen, aber jeder Auftrag stammt von genau einem Kunden" bedeuten 1:n.

Tipp: Stelle für jede Beziehung zwei Fragen: „Mit wie vielen B kann ein A verbunden sein?" und umgekehrt. Die beiden Antworten (1 oder n) ergeben die Kardinalität.

Vom ER-Modell zum Relationenmodell

Im logischen Entwurf wird das ER-Diagramm in das Relationenmodell übersetzt – also in Tabellen (Relationen). Dabei gelten drei Übersetzungsregeln:

  1. Jeder Entitätstyp wird eine Tabelle. Die Attribute werden Spalten, der Primärschlüssel bleibt Primärschlüssel.
  2. Eine 1:n-Beziehung wird über einen Fremdschlüssel umgesetzt. Ein Fremdschlüssel ist eine Spalte, die den Primärschlüssel einer anderen Tabelle referenziert. Er wandert immer in die Tabelle auf der n-Seite: Jeder Schüler bekommt die Spalte KlassenNr, die auf seine Klasse zeigt.
  3. Eine n:m-Beziehung braucht eine eigene Zwischentabelle. Sie enthält die Primärschlüssel beider Seiten als Fremdschlüssel; zusammen bilden sie ihren Primärschlüssel.

Beispiel: Die Ausleihe der Schulbibliothek ist n:m (ein Schüler leiht mehrere Bücher, ein Buch wird nacheinander von mehreren Schülern geliehen). Es entstehen drei Tabellen:

Tabelle Spalten
Schüler SchülerNr, Name, Klasse
Buch ISBN, Titel, Autor
Ausleihe SchülerNr, ISBN, Ausleihdatum

Im physischen Entwurf wird daraus SQL, zum Beispiel:

CREATE TABLE ausleihe (
  schueler_nr INT REFERENCES schueler(schueler_nr),
  isbn        TEXT REFERENCES buch(isbn),
  ausleihdatum DATE,
  PRIMARY KEY (schueler_nr, isbn)
);

Das DBMS überwacht dabei die referentielle Integrität: Ein Fremdschlüssel darf nur auf Datensätze zeigen, die wirklich existieren – keine Ausleihe für ein Buch, das es nicht gibt.

Merke: Entitätstyp → Tabelle, 1:n → Fremdschlüssel auf der n-Seite, n:m → Zwischentabelle mit zwei Fremdschlüsseln.

Normalisierung: Redundanz vermeiden

Auch mit Tabellen kann man noch viel falsch machen. Speichert man in der Ausleihtabelle zusätzlich den Schülernamen, steht er bei jeder Ausleihe erneut – das ist Redundanz (mehrfache Speicherung derselben Information). Redundanz führt zu Anomalien: Ändert sich der Name, muss er überall geändert werden; vergisst man eine Stelle, widersprechen sich die Daten.

Die Normalisierung ist ein Verfahren, Tabellen schrittweise so umzubauen, dass Redundanz verschwindet. Die drei wichtigsten Stufen (Normalformen):

  • 1. Normalform (1NF): Jedes Feld enthält nur einen einzelnen Wert – keine Aufzählungen wie „Faust, Emilia Galotti" in einer Zelle.
  • 2. Normalform (2NF): 1NF, und jedes Nicht-Schlüssel-Attribut hängt vom gesamten Primärschlüssel ab. Der Schülername hängt nur von der SchülerNr ab, nicht von der ISBN – er fliegt aus der Ausleihtabelle in die Schülertabelle.
  • 3. Normalform (3NF): 2NF, und kein Nicht-Schlüssel-Attribut hängt von einem anderen Nicht-Schlüssel-Attribut ab. Der Ortsname hängt von der Postleitzahl ab – also bekommen Orte eine eigene Tabelle.

Beispiel: In der Tabelle Kunde(KundenNr, Firma, PLZ, Ort) bestimmt die PLZ den Ort. Für die 3NF zerlegt man sie in Kunde(KundenNr, Firma, PLZ) und Ort(PLZ, Ortsname). Zieht ein Ort „um" oder ist er falsch geschrieben, korrigiert man ihn genau einmal.

Merke: Jede Information soll genau einmal gespeichert werden – Normalisierung räumt Tabellen auf, bis das gilt.

Zusammenfassung

  • Datenbankmodellierung plant eine Datenbank, bevor sie gebaut wird – in drei Phasen: konzeptionell, logisch, physisch.
  • Das ER-Modell beschreibt die Miniwelt mit Entitätstypen (Rechteck), Attributen (Ellipse) und Beziehungen (Raute).
  • Ein Primärschlüssel identifiziert jede Entität eindeutig.
  • Kardinalitäten (1:1, 1:n, n:m) legen fest, wie viele Entitäten miteinander verbunden sein können.
  • Übersetzung in Tabellen: Entitätstyp → Tabelle, 1:n → Fremdschlüssel, n:m → Zwischentabelle.
  • Normalisierung (1NF–3NF) beseitigt Redundanz und verhindert Anomalien.

Interaktiv üben

Deine Lernziele
  • Ich kann erklären, was Datenbankmodellierung ist und warum man plant, bevor man eine Datenbank baut.
  • Ich kann die drei Entwurfsphasen (konzeptionell, logisch, physisch) nennen und einordnen.
  • Ich kann Entitätstypen, Attribute und Primärschlüssel in einer Aufgabenbeschreibung erkennen.
  • Ich kann Kardinalitäten (1:1, 1:n, n:m) aus einem Text bestimmen.
  • Ich kann ein ER-Modell mit Fremdschlüsseln und Zwischentabellen in Tabellen überführen.
  • Ich kann Redundanz erkennen und Tabellen bis zur 3. Normalform aufräumen.

Warum Datenbanken modellieren?

Bevor jemand ein Haus baut, zeichnet ein Architekt einen Plan. Genauso entsteht vor jeder guten Datenbank ein Datenmodell — das hast du in der Erklärung gesehen, hier wiederholst und übst du es.

Definition

Datenbankmodellierung

Datenbankmodellierung ist die Planung einer Datenbank: Man legt fest, welche Dinge der realen Welt (der „Miniwelt") gespeichert werden, welche Eigenschaften sie haben und wie sie zusammenhängen. Das Ergebnis ist ein Datenmodell.

Beispiel

Eine Schulbibliothek will Ausleihen verwalten. Statt sofort Tabellen anzulegen, plant man in drei Phasen:

  1. Konzeptionell: Was gibt es? Schüler, Bücher, Ausleihen → ER-Diagramm.
  2. Logisch: Wie wird das zu Tabellen? Schüler-Tabelle, Buch-Tabelle, Ausleihe-Tabelle.
  3. Physisch: Wie sag ich's dem Datenbanksystem? SQL-Befehle wie CREATE TABLE.
Merke

Erst denken, dann bauen: konzeptionell (ER-Diagramm) → logisch (Tabellen) → physisch (SQL).

Interaktiver Zeitstrahl wird geladen ...

Interaktive Quizfrage wird geladen ...

Entitäten, Attribute und Schlüssel

Alles beginnt damit, in einer Aufgabenbeschreibung die „Dinge" und ihre Eigenschaften zu finden.

Definition

Entitätstyp, Attribut und Primärschlüssel

Eine Entität ist ein einzelnes Ding der Miniwelt (die Schülerin Lena). Ein Entitätstyp fasst gleichartige Entitäten zusammen (Schüler) und wird im ER-Diagramm als Rechteck gezeichnet. Attribute sind seine Eigenschaften (Ellipse). Der Primärschlüssel ist ein Attribut, dessen Wert jede Entität eindeutig identifiziert — im Diagramm unterstrichen.

Beispiel

Aufgabe: „Von jedem Buch werden ISBN, Titel und Autor gespeichert."

  • Entitätstyp: Buch
  • Attribute: ISBN, Titel, Autor
  • Primärschlüssel: ISBN — der Titel taugt nicht, denn zwei Bücher können gleich heißen; die ISBN ist garantiert eindeutig.
Merke

Schlüssel-Frage: „Kann dieser Wert bei zwei verschiedenen Entitäten gleich sein?" Wenn ja, ist er kein Schlüssel. Namen sind fast nie Schlüssel — Nummern schon.

Interaktive Quizfrage wird geladen ...

Interaktiver Lückentext wird geladen ...

Beziehungen und Kardinalitäten

Jetzt verbindest du die Entitätstypen: Wer hängt mit wem zusammen — und wie oft?

Definition

Kardinalität

Die Kardinalität gibt an, mit wie vielen Entitäten des anderen Typs eine Entität verbunden sein kann. Die drei Grundtypen: 1:1 (eins zu eins), 1:n (eins zu viele) und n:m (viele zu viele).

Beispiel

Bestimme die Kardinalität mit zwei Fragen:

„Ein Kunde kann mehrere Aufträge erteilen, jeder Auftrag stammt von genau einem Kunden."

  1. Wie viele Aufträge kann ein Kunde haben? → viele (n)
  2. Wie viele Kunden kann ein Auftrag haben? → genau einen (1)

Ergebnis: Kunde und Auftrag stehen in einer 1:n-Beziehung.

Merke

Stelle immer beide Fragen — einmal von links, einmal von rechts. Die zwei Antworten (1 oder n) ergeben zusammen die Kardinalität.

Interaktive Quizfrage wird geladen ...

Vom ER-Modell zur Tabelle

Im logischen Entwurf wird das ER-Diagramm nach festen Regeln ins Relationenmodell übersetzt.

Definition

Fremdschlüssel und Zwischentabelle

Ein Fremdschlüssel ist eine Spalte, die den Primärschlüssel einer anderen Tabelle referenziert — er setzt eine 1:n-Beziehung um und steht immer auf der n-Seite. Eine n:m-Beziehung braucht eine eigene Zwischentabelle mit den Primärschlüsseln beider Seiten als Fremdschlüsseln.

Beispiel

Schulbibliothek, Schritt für Schritt in Tabellen:

  1. Entitätstypen werden Tabellen: Schüler(SchülerNr, Name) und Buch(ISBN, Titel).
  2. Die Ausleihe ist n:m → eigene Zwischentabelle Ausleihe(SchülerNr, ISBN, Ausleihdatum).
  3. SchülerNr und ISBN sind darin Fremdschlüssel — zusammen bilden sie den Primärschlüssel der Ausleihe.

Wäre die Beziehung 1:n (jeder Schüler in genau einer Klasse), bekäme die Schüler-Tabelle stattdessen einfach eine Fremdschlüssel-Spalte KlassenNr.

Gut zu wissen

Das Datenbanksystem überwacht die referentielle Integrität: Ein Fremdschlüssel darf nur auf Datensätze zeigen, die wirklich existieren. Eine Ausleihe für ein gelöschtes Buch wird abgelehnt — so bleiben die Daten widerspruchsfrei.

Interaktive Quizfrage wird geladen ...

Normalisierung: Tabellen aufräumen

Auch fertige Tabellen können krank sein: Redundanz macht sie fehleranfällig. Die Normalisierung heilt das.

Definition

Redundanz und Normalisierung

Redundanz bedeutet, dass dieselbe Information mehrfach gespeichert ist. Sie führt zu Anomalien: Beim Ändern muss man viele Stellen anpassen und riskiert Widersprüche. Die Normalisierung baut Tabellen schrittweise um (1NF → 2NF → 3NF), bis jede Information nur noch einmal gespeichert ist.

Beispiel

Tabelle Kunde(KundenNr, Firma, PLZ, Ort) — der Ort hängt von der PLZ ab, nicht von der KundenNr. Das verletzt die 3. Normalform.

Lösung: Zerlegen in Kunde(KundenNr, Firma, PLZ) und Ort(PLZ, Ortsname). Ist ein Ortsname falsch geschrieben, korrigierst du ihn jetzt genau einmal statt bei jedem Kunden.

Merke

Kurzfassung der drei Normalformen: 1NF = nur ein Wert pro Feld · 2NF = alles hängt vom ganzen Schlüssel ab · 3NF = Nicht-Schlüssel-Attribute hängen nicht voneinander ab.

Interaktive Quizfrage wird geladen ...

Alles auf einen Blick

Bevor du in den Abschluss-Check gehst: das ganze Thema als Landkarte und die Kernregeln zum Wiederholen.

Interaktive Mindmap wird geladen ...

Interaktive Lernkarten wird geladen ...

Abschluss-Check

Neue Situationen, alle Kapitel kombiniert. Wenn du hier sicher bist, sitzt das Thema.

Interaktive Quizfrage wird geladen ...

Interaktiver Lückentext wird geladen ...