4 Stimmen

Ralph Kimballs Data-Warehouse-Toolkit-Buch - Lebenszyklus des Mart-Designs bestellen

Ich lese gerade das Buch von Ralph Kimball über Data Warehouse und Dimensionsmodellierung. Ich lese gerade eine der Fallstudien, und es geht um die Dimensionsmodellierung für ein Bestellsystem, bei dem die Anforderung darin besteht, den Lebenszyklus einer Bestellung zu erfassen, von der Bestellung über die Erfüllung bis zur Auslieferung.

Daher dachte ich, dass sie vielleicht vorschlagen würden, mehrere Zeilen mit einer Bewegungsart FK zu einer Bewegungsdimension zu haben. Das Buch schlägt jedoch stattdessen vor, "Rollenspiel"-Dimensionen zu erstellen - mehrere Datumsdimensionstabellen (eine für das Bestelldatum, eine für die Erfüllung und eine für den Versand). Jede dieser Dimensionen hätte dann einen Fremdschlüssel in der Faktentabelle, so dass die Faktentabelle drei Spalten hätte, um dies zu verknüpfen.

Ist das nicht etwas einschränkend? Wäre eine Zeile pro Vorgang nicht die bessere Wahl?

0 Stimmen

Lesen Sie noch einmal, das ist nicht richtig. Es gibt nur eine Datumsdimensionstabelle.

0 Stimmen

Ich habe es noch einmal gelesen - es ist eine Datumsdimension, aber es sind mehrere Felder in der Faktentabelle. Die anderen Datumsdimensionen sind so genannte "Rollenspiel"-Dimensionen, aber so oder so führt es zu dem Effekt, dass es mehrere Datumsdimensionen gibt.

0 Stimmen

Dies wird als "akkumulierter Schnappschuss" bezeichnet, wie in diesem ähnlichen Beispiel stackoverflow.com/questions/3918604/

2voto

Jamie F Punkte 22380

Bei der Entwicklung geht es oft um Kompromisse, und es ist schwer zu wissen, welches Design das beste ist, wenn man nicht viele Details über das gesamte System kennt.

Aber meine Meinung dazu: Die Tabelle aus dem Buch mit drei separaten Spalten würde wahrscheinlich die Abfragen beschleunigen. Data Warehouses werden häufig auf diese Weise denormalisiert, um die Abfrageleistung zu erhöhen, was auf Kosten der Einfachheit und Vielseitigkeit der Eingabe geht.

Das scheint mir eine gute Antwort zu sein: Ihre Zeile pro Transaktion klingt besser für die Datenerfassungstabellen, die die täglichen Transaktionsdaten speichern, aber nicht so gut für die Analyse.

0 Stimmen

In einem Lebenszyklus könnten wir "Start", "InProcess" und "End" haben, die durch 3 Spalten verfolgt werden können. Wenn ich jedoch die verschiedenen "InProcess"-Statistiken analysieren müsste oder wenn ich mehr Stati hätte, welche Richtung müsste ich einschlagen? Gibt es hierzu Erkenntnisse?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X