Sternschema
Das Sternschema hat sich als logisches Datenbankschema für Data-Warehouse-Anwendungen und Business Intelligence (BI) durchgesetzt. Es besteht aus einer Faktentabelle und mehreren Dimensionstabellen, die sternförmig um die Faktentabelle angeordnet werden.
Fakten sind Ereignisse wie Umsätze, Kosten oder Login-Daten, die gezählt oder gemessen werden können. Die zugehörigen Dimensionen enthalten zusätzliche beschreibende Informationen zu den Fakten wie Datum, Produkt oder Kunden.
Sternschemata sind für die Abfrage von großen Datenmengen (Big Data) optimiert, die in Data Warehouses und Data Marts abgelegt sind. Sie unterstützen OLAP-Würfel, Business Intelligence, analytische Anwendungen und Ad-hoc-Abfragen.
Im Data Warehouse oder Data Mart enthält die Faktentabelle Fremdschlüssel auf die Dimensionseinträge, die deren Bedeutung definieren. Die Dimensionstabelle hat einen einzigen Primärschlüssel, der jeden Datensatz (Zeile) eindeutig identifiziert. Die Faktentabelle enthält den Primärschlüssel jeder zugehörigen Dimensionstabelle als Fremdschlüssel.
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. Die Faktentabelle enthält auch einen oder mehrere numerische Maßgrößen.
Ein Beispiel: Eine einfache Faktentabelle mit Vertriebszahlen zu Millionen von Bekleidungsverkäufen enthält einen Produktschlüssel, Werbungsschlüssel, Kundenschlüssel und Datumsschlüssel sowie Informationen zu den verkauften Einheiten und zum erzielten Umsatz. Die Produkt-Dimension würde Referenzinformationen wie Produktname, Beschreibung des Produkts, Größe und Farbe enthalten. Die Werbungs-Dimension enthält Informationen wie den Namen der Werbekampagne oder den Preis, die Kunden-Dimension Daten wie Vor- und Nachname, Geburtsdatum, Geschlecht, Anschrift, etc. des Kunden. Die Daten-Dimension umfasst Kalenderdatum, Woche, Monat, Quartal, Jahr, und so weiter. Diese einfache Vertriebs-Faktentabelle ermöglicht damit Anfragen wie „Umsatz für alle im ersten Quartal 2010 verkaufte Bekleidungsstücke“ oder „Anzahl der weiblichen Kunden, die im Dezember 2009 fünf oder mehr Kleider gekauft haben“.
Das Sternschema unterstützt die schnelle Aggregation vieler Fakten-Elemente (zum Beispiel Anzahl, Summe und Durchschnitt); diese Ergebnisse lassen sich dann durch die Dimensionen einfach filtern und gruppieren. Online Analytical Processing (OLAP) Datenbanken (Data Warehouses und Data Marts) verwenden in der Regel ein denormalisiertes Sternschema, das unterschiedliche, aber miteinander verbundene Informationen in einer Dimensionstabelle speichert, um Abfragen für große Datenmengen zu optimieren. Ein Sternschema lässt sich aber teilweise normalisieren (Schneeflocken-Schema), sprich verwandte und verknüpfte Informationen werden in mehreren Dimensionstabellen gespeichert, um bestimmte Data Warehousing-Anforderungen zu unterstützen.
Im Gegensatz dazu verwendet eine OLTP-Datenbank (Online Transaction Processing) ein normalisiertes Datenbank-Schema. Hier werden unterschiedliche, aber miteinander verknüpfte Informationen in getrennten, verknüpften Tabellen gespeichert, um die Integrität der Transaktionen zu gewährleisten und die Verarbeitung einzelner Transaktionen zu optimieren.
Zu beachten ist die Größe von Dimensionstabellen. Faktentabellen können in einem Sternschema oft mehr als zehn Millionen Datensätze umfassen. Dimensionstabellen sind zwar kleiner, können bei einzelnen Dimensionen jedoch eine erhebliche Größe annehmen und so die Zugriffszeit verlängern. Daher empfiehlt es sich, diese sehr große Dimensionstabellen durch Normalisierung in ein Schneeflockenschema zu verwandeln.