Modélisation dimensionnelle 4
Imprimer ce billetLe chapitre 4 aborde les questions à se poser pour modéliser la ou les tables de faits et présente différentes façons de gérer les changements dans les dimensions.
Comment choisir s’il est utile ou non de créer plusieurs tables de faits ? Les questions suivantes peuvent orienter le choix :
- Quels sont les besoins d’analyse de l’utilisateur ?
- Les processus sont-ils distincts ou n’y a-t-il qu’un processus ?
- Les données proviennent-elles de plusieurs applications ?
- Les dimensions sont-elles différentes selon les types de fait ?
Prise en considération de l’évolution lente des dimensions
Il y a 3 techniques et 2 approches hybrides :
- Ecraser la valeur de l’attribut ayant été modifié. Cette solution est valable pour des modifications de type correction. Elle ne conserve aucune trace du changement. Attention, elle nécessite un recalcul des agrégats éventuels.
- Ajouter une ligne dans la table dimension avec une clé artificielle différente (mais conservant le code identifiant la dimension, par ex. le code produit dans le cas d’une dimension produit). C’est la principale technique permettant de suivre correctement les attributs des dimensions à évolution lente. Il est possible d’ajouter une date d’effet et/ou une date d’expiration de la ligne, mais elles ne sont pas nécessaires. Grâce à un calcul de CRC, il est possible d’enregistrer automatiquement les changements d’une ligne sans avoir à comparer dans le détail chaque champ. Cette technique est cependant difficilement applicable si la table de dimension a déjà plus d’un million de lignes.
- Ajouter une colonne de dimension contenant l’état antérieur à la modification. Cette solution est intéressante si on veut pouvoir coparer l’effet du changement avec l’ancien état (cas d’un changement de secteur vendeur par ex.). Mais elle n’est pas adaptée s’il y a beaucoup de changements.
Outre ces 3 techniques, il y a 2 autres techniques hybrides utilisables lors de
- changements prévisibles. Dans ce cas et si l’on souhaite calculer les états selon les différents changements mais sans la segmentation temporelle (par ex. étudier les effets des différentes définitions des secteurs vendeurs), alors il faut ajouter une colonne selon la technique 3 pour chaque changement.
- changements imprévisibles avec application aux données antérieures de la version actuelle de l’attribut modifié. L’intérêt est de préserver la vision exacte du passé en gardant la possibilité de présenter les données antérieures selon les valeurs actuelles de l’attribut modifié. Cette approche mélange les techniques 1, 2 et 3.
Source : Ralph Kimball et Margy Ross, « Entrepôts de données, guide pratique de modélisation dimensionnelle« , 2ième édition.