Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Data Warehouse Design für M-Stay: Von der OLTP-Datenbank zum Star-Schema

Lerne, wie du aus einer operativen Datenbank ein Data Warehouse mit Star-Schema für die Ferienvermietungsplattform M-Stay entwirfst – inklusive Datenbereinigung, Dimensionen und Fakten.

Data Warehouse Design Star-Schema M-Stay Datenbereinigung SQL BI-Report Ferienvermietung Fit3003 Assignment 2 OLTP zu DWH Dimensionen und Fakten Drill-down Granularität Listing-Dimension Buchungsanalyse Business Intelligence Studium Data Warehouse Tutorial Deutsch M-Stay Datenbank Star-Schema Beispiel

Einleitung: Warum Data Warehousing für M-Stay?

Die Plattform M-Stay wächst rasant – ähnlich wie ein trendiges Startup im Bereich KI-gestützter Reiseplanung. Täglich fallen Tausende von Buchungen, Bewertungen und Gastdaten an. Damit das Management schnell fundierte Entscheidungen treffen kann, reicht die operative Datenbank nicht mehr aus. Ein Data Warehouse (DWH) strukturiert die Daten neu, optimiert sie für Analysen und ermöglicht BI-Reports. In diesem Tutorial lernst du, wie du aus der vorhandenen M-Stay-Datenbank ein Star-Schema entwirfst – inklusive Datenbereinigung, Dimensions- und Faktenmodellierung.

1. Datenexploration und -bereinigung

Bevor du das DWH designst, musst du die Quelldaten verstehen. Führe dazu explorative SQL-Abfragen aus, z. B.:

SELECT * FROM MStay.REVIEW WHERE ROWNUM <= 10;

Prüfe auf NULL-Werte, Duplikate und Inkonsistenzen. Typische Strategien:

  • Entfernen von Duplikaten – z. B. bei HOST_VERIFICATION mit DISTINCT
  • Ersetzen von NULL-Werten – z. B. Prop_Rating_Location durch Durchschnitt ersetzen
  • Standardisierung von Datumsformaten – alle Daten auf einheitliches Format bringen

Zeige vorher/nachher Screenshots (hier als Platzhalter).

2. Das Star-Schema für Design Task A

Das Star-Schema zentriert eine Faktentabelle um mehrere Dimensionen. Für M-Stay sind folgende Kennzahlen gefragt:

  • Anzahl der Bewertungen
  • Anzahl der Inserate
  • Durchschnittliche Buchungskosten

Dimensionen

Die geforderten Dimensionen:

  • Listing-Dimension: Typ, Zeit (Monat, Jahr), Saison, max. Aufenthaltsdauer, Preisklasse, Channel
  • Buchungs-Dimension: Dauer, Kostenklasse
  • Bewertungs-Dimension: Zeit (Monat, Jahr)

Faktentabellen

Du brauchst zwei Faktentabellen:

  1. Fact_Booking: Booking_ID, Kosten, Dauer, Anzahl Gäste, sowie Fremdschlüssel zu Listing- und Buchungs-Dimensionen
  2. Fact_Review: Review_ID, Kommentar, Fremdschlüssel zu Bewertungs- und Buchungs-Dimensionen

Beispielabfrage: „Wie viele Inserate mit Langzeitaufenthalt gibt es auf Facebook?“

SELECT COUNT(*) FROM Fact_Listing f JOIN Dim_Channel c ON f.Channel_ID = c.Channel_ID WHERE c.Channel_Name = 'Facebook' AND f.Max_Stay_Category = 'long-term';

3. Implementierung des Star-Schemas in SQL

Erstelle die Tabellen:

CREATE TABLE Dim_Listing_Type (...);
CREATE TABLE Dim_Time (...);
CREATE TABLE Dim_Channel (...);
CREATE TABLE Fact_Booking (...);
CREATE TABLE Fact_Review (...);

Füge Constraints und Indizes hinzu. Lade Daten aus der operativen DB mit INSERT INTO ... SELECT.

4. Design Task B: Granularität erhöhen

Der Manager möchte Drill-downs auf tieferer Ebene. Vorschläge:

  • Füge eine Dimension für einzelne Gäste hinzu (Guest_ID, Name, …)
  • Füge eine Dimension für einzelne Hosts hinzu (Host_ID, Name, …)
  • Speichere jede einzelne Buchung als Zeile (statt aggregiert)
  • Füge Attribute wie Bewertungs-Score als Maß hinzu

Damit sinkt die Aggregation, und detaillierte Analysen werden möglich.

Fazit

Mit einem gut designten Star-Schema kann M-Stay schnell BI-Reporte generieren – ähnlich wie Echtzeit-Dashboards in modernen KI-Apps. Die Datenbereinigung und Modellierung sind entscheidend für die Qualität der Analysen. Viel Erfolg bei deinem Assignment!