Snowflake (Schéma en flocons de neige)

0
188

La définition

Le schéma en flocons de neige est une variante du schéma en étoile. Dans la théorie la différence réside dans la simple normalisation des tables de dimensions. Il est donc tout simplement question de mettre les attributs de chaque niveau hiérarchique dans une table de dimension à part.

La figure suivante illustre le schéma en flocons de neige (snowflake schema) :

Snowflacke

Explication du schéma

Pour bien comprendre ce schéma, veuillez lire le schéma en étoile de la figure 1 dans l’article concernant le schéma en étoile. Retenez la liste des composantes de la dimension « Produit ». cette dimension est composée de ce qui suit :

La dimension produit

Cette dimension dispose de 3 niveaux hiérarchiques : Type Produit, Catégorie et Produit.  Le résultat du « floconage » de cette dimension nous donne le schéma suivant :

La dimension produit eclatée

Tous les attributs de chaque niveau hiérarchique se retrouvent dans une table isolée. Une table donc pour les types de produit, une autre pour les catégories de produit, et la dimension produit. La dimension produit est ce qu’on appelle la dimension ayant la granularité la plus fine. Celle ci est reliée à la dimension Type Produit via la clé étrangère « Type Produit ». La dimension « Type Produit » est à son tour reliée à la dimension « Catégorie Produit » via la clé étrangère IdCatégorie.

Veuillez bien qu’il s’agit d’un exemple simpliste, alors que dans la réalité, et surtout lors de l’implantation du concepts du SCD (Slowly changing Dimension ou Evolution Lente), les choses se compliquent plus !

« Floconner » les faits ??

Nous croyons fortement que dans des cas bien spécifiques on est obligé pour des raisons de performance, simplicité et de convivialité de normaliser la table de fait. L’exemple le plus concret est la création de deux tables de faits, une pour les commandes et l’autres pour les lignes de commandes (Cas de l’entrepôt de données de Wall Mart, lire notre article là-dessus « Star Vs Snowflake » et plus précisément le paragraphe intitulé « Ratio attributs maître / Nombre de rangées détails).

Quand utiliser un schéma en flocons de neige ?

Le choix de « snowflacker » ou pas n’est pas toujours évident, plusieurs critères sont à prendre en considération à savoir :

  • Le nombre de niveaux hiérarchiques de la dimension;
  • La gestion de l’évolution lente (SCD type 2)
  • La taille de la dimension
  • La nature de l’analyse à effectuer.