J'essaie de modéliser un entrepôt de données de recrutement avec une variété de dimensions de type 2, mais je ne suis pas sûr de modéliser correctement ce scénario particulier. Voici ce que je fais jusqu'à présent:Type 2 Changements de dimension relatifs à une autre dimension
J'ai 2 dimensions: Dim_Person et Dim_Client
Ces deux dimensions sont reliées par une table factless de fait Fact_PersonEmployer, qui contient FKs à deux dimensions, ainsi qu'une date de validité et à partir de maintenant. Si une personne déménage dans une autre entreprise, je ferme la date de validité sur la ligne de faits qui la relie à son ancien employeur et j'insère un nouvel enregistrement dans la table de faits avec la nouvelle société. Cela semble assez simple, mais comme cette personne a maintenant déménagé à un nouvel employeur, je pense qu'il mérite un changement de type 2 dans la dimension de la personne que la personne est maintenant fondamentalement différente de l'utilisateur (un gestionnaire recruteur/recruteur) . De mon point de vue, il semble presque que le client soit un attribut de type 2 de la dimension de la personne, donc j'ai envisagé de le modéliser de cette façon. Je ne suis pas sûr qu'il soit acceptable de joindre des dimensions sans utiliser une table de faits sans faits (j'essaie de m'en tenir à la méthodologie de Kimball autant que possible).
Dois-je:
a) Gardez l'ID de l'entreprise où ils travaillent comme un attribut dans la dimension de la personne afin qu'elle puisse générer le type 2 change
ou
b) Continuer à utiliser la table de faits pour associer les deux dimensions entre elles?
Espérons que cela a du sens ...
Merci d'avance!