Documente Academic
Documente Profesional
Documente Cultură
onnes
(Data Warehouses)
La Modlisation
Les$Faits
La$dni-on$
!
Un!fait!est!la!plus!pe-te!informa-on!analysable.!C'est!une!informa-on!qui!
con-ent!les!donnes!observables!(les$faits)!que!l'on!possde!sur!un!sujet!et!
que!l'on!veut!tudier,!selon!divers!axes!d'analyse!(les$dimensions).!
!Les!!faits!!dans!un!entrept!de!donnes,!sont!normalement!numriques,!!
puisque!d'ordre!quan-ta-f.!!Il!peut!s'agir!du!montant-en-argent-des-ventes,!du!
nombre-d'units-vendues-d'un-produit,!etc.
Les$Faits$$(suite)
La$dni-on$(suite)$
!
Les!faits!reprsentent!des!associa-ons!dont!l'existence!d'une!occurrence!dpend!de!l'existence!
des!occurrences!correspondantes!parmi!les!descripteurs!dimensionnels.!!
C'estGGdire,! la! ''table''! de! faits! con-ent! l'ensemble! des! mesures! correspondant! aux!
informa-ons!de!l'ac-vit!!analyser.!!
!
Mais$certaines$tables$de$faits$peuvent$ne$contenir$aucun$a;ribut$et$reprsentent$des$liaisons$
entre$tables$dimensionnelles.!
!!
Tous!les!lments!qui!pointent!sur!la!table!de!faits!sont!lis!!une!sman-que!exprimable!par!
une!phrase.!Par!consquent,!la!''table''!de!faits!est!la!matrialisa-on!d'une!associa-on!entre! n!
en-ts.!!
Les$Faits$(suite)
Structure$de$base$d'une$''table''$de$faits$$
!
Une!''table''!de!faits!devrait!avoir!la!structure!suivante!:!
!
Date%cal.%(FK)
Clef%trangres%vers%les%dimensions
Id%Dim1%(FK)
Id%Dim2%(FK)
Id%Dimn%(FK)
Code%Dim%Dg%1%(DD)
Dimensions%dgnres
Code%Dim%Dg%2%(DD)
Code%Dim%Dg%m%(DD)
Mesure%1
Mesures%
Mesure%2
Mesure%n
4
Les$Faits$(suite)
Caractris-ques$d'une$''table''$des$faits$
!Une!''table''!de!faits!con-ent!les!valeurs!numriques!de!ce!qu'on!dsire!mesurer
!Une!''table''!de!faits!con-ent!les!cls!associes!aux!dimensions.!Il!s'agit!de!!cls!trangres!vers!
les!dimensions
!En!gnral!une!''table''!de!faits!con-ent!un!pe-t!nombre!de!colonnes!
!Une!''table''!de!faits!con-ent!plus!d'enregistrements!qu'une!''table''!de!dimension
!!Les!informa-ons!dans!une!''table''!de!faits!sont!caractrises!:
"!!Elles!sont!numriques!et!sont!u-lises!pour!faire!des!SUM,-AVG...
"!!Les!donnes!doivent!tre!addi-ves!ou!semiGaddi-ves!
Les! mesures! (Mes1,- Mes2- - Mesn)! doivent! rfrer! et! avoir! un! lien! direct! avec! les! cls! des! dimensions! (Date- Cal,- IdDim1,--Id-Dim2-,-...,-Id-Dimn-)!dans!la!mme!table.
Les$Faits$(suite)
Exemple$d'une$''table''$de$faits$
VENTES$
Id_Cde!
Id_Client!
Id_Vendeur!
Id_Produit!
Id_Date!
Id_Ville!
5!
Quantit!
Prix5Total!
5!
Mesures$
Dimension
La$dni-on$
# Une!dimension!est!une!''table''!qui!reprsente!un! axe$d'analyse$ selon!lequel!on!veut!
tudier! des! donnes! observables! (les$ faits)! qui,! soumises! ! une! analyse!
mul-dimensionnelle,! donnent! aux! u-lisateurs! des! renseignements! ncessaires! ! la! prise!
de!dcision.!
!
# On!appelle!donc!''dimension''!un!axe!d'analyse.!Il!peut!s'agir!des!Clients!ou!des!Produits!
d'une! entreprise,! d'une! Priode! de! temps! comme! un! exercice! nancier,! des! ac-vits!
menes!au!sein!d'une!socit,!etc.!
Dimension$$(suite)
Structure de base d'une dimension
Une dimension devrait avoir la structure suivante :
Cl(de(substitution((Surrogate(key)
Cl(primaire((PK)
Cl(d'affaire((natural(key(ou(buisness(
key)((peut_tre(compose(de(plusieurs(
attributs
Cl(naturelle((NK)
Attribut1
Attributs(de(la(dimension
(((.(.(.
Attributn
Cls(spciales(pour(la(gestion(de(
l'historique(de(la(dimension
Date(effective
Date(de(retrait
Indicateur(effectif
8
Dimension$$(suite)
Caractris-ques$d'une$dimension$
# !Une!"table''!de!dimension!con-ent!le!dtail!sur!les!faits
# Une!''table''!de!dimension!con-ent!les!informa-ons!descrip-ves!des!valeurs!numriques!de!la!table!
des!faits
# Vu!que!les!donnes!dans!la!''table''!de!dimension!sont!normalises,!elle!con-ent!un!plus!grand!
nombre!de!colonnes
# !Une!''table''!de!dimension!con-ent!en!gnral!beaucoup!moins!d'enregistrements!qu'une!''table''!
des!faits
# Les!aSributs!d'une!''table''!de!dimension!sont!souvent!u-liss!comme!Tte-de-lignes!et!Tte-decolonne!dans!un!rapport!ou!rsultat!de!requte.!
Dimension$D$composantes
Composante$1!:!surrogate-key--ou!cl!de!subs-tu-on!
Composantes$2$:!aSributs!
Composantes$3$:!cls!spciales!
10
Dimension$$composantes$(suite)
Composante$1$:$surrogate$key$$ou$cl$de$subs-tu-on$
$Exemple!
Dim.%PRODUIT
Id#Produit
Surrogate$Clef$ (cl
de substitution )
Nom#Produit
Description#Produit
Clef$naturelle$
(cl artificielle)$
Sous3catgorie
Famille#Produit
!PRODUIT
Code_Produit
Dsignation
Description33
Prix3unitaire
.
Description#Catgorie
Prix#unitaire
11
Dimension$$composantes$(suite)
Composante$1$:$surrogate$key$$ou$cl$de$subs-tu-on$
$La$Dni-on$
! Une!cl!de!subs-tu-on!(Surrogate-key)!est!une!cl!non!signica-ve!u-lise!an!de!subs-tuer!la!
cl!naturelle!(Business-Key)!qui!provient!des!systmes!opra-onnels.!!
! !La!cl!naturelle!est,!en!gnral,!compose!de!plusieurs!colonnes.
! Dans!un!systme!opra-onnel,!on!u-lise!une!cl!ar-cielle!an!d'iden-er!d'une!faon!unique!un!
lment!de!l'en-t!:!(client_id!pour!l'en-t!Client,!emp_id!pour!l'en-t!Employ).!!
! La!cl!de!subs-tu-on!ne!doit!pas!tre!confondue!avec!la!cl!ar-cielle!aSribue!par!les!systmes!
opra-onnels.!
! La!cl!de!subs-tu-on!est!alors!u-lise!dans!un!entrept!de!donnes!pour!remplacer!et!complter!
la!cl!ar-cielle!du!systme!opra-onnel!an!de!rendre!un!lment!unique!dans!la!dimension.!
12
Dimension$$composantes$(suite)
Composante$1$:$surrogate$key$$ou$cl$de$subs-tu-on$
Les$Fonc-onnalits$$
# Remplacer$ la$ cl$ ar-cielle$ ou$ naturelle$ :$ Eec-vement! une! cl! de! subs-tu-on!
remplace!la!cl!ar-cielle!en!terme!d'u-lisa-on,!ce!n'est!plus!la!cl!naturelle!qui!sera!u-lise!pour!
faire!les!jointures!avec!les!tables!de!faits!et!les!autres!tables!de!dimension.!
# Complter$l'informa-on$:$ La!cl!de!subs-tu-on!n'a!aucun!sens!en!terme!d'aaire,!elle!est!
u-lise!dans!l'ED!seulement!!!!
!
La! cl! ar-cielle! ou! naturelle! dans! la! dimension! est! toujours! ncessaire! pour! pouvoir! faire! la!
correspondance!entre!l'lment!de!dimension!(un!client!par!exemple)!dans!l'ED!et!l'lment!de!la!
table!des!clients!dans!le!systme!opra-onnel.
13
Dimension$$composantes$(suite)
Composante$1$:$surrogate$key$$ou$cl$de$subs-tu-on$
Les$avantages$
$$$
# Performance! :! Acclre! l'accs! aux! donnes! du! moment! ou! l'on! va! u-liser! un! index!
numrique!vu!que!le!type!de!donnes!de!la!cl!de!subs-tu-on!est!numrique.
# Indpendance$du$systme$source!:! On!ne!peut!garan-r!que!la!cl!d'aaire!ne!change!pas!
dans!les!systmes!sources.
# Historique$ des$ changements$ et$ granularit$ innie! :! Si! l'on! dsire! garder! l'historique! des!
changements!de!la!dimension!selon!certains!critres,!on!doit!grer!la!cl!de!subs-tu-on.!On!se!
retrouve! facilement! avec! plusieurs! enregistrements! de! la! mme! cl! d'aaire! dans! la!
dimension.
14
Dimension$$composantes$(suite)
Composantes$2$$$:$$$a;ributs$$
En!plus!de!la!cl!de!subs-tu-on!ou!de!la!cl!naturelle,!d'autres!aSributs!sont!ajouts!!la!dimension.!
Ces!aSributs!sont!descrip-fs!et!reprsente!l'informa-on!u-le!sur!la!dimension!(Le-salaire-d'unemploy,-l'adresse-d'un-client...)!
Dim.%PRODUIT
Surrogate$Clef$ (cl
de substitution )
Id#Produit
Nom#Produit
Description#Produit
A;ributs$
(descripteurs )
Sous3catgorie
Famille#Produit
Description#Catgorie
Prix#unitaire
15
Dimension$$composantes$(suite)
!
Composantes$3$$$:$$$cls$spciales$$
Date$eec-ve!:!Date!!la!quelle!l'enregistrement!!t!cr,!de!prfrence!dans!le!systme!d'enregistrements!
(System!of!records).
Date$retrait!!:!Date!!laquelle!l'enregistrement!a!t!re-r!du!systme!d'enregistrements.
Indicateur$eec-f!:!En!gnral!est!'O'!si!l'enregistrement!est!toujours!ac-f!(Date!retrait!est!nulle),!'N'!sinon.!
Dim.%PRODUIT
Id#Produit
Nom#Produit
Description#Produit
Sous3catgorie
Famille#Produit
Description#Catgorie
Prix#unitaire
date#effective
Date#retrait
Indicateur#effectif
16
Surrogate$Clef$
(cl de substitution )
A;ributs$$(descripteurs )
Cls$spciales
Dirents$types$de$dimensions$
Dimension$dgnre$(Degenerate/dimension)$$
La!dimension$dgnre$est!une!cl!de!dimension!dans!la!''table''!de!faits!qui!est!en!gnral!
sans!aSribut.!!
Exemple!:!!!N-de-bon-de-Cde,!!!!!N-d'interrupPon-de-service!...!!
!
!
!
!
Vu! qu'il! s'agit! d'une! seule! cl! de! dimension,! nous! vitons! alors! de! crer! une! ''table''! de!
dimension,!ce!qui!fait!que!ceSe!''table''!de!dimension!a!dgnr!dans!la!''table''!des!faits!:!c'est!
pour!ceSe!raison!que!ceSe!cl!est!appele!!dimension!dgnre!
17
Dirents$types$de$dimensions$
Dimension$dgnre$(Degenerate/dimension)$$
La! dimension$ dgnre$ est! une! cl! de! dimension! dans! la! ''table''! de! faits! qui! est! en!
gnral!sans!aSribut.!!
Exemple!:!No-de-bon-de-Cde,!No-d'interrupPon-de-service!...!
18
Dirents$types$de$dimensions$(suite)
Junk$dimension$
La!dimension!de!genre!!Junk/dimension/!est!une!dimension!qui!con-ent!toutes!sorte!de!
ags,!statuts,!codes!qui!ne!font!par-e!d'aucune!dimension!rgulire.!!
!
Dans!le!domaine!de!la!distribu-on!de!l'nergie,!une!interrup-on!de!service!peut!tre!de!
type!Basse-tension!ou!Moyenne-tension.!!
!
Ce!genre!de!code!est!donc!stock!dans!une!table!spciale!appele!!
Junk-dimension.
19
Dirents$types$de$dimensions$(suite)
Dimension$$volu-on$lente$(SCD/:/Slowly/Changing/Dimension)$
Une!dimension!peut!subir!des!changements!de!descrip-on!des!membres!
!
!Un!client!peut!changer!d'adresse,!se!marier,!...!
!Un!produit!peut!changer!de!noms,!de!formula-ons!;!!
!!!!!exemple!:!!Tree's!en!M&M!;!!Raider!en!Twix!;!Yaourt--la-vanille!en!Yaourt-saveurVanille!
!
CeSe!situa-on!peutGtre!gre!en!choisissant!entre!3!solu-ons!:!!!!
!crasement!de!l'ancienne!valeur!!
!Versionnement!
!Valeur!d'origine!/!valeur!courante!
Remarque-:-Dans!certain!cas!la!transi-on!n'est!pas!immdiate!:!il!reste!pendant!un!certain!temps!
des!anciens!produits!en!rayon.!Il!est!alors!conseill!de!les!traiter!comme!deux!membres!
dirents.
20
Dirents$types$de$dimensions$(suite)
Dimension$$volu-on$rapide$(RCD/:/Rapid/Changing/Dimension)$
Une!dimension$$changement$rapide!est!une!dimension!qui!subit!des!changements!trs!frquents!
des!aSributs!dont!on!veut!prserver!l'historique.!
! Solution: isoler les attributs qui changent rapidement
!
Exemple!:!Si!l'on!veut!prserver!l'historique!des!changements!d'adresse!dans!la!dimension!
Clients!dans!un!pays!o!70%!de!la!popula-on!dmnage!une!fois!par!anne!(le!1ier!juillet!par!
exemple!au!Canada),!!
!!
La!dimension!Clients!devient!dans!ce!cas!une!dimension!!volu-on!rapide!(RCD)!
21
Dirents$types$de$dimensions$(suite)
Dimension$$volu-on$rapide$(RCD/:/Rapid/Changing/Dimension)$
22
Dirents$types$de$dimensions$(suite)
Dimension$causale$(Causal/dimension)$
!
Il!s'agit!d'une!dimension!qui!provoque!des!faits.!!
Exemple!:!la!dimension!Promo=on!peut!en!gnral!provoquer!des!ventes!
!
! Autre! exemple! dans! le! domaine! de! la! distribu-on! de! l'nergie! la! dimension! ! ! ! CondiPonclimaPque!peut!provoquer!des!InterrupPons-de-service.!La!dimension!CondiPon-climaPque!
est!donc!une$dimension$causale.
23
Dirents$types$de$dimensions$(suite)
Dimension$conforme$(Conformed/dimension)$
!
!
Une!dimension$conforme!ou!partage!est!une!dimension!u-lise!par!les!faits!de!plusieurs!
datamarts.!!
!
!
!
Exemple!:!la!dimension!Produit!est!u-lise!par!dirents!datamarts!Finance,!Marke-ng!!!
24
Dirents$types$de$dimensions$(suite)
Mini$dimension$
$
Dans!tout!entrept!de!donnes,!il!existe!au!moins!une!grande!dimension,!que!ce!soit!en!terme!
d'enregistrements!ou!d'aSributs.!!
Exemple!!:!!La!dimension!Clients!peut!contenir!des!millions!d'enregistrements.!Le!plus!souvent,!
on!gre!l'volu-on!lente!(Voir!mme!l'volu-on!rapide)!sur!ce!genre!de!dimension!ce!
qui!augmente!encore!plus!leurs!tailles.!!
!
Un!moyen!de!rduire!la!taille!de!ce!genre!de!dimension!est!soit!de!recourir!!la!technique!de!
ocon!de!neige!si!la!dimension!est!hirarchique,!!soit!de!crer!une!mini$dimension,!qui!con-ent!
tous!les!aSributs!sur!lesquels!on!gre!l'volu-on!lente.!!
25
Dirents$types$de$dimensions$(suite)
Mini$dimension$
$
Exemple!!:!La!dimension!Clients!d'un!systme!de!distribu-on!d'nergie!con-ent!plusieurs!millions!
d'enregistrements,!dont!les!aSributs!sont!:!
$!!ID!client!(Iden-ant!du!client,!surrogate!key)
$!Code!du!client!(La!cl!d'aaire!du!client,!provenant!du!systme!source)
$!Nom!du!client.
$!Adresse!du!client.
$!Transformateur!associ.!(transformateur!lectrique!qui!alimente!le!client)
$!Code!incidence!(code!d'incidence!du!client!:!Ma!pour!Majeur,!Mo!pour!Moyen,!Mi!pour!mineur,!Ge!pour!Grande!
Entrepris)
$!!!
26
Dirents$types$de$dimensions$(suite)
Mini$dimension$
Supposons!que!pour!des!besoins!d'aaires,!les!u-lisateurs!dcident!de!prserver!l'historique!des!
changements!des!aSributs!suivants!:!Transformateur-associ!et!Code-d'incidence.!!
Nous!crons!donc!une!mini!dimension!qui!con-ent!les!colonnes!suivantes!:
$!!ID!SCD!Client!
$!!Transformateur!associ!
$!!Code!d'incidence!
Et!dans!la!dimension!Clients,!nous!ajoutons!une!nouvelle!cl!de!dimension!!!!!ID-SCD-client!pour!
faire!le!lien!entre!la!dimension!Clients!et!la!miniGdimension!!
SCD-Client!
Remarque!:!la!dimension!Clients!con-nue!de!contenir!tous!les!aSributs!mme!ceux!sur!lesquels!nous!
grons!l'volu-on!lente.
27
La$Modlisa-on$Mul-dimensionnelle
La$modlisa-on$en$3FN$Vs$La$Modlisa-on$mul-dimensionnelle$:
!
Dimension(MAGASIN
ID#Magasin
Description
Ville
Provincr
FAITS
ID#Magasin
ID#Prrpoduit
ID#Temps#(Date#Cde)
ID#Client
ID#Client#Demog
Ventes
Profits
Dimension(PRODUIT
ID#Prrpoduit
NomProduit
TypeProduit
DescProduit
ID#Categorie
DescCategorie
Dimension(TEMPS
ID#Temps
Description
Anne
Dimension(Dmogrphie(Client
ID#Clien#Demog
Id#Client
Date
Attributs#client
Dimension(CLIENT
ID#Client
Nom
28
La$Modlisa-on$Mul-dimensionnelle
" Le!modle!mul-dimensionnel!n'adhre!pas!la!rgle!de!la!3FN,!en!apla-ssant!tous!les!niveaux!de!la!
dimension.!!
Dans!notre!exemple,!la!''table''!Produit!est!apla-e!et!les!niveaux!TypeProduit,!IdCategorie!sont!
avec!tous!les!aSributs!dans!la!mme!''table''!de!dimension!Produit!.!
" Il!viole!la!rgle!de!la!le!2FN!dans!la!table!des!faits.!!
La!colonne!Id-Temps-(Date-Cde)-fait!par-e!de!la!commande!et!est!reprise!dans!la!table!des!faits.!
" Il!ne!suit!pas!la!rgle!de!BCFN!(Boyce[Codd-normal-form)!en!permeSant!la!redondance!des!
donnes.!!
Tout!comme!dans!la!table!Client!et!la!mini!dimension!Dmographie-client.
29
La$Modlisa-on$Mul-dimensionnelle
" Il!existe!3!formes!de!modles!mul-dimensionnels!:!
1. Le!modle!en!toile!(Star-schema)!
2. Le!modle!en!ocon!de!neige!(Snowake-schema)!
3. Le!modle!en!constella-on!(Fac`lake-schema)!
30
Le$modle$en$toile$
PRODUIT
Code produit
COMMANDE
N Cde
Nom Produit
Date Cde
Description Produit
TABLE DE FAITS
Catgorie
Description catgorie
CLIENT
N Client
Nom Client
Adresse Client
Ville
VENDEUR
Code vendeur
Nom Vendeur
N Cde
N Client
Code vendeur
Code produit
Clef date
Nom Ville
Prix unitaire
DATE
Clef date
Date
Mois
Anne
Quantit
Prix total
VILLE
Ville Vendeur
Nom Ville
Quota
Rgion
Pays
31
Le$modle$en$toile$
% Une!''table''$de$faits$:!iden-ants!des!tables!de!dimension!;!une!ou!plusieurs!mesures!!
% Plusieurs!tables$de$dimension!:!descripteurs!des!dimensions!
!!!Une!granularit!dnie!par!les!iden-ants!dans!la!table!des!faits.!
!
Avantages/:////
!!Facilit!de!naviga-on!
!!Performances!:!nombre!de!jointures!limit!;!ges-on!des!donnes!creuses.!
!!Ges-on!des!agrgats!
!!Fiabilit!des!rsultats!
!
Inconvnients/:/
!!Toutes!les!dimensions!ne!concernent!pas!les!mesures!
!!Redondances!dans!les!dimensions!
!!Alimenta-on!complexe.!
32!
Proprits$des$mesures$
Addi-vit!:!somme sur toutes les dimensions
! Quantits vendues, chiffre daffaire
33!
Exemples$de$modles$mul-dimensionnels$$$
$Dans$la$grande$distribu-on$:!
Quelques!''tables''!de!faits!:!dtailles!et!volumineuses!
''Tables''!de!dimensions!:!
Classiques!:!Produit,--Fournisseur,--Temps,--Etablissement-(structure!gographique,!fonc-onnelle)...!
Stratgiques!:!Client,-PromoPons,!
Remarque-!:!Obtenir!le!plus!d'enregistrements!possibles.!
!
$Dans$le$secteur$des$banques$:!
''Tables''!des!faits!:!nombreuses,!ddies!!chaque!produit,!peu!dtailles!et!peu!volumineuses.!
''Tables''!de!dimensions!:!!
Classiques!:!Produit,--Temps,--Etablissement-(structure!gographique,!fonc-onnelle)...!
Stratgiques!:!Client,...!
!
Remarque-:-Obtenir!le!plus!de!donnes!(champs)!possibles.!
34!
Client
Pepone
Testut
Soinin
Vepont
Martin
Elvert
Commune
Lyon 1
Lyon 2
Lyon 3
Paris 1
Paris 2
Versailles
Dpartement
Rhne
Rhne
Rhne
Paris
Paris
Yvelines
Region
Rhne-Alpes
Rhne-Alpes
Rhne-Alpes
Ile-de-France
Ile-de-France
Ile-de-France
Pays
France
France
France
France
France
France
Continent
Europe
Europe
Europe
Europe
Europe
Europe
35
Code produit
COMMANDE
N Cde
Nom Produit
Date Cde
COMMANDE
N Cde
Date Cde
TABLE DE FAITS
N Cde
N Client
TABLE DE FAITS
Code vendeur
N Cde
Nom Client N Client
Code produit
CLIENT
N Client Adresse ClientCode vendeur
Clef date
Nom ClientVille
Code produitNom Ville
Adresse Client
Clef date
Quantit
Ville
Nom Ville
VENDEUR
Prix total
Quantit
Code vendeur Prix total
VENDEUR
Code vendeur
Nom Vendeur
Nom Vendeur
Ville Vendeur
Ville Vendeur
Quota
Quota
CLIENT
N Client
Description Produit
PRODUIT
CATEGORIE
Code produit
Catgorie
Catgorie
Nom Produit
Desc. Cat
Description catgorie
Desc. Produit
Prix unitaire
Catgorie
Prix unitaire
DATE
Clef date
DATE
Date
Clef date
Mois
Date
Anne
Mois
MOIS
Mois
Anne
VILLE
VILLE
Nom Ville
Nom Ville
RgionRgion
Pays Pays
REGION
Rgion
Pays
ANNEE
Anne
PAYS
Pays
36
!MARQUE
Id#Produit
Nom#Produit
Description#Produit
Sous9catgorie
Famille#Produit
Description#Catgorie
Prix#unitaire
Id#Cde
Date#Cde
ANNEE
Id#Anne
SEMESTRE
###Id#Semestre
Famille
COMMANDE
SEMAINE
Id#Semaine
MOIS
Id#Mois
SOUS4CATEGORIE
PRODUIT
DATE
!!!JOUR
##Id#Mois
Id#Client
Nom#Client
Adresse#Client
Ville#Client
CLIENT
VENTES
Id#Cde
Id#Client
Id#Vendeur
Id#Produit
Id#Date
Id#Ville
CATEGORIE
Id#Sous9catgorie
Id#Sous9catgorie
VILLE
Quantit
Prix+total
###Id#Dpartement
VENDEUR
Id#Ville##
Id#Magasin
Id#Vendeur##
Ville#Vendeur####
Quota#
DEPARTEMENT
MAGASIN
ZONE!GEO.
Id#Zone#go.
Ville#Mag.
Dpartement#Mag.
Zone#gographique
Rgion#Mag.
Pays#Mag.
37
Le$modle$en$ocons$de$neige$
Schma en arbre d'attributs
ANNEE
COMMANDE
SEMESTRE
SEMAINE
MOIS
DATE
CLIENT
VENTES
Id#Cde
Id#Client
Id#Vendeur
Id#Produit
Id#Date
Id#Ville
JOUR
Famille
!MARQUE
SOUS7CATEGORIE
CATEGORIE
PRODUIT
VILLE
DEPARTEMENT REGION
PAYS
MAGASIN
Quantit
Prix+total
VENDEUR
ZONE!GEO.
38
Le$modle$en$ocons$de$neige$
Modle en flocons de neige = Modle en toile + normalisation des dimension
39
Les$hirarchies$
Les diffrents types d'hirarchies
" Les hirarchies strictes et simples
40
Les$hirarchies$
Les diffrents types d'hirarchies
" Les hirarchies multiples alternatives
41
Les$hirarchies$
Les diffrents types d'hirarchies
" Les hirarchies multiples parallles
42
Les hirarchies
Les diffrents types d'hirarchies
" Les hirarchies multiples parallles
43
Les$hirarchies$
Les diffrents types d'hirarchies
" Les hirarchies multiples parallles
Etat$
Propaga-on$virus$du$Nil$
Ville$
Territoire$
Pays$
occidental!
Province$
44
$Reprsenta-on$$des$donnes$mul-dimensionnelles$
Dim.%PAYS
Id#Pays
Dim.%SEMESTRE
Id#Semestre
Dim.%MARQUE
Id#Marque
Dim.%CATEGORIE
Id#Rgion
Dim.%REGION
Id#Rgion
Dim.%ZONE%GEO.
Id#Zone#go.
Dim.%Famille
Id#Famille
Dim.%SOUS:CATEGORIE
Id#Sous;catgorie
Dim.%DEPARTEMENT
Id#Dpartement
Dim.%VILLE
Id#Ville
Dim.%MOIS
Id#Mois
Dim.%JOUR
Id#Jour
Dim%DATE
Id#Date
Jour
Semaine
Mois
Semestre
Anne
VENTES
Id#Cde
Id#Client
Id#Vendeur
Id#Produit
Id#Date
Id#Ville
Quantit
Prix+total
Dim.%PRODUIT
Id#Produit
Nom#Produit
Description#Produit
Sous;catgorie
Famille#Produit
Description#Catgorie
Prix#unitaire
Dim.%MAGASIN
Id#Magasin
Ville#Mag.
Dpartement#Mag.
Zone#gographique
Rgion#Mag.
Pays#Mag.
Dim.%CLIENT
Id#Client
Nom#Client
Dim.%VENDEUR
Adresse#Client Id#Vendeur
Ville#Client
Ville#Vendeur
Quota
Dim.%COMMANDE
Id#Cde
Date#Cde
45
Le!modle$en$constella-on$(FactDaked)$
46
Le!modle$en$constella-on$(FactDaked)$
Dim.%ANNEE
Id#Anne
Dim.%SEMESTRE
Id#Semestre
Dim.%COMMANDE
Id#Cde
Date#Cde
Dim.%SEMAINE
Id#Semaine
Dim.%MOIS
Id#Mois
Dim.%JOUR
Id#Jour
Dim%DATE
Id#Date
Jour
Semaine
Mois
Semestre
Anne
Dim.%CLIENT
Id#Client
Nom#Client
Adresse#Client
Ville#Client
VENTES
Id#Cde
Id#Client
Id#Vendeur
Id#Produit
Id#Date
Id#Ville
Dim.%PRODUIT
Id#Produit
Nom#Produit
Description#Produit
Sous=catgorie
Famille#Produit
Description#Catgorie
Prix#unitaire
Dim.%USINE
Id#Usine
Dim.%Famille
Id#Famille
Dim.%MARQUE
Id#Marque
Dim.%SOUS9CATEGORIE
Id#Sous=catgorie
Dim.%CATEGORIE
Id#Rgion
Dim.%REGION
Id#Rgion
Quantit
Prix$total
Dim.%VENDEUR
Id#Vendeur
Ville#Vendeur
Quota
Dim.%PRODUCTION
Id#Production
Id#Produit
Id#Date
Id#Usine
#
Qt$produite
Dim.%PAYS
Id#Pays
Dim.%DEPARTEMENT
Id#Dpartement
Dim.%MAGASIN
Id#Magasin
Ville#Mag.
Dpartement#Mag.
Zone#gographique
Rgion#Mag.
Pays#Mag.
Dim.%VILLE
Id#Ville
Dim.%ZONE%GEO.
Id#Zone#go.
47
Es-mer$le$volume$du$DW$$
Calculer ou estimer le nombre d'enregistrements
Prendre en compte:
#
#
#
#
#
#
La ''table'' de faits
Les dimensions significatives
Les agrgats
Les index
Saisonnalit des ventes
Croissance du CA, des encours, du nombre de points de ventes
48
Exemples
Grandes distribution:
CA annuel : 80 000 M$
Prix moyen d'un article d'un ticket : 5$
Nbre d'articles vendus pour un an: 80 * 109 / 5 = 16 * 109
Volume du DW:
16*109 *3 ans * 24 octets = 1,54
To
(1,54*1012 = 1 540 Go )
Tlphonie:
Nbre d'appels quotidiens: 100 millions
Historique: 3 ans * 365 jours= 1 095 jours
Volume du DW:
100 millions * 1 095 jours * 24 octets = 3,94
To
Cartes de crdit:
Nbre de clients: 50 millions
Nbre moyen mensuel de transactions: 30
Volume:
50 millions * 26 mois * 30 transactions * 24 octets = 1,73
To
49
Modlisa-on$logique$ou$Reprsenta-on$des$donnes$
Les donnes sont perues travers plusieurs dimensions. Elles sont qualifies de
multidimensionnelles, indpendamment de leur support (tables relationnelles ou tableaux
multidimensionnels)
Produit
Region
Clous
Est
Ventes
Clous
Ouest
60
Clous
Centre
100
Vis
Est
40
Vis
Ouest
70
Vis
Centre
80
Boulons
Est
Boulons
Ouest
Boulons
Centre
140
50
E st
Ouest
Centre
Clous,
50
60
100
Vis
40
70
80
90
Boulons
90
120
140
120
N ettoyeurs
20
10
30
Nettoyeurs Est
20
Nettoyeurs Ouest
10
Nettoyeurs Centre
30
Les$requtes$dcisionnelles$
par seconde.
51
Les$requtes$dcisionnelles$
Produit
Region
Clous
Est
Ventes
Clous
Ouest
60
Clous
Centre
100
Clous
Total
210
Vis
Est
40
Vis
Ouest
70
Vis
Centre
80
Vis
Total
Boulons
Est
Boulons
Ouest
120
Boulons
Centre
140
Boulons
Total
350
Nettoyeurs
Est
Nettoyeurs
Ouest
10
Nettoyeurs
Centre
30
Nettoyeurs
Total
Total
Est
200
Total
Ouest
260
Total
Centre
350
Total
Total
810
50
190
90
20
60
Est
Ouest
Centre
Total
Clous
50
60
100
210
Vis
40
70
80
190
Boulons
90
120
140
350
Nettoyeurs
20
10
30
60
Total
200
260
350
810
Les$requtes$dcisionnelles$
La valeur ALL remplace une colonne ou une valeur d'agrgats.
Magasin
Mag1
Mag1
Mag1
Mag1
Mag2
Date
1/2/96
6/2/96
10/2/96
ALL
Rayon
010
010
010
010
CA Ventes
3500
2500
2900
8900
2N-1 agrgations
Soit C1, C2, ,CN les cardianlits des N attributs, le cube aura :
53
Les$direntes$approches$d'OLAP$
L'approche relationnelle (ROLAP)
(MicroStrategy MS; Informix's Metacube MC , Information Advantage IA)
L'ensemble des donnes est stock dans une BDR. Les donnes sont sous forme d'enregistrements
(tuples).
VENTES (Magasin, Rayon, Date, CA Ventes, Nb Client)
Select Magasin, Date , Sum(CA Ventes)
From VENTES
Group By Magasin, Date
Oprateurs d'agrgation:
cube , rollup.
'J.Gray, A. Bosworth, A. Leyman, H. Pirahesh, Data Cube : A relationnal Aggregation Operator Generalizing Group-By, CrossTab, and Sub-Total, in Data Mining and Knowledge Discovery Journal, 1(1), 1997]
54
Les$requtes$dcisionnelles$
L'union de plusieurs group-by donne naissance un cube :
Select ALL, ALL, ALL, Sum(CA Ventes)
From VENTES
UNION Select Magasin, ALL, ALL, Sum(CA Ventes)
From VENTES
Group-By Magasin ;
UNION Select Magasin, Date, ALL, Sum(CA Ventes)
From VENTES
Group-By Magasin, Date ;
UNION Select Magasin, Date, Rayon, Sum(CA Ventes)
From VENTES
Group-By Magasin, Date, Rayon ;
Les$direntes$approches$d'OLAP$
L'approche multidimensionnelle (MOLAP)
Arbor Software: hyperion (Codd & co), Express Oracle , LightShip (de Pilot)
parses.
On y stocke dans les cellules les mesures (valeurs observer), les donnes reprsentant
les dimensions sont les coordonnes de ces valeurs :
[Zhao Yihong, Deshpande Prasad M., Naughton Jeffrey F., An Array-Based Algorithm for Simultaneous Multidimensional Aggregates, in SIGMOD
Record n 26, Vol 2, 1997.]
56
Les$direntes$approches$d'OLAP$
BD parse
# Plus on a de dimensions plus on a de cellules.
Seulement une partie des produits peut tre vendue ( des cellules sans
valeur: donnes parses.
Exemple :
On dispose de 100 000 donnes (eq. tuples)
4 dimensions ayant une cardinalit de 30 modalits chacune:
30 * 30 * 30 * 30 = 810 000 cellules
(dont 710 000 vides : 12,3% seulement sont pleines)
Les$direntes$approches$d'OLAP$
L'approche hybride (HOLAP)
Approche relationnelle : 30% du temps est consacr aux I/O
La 3 voie prconise consiste utiliser les tables comme structure permanente de stockage des
donnes et les tableaux comme structure des requtes.
La dmarche consisterait en 3 tapes :
1 Pays
BDM
5 Rgions
500 Villes
50 000 Clients
BDR
58
Les$direntes$structures$mul-dimensionnelles$
magasins de donnes (Data Marts), on y stockera des donnes portant sur une
seule des activits de l'entreprise
& Ils peuvent galement servir de bases de construction des cubes de donnes
59
Entrepts,$Magasins$et$Cubes$de$donnes$
MD
Magasins de
donnes
Data Mining
MD
MD
Entrept$$
de$$
donnes$
MD
Cube
Cube
Cube
Analyses
statistiques
Cubes de donnes
MD
MD
OLAP Reporting
60