Sternschema
aus Wikipedia, der freien Enzyklopädie
Das Sternschema ist eine besondere Form eines Datenmodells, dessen Ziel nicht die Normalisierung ist, sondern eine Optimierung auf effiziente Leseoperationen. Hauptanwendungsfeld sind Data-Warehouse-Systeme und OLAP-Anwendungen.
Die Bezeichnung Sternschema rührt daher, dass die Tabellen sternförmig angeordnet werden: Im Zentrum steht eine Faktentabelle, um die sich mehrere Dimensionstabellen gruppieren.
Im Gegensatz zum Schneeflockenschema liegt ein Sternschema nicht in der dritten Normalform vor. Mögliche Anomalien werden dabei aus Performancegründen in Kauf genommen. Das Sternschema vermeidet das vorherige Zusammenführen der Dimensionstabellen über Joinanfragen.
Inhaltsverzeichnis |
[Bearbeiten] Fakten- und Dimensionstabellen
Die zu verwaltenden Daten werden als Fakten bezeichnet; sie werden typischerweise fortlaufend in der Faktentabelle gespeichert. Andere Namen für die Fakten sind Metriken oder Messwerte. Faktentabellen können sehr groß werden, was ein Data-Warehouse zwingt, die Daten nach und nach zu verdichten (aggregieren) und schließlich nach einer Halteperiode zu löschen oder auszulagern (Archivierung).
Im Gegensatz dazu enthält die Dimensionstabelle die „beschreibenden“ Daten. Die Faktentabelle enthält Fremdschlüssel auf die Dimensionseinträge, die deren Bedeutung definieren. Typischerweise stellt die Gesamtmenge der Fremdschlüssel auf die Dimensionstabellen gleichzeitig den Primärschlüssel in der Faktentabelle dar. Das impliziert, dass es jeden Eintrag zu einer Kombination von Dimensionen nur einmal geben kann.
Dimensionstabellen sind vergleichsweise statisch und üblicherweise erheblich kleiner als Faktentabellen. Die Bezeichnung „Dimension“ rührt daher, dass jede Dimensionstabelle eine Dimension eines mehrdimensionalen OLAP-Würfels darstellt.
Vorteil der Trennung von Fakten und Dimensionen ist, dass die Fakten nach jeder Dimension generisch und unabhängig analysiert werden können. Eine OLAP-Anwendung benötigt kein „Wissen“ über die Bedeutung einer Dimension. Die Interpretation ist allein dem Benutzer überlassen.
[Bearbeiten] Slowly Changing Dimensions
Ein Problem des Sternschemas ist, dass Daten in den Dimensionstabellen über einen langen Zeitraum hinweg einen Bezug auf Daten in den Faktentabellen haben. Über die Zeit hinweg können aber auch Änderungen der Dimensionsdaten notwendig werden. Diese Änderungen dürfen sich aber in der Regel nicht auf Daten vor der Änderung auswirken. Wenn sich beispielsweise der Verkäufer für eine Produktgruppe ändert, dann darf der jeweilige Eintrag in der Dimensionstabelle nicht einfach überschrieben werden. Stattdessen muss ein neuer Eintrag generiert werden, da sonst die Verkaufszahlen des vorherigen Verkäufers nicht mehr feststellbar wären. Ein Konzept zur Vermeidung solcher Konflikte sind Slowly Changing Dimensions.
[Bearbeiten] Beispiel
Beispielsweise sind die Dimensionstabellen Zeit, Kunde, Verkäufer, Produkt, während in der Faktentabelle Verkäufe, Lohnzahlungen, Kundenbesuche, etc. gespeichert sind.
In der Faktentabelle werden quantitative Daten gespeichert, beispielsweise die Anzahl der Verkäufe oder der Preis. Die Dimensiontabelle beschreibt das, was verkauft wurde, von wem, an wen und wann.
[Bearbeiten] Literatur
- R. Kimball & M. Ross: The Data Warehouse Toolkit. The Complete Guide to Dimensional Modeling. 2nd Edition, New York et al.: John Wiley & Sons, 2002 ISBN 0-471-20024-7