Sternschema im DWH-Umfeld

Das Sternschema ist ein populäres Datenmodell im Data Warehouse (DWH)-Umfeld, das eine effiziente Datenorganisation für Abfragezwecke ermöglicht. Es besteht aus einer zentralen Faktentabelle, die mit einer oder mehreren Dimensionstabellen verknüpft ist. Die Faktentabelle enthält quantitative Daten (z.B. Verkaufszahlen), während die Dimensionstabellen beschreibende, kategorische Informationen (z.B. Zeit, Kundeninformationen) enthalten.

Struktur:

  • Faktentabelle: Enthält die Hauptdaten und Schlüssel zu den Dimensionstabellen.
  • Dimensionstabellen: Enthalten Details und beschreibende Daten, verknüpft mit der Faktentabelle über Fremdschlüssel.

Vorteile:

  • Abfrageleistung: Optimiert für Abfrageleistung durch Denormalisierung.
  • Verständlichkeit: Einfach zu verstehen und zu navigieren.
  • Flexibilität: Ermöglicht flexible und vielfältige Abfragen.

Beispiel für MS SQL Server:

Angenommen, Sie haben ein DWH für ein Einzelhandelsunternehmen, das Verkaufsdaten speichert.

1. Dimensionstabellen erstellen

-- Zeit Dimension
CREATE TABLE DimZeit (
ZeitID INT IDENTITY(1,1) PRIMARY KEY,
Datum DATE,
Jahr INT,
Monat INT,
Tag INT
);

-- Kunden Dimension
CREATE TABLE DimKunde (
KundeID INT IDENTITY(1,1) PRIMARY KEY,
Name NVARCHAR(100),
Email NVARCHAR(100)
);

In diesem Beispiel haben wir zwei Dimensionstabellen erstellt: DimZeit für Zeitinformationen und DimKunde für Kundeninformationen.

2. Faktentabelle erstellen

-- Verkauf Faktentabelle
CREATE TABLE FaktVerkauf (
VerkaufID INT IDENTITY(1,1) PRIMARY KEY,
ZeitID INT FOREIGN KEY REFERENCES DimZeit(ZeitID),
KundeID INT FOREIGN KEY REFERENCES DimKunde(KundeID),
Verkaufsbetrag DECIMAL(10, 2)
);

Hier haben wir eine Faktentabelle FaktVerkauf erstellt, die Verkaufsbeträge speichert und mit den Dimensionstabellen über ZeitID und KundeID verknüpft ist.

3. Daten einfügen

-- Daten in die Dimensionstabellen einfügen
INSERT INTO DimZeit (Datum, Jahr, Monat, Tag) VALUES ('2023-10-01', 2023, 10, 1);
INSERT INTO DimKunde (Name, Email) VALUES ('Max Mustermann', 'max.mustermann@example.com');

-- Daten in die Faktentabelle einfügen
INSERT INTO FaktVerkauf (ZeitID, KundeID, Verkaufsbetrag) VALUES (1, 1, 100.00);

4. Abfragen

-- Abfrage, um den Gesamtverkaufsbetrag pro Kunde zu erhalten
SELECT k.Name, SUM(v.Verkaufsbetrag) as GesamtVerkauf
FROM FaktVerkauf v
JOIN DimKunde k ON v.KundeID = k.KundeID
GROUP BY k.Name;

In dieser Abfrage verbinden wir die Faktentabelle mit der Kundendimensionstabelle, um den Gesamtverkaufsbetrag pro Kunde zu ermitteln.

Fazit:

Das Sternschema ist ein effizientes und weit verbreitetes Modell für Data Warehouses, das eine schnelle und flexible Datenabfrage ermöglicht. Durch die klare Trennung von Fakten- und Dimensionstabellen können Benutzer leicht komplexe Abfragen erstellen, um wertvolle Erkenntnisse aus ihren Daten zu gewinnen.

Wie hat dir der Artikel gefallen?

Vielen Dank für dein Feedback!
Über Frank 70 Artikel

Ich bin Frank, Data Warehouse und BI-Entwickler mit langjähriger Expertise in diesem Bereich. Ich verfüge über mehr als 20 Jahre Berufserfahrung im DWH Umfeld. Das Analysieren und Interpretieren von Zahlen, Daten und Fakten ist meine große Leidenschaft, aus diesem Grunde ist auch diese Seite hier entstanden.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*