2013-08-25 9 views
7

Eine OLAP-Datenbank besteht aus Daten in denormalisierter Form. Dies bedeutet Datenredundanz und diese Datenredundanz hilft, Daten über eine geringere Anzahl von Joins abzurufen, wodurch ein schnelleres Abrufen erleichtert wird.Ist ein Sternschema ein denormalisiertes Schema?

Aber ein beliebtes Design für OLAP-Datenbank ist Fact-Dimension-Modell. In der Faktentabelle werden numerische faktorbasierte Einträge (Anzahl der Verkäufe usw.) gespeichert, während Dimensionstabellen "beschreibende Attribute" in Bezug auf die Tatsache, d. H. Details des Kunden, an den der Verkauf getätigt wurde, speichern.

Meine Frage ist, in diesem Design scheint es überhaupt nicht denormalisiert, da alle Dimensionstabellen Fremdschlüssel Verweise auf die Faktentabelle haben. Wie unterscheidet es sich von einem OLTP-Design?

Antwort

7

Die Denormalisierung ist in den Dimensionstabellen in einem Sternschema: E. g. In einer Produkttabelle haben Sie explizit mehrere Spalten, wie z. B. mehrere Produktkategorieebenen in dieser einen Tabelle, anstatt für jede Ebene eine Tabelle zu verwenden und Fremdschlüssel zu verwenden, die auf diese Werte verweisen.

Das heißt, Sie haben eine Normalisierung in Bezug auf Fakten, aber keine Normalisierung in den Dimensionstabellen mehr.

Darüber hinaus denaturieren Sie oft nicht einmal vollständig die Fakten. Ein typisches Beispiel wäre dies: In einer vollständig normalisierten Tabelle würden Sie nur die Anzahl der verkauften Einheiten und den Preis pro Einheit verwenden, aber in einer OLAP-Datenbank kann es sinnvoll sein, eine weitere Spalte für die Spalte zu verwenden. Verkaufswert ", der leicht durch Multiplikation der verkauften Einheiten und des Preises pro Einheit berechnet werden könnte.

+0

@FrankPI wenn ich eine normalisierte Hierarchie wie Umfrage, Frage, Unterfrage, AntwortChoices habe - sagen wir 1 Dimensionstabelle mit Spalten: SurveyID, QuestionID, SubQuestionID, AnswerChoiceID, ... [Attribute von Umfragen, Fragen, Teilfragen und AnswerChoices? Dies wäre im Gegensatz zu den Tabellen DimSurvey, DimQuestion, DimSubQuestion, etc ...? – condiosluzverde

+0

@jmsmcfrlnd Dies hängt davon ab, wie Sie es abfragen möchten, ich. e. Was würden die Abfragen ausführen? Möglicherweise hängt dies auch von dem Tool, das Sie verwenden möchten, und seinen Abfragefunktionen ab. – FrankPl

+0

@FrankPI Das Tool zum Verwenden dieser Daten ist Cognos, das mit dem Framework logische Datenmodelle für die Abfrage erstellt. Wir werden die Antworten auf die Fragen der Umfrage abfragen/analysieren (in der Faktentabelle) - aber die Umfragen selber analysieren (zB welche Fragen "besser" vor anderen beantworten, etc.) – condiosluzverde

Verwandte Themen