0
eingegeben werden

Ich bin neu in Dimension Modellierung und OLAP. Ich versuche ein Dimensionsmodell für ein Geschäft zu erstellen.Faktentabelle sollte Maßnahmen von "schwachen Entität" oder nur die Felder der übergeordneten Entität sollte

"Order" -Tabelle wird mit Spalten:

'order_id(auto generated), total_order_cost, date, product_Set_Id'. 

"Product_set" -Tabelle (enthält Produkte in jeder Reihenfolge dh mehrere Zeilen für jede Reihenfolge geordnet, logisch verknüpften Tabellen durch 'product_set_id' Spalte) hat Spalten:

Im ER-Modell ist die Tabelle "product_set" eine Art schwache Entität, die von der Tabelle "order" abhängig ist.

Mein Zweifel ist in der Faktentabelle Fall 1: i nur 'order_id(fk)' und 'total_order_cost(as measure)' == sollte hinzufügen> in diesem Fall Maßnahmen von „product_set“ wird es nicht in der Tat Tabelle.

oder Fall 2: i sollte 'order_id(fk)','product_set_id(fk)' and 'cost_per_quantity(measure), quantity(measure), total_order_cost(measure)' ==> in diesem Fall hinzufügen, dass es gleiche 'order_id' and 'total_order_cost' mehrere Zeilen für

sein

Es gibt andere einige Tische wie „Kunde“ usw., aber ich habe in Zweifel oben erwähnt.

Vielen Dank im Voraus!

Antwort

0

Ein Vorschlag, der immer gemacht wird, besteht darin, einen Ersatzschlüssel für die Tabellen zu erstellen. Mein Faktverkauf ist so, dass er den Ersatzschlüssel hat, der es mir erlaubt, die Bestelldaten dort zu haben, und jeder Bestellposten durch einen Ersatzschlüssel identifiziert wird (den ich nicht wirklich verwende - aber es ist kein Problem). Auf diese Weise können Sie Fall 2 folgen.

Beantwortet das die Frage?

+0

Zuerst danke für Ihre Antwort. Also, nach dir sollte ich 'total_order_cost' entfernen und 'order_id' in der Faktentabelle behalten? Ist es in Ordnung, dass 'order_id' sich wiederholt, da es mehrere Produkte in einer Reihenfolge geben kann? – TheRising

+0

Hallo in meinem Design, das ist der Fall, ich habe die Reihenfolge und Bestellposition Tabelle in einer FactSales-Tabelle kombiniert. Deshalb wird ein aurrogate Schlüssel verwendet. Und nein, behalten Sie total_order_cost (es ist ein Maß). Aber weil Auftragskosten gleich bleiben, würde ich vorschlagen, wenn Sie es pro Auftragszeile trennen können. Definieren Sie Ihre total_order_cost als cost_per_quantity * Menge – Faiz

+0

Danke nochmal korrigieren Sie mich, wenn ich falsch liege, habe ich Ihr Design verstanden. Ihr Ansatz ist gut, da er sinnvoller ist, aber es ist wie eine alternative Lösung. Es ist eine Art "Sternschema". Nehmen wir an, wir kombinieren sie nicht in einer Tabelle, d. H. Art von "Schneeflockenschema", und gehen mit zwei verschiedenen Tabellen. oder lassen Sie mich das Problem wie neu definieren, ** wie sollten wir Maßnahmen und FKs im Fall von Schneeflocke Schema eingeben. ** – TheRising