Vous êtes sur la page 1sur 30

Les ntrepts de

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!

Clef$ (cls trangres vers les dimensions)

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

- Table d'une BD de production

- Table d'une BD multidimensionnelle

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

!Peut tre le rsultat dun calcul


!Bnfice = montant vente cot

SemiDaddi-vit!:!somme sur certaines dimensions


!Solde dun compte bancaire
!Pas de sens dadditionner les dates car cela reprsente des instantans dun niveau
! sur les comptes: on connat ce que nous possdons en banque

Non$addi-f$: fait non additionnable quelque soit la dimension


!Prix unitaire: laddition sur nimporte quelle dimension donne un nombre dpourvu de
sens

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!

Le modle en flocons de neige


Le modle de l' ED doit tre simple comprendre.
On peut augmenter sa lisibilit en regroupant certaines dimensions.
On dfinit ainsi des hirarchies.
Celles-ci peuvent tre gographiques ou organisationnelles.
Exemple: Commune, Dpartement, Rgion, Pays, Continent

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

Le modle en flocons de neige


PRODUIT

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

Le modle en flocons de neige


Id#Marque
Id#Famille

!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

Lorsque les tables sont trop volumineuses


Avantages:
rduction du volume
permettre des analyse par pallier (drill down) sur la dimension hirarchise
Inconvnients:
navigation difficile
nombreuses jointures

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$

& Les diagramme UML de SOLAP


Dim.%ANNEE
Id#Anne

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)$

" La modlisation en constellation consiste fusionner plusieurs


modles en toile qui peuvent utiliser des dimensions communes.
" Un modle en constellation comprend donc plusieurs tables de faits
et des tables de dimensions communes ou non ces tables de faits.

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

Reprsentation des donnes dans un tableau


multidimensionnel

Reprsentation des donnes dans une


table relationnelle
50

Les$requtes$dcisionnelles$

Quelle est le total des ventes dans la rgion Est ?


On peut calculer divers totaux.
# Tables

relationnelles : on peut traiter quelques centaines de tuples

par seconde.

# Tableau multidimensionnel : on peut rajouter en lignes et en colonnes plus de


10000 valeurs par seconde.
Pour acclrer les temps de rponses, il est prfrable de pr-calculer des sous totaux.

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

OLAP consolide entre 20 000 et 30 000 cellules/s

Pour le calcul de ces totaux: 28 accs en lecture


et 8 accs en criture.

Un SGBDR lit 200 enregist/s et en crit environ


20/s.
52

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

S'il y a N attributs concourant la construction du cube, il y aura :

2N-1 agrgations
Soit C1, C2, ,CN les cardianlits des N attributs, le cube aura :

(Ci +1) enregistrements


Dans la tables VENTES si on a 2*3*3 = 18 enregist.
dans le cube on aura 3*4*4* = 48 enregist.

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 ;

L'oprateur cube est une gnralisation N-dimensionnelle de fonctions


d'agrgations simples. C'est un oprateur relationnel.
Select Magasin, date, Rayon, Sum(CA Ventes)
From VENTES
Group-By Cube Magasin, Date, Rayon;
55

Les$direntes$approches$d'OLAP$
L'approche multidimensionnelle (MOLAP)
Arbor Software: hyperion (Codd & co), Express Oracle , LightShip (de Pilot)

Il s'agit de stocker les donnes dans des tableaux multidimensionnels.


Ces tableaux peuvent tre

parses.

On y stocke dans les cellules les mesures (valeurs observer), les donnes reprsentant
les dimensions sont les coordonnes de ces valeurs :

f = (d1, d2, , dn, m1, m2, , mp)

[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)

# Une BD est considre comme parse si elle a moins de 40% de ses


cellules peuples .

Techniques de compression des donnes


57

Les$direntes$approches$d'OLAP$
L'approche hybride (HOLAP)
Approche relationnelle : 30% du temps est consacr aux I/O

Approche multidimensionnelle : 20% 70% calculs et 10% dcompression

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

1. Charger les donnes d'une table vers un tableau.


2. Calculer le cube de ce tableau selon les mthodes
initialement prsentes.

BDM
5 Rgions

500 Villes

3. Stocker les rsultats (donnes agrges) dans un


table.

50 000 Clients

BDR
58

Les$direntes$structures$mul-dimensionnelles$

" Les magasins de donnes (data marts)


& Simples

magasins de donnes (Data Marts), on y stockera des donnes portant sur une
seule des activits de l'entreprise

& Ceux sont en quelque sorte des vues mtier


& Exemple : Data Mart Comptabilit, Data Mart RH,.....
& Ces mini ED peuvent alors tre considrs comme des espaces d'analyse, du fait que les
donnes sont bien moins nombreuses et surtout qu'elles sont thmatiques et modlises en
multidimensionnel

& 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