Bonjour,
j'ai cette situation devant moi et je voudrais bien demander vos avis concernant la modélisation :
- Un événement peut avoir plusieurs sociétés invitées ( Accounts )
- une Société ( Account ) peut bien sur assister à plusieurs événements
- Un événement a une date debut et une date fin ainsi qu'un coût total
Comme vous pouvez le constater Il y'a une relation Many to Many entre (Dim_Event) et (Dim_Accounts)
Ma question est comment modéliser cette situation dans un DW.
Ce que j'ai fait:
Insertion d'une "Table Bridge" appelée EVENT_GUEST_BRIDGE dans laquelle j'ai mis une clé pour Dim_Event et une autre clé pour Dim_Accounts.
C'est comme une table * - * générée au niveau de la BD quand on définit une relation Many to Many entre deux entités.
La table Fact_EVENT est liée à la Dim_Event et est doublement liée à la dimension temps puisque un event a une date debut et une date fin.
Pour Avoir par Exemple les pays d'où viennent les sociétés qui participent à un Event je dois Ecrire :
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)
- Est ce que j'aurais pu par exemple opter pour une conception purement en étoile ?
quelque chose comme ça :
Je voudrais bien savoir les + et les - de chaque conception!
Merci
Partager