Zum Inhalt springen
YellowBlue
IT-Grundlagen4 Min. Lesezeit

Normalisierung: Datenbanken ohne Redundanz

Kurzantwort

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.

Teil des Lernpfads Datenbanken und SQL · Schritt 3 von 9

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 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:

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".

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.

Selbstkontrolle

Selbstkontrolle

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

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 · SQL-JOINs erklärt: INNER JOIN und LEFT JOIN · Was ist eine Datenbank? Tabellen und SQL

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".

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.