Peut-être est-ce à cause de la simplicité du modèle dimensionnel, mais il arrive trop souvent que des dimensions soient créées sans raison valable. Au-delà des notions plus avancées, comme les dimensions dégénérées, les sous-types, les extensions, les ponts et les hiérarchies variables, bien regrouper et séparer les dimensions est important et il s’agit d’un exercice qui ne doit pas être pris à la légère.

Plusieurs scénarios sont à considérer pour décider du regroupement ou de la séparation des dimensions.

Scénario 1 : relation contextuelle

Si deux entités requièrent un contexte pour être en relation, elles sont alors séparées en deux dimensions. Dans l’exemple de la figure 1, un vendeur est en relation avec un produit uniquement dans un contexte d’événement (de fait) de ventes. Dans ce cas, vendeur et produit constituent deux dimensions distinctes.

Figure 1 – Dimensions vendeurs et produits en relation dans le contexte de ventes

Scénario 2 : relation « naturelle »

Si deux entités sont naturellement en relation, c’est-à-dire que, contrairement au scénario 1, elles sont en relation avant qu’un événement ne survienne (elles ne requièrent pas d’événement pour être en relation), elles sont alors regroupées en une seule dimension. Par exemple, un véhicule et un modèle de véhicule sont en relation sans qu’un événement d’achat, de vente, d’entretien, de remisage, etc. soit requis. Le véhicule et le modèle de véhicule font alors partie de la même dimension véhicule. Il n’y a alors aucune raison de créer une dimension modèle de véhicule, sauf dans le cas présenté au scénario 4.

Scénario 3 : navigation dans une dimension sans passer par un événement

Dans ce scénario, qui est très similaire au scénario 2, si l’on veut interroger ensemble les valeurs de deux entités, et ce, sans passer par un fait, il y a alors regroupement des deux entités dans une seule dimension. Voici un cas classique : des produits avec leur marque et une hiérarchie fixe de regroupements sont interrogés sans passer par un fait (par exemple : connaître le nombre de produits d’une telle marque ou par regroupement).

Scénario 4 : utilisation dans des contextes différents

Si deux entités sont utilisées dans des contextes différents, elles sont alors séparées en deux dimensions. Par exemple, le contexte d’achat d’un véhicule fait référence au véhicule, mais pas à la station assignée au véhicule. Le véhicule et la station sont alors deux dimensions distinctes, malgré le fait qu’un véhicule est toujours assigné à une seule station dans notre contexte.

Il est possible à la fois de combiner et de séparer des entités. Le cas classique est celui de la sous-dimension. Par exemple, on veut à la fois avoir la hiérarchie fixe d’un produit dans la dimension produit et utiliser seulement un groupe de produits dans un contexte budgétaire, comme illustré à la figure 2. Dans ce cas, produit et groupe produits sont deux dimensions distinctes et tous les attributs de la dimension groupe produits (le code, le nom et la ligne d’affaires du groupe), sauf l’identifiant interne, se retrouvent également dans la dimension produit. Par ailleurs, les attributs de groupe produits doivent être totalement identiques (nomenclature, type, grandeur, valeurs) dans les deux dimensions, afin de respecter le principe de conformité des dimensions.

Figure 2 – Dimension produits (incluant le groupe d’appartenance) et sous-dimension groupes produits

Finalement, un autre truc intéressant pour détecter si deux entités doivent être regroupées est d’analyser le « produit cartésien » (ou l’indépendance) de deux entités. Reprenons l’exemple des vendeurs et des produits. S’il y a 100 vendeurs et 1000 produits et si le nombre de combinaisons de produits-vendeurs se rapproche de l’ensemble des combinaisons possibles (100 x 1000), on a alors nécessairement affaire à des dimensions distinctes. Autrement, si chaque produit est affecté à un seul vendeur (et qu’on ne s’intéresse pas à l’historique des affectations des produits aux vendeurs), il faut alors regarder lequel des scénarios précédemment expliqués s’applique pour décider si on combine ou si on sépare.

En somme, des règles existent pour obtenir un nombre de dimensions adéquat. Pour bien les appliquer, tout comme pour le reste des techniques de conception d’un modèle dimensionnel, une connaissance préalable de la réalité et des besoins de consommation est nécessaire.

Partager cet article
  


CONTACT

agileDSS Inc.
407, rue McGill, bureau 500.
Montréal (QC) H2Y 2G3.

info@agiledss.com
(514) 788-1337