Nous parlons souvent des dimensions dégénérées dans nos ateliers de modélisation. Les dimensions dégénérées sont sources de confusion à cause du fait qu'elles ne ressemblent pas à des dimensions normales. Cela peut aider de se souvenir que les dimensions dégénérées se réfèrent à quelque chose qui 1) vient de la norme standard, ou 2) est mathématiquement plus simple.
Une dimension dégénérée agit comme une clé de dimension dans la table de faits, cependant elle n'est liée à aucune dimension parce que tous ces attributs dignes d'intérêts sont déjà dans d'autres dimensions. Parfois, les gens font références aux dimensions dégénérées comme des faits textuels, mais ce ne sont pas des faits parce que la clé primaire de la table de faits comprend la dimension dégénérée ainsi qu'une ou plusieurs autres clés étrangères de dimensions.
Les dimensions dégénérées apparaissent souvent lorsque le grain de la table de faits est une transaction (ou une ligne de transaction). Les numéros d'entête de transaction définis dans le processus opérationnel sont typiquement des dimensions dégénérées, comme une commande, un ticket, une transaction de carte de crédit, un numéro de chèque. Ces dimensions dégénérées sont des clés naturelles des parents des articles de la ligne.
Même s'il n'y a pas de dimension correspondante, les dimensions dégénérées peuvent être très utiles pour regrouper des lignes de la table de faits. Par exemple, les numéros des transactions d'un point de vente réunissent tous les articles achetés ensemble par le même panier. Dans la santé, les dimensions dégénérées peuvent grouper les documents liés à un séjour à l’hôpital ou les lignes d'une ordonnance.
Nous rencontrons parfois plusieurs dimensions dégénérées dans une table de faits. Par exemple, une table de faits reprenant les lignes d'une déclaration d'assurance comprend le numéro identifiant de la déclaration et le numéro de la police d'assurance comme dimension dégénérée. Un constructeur peut inclure des dimensions dégénérées pour les numéros de cargaison lors de l'estimation, la commande, et la facture dans la table de faits des expéditions.
Les dimensions dégénérées servent également comme lien dans le monde opérationnel. Cela peut être très utile durant le développement de la phase d'intégration pour aligner les lignes de la table de faits avec le système opérationnel pour l'assurance qualité et la vérification de l'intégrité.
Nous de mettons pas en oeuvre de clé de substitution pour les dimensions dégénérées. Habituellement les valeurs d'une dimension dégénérée sont uniques et bien dimensionnées: elles n'ont pas besoin d'une clé de substitution. Cependant, si l'identifiant opérationnel est un alphanumérique peu maniable, une clé de substitution peut gagner plus de place, spécialement si la table de fait a un grand nombre de lignes. De même, une clé de substitution est nécessaire si l'identifiant opérationnel n'est pas unique. Bien sur, si vous joignez cette clé de substitution à une dimension, alors la dimension n'est plus dégénérée.
Durant les revues de conceptions, nous trouvons souvent une dimension dont la taille grandie proportionnellement à la table de faits. Tandis que ces lignes sont insérées dans la table de faits, de nouvelles lignes sont aussi insérées dans la dimension associée, souvent à la même vitesse que les lignes qui sont ajoutées dans la table de faits. Cette situation peut servir d'alerte. Habituellement, quand une dimension se développe à peu près au même rythme que la table de faits, il y a une dimension dégénérée cachée qui a été oubliée lors de la conception initiale.
Source originale: www.kimballgroup.com
Article original "Kimball Design Tip #46: Another look at degenerate dimensions", publié le 3 juin 2003.
Aucun commentaire:
Enregistrer un commentaire