Académique Documents
Professionnel Documents
Culture Documents
Conception de Sélection et
l’architecture installation des
Croissance
technique produits
Définition
des besoins
d’affaires
Planification Conception et
Modélisation des Conception
de projet / développement Déploiement
données physique
programme du système ETL
Conception de Sélection et
l’architecture installation des
Croissance
technique produits
Définition
Planification des besoins Conception et
Modélisation Conception
de projet / d’affaires des données physique développement Déploiement
programme du système ETL
• Chambres occupées
• Chambres vacantes
Occupation hôtelière
Tourisme • Vacantes non-disponibles
• Nombre d’occupants
• Recettes
• ...
Vols …
Fournisseur
Processus / dimension
Vendeur
Magasin
Produit
Région
Client
Date
X X X X X X
Vente et Marketing
X X X X X X
Finance et comptabilité
X X X X X
Approvisionnement
X X X
Inventaire
X X X
Ressources Humaines
BP1 BP6
impact potentiel
BP4
BP3
BP2 BP5
faisabilité
⚫ Permet d’identifier les processus d’affaires faisables ayant le plus grand impact pour
l’entreprise.
Pr. Abderrahim Danine Master BDIO 14 Cours SID
Exemple : Adventure Works Cycles
⚫ Tiré de: The Microsoft Data Warehouse Toolkit, 2nd Edition et de
https://flylib.com/books/en/4.65.1.17/1/
⚫ Ventes de produits dans quatre catégories: bicyclettes, pièces, vêtements,
accessoires
⚫ Données de juillet 2005 à juin 2008
Dimensions
Territoire de vente
Client (revendeur)
Client (Internet)
Canal de vente
Raison d’appel
Installation
Promotion
Monnaie
Employé
Produit
Processus d’affaires
Date
Commandes X X X X X X X X X
Suivi d’appels X X X X X X X
Retours X X X X X X X X
… …
idDateCommande (FK)
idDateEnvoiDemandée (FK)
idProduit (FK)
idClientVenduÀ (FK)
idClientExpediéÀ (FK) Clés étrangères
idClientChargéÀ (FK)
idReprésentantVente (FK)
idTypeCommande (FK)
idTypeEnvoi (FK)
noCommande (DD)
noLigneCommande (DD) ???
quantitéCommandée
totalBrut mesures
totalNet
⚫ Vente: doit on mettre Région comme un attribut de Client ou une dimension séparée ?
⚫ Enseignement: doit on mettre Département, Professeur et Cours dans une même dimension ?
⚫ Dimensions potentiellement partagées par des tables de faits modélisant des processus
d'affaires différents;
⚫ Avantages:
– Cohérence: les différentes tables de faits sont filtrées et étiquetés de manière de cohérente;
– Intégration: permet à l'entrepôt de données d'opérer comme un seul bloc uni;
– Productivité: favorise l'extension de l'entrepôt d'une itération de développement à l'autre.
taille
...
⚫ Mettre toutes ces valeurs même si la plupart peuvent être déduites des autres.
Pr. Abderrahim Danine Master BDIO 46 Cours SID
Question
⚫ Y a-t-il un problème à définir la dimension suivante ?
Dimension: Date
idDate (PK)
date
jour
mois
semaine
année
heure
minute
seconde
...
Commande
idDateCommande (FK)
...
noCommande (DD)
???
noLigneCommande (DD)
quantitéCommandée
...
─ Permettent de répondre à des questions plus générales comme "quel est le nombre
moyen de lignes correspondant à un même commande ?";
─ Permettent également de retracer la provenance d'une ligne à une source de données.
─ Moins employé;
─ Profondeur de l'historique est d'un seul changement;
─ À utiliser lorsqu'on veut vouloir comparer les faits avec l'ancienne ou la nouvelle valeur;
─ Peut rajouter d'autres colonnes pour avoir une plus grande profondeur.
Pr. Abderrahim Danine Master BDIO 56 Cours SID
Question
⚫ Sachant que le profil d’un client change souvent (âge, salaire, emploi, situation familiale,
etc.), que peut-on faire pour éviter le plus possible la mise à jour de la table Client ?
⚫ Mettre dans la table de faits ?
... étatCivil
⚫ Une seule table physique référencée par plusieurs tables logiques (ex: à l'aide de
vues ou d'alias);
─ Exemple: CREATE VIEW DateEnvoiRéel AS SELECT * FROM Date.
⚫ Que doit-on faire avec les attributs qui ne correspondent à aucune dimension (ex: flags
divers) ?
1. Les ignorer?
2. Les mettre dans la table de faits?
3. Les mettre dans une dimension séparée (ne contenant que l’attribut correspondant)?
4. Autre solution?
⚫ Que faire lorsqu’une transaction s’étale sur plusieurs lignes (ex: une ligne par produit)?
⚫ Comment peut-on éviter de répéter les mêmes informations pour chaque ligne de
la transaction?
Faits : FacturesMédicales
Dim: Diagnostic
idDateTraitement (FK) Bridge: GroupeDiagnostic
Dim: GroupeDiagnostic idDiagnostic (PK)
idPatient (FK) idGroupeDiagnostic (PK,FK)
idGroupeDiagnostic description
... idDiagnostic (PK,FK)
(PK) catégorie
idGroupeDiagnostic (FK) facteurPondération
type
montantTotal
Représentant
Appel service
d'utilisatio
Ligne tél.
de vente
Employé
Canal de
Produit
Client
vente
Processus /
Date
Relai
Plan
Dimension
n
Facturation client X X X X X X
Gestion du trafic X X X X X X X
d'appels
Inventaire X X X
Service à la clientèle X X X X X X X
...
Évènement d'affaires: Envoi de facture une fois par Appel fait par un client
mois
Potentiel analytique: Bon Excellent
─ La gestion du trafic d'appels permet des analyses très détaillées (niveau appel), mais comporte
une plus grande complexité technologique (ETL, stockage, etc.);
─ Processus retenu: Facturation client.
4. Dimensions normalisées:
⚫ La hiérarchie ReprésentantVente – Département est normalisée, causant des jointures inutiles;
⚫ Solution:
– Mettre les attributs de Département directement dans ReprésentantVente (i.e., dénormaliser).
⚫ Solution:
– Rajouter des attributs descriptifs pour rendre les données plus compréhensibles aux utilisateurs
d'affaires.
6. Faits non-additifs:
⚫ Le fait fraisServiceCumulatifs n'est pas additif;
⚫ Solution:
– Retirer cette colonne de la table de fait et calculer les valeurs cumulatives sur demande.