2016-06-20 26 views
1

Ich habe diese Situation vor mir, und ich würde für Ihre Meinung über das Modellieren fragen:viele zu viele Beziehung zwischen den Dimensionen in einem DW - die bessere Modellierung?

  • Ein Ereignis mehr eingeladen Unternehmen (Accounts)
  • Ein Unternehmen (Account) können natürlich haben, können teilnehmen mehrere Veranstaltungen
  • ein Ereignis hat eine Startzeit und eine Endzeit und Gesamtkosten

wie Sie sehen, gibt es eine Viele-zu-Viele-Beziehung (Dim_Event) und (Dim_Accounts) Meine Frage ist, wie zu modellieren das in einem DW.

Was ich getan habe: Einfügen einer "Table Bridge" namens EVENT_GUEST_BRIDGE, in dem ich einen Schlüssel zu Dim_Event und einen anderen Schlüssel zu Dim_Accounts. Es ist wie ein * - * Tabelle erzeugt wird, wenn ein Viele-zu-viele-Beziehung zwischen zwei Entitäten definieren.

Fact_EVENT die Tabelle an den Dim_Event verknüpft ist und doppelt auf die Dimension der Zeit, da ein Ereignis verknüpft hat ein Startdatum und ein Enddatum.

enter image description here

Um zB haben die Länder, aus denen Unternehmen in einem Event teilnehmen Ich muss schreiben:

SELECT [FK_EVENT] 
,[FK_DEBUT_EVENT] 
,[FK_FIN_EVENT] 
,[TotalPriceByEvent] 
,C.Country 
FROM [DW_CRM].[dbo].[Fact_MARKETING_EVENT] A 
inner join [DW_CRM].[dbo].[EVENT_GUEST_ACCOUNT_BRIDGE] B on (A.FK_EVENT = B.FK_Event_ID) 
inner join [DW_CRM].[dbo].[Dim_Accounts] C on (B.FK_Account_ID = C.Accounts_TechKey) 

Wäre es besser, wenn ich zum Beispiel entscheiden sich für eine rein Sterne Design? etwas wie folgt aus:

enter image description here

Ich wünschte, ich wusste, die + und - jedes Design!

Danke

Antwort

1

Nun, es hängt, was Sie zu modellieren suchen. Die ersten Modelle jeweils Ereignis als eine Tatsache, während die andere Modell Teilnahme oder Einladung als eine Tatsache. Was Sie sich fragen müssen, ist, wie sich das auf das, was Sie messen, auswirkt. Es hängt auch stark davon ab, welche messbaren Daten Sie haben. Ich bin mir nicht sicher, was TotalPriceByEvent enthält oder wenn Sie eine andere Maßnahme, die Sie verwenden können, aber wahrscheinlich das beste Ratschlag den ich geben kann ist immer, wo dies möglich ist, die feinste Körnchen Daten verwenden Sie zur Verfügung haben.

Wenn Sie beispielsweise Eintrittsgebühren pro Unternehmen haben, gehen Sie mit der Einladung Getreide - Sie können wahrscheinlich berechnete Maßnahmen die Schneeflocke simuliert, aber die andere Möglichkeit ist unmöglich.

0

Nun, meiner Meinung nach ist die zweite Option das beste Design, basierend auf Erfahrung und auch auf theoretischen Konzepten der Autoren und Experten der Dimensional Modeling (ich empfehle das Buch: das Data Warehouse Toolkit von Kimball).

Der zweite Ansatz ist sauberer, gibt ein besseres Verständnis und seine näher an, was die Geschäftsleute verstehen würden, wenn man ihnen das Diagramm geben. Eines des Designmusters ist Kimball gibt viele, viele relationshipts auf der Faktentabelle zu brechen, und das ist, was Ihr zweiter Entwurf tut, auch saubere, Ihre Fragen und wahrscheinlich mit dem besten Leistung sein werden.