Cette page présente une méthode pour annoter le schéma dimensionnel en suivant l'approche BEAM✲

Contexte

Nous allons ici évoquer les annotations proposées par les auteurs de l’approche BEAM✲ présentées dans Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema. Laurence Corr and Jim Stagnitto. DecisionOne Press, 2011 (voir Appendice B pages 287 à 292). Vous trouverez un grand nombre de schémas dimensionnels sans ces annotations, mais nous vous conseillons néanmoins de prendre le temps de les ajouter à vos schémas dimensionnels afin d’en simplifier la lecture par les experts.

Toutes les annotations s’écrivent entre [] soit à droite du nom de la table, soit à droite de chacun des attributs.

Schéma dimensionnel amélioré
Schéma dimensionnel amélioré
Source du schéma : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema. Laurence Corr and Jim Stagnitto. DecisionOne Press, 2011, page 156.

Type de table de faits

Lors de la conception de votre schéma dimensionnel il est indispensable d’identifier le type de table de faits que vous créez. Voir les différents types de tables de faits.

  • TF (Transaction Fact Table) pour les tables de faits de transactions.
  • AS (Accumulating Snapshot) pour les tables de faits “instantané récapitulatif”.
  • PS (Periodic Snapshot) pour les tables de faits “instantané périodique”.

Attributs de la table de faits

Les premiers attributs d’une table de faits sont les clés. Voir les différents types de clés. Ces annotations s’écrivent à droite de chaque attribut

  • SK (Surrogate Key) pour les clés dimensionnelles.
  • BK (Business Key) pour les clés métier.
  • NK (Natural Key) pour les clés naturelles.

Attention, certains attributs sont des dimensions dégénérées, il faut les indiquez par DD.

Ensuite, tous les faits de la table de faits (les attributs restants) doivent porter l’indication de leur propriété d’additivité :

  • FA (Fuly Additive Fact) pour les faits additifs.
  • SA (Semi-Additive Fact) pour les faits semi-additifs.
  • NA (Non-Additive Fact) pour les faits non-additifs.

Mode d’évolution de la dimension

Les dimensions peuvent évoluer dans le temps. On peut se retrouver dans le cas de dimensions à évolution lente ou de grandes dimensions changeantes ou à évolution rapide.

Vous devez donc déterminer le mode d’évolution de chacun des attributs de la dimension

  • FV (Fixed Value) pour les attributs ne devant pas changer (sauf erreur de saisie) comme une date de naissance.
  • CV (Current Value) pour le mode d’évolution de type 1 qui écrase la valeur.
  • HV (Historic Value) pour le mode d’évolution de type 2 qui sauvegarde chaque modification en ajoutant de nouvelles lignes.
  • PV (Previous Value) pour le mode d’évolution de type 3 qui sauvegarde la dernière modification en ajoutant une colonne.

Si la dimension ne possède que des attributs qui ne changent pas indiquez FV à droite du nom de la table et si tous les attributs ont le même mode d’évolution indiquez ce type. S’il y a plusieurs modes d’évolution utilisez :

  • xx/xx (remplacez xx par un des codes précédents)

Caractéristiques particulières de la dimension

Les dimensions peuvent avoir différentes caractéristiques, qu’il faut indiquer à côté du type d’évolution de dimension.

  • RP pour les dimensions à jeu de rôle. Ces dimensions sont référencées par plusieurs clefs de la table de faits. Par exemple une dimension Employé qui permet d’identifier aussi un chef et ses subordonnés.
  • HM pour les dimensions qui implémentent une hiérarchie à profondeur variable.
  • MV pour les dimensions multi-valuées : tables passerelles ou hiérarchie à profondeur variable avec héritage multiple HV/MV.