Denormalisierung ist die bewusste Gegenrichtung zur Normalisierung: Statt Redundanz zu vermeiden, nimmt sie gezielt doppelte Daten in Kauf, um Abfragen zu beschleunigen. Während die Normalformen Tabellen sauber und konsistent halten, sorgt die Denormalisierung dafür, dass die Datenbank bei vielen Lesezugriffen schneller antwortet.
Warum normalisierte Datenbanken langsam werden können
Ein stark normalisiertes Schema verteilt Daten auf viele kleine Tabellen. Eine Auswertung muss dann zahlreiche Tabellen über Fremdschlüssel verbinden – jeder JOIN kostet Rechenzeit. Bei umsatzstarken Systemen mit Millionen Datensätzen kann genau das den Unterschied zwischen einer schnellen und einer trägen Anwendung ausmachen.
Ein klassisches Beispiel: In einer Bestelltabelle steht der Kundenname nicht direkt, sondern nur die Kunden-ID – der Name liegt in der Kundentabelle. Für eine Rechnungsliste muss die Datenbank beide Tabellen verbinden. Speichert die Bestelltabelle den Namen zusätzlich direkt, entfällt der Join – der Preis dafür ist, dass der Name bei jeder Änderung mehrfach gepflegt werden muss.
Typische Techniken
- Redundante Spalten: häufig abgefragte Felder werden direkt in die Tabelle aufgenommen (Beispiel oben).
- Zusammenfassende Tabellen: vorberechnete Summen oder Zählwerte, etwa monatliche Verkaufszahlen.
- Materialisierte Sichten: Abfrageergebnisse werden dauerhaft gespeichert und bei Bedarf aktualisiert.
- Star-Schema: das typische Design für Data Warehouses – die zentrale Faktentabelle ist bewusst denormalisiert, die Dimensionstabellen sind direkt angebunden.
Vorteile und Nachteile
Der größte Vorteil ist die Leseleistung: weniger Joins, einfachere Abfragen, oft deutlich geringere Antwortzeiten. Die Nachteile liegen in der Konsistenz: Redundante Daten können auseinanderlaufen, Schreibvorgänge werden aufwendiger, und die Gefahr von Inkonsistenzen steigt. Denormalisierung ist deshalb eine bewusste Design-Entscheidung, die sich vor allem bei leseintensiven Systemen wie Reporting, Data Warehousing oder Analytics lohnt – nicht bei jeder Alltagsanwendung.
Wann sich Denormalisierung lohnt
Als Faustregel gilt: Normalisieren für die Schreibseite (konsistente Stammdaten), denormalisieren für die Lese- und Analysesite. Die Datenmodellierung wägt genau diese Abwägung ab; auch die relationale Algebra spielt hinein, denn sie zeigt, welche Operationen eine Abfrage kostet. Bei sehr großen Datenmengen helfen zusätzlich Indizes und eine gezielte Query-Optimierung.
Verwandte Grundlagen: Relationale Algebra · Datenmodellierung.