Grundlagen der Datenbanken
In einer Datenbank, die überwiegend zum Lesen und Aggregieren dient, werden normalisierte Tabellen manchmal absichtlich zu einer zusammengeführt, sodass dieselben Daten mehrfach gehalten werden (Denormalisierung). Welche Kombination aus Vorteil und Nachteil dieses Entwurfs ist richtig?
- ADer Speicherbedarf sinkt, weil Duplikate verschwinden, doch das Lesen wird langsamer, weil mehr Joins nötig sind
- BLesen und Ändern werden beide schneller, und die Datenkonsistenz bleibt automatisch gewahrt
- CDas Lesen wird schneller, weil weniger Joins nötig sind, doch der Aufwand für Änderungen steigt, um die mehrfach gehaltenen Daten konsistent zu halten
Antwort und Erläuterung anzeigen
Antwort: C. Das Lesen wird schneller, weil weniger Joins nötig sind, doch der Aufwand für Änderungen steigt, um die mehrfach gehaltenen Daten konsistent zu halten
Normalisierung beseitigt doppelt gespeicherte Daten und verhindert Änderungsanomalien, doch dann erfordert jede Suche Joins über mehrere Tabellen. Wo die Leseleistung zählt, wird die Normalisierung manchmal absichtlich aufgebrochen, indem häufig gemeinsam verwendete Spalten in einer Tabelle zusammengeführt oder aggregierte Ergebnisse als Spalten gespeichert werden. Das nennt man Denormalisierung. Mit weniger Joins wird das Lesen schneller, doch da dieselben Daten an mehreren Stellen gespeichert sind, muss jede Änderung alle Stellen korrekt aktualisieren, was den Änderungsaufwand und das Risiko von Widersprüchen erhöht. Auch der Speicherbedarf steigt im Allgemeinen. Datenbanken für die Transaktionsverarbeitung mit vielen Änderungen werden daher grundsätzlich normalisiert, und Denormalisierung wird nur dort eingesetzt, wo sie nötig ist, nachdem Nutzen und Preis abgewogen wurden.