Cette page présente la notion de schéma dimensionnel, essentielle pour débuter la découverte de la modélisation dimensionnelle
Temps de lecture estimé : 20 minutes

La modélisation dimensionnelle est une approche orientée par les besoins, incrémentale, qui vise à optimiser le temps de réponse de requêtes complexes en agrégats. Il s’agit d’un modèle décisionnel de représentation de données. Les schémas en étoile ou en flocon implémentent différemment ce type de modèle de données.

Schéma en étoile

Diaporama Schéma en étoile

Définition

Le schéma en étoile est un schéma logique et non normalisé qui est utilisé pour consolider, historiser et agréger des données numériques.

  • Ce schéma est dit logique par opposition à un schéma physique qui s’intéresse à la représentation de l’implémentation des structures de données en mémoire et par opposition à un schéma conceptuel qui est agnostique du type de base de données que l’on utilise (relationnelle, orientée documents, etc.).
  • Ce schéma est dit non normalisé au sens des formes normales définies dans le modèle relationnel. Dans un schéma en étoile des redondances sont explicitement ajoutées afin d’optimiser la vitesse d’exécution de requêtes complexes. Ces redondances sont localisées au niveau des dimensions.

La modélisation dimensionnelle a pour rôle de représenter des faits (qui sont mesurables) et de permettre de les agréger suivant différentes dimensions. Souvent, l’analogie à un cube de données est évoquée (voir figure ci-dessous).

Cependant, la représentation sous forme de cube ne permet pas de représenter plus de 3 dimensions, c’est pourquoi un schéma en étoile est constitué d’une table de faits centrale et de dimensions qui sont reliées au moyen de clefs primaires et référentielles (voir figure ci-dessous). Lorsque plusieurs schémas en étoile partagent des dimensions (voir dimensions conformes) on parle de schéma en constellation.

Fait / Mesure
Un fait ou une mesure correspond à une valeur dans une ligne d’une table de faits.
Dimension
Une dimension est un axe d’analyse suivant lequel on peut considérer une mesure. Les dimensions permettent de naviguer dans les niveaux de granularités.

Revenons sur la problématique de redondance avec un exemple. Considérons une dimension localisation qui caractérise l’environnement géographique d’un magasin. Nous sommes intéressés de connaître la ville du magasin, sa région et son pays. Pour tous les magasins appartenant à la même ville nous aurons donc les mêmes valeurs de région et pays. Cependant, nous faisons ici le choix de répéter sur chacune des lignes de la dimension toutes les valeurs de ville, région et pays.

Lectures d’approfondissement

Lecture d'approfondissement Schéma en étoile : Star Schema. Christopher Adamson. pages 10-11

Lecture d'approfondissement Schéma en étoile : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 7-8

Lecture d'approfondissement Fait : Star Schema. Christopher Adamson. pages 6-9, 12

Lecture d'approfondissement Fait : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 8-9

Lecture d'approfondissement Dimension : Star Schema. Christopher Adamson. pages 6-9, 10-11

Lecture d'approfondissement Dimension : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. page 9

Schéma en flocon

Diaporama Schéma en flocon

Définition

Un schéma en flocon est appelé ainsi car il ressemble à un flocon de neige quand on normalise au maximum chacune des dimensions (voir figure ci-dessous).

Un schéma en flocon a pour objectif de réduire la redondance en normalisant les données. Si nous reprenons notre exemple précédent concernant notre magasin, nous ferions ici le choix de ne conserver que l’information sur la ville et d’exporter dans une autre dimension les informations sur la région et ainsi de suite.

Ainsi un schéma en flocon s’approche des schémas logiques normalisées (généralement en 3NF) qui sont utilisés dans le monde de l’OLTP.

Lectures d’approfondissement

Lecture d'approfondissement Schéma en flocon : Star Schema. Christopher Adamson. pages 11, 157-160

Lecture d'approfondissement Schéma en flocon : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 5-6, 156

Schéma en étoile vs Schéma en flocon

Deux mondes différents (OLTP / OLAP), 2 types de schémas différents :

  • OLTP : schémas logiques normalisés (généralement en 3NF)
    • permettent de réduire la redondance pour garantir l’intégrité des données
  • OLAP : schémas en étoile
    • Schémas simples, centrés sur les processus métiers

En décisionnel, il faut bannir les schémas en flocons :

  • Ils sont difficiles à comprendre.
  • Ils ne sont pas orientés processus métiers.
  • Ils ne sont pas performants à cause des nombreuses jointures à effectuer.
  • Les requêtes sont complexes.

Attention cependant, certains patrons de conception de données nécessitent l’introduction de quelques flocons.