Relationale vs. dimensionale Datenbanken, was ist der Unterschied?

Ich versuche zu lernen über OLAP und data warehousing, und ich bin verwirrt über den Unterschied zwischen relationalen und dimensionalen Modellierung. Ist dreidimensionale Modellierung grundsätzlich relationale Modellierung, aber so für redundante/un-normalisierten Daten?

Zum Beispiel, sagen wir, ich habe historische Daten im Verkauf (Produkt, Stadt, # sales). Ich verstehe, dass das folgende wäre eine relationale Sicht:

Produkt | City | # Sales 
Äpfel, San Francisco, 400 
Äpfel, Boston, 700 
Äpfel, Seattle, 600 
Orangen, San Francisco, 550 
Orangen, Boston, 500 
Orangen, Seattle, 600 

Während der folgenden ist ein mehr dimensionales point-of-view:

Produkt | San Francisco | Boston | Seattle 
Äpfel, 400, 700, 600 
Orangen, 550, 500, 600 

Aber es scheint, wie beide Standpunkte würde dennoch umgesetzt werden, in einem identischen Stern-schema:

Fakt-Tabelle: Produkt-ID, Region-ID, # Sales 
Product-dimension: Produkt-ID, Produkt-Name 
Stadt Dimensions: Stadt-ID, Name der Stadt 

Und es ist nicht, bis Sie beginnen, hinzufügen von ein paar zusätzliche details zu jeder dimension, dass die Unterschiede beginnen aufspringen. Zum Beispiel, wenn Sie auf die Strecke wollten-Regionen, eine relationale Datenbank würde dazu neigen, eine separate region Tabelle, um Sie zu halten alles normalisiert:

Stadt Dimensions: Stadt-ID, City Name, Region ID 
Dimension Region: Region ID, Name der Region, Region Manager -, # Regional-Filialen 

Während eine dreidimensionale Datenbank würde es erlauben, Denormalisierung, dass die region Daten in der Stadt dimension, um die es leichter machen, schneiden Sie die Daten:

Stadt Dimensions: Stadt-ID, City Name, Region Name, Region Manager -, # Regional-Filialen 

Ist das richtig?

InformationsquelleAutor der Frage grautur | 2010-05-09

Schreibe einen Kommentar