Modélisation dimensionnelle

Transcription

Modélisation dimensionnelle
MTI820 −Entrepôtsdedonnéesetintelligenced’affaires
Modélisationdimensionnelle
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
1
Lecycledevied’unprojetenBI
• Diagramme defluxdetravail:
Planification
deprojet /
programme
Définition
des
besoins
d’affaires
Conception de
l’architecture
technique
Sélectionet
installation des
produits
Modélisation
desdonnées
Conception
physique
Conception des
application de
BI
Croissance
Conception et
développement
dusystèmeETL
Déploiement
Développement
desapplications
deBI
Maintenance
Gestiondeprojet /programme
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
2
Processusdeconception
1. Choisirleprocessusd'affaires:
–
–
Sebasesurlamatriceenbusdedonnéesetlediagrammede
priorisation;
Doitimpliquerlescadressupérieurs.
2. Définirlegrain:
–
–
Question:"àquoicorrespondunelignedelatabledefaits?";
Dépenddesréalitésphysiquesdessourcesdedonnées.
3. Identifierlesdimensions:
–
–
Découledirectementdeladéfinitiondugrain;
Colonnesservantàrestreindrel'analyse.
4. Identifierlesfaits:
–
Colonnesreprésentantdesvaleursnumériquesdemesure.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
3
Questions
• Quel serait legrain,lesdimensions etlesfaits
correspondant auxprocessus d’affaires suivants d’une
entreprise detélécommunications?
1.
2.
3.
4.
Facturation clients
Gestion dutrafficd’appel
Inventaire
Serviceà laclientèle
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
4
Questions
• À quoicorrespondlamodélisation dimensionnelle?
• Quels sont lesavantages dumodèle dimensionnel par
rapportaumodèle ER?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
5
ModèledimensionnelvsER
• Modèleentité-relation(ER):
– Représentelesdonnéessouslaformed'entités(tables)etde
relations(référencesoutables);
– Normalisationduschéma(ex:3FN).
• Modèledimensionnel:
– Représentelesdonnéescommedesfaitsetdesdimensions;
– Lesdimensionsnesontpasnormalisées.
• Avantagesdumodèledimensionnel:
– Compréhensibilité:
• Lesdonnéessontregroupéesselondescatégoriesd'affairesqui
ontunsenspourlesutilisateursd'affaires;
– Performance:
• Ladénormalisation évitelesjointurescoûteuses;
• Autresoptimisations(ex:indexdejointureenétoile).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
6
Lamodélisationdimensionnelle
• Définition:
– Techniquedeconceptionlogique permettantdestructurer
lesdonnéesdemanièreàlesrendreintuitives aux
utilisateurd'affairesetoffrirune bonneperformance aux
requêtes.
• Caractéristiques:
– Diviselesdonnéesenfaits etdimensions;
– Lesfaits(mesures)sontgénéralementdesvaleurs
numériquesprovenantdesprocessusd'affaires;
– Lesdimensionsfournissentlecontexte(qui,quoi,quand,
où,pourquoietcomment)desfaits;
– Schémaenétoile:unetabledefaitsentouréedeplusieurs
tablesdedimension(normalemententre8et15).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
7
Exempledeschémaenétoile (manufacturier)
Tables defaits
Tables dedimension
DateCommande
Commande
idDateCommande (FK)
idDateEnvoiDemandée (FK)
Produit
Tables dedimension
DateEnvoiDemandée
idProduit (FK)
idClientVenduÀ (FK)
ClientExpediéÀ
ClientVenduÀ
idClientExpediéÀ (FK)
idClientChargéÀ (FK)
ReprésentantVente
idReprésentantVente (FK)
idTypeCommande (FK)
TypeEnvoi
ClientChargéÀ
TypeCommande
idTypeEnvoi (FK)
noCommande (DD)
noLigneCommande (DD)
quantitéCommandée
totalBrut
mesures
totalNet
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
8
Tablesdefaits
• Correspondentnormalementàunseulprocessusd'affaires:
– 1tabledefaits=1processus.
• Stockentdesmesuresgénéréesparlesévénementsdu
processus;
– Ex:réceptiond'unecommande,envoid'unecommande,etc.
– Lesfaits"prennentleurvaleur"aumomentoùl'évènement
d'affairessurvient(aspecttemporelimportant).
• Contiennenttypiquementuntrèsgrandnombredelignes:
– Jusqu'àplusieursmilliardsdelignes;
– Souventplusde90%desdonnéesdumodèle.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
9
Tablesdefaits
• Comprennentdeuxtypesdecolonnes:
– Clésétrangèresversdestablesdedimension;
– Valeursnumériquessouventadditives(mesures).
• Modélisentdesrelationsdetypeplusieurs-à-plusieurs
(tabledejointureenrelationnel)
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
10
Tablesdefaits
• Exemple:
Commande
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
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
11
Question
• Une mesure doit-elle toujours être une valeur
numérique?
• Une mesure peut-elle toujours être additionnée sur
plusieurs lignes?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
12
Typesdemesure
• Mesuresadditives:
– Peuventêtreagrégéesselonn'importequelledimension;
– Ex:montantdevente,quantitécommandée,etc.
• Mesuressemi-additives:
– Peuventêtreagrégéesseloncertainesdimensions
seulement;
– Ex:soldedecompteagrégeable selonlesclients,pasle
temps.
• Mesuresnon-additives:
– Valeursnumériquesnepouvantêtreagrégéesselon
aucunedimension;
– Ex:coûtunitaired'unproduit.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
13
Question
• Mesure additive,semi-additiveou non-additive?
1.
2.
3.
4.
Quantité eninventaire
Pourcentage deprofit:100*(vente – coût)/vente
Nombre d’items vendus
Produit envente (valeur binaire)
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
14
Question
• Commentpeut-ondifférencier une mesure d’unattribut
dedimension?
1.
2.
3.
4.
Coût unitaire duproduit (provient dufournisseur)
Dimensionsduproduit
Prixdevente duproduit
Produit envente (valeur binaire)
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
15
Mesuresversusattributsdedimension
• Mesures:
– Dépendentd'unévénementd'affaires;
– Ontsouventdesvaleurscontinues(ouungrandnombre
devaleursdiscrètespossibles);
– Serventdanslecalculd’indicateursdeperformance;
– Ex:montanttotaletquantitéd'unecommande.
• Attributs(numériques)dedimension:
–
–
–
–
Indépendantsdesévénementsd'affaires;
Ontsouventdesvaleursdiscrètes;
Serventàfiltrerouétiqueterlesfaits;
Ex:jouretheured'unetransaction,âged'unclient,etc.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
16
Clésd’unetablesdefaits
• Clésprimaires:
– Lacléprimaireesttypiquementuneclécomposée,formée
d'unsous-ensembledesclésétrangèresverslestablesde
dimension:
• Ex:(idDateTransaction,idClient,idProduit).
• Clésétrangères:
– Lesclésétrangèresnedevraientjamaisêtrenulles
• Sinononpeutviolerleprinciped'intégritéréférentielle;
• Utiliserplutôtunevaleurspécialedanslatablede
dimension;
• Ex:uneligne"Aucunspécial"dansladimension
RabaisSpécial sileclientn'aeudroitàaucunrabaislors
d'unetransaction)
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
17
Graind’unetabledefaits
• Legrain estladéfinitiondel'événementd'affaires
produisantleslignesdelatabledefaits;
• Toutesleslignesdelatabledoiventavoirlemêmegrain;
• Doitêtreleplusfinpossible (atomique)pourle
processusd'affaires:
– Permetdefairedesrequêtesplusprécisesetimprévues;
– Déterminéparlesréalitésphysiquesdessourcesde
données.
• Déterminelesdimensionsdumodèle.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
18
Questions
• Que renferme une tablededimension?
• À quoiservent lesattributs d’une dimension?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
19
Tablesdedimension
• Ensemblehautementcorréléd'attributs(jusqu'àplusieurs
dizaines)regroupésselonlesobjetsclésd'uneentreprise:
– Ex:produits,clients,employés,installations,etc.
• Propriétésdesattributs:
– Descriptif(ex:chaînesdecaractères);
– Dequalité(ex:aucunevaleurmanquante,obsolète,erronée,etc.);
– Principalementdesvaleursdiscrètes(ex:jour,âged'unclient);
• Rôlesdesattributs:
– Filtrer/restreindrelesrequêtes(ex:ville,catégorieproduit,etc.);
– Étiqueterlesrésultats(ex:champsdescripteurs).
• Lapuissanceanalytiquedel'entrepôtestproportionnelleàla
richesseetlaqualitédesattributsdimensionnels
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
20
Hiérarchiesdimensionnelles
• Unensembled'attributsayantunerelationhiérarchique(x est
inclusdansy);
• Définissentlescheminsd'accèsdanslesdonnées(drill-down
paths);
• Simples:
– Temps:année) mois) semaine) jour) heure;
– Produit:famille) catégorie) marque) produit;
– Lieu:pays) province) région) ville) codepostal.
• Multiples:
année
année fiscale
1
1
*
*
trimestre
1
trimestrefiscal
*
1
*
mois
1
moisfiscal
1 *
*
jour
• Normalementdansuneseuletablededimension.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
21
Questions
• Hiérarchie pourlesdimensionssuivantes?
1. Client
2. Vendeur
3. Canaldevente
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
22
Choixdesdimensions
• Demandelejugementetl'intuitiondumodélisateur;
• Plusonad'attributsnon-corrélésdansunedimension
pluslatablecorrespondanteauradelignes(explosion
combinatoire):
– Ex:10,000produitsx100magasins=1,000,000delignes
dansunetablededimensionProduitMagasin.
• Règles:
– Lesdimensionssontobservablesauniveaudugraindela
tabledefaits(fontpartiedel’évènementd’affaires);
– Lesattributsnon-corrélésvontdansdesdimensions
séparées.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
23
Question
• Vente:doitonmettreRégion commeunattributdeClient ou
unedimensionséparée?
• Enseignement:doitonmettreDépartement,Professeur et
Cours dansunemêmedimension?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
24
Clésd'unetablededimension
• Cléprimaire:
– Lacléprimairedevraittoujoursêtreunecléartificielle
composéed'uneseulecolonne(surrogate key);
– Ex:mécanismedeséquencedansOracle;
– Avantages:
• Performance:accèsparindexetjointuresaccélérés;
• Robustesse:nechangejamaiscontrairementàuneclé
naturelle;
• Cohérence:permetd'identifierlamêmeentitédansdeux
tablesmêmesilestablesontdescolonnesdifférentes.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
25
Question
• Qu’est-ce qu’une dimensionconforme?
• À quoiservent ces dimensions?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
26
Dimensionsconformes
• Égalementappeléesmasterdimensions oucommon
reference dimensions;
• Dimensionspotentiellementpartagéespardestablesde
faitsmodélisantdesprocessusd'affairesdifférents;
• Avantages:
– Cohérence:lesdifférentestablesdefaitssontfiltréeset
étiquetésdemanièredecohérente;
– Intégration:permetàl'entrepôtdedonnéesd'opérer
commeunseulblocuni;
– Productivité:favorisel'extensiondel'entrepôtd'une
itérationdedéveloppementàl'autre.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
27
Question
• Deux tablesdefaits peuvent-elles être reliées parune
dimensionconforme si elles n’ont paslemême grain?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
28
Dimensionsconformes
• Desdimensionspeuventêtreconformessilesattributs
d'unetablededimensionsontunsous-ensembledes
attributsd'uneautretable;
• Ex:dimensionsreprésentantdesniveauxdegranularité
différents
Dimension:Produit
idProduit (PK)
Faits:Vente
Dimension:Marque
idMarque (PK)
descriptionProduit
descriptionMarque
NuméroSKU
descriptionSousCatégorie
idMarque
descriptionCatégorie
descriptionMarque
descriptionSousCatégorie
descriptionCatégorie
couleur
Faits:PrédictionVentes
taille
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
29
Dimensiontemporelle
• Centralecarlaplupartdesfaitscorrespondentàdes
événementsd'affairesdel'entreprise;
Dimension:Date
idDate (PK)
date
jourDeSemaine
jourDuMois
jourDeAnnée
jourDansMoisFiscal
jourDansAnnéeFiscale
congéFérié
jourDeTravail
semaineDuMois
...
• Mettretoutescesvaleursmêmesilaplupartpeuvent
êtredéduitesdesautres.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
30
Question
• Ya-t-il unproblème à définir ladimensionsuivante ?
Dimension:Date
idDate (PK)
date
jour
mois
semaine
année
heure
minute
seconde
...
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
31
Dimensiontemporelle
• Avoirungraintropfindansladimensiontemporelle(ex:
tempsdujour)peutcauserl'explosiondunombrederangées:
– Ex:31,000,000secondesdifférentesdansuneannée.
• Solution1:mettreletempsdujour(timeofday)dansune
dimensionséparée:
– Dimension1:année) mois) semaine) jour;
– Dimension2:heure) minute) secondes;
– 86,400+365lignesVS31,000,000lignes.
• Solution2:mettreletempsdujourcommeunfait etgarderle
jour,mois,annéedansunedimension;
• Lasolution2estnormalementpréférableàmoinsd’avoirdes
attributssupplémentaires(ex:descripteurtexte).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
32
Question
• À quoiservent ces colonnes?
• Sont elles nécessaires dans latabledefaits?
Commande
idDateCommande (FK)
...
noCommande (DD)
noLigneCommande (DD)
???
quantitéCommandée
...
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
33
Dimensionsdégénérées
• Clésdelatabledefaitsn'ayantaucunattributautre
qu'elles-mêmes;
• Correspondentsouventàdesidentifiantsdansles
systèmessources:
– Ex:nodecommande,nodebillet,etc.
• Ilfauttoujourslaisser cescolonnesdanslatabledefaits:
– Ellessontlacollequi"tientensemble"lesitemsd'une
lignedelatabledefaits;
– Permettentderépondreàdesquestionsplusgénérales
comme"quelestlenombremoyendelignes
correspondantàunmêmecommande?";
– Permettentégalementderetracerlaprovenanced'une
ligneàunesourcededonnées.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
34
Question
• Que fait-onsi unattribut dimensionnel change?
1.
2.
3.
4.
Adresse duclient
Descriptionduproduit
Catégorie duproduit
Statusd’unclient
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
35
Dimensionsàévolutionlente
• Slowly Changing Dimensions (SCD);
• Mêmesiellessontplusstatiquesquelesfaits,les
dimensionspeuventégalementchanger:
– Ex:adresse/status d'unclient,catégoried'unproduit,etc.
• Plusieursstratégiesd'historisation:
– SCDType1:Écraserl'anciennevaleuraveclanouvelle;
– SCDType2:Ajouterunelignedanslatablededimensionpour
lanouvellevaleur;
– SCDType3:Avoirdeuxcolonnesdanslatablededimension
correspondantàl'ancienneetlanouvellevaleur.
– Hybride: OncombinelesTypes2et3.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
36
Question
• Quels sont lesavantages /limitations desstratégies
d’historisation SCD1,SCD2etSCD3?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
37
Dimensionsàévolutionlente
• SCDType1:
idProduit
description
code
département
1001
'BébéLala'
'ABC999-Z'
'Éducation'
idProduit
description
code
département
1001
'BébéLala'
'ABC999-Z'
'Stratégie'
– Impossibledefairedesanalysessurl'anciennevaleur;
– Àutiliserseulementpourfairedescorrectionsou lorsque
l'anciennevaleurn'estpassignificativepourlesbesoins
d'affaires;
– Exigedemettreàjourlesdonnéesagrégéesavecl'ancienne
valeur.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
38
Dimensionsàévolutionlente
• SCDType2:
–
–
–
–
idProduit
description
code
département
dateEffective
dateExpirée
1001
'BébéLala'
'ABC999-Z'
'Éducation'
'2007-10-08'
'9999-12-31'
idProduit
description
code
département
dateEffective
dateExpirée
1001
'BébéLala'
'ABC999-Z'
'Éducation'
'2007-10-08'
'2008-10-31'
1002
'BébéLala'
'ABC999-Z'
'Stratégie'
'2008-11-01'
'9999-12-31'
L'approchelaplusemployée;
Permetdefairedesanalyseshistoriques;
Demandel'ajoutd'unenouvelleligneparchangement;
Àutiliserlorsquel'anciennevaleuraunesignificationanalytique
ousilechangementestuneinformationensoi.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
39
Dimensionsàévolutionlente
• SCDType3:
idProduit
description
code
oldDépartement
newDépartement
dateModif
1001
'BébéLala'
'ABC999-Z'
'Éducation'
'Éducation'
'9999-12-31'
idProduit
description
code
oldDépartement
newDépartement
dateModif
1001
'BébéLala'
'ABC999-Z'
'Éducation'
'Stratégie'
'2008-11-01'
– Moinsemployé;
– Profondeurdel'historiqueestd'unseulchangement;
– Àutiliserlorsqu'onveutvouloircomparerlesfaitsavec
l'ancienneou lanouvellevaleur;
– Peutrajouterd'autrescolonnespouravoiruneplusgrande
profondeur.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
40
Question
• Sachant que leprofil d’unclientchangesouvent (âge,
salaire,emploi,situationfamiliale, etc.),que peut-on
fairepouréviter lepluspossiblelamise à jourdelatable
Client?
• Mettre dans latabledefaits ?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
41
Mini-dimensions
• Sertlorsquequ'unedimensionrenfermedesattributsqui
peuventchangersouventetsontsouventanalysés
ensemble:
– Ex:leprofildémographiquedesclients(âge,revenu,etc.).
• Solution:mettrelesattributspotentiellementvolatiles
dansunedimensionséparée(mini-dimension) oùlegrain
estdifférent;
Dimension:Client
Dim:GroupeDémographique
idClient (PK)
idGroupeDémographique (PK)
nom
groupeAge
adresse
sexe
dateDeNaissance
groupeSalaire
sexe
groupeNombreEnfants
...
étatCivil
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
mini-dimension
42
Dimensionsàrôlesmultiples(role playing)
• Dimensionsayantdesrôleslogiquesdifférentsdansune
mêmetabledefaits;
• Typiquementladimensiontemporelle:
– Ex:dateCommande,dateEnvoiDemandé, dateEnvoiRéel,etc.
• Uneseuletablephysiqueréférencéeparplusieurstables
logiques(ex:àl'aidedevuesoud'alias);
– Ex:CREATEVIEWDateEnvoiRéel ASSELECT*FROMDate.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
43
Question
• Que doit-onfaireaveclesattributs quinecorrespondent
à aucune dimension(ex:flagsdivers)?
1. Lesignorer?
2. Lesmettre dans latabledefaits?
3. Lesmettre dans une dimensionséparée (necontenant
que l’attribut correspondant)?
4. Autre solution?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
44
Dimensionspoubelles(junk dimensions)
• Proviennentdesattributsnecorrespondantàaucune
dimension:
– Ex:descripteurstexteouflagsdivers.
• Àéviter:
– Leslaisserdanslatabledefaits:
• Latabledefaitspeutexploserentaille;
– Mettrechacundansunedimensionséparée:
• Explosiondunombrededimensionsetclésétrangères;
– Leséliminer:
• Peuventavoirunesignificationanalytique.
• Solution:
– Créeruneseuletableregroupanttouscesattributs
orphelins(junk dimension).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
45
Tablessansfait(factless tables)
• Correspondentauxévénementsd'affairesreprésentant
unerelationplusieurs-à-plusieurs, maisquin'ontpasde
mesuresquantifiables:
– Ex:laprésenced’unétudiantenclasse(vrai oufaux).
• Onpeutimaginerlamesured'unetelletablecommeune
colonnefictivedontlavaleuresttoujoursà1;
• Exemple:
PrésenceEnClasse
idDate (FK)
idÉtudiant (FK)
idProfesseur (FK)
idCours (FK)
colonneFicitive =1
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
46
Question
• Que fairelorsqu’une transactions’étale sur plusieurs
lignes (ex:une ligne parproduit)?
• Commentpeut-onéviter derépéter lesmêmes
informations pourchaque ligne delatransaction?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
47
Tabledepont(bridgetable)
• Sertnotammentàmodéliserlesdimensionsmulti-valuées;
• Ex:facturesmédicalespouvantavoirplusieursdiagnostiques
Faits:FacturesMédicales
idDateTraitement (FK)
idPatient (FK)
Bridge:GroupeDiagnostique
...
idGroupeDiagnostique (PK)
idGroupeDiagnostique (FK)
idDiagnostique (PK,FK)
montantTotal
facteurPondération
Dim:Diagnostique
idDiagnostique (PK)
description
catégorie
type
• LatableGroupeDiagnostique peutêtrepré-générée(sipeude
combinaisonspossibles)oupopulée aufuretàmesure.
• facteurPondération représentelacontributionrelatived’un
diagnostiqueaumontantdelafacture
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
48
Schémaenflocon
• Provientdelanormalisationdestablesdedimension;
• Exemple:
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
49
Question
• Quels sont lesavantages /inconvénients duschéma en
flocon parrapportauschéma enétoile?
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
50
Schémaenflocon
• Avantages:
– Petiteéconomied'espace;
– Plusfaciledemettreàjourlesdimensionsencasde
changement.
• Désavantages:
– Schémamoinsintuitifauxutilisateursd'affaires;
– Dégradationdelaperformanceàcausedesjointures
additionnelles.
• Engénéral,onpréfèrenepasnormaliserlestablesde
dimension.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
51
Exempledemodélisation
• Casd'étudeentélécommunications*
X
Gestiondutrafic
d'appels
X
X
X
X
Inventaire
X
Serviceàlaclientèle
X
X
X
X
X
X
X
Appelservice
X
Employé
X
Représentant
devente
Produit
X
Relai
Client
Facturationclient
Processus/
Dimension
Lignetél.
Date
Plan
d'utilisation
Canalde
vente
– Matriceenbusdedonnées:
X
X
X
X
X
X
X
...
*:TirédulivreTheDataWarehouseToolkit 2ème édition
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
52
Exempledemodélisation
• Choixduprocessusd'affaires:
Facturation
Trafic d'appels
Évènement d'affaires:
Envoidefactureunefoispar
mois
Appelfaitparunclient
Potentielanalytique:
Bon
Excellent
Complexité:
Moyenne
Grande
– Lagestiondutraficd'appelspermetdesanalysestrès
détaillées(niveauappel),maiscomporteuneplusgrande
complexitétechnologique(ETL,stockage,etc.);
– Processusretenu:Facturationclient.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
53
Exempledemodélisation
• Modèlepréliminaire:
Dim:Client
Faits:Facturation
noClient (PKnaturelle)
Dim:Facture
nomClient
noFacture (FK)
noFacture (PKnaturelle)
ville
noClient (FK)
dateFacturation
province
noVendeur (FK)
noLigne (FK)
codePostal
codePlan (FK)
datePremierService
nbAppels
...
totalMinutes
noLigne (PK naturelle)
minutesLongueDistance
codeRégional
minutesSoir
dateActivation
Dim:ReprésentantVente
noVendeur (PKnaturelle)
nomVendeur
idDépartement (FK)
Dim:Département
minutesWeekend
fraisService
fraisServiceCumulatifs
fraisLongueDistance
idDépartement (PK)
taxes
directeur
total
...
Dim:LigneTél
Dim:PlanUtilisation
codePlan(PK naturelle)
abbréviationPlan
minutesSemaine
minutesSoir
minutesWeekend
...
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
54
Exempledemodélisation
• Problèmesaveclemodèlepréliminaire:
1. Granularité:
• Legrainleplusfincorrespondréellementàlafacturation
d'uneligne d'unclient;
• Solution:
– MettrelaclédeladimensionLigne danslatabledefaits.
2. Clésprimairesdesdimensions:
• Lesclésprimairesdesdimensionsdoiventêtreartificielles
(surrogate keys);
• Solution:
– Remplacerlesclésprimairespardesclésartificielles;
– Lorsquenécessaire,mettrelesclésnaturellesdanslatable
defaitscommedimensionsdégénérées(DD).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
55
Exempledemodélisation
• Problèmesaveclemodèlepréliminaire:
3. Dimensiontemporelle:
• Ladatedefacturationestmodéliséecommeunattributde
Facture aulieud'êtreunedimensionconforme;
• Solution:
– CréerunedimensionàrôlesmultiplesDateFacturation,basée
surladimensionconformedeDate.
4. Dimensionsnormalisées:
• LahiérarchieReprésentantVente – Département est
normalisée,causantdesjointuresinutiles;
• Solution:
– MettrelesattributsdeDépartementdirectementdans
ReprésentantVente(i.e.,dénormaliser).
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
56
Exempledemodélisation
• Problèmesaveclemodèlepréliminaire:
5. Attributsnon-descriptifs:
• Certainesdimensionsontdesattributspeuinformatifs(ex:
abbréviationPlan);
• Solution:
– Rajouterdesattributsdescriptifspourrendrelesdonnées
pluscompréhensiblesauxutilisateursd'affaires.
6. Faitsnon-additifs:
• LefaitfraisServiceCumulatifs n'estpasadditif;
• Solution:
– Retirercettecolonnedelatabledefaitetcalculerles
valeurscumulativessurdemande.
Département degénielogicieletdesTI
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
57
Exempledemodélisation
• Nouveaumodèle:
Dim:Client
idClient (PK)
noClient
nomClient
ville
province
codePostal
datePremierService
...
Dim:DateFacturation
idDateFacture (PK)
Faits:Facturation
idDateFacture (FK)
mois
idLigne (FK)
année
idClient (FK)
...
idVendeur (FK)
Dim:LigneTél
idPlan (FK)
noFacture (DD)
idLigne (PK)
nbAppels
noLigne
totalMinutes
minutesLongueDistance
Dim:ReprésentantVente
dateFacture
minutesSoir
idVendeur (PK)
minutesWeekend
noVendeur
fraisService
nomVendeur
fraisLongueDistance
idDépartement
taxes
nomDépartement
total
directeurDépartement
Département degénielogicieletdesTI
Dim:PlanUtilisation
idPlan (PK)
codeRégional
dateActivation
codePlan
abbréviationPlan
descriptionPlan
minutesSemaine
minutesSoir
minutesWeekend
...
MTI820Hiver2011– ©S.Chafki,C.Desrosiers
58