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