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.
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:
Ich wünschte, ich wusste, die + und - jedes Design!
Danke