XP0
DATENBANKEN — MODUL 04 · MODELLIERUNG
Jahrgangsstufe 12 · Informatik GK · Datenbanken
MODUL 04 — DATENMODELLIERUNG

KLASSE 12 — VERTIEFUNG

In Klasse 9 hast du gelernt, eine fertige Datenbank abzufragen. Jetzt geht es einen Schritt zurück: Wie entwirft man eine Datenbank? Und wie erkennt man, ob ein Entwurf gut oder schlecht ist?

Dieses Modul behandelt zwei grundlegende Themen der Datenbanktheorie, die auch klausurrelevant sind:

M · ER-MODELL

Entity-Relationship-Modell: Entitäten, Attribute, Beziehungen, Kardinalitäten (1:1, 1:n, n:m). Wie beschreibt man die reale Welt als Datenbankschema?

N · NORMALISIERUNG

1NF, 2NF, 3NF: Wie erkennt man Redundanzen und Anomalien in Tabellen — und wie behebt man sie durch Zerlegung?

Am Ende von N erkennst du: Das normalisierte Schema ist genau die Datenbank, mit der du in Modul 01–03 gearbeitet hast.

M · ER-MODELL — GRUNDBEGRIFFE100 XP

ENTITÄT · ATTRIBUT · BEZIEHUNG

Das Entity-Relationship-Modell (ERM) beschreibt, welche Dinge (Entitäten) in einer Datenbank gespeichert werden, welche Eigenschaften (Attribute) sie haben, und wie sie miteinander in Beziehung stehen.

Entität = ein eindeutig identifizierbares Objekt der realen Welt (z.B. ein Schüler, ein Buch)
Attribut = eine Eigenschaft einer Entität (z.B. Name, Geburtsdatum)
Primärschlüssel = das Attribut, das eine Entität eindeutig identifiziert (unterstrichen)
Beziehung = eine Verknüpfung zwischen zwei Entitäten (z.B. „tätigt" zwischen Schüler und Ausleihe)

GESCHÄFTSREGELN DIESER BIBLIOTHEK

Bevor wir modellieren, legen wir die Regeln fest:

① Ein Schüler kann mehrere Ausleihen haben (zu verschiedenen Zeitpunkten)
② Jede Ausleihe bezieht sich auf genau ein Buch
③ Ein Buch existiert als ein einziges Exemplar — es kann zu einem Zeitpunkt nur in einer aktiven Ausleihe sein
④ Daraus folgt: kein n:m zwischen Schüler und Buch — stattdessen zwei 1:n-Beziehungen über die Ausleihe

SCHUELER SchuelerID Name Klasse Geburtsdatum 1 TÄTIGT N AUSLEIHE AusleiheID DatumAusleihe DatumRueckgabe N ENTHÄLT 1 BUCH BuchID Titel Autor Genre Preis Erscheinungsjahr Entität Schwache Entität Beziehung Attribut Primärschlüssel

ER-Diagramm der Schulbibliothek · Ausleihe in der Mitte · zwei 1:n-Beziehungen · kein n:m

BEGRIFFE AUFDECKEN

Klicke auf eine Karte, um die Definition zu sehen:

ENTITÄT
Ein eindeutig identifizierbares Objekt der realen Welt, über das Daten gespeichert werden. Beispiel: ein konkreter Schüler, ein bestimmtes Buch.
ENTITÄTSTYP
Die Klasse aller gleichartigen Entitäten. Beispiel: „Schueler" ist der Entitätstyp — Maria Hoffmann ist eine konkrete Entität davon.
PRIMÄRSCHLÜSSEL
Ein Attribut (oder eine Kombination), das eine Entität eindeutig identifiziert. Im ERM unterstrichen dargestellt. Beispiel: SchuelerID.
SCHWACHE ENTITÄT
Eine Entität, die ohne eine andere Entität nicht existieren kann. Im ERM doppelt umrandet. Beispiel: Ausleihe — ohne Schüler und Buch gibt es keine Ausleihe.
BEZIEHUNGSTYP
Beschreibt, wie zwei Entitätstypen miteinander verbunden sind. Im ERM als Raute dargestellt. Beispiel: „leiht aus" verbindet Schueler und Buch.
KARDINALITÄT
Gibt an, wie viele Entitäten auf jeder Seite einer Beziehung beteiligt sein können. Notation: 1:1, 1:n, n:m. Beispiel: Ein Schüler kann n Bücher ausleihen (1:n).
KARDINALITÄTEN BESTIMMEN

1:1 · 1:N · N:M

1:1 — einer Entität auf der linken Seite entspricht genau eine auf der rechten (selten)
1:n — einer Entität links entsprechen mehrere rechts; aber jede rechts gehört zu genau einer links
n:m — mehrere links entsprechen mehreren rechts (benötigt Zwischentabelle)

Bestimme die Kardinalität der folgenden Beziehungen:

Ein Schüler kann mehrere Bücher ausleihen. Jede Ausleihe gehört zu genau einem Schüler.

Ein Schüler kann viele Bücher ausleihen. Ein Buch kann von vielen Schülern (nacheinander) ausgeliehen werden.

Jeder Schüler hat genau einen Schülerausweis. Jeder Ausweis gehört zu genau einem Schüler.

Ein Autor kann viele Bücher geschrieben haben. Jedes Buch hat in unserem Schema genau einen Autor.

Ein Lehrer unterrichtet viele Klassen. Eine Klasse hat viele Lehrer.

Jedes Land hat genau eine Hauptstadt. Jede Hauptstadt gehört zu genau einem Land.

VOM ER-MODELL ZUR TABELLE

UMSETZUNGSREGELN

Jeder Entitätstyp wird zu einer Tabelle. Der Primärschlüssel wird übernommen.

Bei 1:n: Der Fremdschlüssel wandert auf die n-Seite (z.B. SchuelerID in Ausleihe).

Bei n:m: Es entsteht eine neue Zwischentabelle mit den Primärschlüsseln beider Seiten als zusammengesetztem Primärschlüssel.

Ordne den ER-Konzepten die richtige SQL-Entsprechung zu. Klicke zuerst links, dann rechts:

Spalte in der n-seitigen Tabelle, die auf PK der 1-Seite zeigt
Wird zu einer eigenen Tabelle
Neue Zwischentabelle mit zwei Fremdschlüsseln
PRIMARY KEY — eindeutiger Bezeichner einer Zeile
Wird zu einer Spalte (mit Datentyp)
N · NORMALISIERUNG150 XP

WARUM NORMALISIEREN?

Eine schlecht entworfene Datenbank hat Redundanzen — dieselbe Information steht mehrfach drin. Das führt zu Anomalien:

Einfügeanomalie — man kann einen Datensatz nicht einfügen, ohne andere Daten zu erfinden
Änderungsanomalie — ändert man einen Wert, muss man ihn an vielen Stellen ändern
Löschanomalie — löscht man einen Datensatz, verliert man unbeabsichtigt andere Informationen

Die Normalformen sind Regeln, die sicherstellen, dass eine Tabelle gut strukturiert ist.

0NF
Ausgangslage
1NF
Atomar
2NF
Voll abhängig
3NF
Transitiv frei

HINWEIS: ERWEITERTES SZENARIO

Für die Normalisierung erweitern wir die Spielregeln: Ein Schüler kann jetzt mehrere Bücher gleichzeitig ausleihen. Das macht das Modell realistischer — und zeigt, warum eine naive Tabelle schnell an ihre Grenzen stößt.

0NF — NAIVE TABELLE AUS DEM LEBEN

Ein Bibliotheksmitarbeiter erfasst Ausleihen in Excel — so wie es ihm natürlich erscheint: eine Zeile pro Ausleihe, alle ausgeliehenen Bücher kommagetrennt in einer Zelle. Keine IDs, keine Nummern, einfach drauflosgetippt.

Die roten Felder enthalten Listen — mehrere Werte in einer Zelle. Das ist das Problem.

AusleihNrDatumSchülerKlasseBücherRückgabedatum
200112.04.2026Anna Weber7aTschick, Krabat26.04.2026
200213.04.2026Ben Klein8bDie Welle27.04.2026
200314.04.2026Clara Neumann7aMomo; Tintenherz28.04.2026

WARUM IST DAS EIN PROBLEM?

Die Spalte Bücher enthält mehrere Werte in einer Zelle — sie ist nicht atomar. Das führt zu konkreten Problemen:

• Wie findet man alle Ausleihen des Buches „Krabat"? Man müsste jeden Zellinhalt manuell durchsuchen.
• Was wenn ein Buch einen Preis bekommt? Man kann ihn nicht eindeutig einer Zeile zuordnen.
• Wie zählt man, wie oft „Tschick" ausgeliehen wurde? Unmöglich mit SQL.

→ Lösung: 1NF — jede Zelle darf nur einen Wert enthalten.

ANOMALIE 1 — ÄNDERUNGSANOMALIE

Anna Weber gibt beide Bücher am 26.04. zurück. Was passiert, wenn sie eine Verlängerung bekommt? Das Rückgabedatum steht in beiden Zeilen — man muss es an zwei Stellen ändern. Vergisst man eine, sind die Daten widersprüchlich.

ANOMALIE 2 — EINFÜGEANOMALIE

Ein neues Buch soll in die Bibliothek aufgenommen werden — es wurde noch nie ausgeliehen. Wo trägt man es ein? Es gibt keine Zeile ohne Ausleihe. Man kann das Buch nicht erfassen, ohne eine Ausleihe zu erfinden.

ANOMALIE 3 — LÖSCHANOMALIE

Ben Klein gibt „Die Welle" zurück und die Ausleihe wird gelöscht. Damit verschwindet auch die Information, dass Ben Klein in der 8b ist — obwohl er noch Schüler ist. Löscht man eine Ausleihe, verliert man Schülerdaten.

1NF — ATOMARE WERTE

Eine Tabelle ist in 1NF, wenn alle Attributwerte atomar sind — nicht weiter zerlegbar, keine Listen, keine Wiederholungsgruppen.

Was wir tun: Jedes Buch bekommt eine eigene Zeile. Eine Ausleihe mit zwei Büchern ergibt zwei Zeilen — mit derselben AusleihNr.

AusleihNr ¹DatumSchülerKlasseBuch ²Rückgabedatum
200112.04.2026Anna Weber7aTschick26.04.2026
200112.04.2026Anna Weber7aKrabat26.04.2026
200213.04.2026Ben Klein8bDie Welle27.04.2026
200314.04.2026Clara Neumann7aMomo28.04.2026
200314.04.2026Clara Neumann7aTintenherz28.04.2026

¹² = zusammengesetzter Schlüssel (AusleihNr, Buch)  ·  Rot = redundante Wiederholung — dieselben Werte stehen mehrfach

WAS WURDE GETAN?

Die Mehrfachwerte in Bücher wurden aufgelöst. Jetzt steht pro Zelle nur ein Wert — 1NF ist erfüllt.

NEUES PROBLEM: PARTIELLE ABHÄNGIGKEIT

Der zusammengesetzte Schlüssel ist (AusleihNr, Buch). Aber:

Datum, Schüler, Klasse, Rückgabedatum hängen nur von AusleihNr ab — nicht vom Buch.
• Deshalb stehen diese Werte mehrfach in der Tabelle (rot markiert).
• Ändert sich z.B. das Rückgabedatum von Ausleihe 2001, muss man zwei Zeilen anpassen. Vergisst man eine, sind die Daten inkonsistent.

→ Das verletzt die 2NF. Lösung: Tabellen aufteilen.

2NF — VOLLE FUNKTIONALE ABHÄNGIGKEIT

Eine Tabelle ist in 2NF, wenn jedes Nicht-Schlüssel-Attribut voll funktional abhängig vom gesamten Schlüssel ist — nicht nur von einem Teil.

Was wir tun: Wir trennen Ausleihdaten von den ausgeliehenen Büchern in zwei Tabellen. Dabei führen wir numerische IDs ein — Texte als Schlüssel sind fehleranfällig.

AUSLEIHE

AusleihNrDatumSchülerKlasseRückgabedatum
200112.04.2026Anna Weber7a26.04.2026
200213.04.2026Ben Klein8b27.04.2026
200314.04.2026Clara Neumann7a28.04.2026

⚠ Gelb: Klasse hängt vom Schüler ab, nicht von AusleihNr — transitive Abhängigkeit.

AUSLEIHPOSITION

AusleihNrBuch
2001Tschick
2001Krabat
2002Die Welle
2003Momo
2003Tintenherz

WAS WURDE GETAN?

Die Ausleihdaten (Datum, Schüler, Klasse, Rückgabedatum) wurden von den einzelnen Büchern getrennt. In AUSLEIHPOSITION steht nur noch, welche Bücher zu welcher Ausleihe gehören — 2NF ist erfüllt.

NEUES PROBLEM: TRANSITIVE ABHÄNGIGKEIT

In der Tabelle AUSLEIHE gilt:

AusleihNr → Schüler → Klasse

Die Klasse hängt nicht direkt von der AusleihNr ab — sie hängt vom Schüler ab. Anna Weber ist immer in 7a, egal bei welcher Ausleihe. Wenn Anna in die 8a versetzt wird, müssen alle ihre Ausleihen geändert werden.

Außerdem: Buchtitel stehen mehrfach in AUSLEIHPOSITION. Sobald man Autor oder ISBN ergänzt, stünden Buchdaten redundant in jeder Zeile.

→ Das verletzt die 3NF. Lösung: Schüler und Bücher in eigene Tabellen auslagern.

VERSTÄNDNISFRAGE

Warum hängt Rückgabedatum in der Tabelle AUSLEIHE voll von AusleihNr ab?

3NF — KEINE TRANSITIVE ABHÄNGIGKEIT

Eine Tabelle ist in 3NF, wenn kein Nicht-Schlüssel-Attribut transitiv vom Primärschlüssel abhängt — d.h. kein Nicht-Schlüssel-Attribut darf von einem anderen Nicht-Schlüssel-Attribut bestimmt werden.

Was wir tun: Schülerdaten und Buchdaten werden in eigene Tabellen ausgelagert. In AUSLEIHE und AUSLEIHPOSITION stehen danach nur noch Fremdschlüssel.

SCHÜLER ✓ NEU

SchülerNrNameKlasse
S1Anna Weber7a
S2Ben Klein8b
S3Clara Neumann7a

Name und Klasse stehen genau einmal. Wird eine Klasse geändert, reicht eine Zeile.

BUCH ✓ NEU

BuchNrTitelAutor
B1TschickWolfgang Herrndorf
B2KrabatOtfried Preußler
B3Die WelleMorton Rhue
B4MomoMichael Ende
B5TintenherzCornelia Funke

Buchdaten stehen genau einmal. Autor, Erscheinungsjahr, ISBN können einfach ergänzt werden.

AUSLEIHE ✓ BEREINIGT

AusleihNrDatumSchülerNrRückgabedatum
200112.04.2026S126.04.2026
200213.04.2026S227.04.2026
200314.04.2026S328.04.2026

Statt Name und Klasse steht hier nur noch SchülerNr als Fremdschlüssel.

AUSLEIHPOSITION ✓ BEREINIGT

AusleihNrBuchNr
2001B1
2001B2
2002B3
2003B4
2003B5

Statt Buchtitel steht hier nur noch BuchNr als Fremdschlüssel.

WAS WURDE GETAN?

Die transitive Kette AusleihNr → Schüler → Klasse wurde aufgelöst: Schülerdaten haben eine eigene Tabelle. Die redundanten Buchtitel in AUSLEIHPOSITION wurden durch Fremdschlüssel ersetzt.

Jetzt gilt:

SchülerNr → Name, Klasse
BuchNr → Titel, Autor
AusleihNr → Datum, SchülerNr, Rückgabedatum
(AusleihNr, BuchNr) → einzelne Ausleihposition

Kein Attribut hängt mehr indirekt von einem Schlüssel ab. 3NF ist erfüllt.

KURZFASSUNG
NormalformProblem vorherÄnderung
0NFMehrere Bücher in einer ZelleBücher in einzelne Zeilen aufteilen
1NFAusleihdaten hängen nur von AusleihNr ab, nicht vom ganzen SchlüsselAusleihe und Ausleihposition trennen
2NFKlasse hängt von Schüler ab; Buchtitel mehrfachSchüler und Bücher in eigene Tabellen auslagern
3NFKeine transitiven Abhängigkeiten mehrStruktur ist sauber normalisiert ✓
ABSCHLUSSQUIZ

FRAGE 1 VON 3

Eine Tabelle hat den zusammengesetzten Schlüssel (BestellNr, ProduktNr). Das Attribut Produktname hängt nur von ProduktNr ab. Welche Normalform ist verletzt?

ENDERGEBNIS IN 3NF

Schüler(SchülerNr, Name, Klasse)
Buch(BuchNr, Titel, Autor)
Ausleihe(AusleihNr, Datum, SchülerNr, Rückgabedatum)
Ausleihposition(AusleihNr, BuchNr)

Kein Attribut hängt mehr indirekt von einem Schlüssel ab. Keine Redundanz. Keine Anomalien.

ERGEBNIS MODUL 04

Du hast die Blöcke M (ER-Modell) und N (Normalisierung) bearbeitet. Hier ist dein Ergebnis:

0 von 250 XP

M · ER-MODELL

Kardinalitäten-Quiz0 / 40 XP
Zuordnungsaufgabe0 / 30 XP

N · NORMALISIERUNG

Anomalien erkannt0 / 20 XP
2NF Verständnisfrage0 / 20 XP
Abschlussquiz (3×)0 / 60 XP

ERGEBNIS

Weiter in Modul 05: LEFT JOIN · GROUP BY · HAVING