Cette page présente le processus de modélisation dimensionnelle en utilisant l'approche BEAM✲. Ce n'est pas une introduction à la modélisation dimensionnelle ainsi il est essentiel de connaître les différents Design Patterns donnés en pré-requis avant de mettre en oeuvre cette démarche.

Toutes les références de cette page renvoient à l’ouvrage suivant :

Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema de Lawrence Corr

Étapes principales du processus de modélisation BEAM✲

NIVEAU CONCEPTUEL (conceptual data model / business model / modèle métier)

DÉFINITION DU PREMIER ÉVÉNEMENT (chapitre 2)

  • Déterminer un événement (Sujet - verbe - objet) (page 33).
  • Définir l’événement à l’aide d’une table BEAM✲, en spécifiant chacun de ses détails (pages 35-56).

DÉFINITION DES DIMENSIONS DU PREMIER ÉVÉNEMENT (chapitre 3)

  • Pour chacun des détails de l’événement, autres que les mesures, définir la dimension correspondante à l’aide d’une table BEAM✲ (pages 62-93).

DÉFINITION DE LA MATRICE D’ÉVÉNEMENTS (chapitre 4)

  • Définir la matrice d’événements (pages 102-119).

DÉFINITION DE TOUS LES ÉVÉNEMENTS DE LA RELEASE A VENIR (chapitres 4, 2 et 3)

  • Déterminer, en fonction de l’importance des événements présents dans la matrice d’événements, les événements qui seront pris en charge dans la release suivante (page 120).
  • Définir dans le détail, par des tables BEAM✲, chacun de ces événements, ainsi que leurs dimensions respectives non encore définies (pages 120 et 122, et chapitres 2 et 3).

NIVEAU LOGIQUE (logical data model / modèle logique)

PROFILAGE DES DONNÉES (chapitre 5)

  • Faire du profilage de données pour chacun des événements et chacune des dimensions (page 135).

DÉFINITION DES MODÈLES DIMENSIONNELS LOGIQUES ET DES SCHÉMAS EN ÉTOILE (chapitre 5)

  • Transformer les modèles métiers des dimensions en modèles logiques (page 141).
  • A partir des différents modèles métiers d’événements, créer les modèles logiques (tables de faits) correspondants (page 152).
  • Définir les différents schémas en étoile (page 154).

Étapes détaillées du processus de modélisation BEAM✲

NIVEAU CONCEPTUEL (conceptual data model / business model / modèle métier)

DÉFINITION DU PREMIER ÉVÉNEMENT (chapitre 2)

  • Déterminer un événement (Sujet - verbe - objet) (page 33).
  • Le sujet et l’objet correspondent aux détails Who et What des 7 Ws de la méthode BEAM✲ : Who, What, When, Where, hoW many, Why et hoW.
    • Créer une table BEAM✲ pour cet événement avec les 2 premières colonnes, Who (sujet) et What (objet) (page 35).
    • Identifier le détail When et l’ajouter à la table comme 3ème colonne (page 37).
    • Utiliser la Première ligne du tableau pour indiquer le type des détails (pour l’instant [Who], [What] et [When]), et par la suite pour indiquer les différentes caractéristiques des détails (page 36).
    • Définir des histoires avec les 3 détails Who, What et Where, correspondant aux 5 thèmes différents suivants : Typique, Différent, Répétition, Manquant et Groupe (page 39).
    • Déterminer le plus possible de détails relatifs à cet événement, dans l’ordre indiqué ci-dessous. Pour chaque détail, l’ajouter comme colonne à la table BEAM✲ et compléter les types et les différentes histoires (si un détail est en fait un détail relatif à un autre détail déjà présent, le placer au dessus du tableau, au dessus du détail déjà présent (page 47)) :
      • Identifier d’éventuels autres détails de type When (page 43).
      • Identifier d’éventuels autres détails de type Who (page 45).
      • Identifier d’éventuels autres détails de type What (page 46).
      • Identifier des détails de types Where (page 46).
      • Identifier des détails de type hoW many (page 50).
      • Identifier des détails de type Why (page 52).
      • Identifier des détails de type hoW (page 53).
    • Indiquer la complétude du tableau BEAM✲ par un double trait après la denière colonne (page 56).
    • Déterminer les détails obligatoires (MD) (page 41).
    • Déterminer la granularité de l’événement (GD) (page 54).
    • Donner un nom à l’événement. Le nom est à indiquer au dessus du tableau, en haut à gauche (page 55).
    • Déterminer le type de l’événement en fonctions des détails de type When (discret, récurrent, évolutif)
    • L’indiquer derrière le nom de l’événement ([DE], [RE] ou [EE]) (page 56).
    • Donner un exemple d’histoire prenant en compte tous les détails pour bien définir l’événement (page 56).
    • Écrire l’histoire sous le tableau.

DÉFINITION DES DIMENSIONS DU PREMIER ÉVÉNEMENT (chapitre 3)

  • Définir chacune des dimensions de l’événement. Pour chacun des détails de type autre que hoW many, et en commençant par la dimension Who ou What :
    • Créer une table BEAM✲ (page 62).
      • Recopier la colonne du détail de l’événement comme première colonne de la dimension, devenant le 1er attribut de la dimension (page 62).
      • Supprimer les lignes correspondant aux doublons (il doit ne rester que les lignes correspondant aux thèmes Typique, Différent, Manquant et Groupe) (page 62).
      • Renommer l’attribut avec un nom approprié (page 62).
      • Définir la clef naturelle (business key) de la dimension et l’ajouter comme colonne à la table BEAM✲ en complétant les exemples (page 63).
      • Ajouter autant d’attributs que nécessaire (page 64). Pour chaque attribut :
        • Ajouter une colonne à la table BEAM✲ pour le nouvel attribut.
        • Donner des exemples.
        • Identifier les éventuels attributs exclusifs (page 70).
        • Identifier les éventuelles hiérarchies (page 73).
        • Pour chaque hiérarchie, créer un graphe de hiérarchie (page 77).
        • Ajouter une nouvelle ligne d’exemple ‘Changement’, pour mettre en évidence l’historique des attributs (page 84).
        • Définir l’historique de chaque attribut (page 84).
        • Si la dimension ne possède, en final, qu’un seul attribut, supprimer sa table BEAM✲ car il s’agit d’une dimension dégénérée (page 61).

DÉFINITION DE LA MATRICE D’ÉVÉNEMENTS (chapitre 4)

  • Définir la matrice d’événements (page 102) :
  • Créer une matrice d’événements avec une seule ligne, pour l’événement qui vient d’être défini, et autant de colonnes que l’événement possède de -dimensions, les dimensions étant classées en fonction de eur type (les différents Ws) (page 106).
  • Devant les dimensions, ajouter 3 colonnes pour indiquer le nombre de dimensions que comporte l’événement et pour gérer l’importance et l’estimationen terme de charge de l’événement .
  • Pour l’événement présent, cocher les dimensions et renseigner les 3 premières colonnes.
  • Identifier le plus d’événements possibles dans le temps imparti (page 107). Pour chaque événement :
    • L’ajouter dans la matrice d’événements, en le plaçant dans l’ordre chronologique du ou des process.
    • Ajouter les dimensions nécessaires à l’événement non encore présentes.
    • Cocher les dimensions nécessaires à l’événement et renseigner les 3 premières colonnes.

DÉFINITION DE TOUS LES ÉVÉNEMENTS DE LA RELEASE A VENIR (chapitres 4, 2 et 3)

  • Déterminer, en fonction de l’importance des événements présents dans la matrice d’événements, les événements qui seront pris en charge dans la release suivante (page 120).
  • Définir dans le détail, par des tables BEAM✲, chacun de ces événements, ainsi que leurs dimensions respectives non encore définies (page 120, page 122 et - chapitres 2 et 3).

NIVEAU LOGIQUE (logical data model / modèle logique)

PROFILAGE DES DONNÉES (chapitre 5)

  • Faire du profilage de données pour chacun des événements et chacune des dimensions (page 135).

DÉFINITION DES MODÈLES DIMENSIONNELS LOGIQUES ET DES SCHÉMAS EN ÉTOILE (chapitre 5)

  • Transformer les modèles métiers des dimensions en modèles logiques (page 141).
  • Pour chaque dimension, modifier sa Table BEAM✲ (page 149):
    • Ajouter en tête de table une colonne pour la clef artificielle (surrogate key) de la dimension.
    • Ajouter en fin de table, des colonnes d’administration pour les ETL.
  • A partir des différents modèles métiers d’événements, créer les modèles logiques (tables de faits) correspondants (page 152).
  • Pour chaque événement (Table BEAM✲ d’événement) :
    • Dupliquer la table BEAM✲ d’événement dans une table BEAM✲ de faits
    • Modifier la table BEAM✲ de faits :
      • Pour chaque ligne d’histoire, remplacer les valeurs des détails Who, What, When, Where et Why par les clefs artificielles des dimensions.
      • Remplacer le nom de l’événement par le nom de la table de faits.
      • Remplacer le type de l’événement (discret [DE], Récurant [RE], évolutif [EE]) par le type de la table de faits (table de faits de transaction [TF], instantané périodique [PS] et instantané récapitulatif [AS]).
      • Indiquer les détails qui correspondent des dimensions dégénérées.
      • Préciser le type de chacun des faits (additif, non additif, semi-additif).
  • Définir les différents schémas en étoile (page 154).
    • Pour chaque table de faits :
      • Dessiner le schéma en étoile.