WikiDer > Denormalisierung

Denormalisatie

Denormalisieren ist die absichtliche teilweise Umkehrung des Normalisierung eines Datenmodells. Die Denormalisierung bietet die Möglichkeit, das DBMS zu zwingen, Daten zusammen oder getrennt voneinander zu speichern. Besonders in Data Warehouse-Umgebungen Denormalisierung wird angewendet, um den Umfang des Plattenzugriffs zu reduzieren (Eingabe/Ausgabe, kurz: IO) begrenzen.

Formen der Denormalisierung

Selektive Redundanz

Wenn häufig eine Teilmenge der Attribute einer Beziehung als Teil der Verwendung einer anderen Beziehung angefordert wird, wird ein (redundant) Kopie dieser Teilmenge werden in die andere Relation gestellt. Dies hat den Vorteil, dass die E/A über die ursprüngliche Beziehung abnimmt.

Aufteilungsattribute

Wenn eine Teilmenge der Attribute einer Relation viel häufiger angefordert wird als die anderen Attribute, kann diese Teilmenge in einer eigenen Relation untergebracht werden. Dies hat wiederum den Vorteil, dass die E/A über die erste Relation abnimmt. Außerdem ist die -oft besuchte- neue Relation kleiner und verbraucht daher weniger Speicher.

Verwendung von nicht-skalaren Attributen

Wenn eine Relation unter einem hohen Aktualisierungsvolumen 'leidet', können verwandte Daten - zum Beispiel durch Kommas getrennt - in ein Attribut gepackt werden. Die Daten werden gepuffert und mit einem Update verarbeitet.

Verwendung von wiederholten Attributen

Bei gleichem hohen Aktualisierungsvolumen besteht auch die Möglichkeit, die Daten wahlweise in separate (wiederholte) Attribute zu gruppieren und so die Anzahl der Aktualisierungen zu reduzieren.

Speicherung abgeleiteter Daten

Wenn eine Berechnung für einen Satz von Attributen häufig durchgeführt wird, kann das Ergebnis gespeichert werden. Die Denormalisierung ergibt sich aus der Tatsache, dass das neue Attribut - durch die Art der Berechnung - funktionsabhängig besteht aus einer Anzahl von Attributen aus einer oder mehreren Relationen. Beim Aktualisieren einer der zugrunde liegenden Relationen muss auch die Berechnung erneut durchgeführt werden.

Auswirkungen

Jede Denormalisierung leidet darunter, dass die Daten nicht mehr eindeutig gespeichert werden, so dass Anomalien aktualisieren stammen. Diese werden oft mit speziell entwickelten Verfahren gelöst, die Konsistenz Garantie.