# Normalisierung: Datenbanken ohne Redundanz

> Normalisierung teilt Datenbanktabellen so auf, dass keine überflüssigen Wiederholungen (Redundanzen) entstehen. Man arbeitet sich durch die Normalformen: Die erste sorgt für atomare Werte, die zweite entfernt Teilabhängigkeiten vom Schlüssel, die dritte transitive Abhängigkeiten. Das Ergebnis sind saubere Tabellen ohne widersprüchliche oder doppelte Daten.

**Autor:** Mr. Benjamin · **Beruf:** IT-Grundlagen
**Veröffentlicht:** 2026-07-16 · **Aktualisiert:** 2026-07-16
**Quelle:** https://yellowbluetech.de/blog/normalisierung

---

Speichert man alle Daten in einer einzigen großen Tabelle, wiederholen sich Angaben ständig – und genau das führt zu Fehlern. Die Normalisierung räumt damit auf. Sie ist Pflichtstoff der Ausbildung und baut auf dem [ER-Modell](/blog/er-modell-datenbanken-planen) auf.

## Warum normalisieren?

Stell dir eine Bestelltabelle vor, in der bei jeder Bestellung auch Name und Ort des Kunden stehen. Bestellt ein Kunde zehnmal, steht sein Name zehnmal da. Das nennt man **Redundanz** – und sie ist gefährlich:

> **Merksatz**
>
> Redundanz führt zu **Anomalien**: Zieht der Kunde um, müsstest du den Ort in allen zehn Zeilen ändern – vergisst du eine, widersprechen sich die Daten. Normalisierung beseitigt solche Wiederholungen, indem sie die Daten sinnvoll auf mehrere Tabellen aufteilt.

## Die erste Normalform (1NF)

Eine Tabelle ist in der **1. Normalform**, wenn **jeder Wert atomar** ist – also unteilbar – und es keine Wiederholungsgruppen gibt. In eine Zelle gehört genau ein Wert, nicht „Maus, Tastatur, Monitor".

```text
NICHT 1NF:                    1NF (aufgeteilt in Zeilen):
BestellNr | Artikel           BestellNr | Artikel
100       | Maus, Tastatur    100       | Maus
                              100       | Tastatur
```

## Die zweite Normalform (2NF)

Eine Tabelle ist in der **2. Normalform**, wenn sie in 1NF ist **und jedes Nichtschlüsselattribut vom gesamten Schlüssel abhängt** – nicht nur von einem Teil.

Das betrifft zusammengesetzte Schlüssel. Hat eine Bestelltabelle den Schlüssel (BestellNr, Artikel), der Artikelpreis hängt aber nur vom **Artikel** ab (nicht von der Bestellung), liegt eine **Teilabhängigkeit** vor. Lösung: Artikel und Preis wandern in eine eigene Artikeltabelle.

## Die dritte Normalform (3NF)

Eine Tabelle ist in der **3. Normalform**, wenn sie in 2NF ist **und kein Nichtschlüsselattribut von einem anderen Nichtschlüsselattribut abhängt** (keine **transitive Abhängigkeit**).

Steht in der Bestelltabelle neben der KundenNr auch der Kundenname, hängt der Name von der KundenNr ab – und die ist selbst kein Schlüssel. Lösung: Die Kundendaten kommen in eine eigene Kundentabelle, verknüpft über die KundenNr als Fremdschlüssel.

> **Prüfungstipp**
>
> Merke die drei Stufen als Kette: **1NF** – atomare Werte, keine Mehrfachwerte in einer Zelle. **2NF** – keine Teilabhängigkeit vom zusammengesetzten Schlüssel. **3NF** – keine transitive Abhängigkeit zwischen Nichtschlüsselattributen. In der Prüfung sollst du oft eine unnormalisierte Tabelle bis zur 3NF zerlegen. Faustregel: „Jedes Attribut hängt vom Schlüssel ab, vom ganzen Schlüssel und von nichts als dem Schlüssel."

## Selbstkontrolle

**Frage:** In einer Tabelle steht neben der KundenNr auch der Kundenname, der von der KundenNr abhängt. Welche Normalform ist dadurch verletzt?

- [ ] Die erste Normalform.
- [ ] Die zweite Normalform.
- [x] Die dritte Normalform.
- [ ] Keine, die Tabelle ist normalisiert.

**Erklärung:** Der Kundenname hängt von der KundenNr ab, und die KundenNr ist selbst kein Schlüssel. Das ist eine transitive Abhängigkeit zwischen Nichtschlüsselattributen, die in der dritten Normalform nicht erlaubt ist. Die Lösung ist eine eigene Kundentabelle.

## Häufige Fragen

### Was ist Redundanz in einer Datenbank?

Redundanz bedeutet, dass dieselbe Information mehrfach gespeichert ist, obwohl einmal genügen würde. Das kostet nicht nur Platz, sondern führt vor allem zu Widersprüchen, wenn eine Kopie geändert wird und die anderen nicht. Normalisierung beseitigt vermeidbare Redundanz.

### Was sind Anomalien?

Anomalien sind Fehler, die durch redundante Daten beim Einfügen, Ändern oder Löschen entstehen. Ändert man einen Wert nur an einer von mehreren Stellen, widersprechen sich die Daten. Löscht man eine Zeile, gehen womöglich Informationen verloren, die man noch braucht. Normalisierung verhindert solche Anomalien.

### Muss man immer bis zur dritten Normalform normalisieren?

In der Praxis ist die dritte Normalform meist das Ziel, weil sie einen guten Ausgleich zwischen sauberer Struktur und Handhabbarkeit bietet. Es gibt höhere Normalformen, die aber seltener nötig sind. Manchmal wird aus Geschwindigkeitsgründen bewusst wieder etwas denormalisiert, das ist dann eine gezielte Ausnahme.

### Was ist eine transitive Abhängigkeit?

Eine transitive Abhängigkeit liegt vor, wenn ein Nichtschlüsselattribut nicht direkt vom Schlüssel abhängt, sondern über ein anderes Nichtschlüsselattribut. Beispiel: Der Ort hängt von der Postleitzahl ab, die Postleitzahl vom Kunden. Solche Ketten löst die dritte Normalform auf, indem sie sie in eigene Tabellen auslagert.

**Weiterlesen:** [DDL und DML: SQL-Befehle im Überblick](/blog/ddl-dml-sql) · [SQL-JOINs erklärt: INNER JOIN und LEFT JOIN](/blog/sql-joins) · [Was ist eine Datenbank? Tabellen und SQL](/blog/was-ist-eine-datenbank)

## Das Wichtigste in Kürze

- **Normalisierung** beseitigt **Redundanz** und die daraus entstehenden **Anomalien**.
- **1NF**: atomare Werte, keine Mehrfachwerte in einer Zelle.
- **2NF**: keine **Teilabhängigkeit** vom zusammengesetzten Schlüssel.
- **3NF**: keine **transitive Abhängigkeit** zwischen Nichtschlüsselattributen.
- Faustregel: alles hängt ab „vom Schlüssel, vom ganzen Schlüssel und von nichts als dem Schlüssel".
