Vous êtes sur la page 1sur 21

lOMoARcPSD|34998642

Merise 02 MCD MOD MLD MPD

cours de math financière (Institut des Sciences et Techniques de la Communication)

Studocu is not sponsored or endorsed by any college or university


Downloaded by es.3diaries esma (soma.lola22@gmail.com)
lOMoARcPSD|34998642

La mŽthode MERISE
2 : MCD Ð MOD Ð MLD Ð MPD
DŽnormalisation - Optimisation
Bertrand LIAUDET

SOMMAIRE

SOMMAIRE 1

MCD : MODELE CONCEPTUEL DES DONNEES 3


1. Rappels 3
Le cycle dÕabstraction de MERISE 3
La modŽlisation 4
Les diffŽrents mod•les et leurs relations 5
Les instanciations du MCD : MEA, UML, schŽma entitŽ-relation, etc. 6
2. Principes des contraintes conceptuelles du MCD 7
Principe gŽnŽral 7
Premier principe concret : la normalisation classique 7
Deuxi•me principe concret : le rasoir dÕOccam 7
Troisi•me principe concret 7
3. Documentation associŽ au MCD 8
DŽcomposition du MCD en sous domaine 8
Clarifications systŽmatique des attributs et des associations 8
4. Simulation : grille de cohŽrence MCD / MCT 9
Principe 9
Technique 9
Remarque 9

MOD MODELE ORGANISATIONNEL DES DONNEES 10


1. Choix des informations ˆ mŽmoriser 10
2. RŽpartition des donnŽes et droits dÕacc•s 10
3. Quantification des informations ˆ mŽmoriser 11
PrŽsentation 11
Cycle de vie 11
Tableau de quantification 11

MLD : MODéLE LOGIQUE DES DONNƒES 12


1. PrŽsentation 12

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 1/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

2. Passage du MCD au MLD. 13


Principe 13
Les 6 r•gles de passage du MEA au MR 13

MPD : MODELE PHYSIQUE ET OPTIMISATION 14


1. Principes du MPD 14
2. Optimisation et dŽnormalisation 14
PrŽsentation 14
GŽnŽralitŽs sur la dŽnormalisation 14
Passage du MEA au MR 15
Indexation 16
Attributs calculŽs 16
TransitivitŽ des DF : ajout de liens directs 17
Duplication dÕattributs 18
Association 1.1 - 0.1 19
Fusion de tables 19
4. Questions de cours 20

Edition Octobre 2018

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 2/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

MCD :
MODELE CONCEPTUEL DES DONNEES

1. Rappels

Le cycle dÕabstraction de MERISE

LE CYCLE DÕABSTRACTION
Niveaux DONNEES TRAITEMENTS
CONCEPTUEL MCD MCT
Mod•le conceptuel des donnŽes Mod•le conceptuel des traitements
QUOI Signification des informations sans ActivitŽ du domaine sans prŽciser les
contraintes techniques, ressources et leur organisation
organisationnelles ou Žconomiques.
Mod•le entitŽ Ð association
ORGA- MOD MOT
NISATIONNEL Mod•le organisationnel des donnŽes Mod•le organisationnel des traitements
Signification des informations avec Fonctionnement du domaine avec les
QUI, OU, QUAND contraintes organisationnelles et ressources utilisŽes et leur organisation
Žconomiques. (RŽpartition et (rŽpartition des traitements sur les postes
quantification des donnŽes ; droit des de travail)
utilisateurs)
LOGIQUE MLD MLT
Mod•le logique des donnŽes Mod•le logique des traitements
COMMENT Description des donnŽes tenant compte Fonctionnement du domaine avec les
de leurs conditions dÕutilisation ressources et leur organisation
(contraintes dÕintŽgritŽ, historique, informatique.
techniques de mŽmorisation).
Mod•le relationnel
PHYSIQUE MPD MPT
Mod•le physique des donnŽes Mod•le physique des traitements
COMMENT Description de la (ou des) base(s) de Architecture technique des programmes
donnŽes dans la syntaxe du Syst•me de
Gestion des donnŽes (SG.Fichiers ou
SG Base de DonnŽes)
Optimisation des traitements
(indexation, dŽnormalisation, triggers).
DÕapr•s ISIM, p. 37

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 3/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

La modŽlisation
La modŽlisation est lÕactivitŽ qui consiste ˆ produire un mod•le.
Un mod•le est ce qui sert ou doit servir dÕobjet dÕimitation pour faire ou reproduire quelque
chose.
On sÕintŽresse ici ˆ la modŽlisation des donnŽes.
Un mod•le des donnŽes est une reprŽsentation de lÕensemble des donnŽes. Cette reprŽsentation
prend en compte un outil de reprŽsentation (un langage) et un niveau de prŽcision (des contraintes
mŽthodologiques).
Il existe plusieurs mod•les de reprŽsentation des donnŽes : hiŽrarchique, relationnel, entitŽ-
association, objet, ensembliste, etc.
Les deux mod•les dominant actuellement sont : le mod•le relationnel : MR (qui correspond aux
SGBD-R) et le mod•le entitŽ-association : MEA (qui est indŽpendant du type de SGBD utilisŽ).
Ces deux mod•les correspondent ˆ 2 langages diffŽrents.
Les schŽmas entitŽ-relation et les diagrammes de classe UML peuvent •tre utilisŽs comme autres
langages ˆ peu pr•s Žquivalents au MEA.
La mŽthode MERISE, utilisŽe quasi-exclusivement en France, distingue entre 3 types de mod•les
selon des crit•res mŽthodologiques : le mod•le conceptuel des donnŽes : MCD, le mod•le
logique des donnŽes : MLD et le mod•le physique des donnŽes : MPD. LÕusage tend ˆ rendre
Žquivalents MCD et MEA, MLD et MR, MPD et SQL.
Le MCD est du niveau de lÕanalyse fonctionnelle et est adaptŽ ˆ la ma”trise dÕouvrage (MOA).
Le MLD est du niveau de lÕanalyse organique et est adaptŽ ˆ la ma”trise dÕÏuvre (MOE).

La Ç jungle È des mod•les !


MŽthode MCD MLD MPD
Langage MEA, schŽma E-R, UML MR SQL
Type de Algorithmique-MOA Algorithmique-MOE Code
langage Analyse fonctionnelle Analyse organique

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 4/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Les diffŽrents mod•les et leurs relations

MCD et Mod•le EntitŽ-Association.


Le MCD, cÕest lÕensemble des mod•les qui int•grent les contraintes conceptuelles dŽfinies par
Merise. Parmi ces mod•les, le plus couramment utilisŽ est le mod•le EntitŽ-Association.
Le MCD est donc une abstraction (un mod•le abstrait), tandis que le mod•le EntitŽ-Association
est un mod•le concret. CÕest une instance possible du MCD.
Une autre instance possible dÕun MCD peut •tre rŽalisŽe avec le formalisme des diagrammes de
classes UML.

MCD

¥ mod•le EntitŽ-Association * autre mod•le

Toutefois, quand on parle du MCD, le plus souvent, on parle du mod•le concret rŽalisŽ pour
intŽgrer les contraintes conceptuelles dŽfinies par Merise (donc on parle dÕun mod•le EntitŽ-
Association).

MLD et mod•le relationnel


La notion de MLD correspond ˆ lÕensemble des mod•les qui int•grent les contraintes
organisationnelles et logiques dŽfinies par Merise. Parmi ces mod•les, le plus couramment utilisŽ
est le mod•le relationnel.
La notion de MLD est donc une abstraction (un mod•le abstrait), tandis que le mod•le relationnel
est un mod•le concret.
MLD

¥ mod•le relationnel * autre mod•le

Toutefois, quand on parle du MLD, le plus souvent, on parle du mod•le concret rŽalisŽ pour
intŽgrer les contraintes organisationnelles et logiques dŽfinies par Merise (donc on parle dÕun
mod•le relationnel).

MCD et mod•le relationnel


Dans lÕabsolu, le mod•le relationnel peut •tre utilisŽ comme mod•le concret pour faire un MCD.
LÕimportant, cÕest que les contraintes conceptuelles soient prises en compte.
Concr•tement, pour que cela soit le cas, il faudra que le MLD soit en Ç forme normale È.
Un MR Ç brut È normalisŽ correspond ˆ un MCD.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 5/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Les instanciations du MCD : MEA, UML, schŽma entitŽ-relation, etc.

DiffŽrents types de langages


Classiquement, le MCD se fera avec un MEA.
Le cours de modŽlisation prŽsente lÕutilisation du MEA pour la modŽlisation.
On peut aussi rŽaliser le MCD avec un diagramme de classes UML.
Le cours de modŽlisation prŽsente lÕutilisation de lÕUML pour la modŽlisation des donnŽes.
DÕautres langages existent.

Les cardinalitŽs des associations


Tous les langages de modŽlisation prŽsentŽs (MEA, UML, etc.) ont les deux caractŽristiques essentielles
suivantes :
¥ Ils prennent en compte les cardinalitŽs des associations. CÕest donc ce ˆ quoi il faut
particuli•rement sÕattacher quel que soit le langage utilisŽ.
¥ Ils cachent les clŽs Žtrang•res sous les associations. De ce fait, ils ne prŽsentent pas de clŽs
primaires concatŽnŽes avec une clŽ Žtrang•re.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 6/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

2. Principes des contraintes conceptuelles du MCD

Principe gŽnŽral
Le MCD modŽlise les donnŽes (les informations) sans tenir compte des contraintes
¥ techniques,
¥ organisationnelles,
¥ Žconomiques.
Concr•tement, cela veut dire quÕau niveau du MCD :
¥ Aucune contrainte technique ne sera prise en compte : on nÕutilise pas nŽcessairement un
SGBD relationnel.
¥ Toutes les donnŽes de lÕentreprise seront prises en compte (pas de rŽpartition selon les sites
ou les applications : pas de contraintes organisationnelles).
¥ Aucune limitation de moyens financier ne sera prise en compte.

Premier principe concret : la normalisation classique


Les formes normales 1 et 3 de CODD quÕon trouve dans le mod•le relationnel sÕappliquent au
niveau du MCD :
1 forme normale : un attribut contient une information unique et pas une liste de valeurs.
•re

3 forme normale : un attribut non clŽ ne doit pas dŽterminer dÕautres attributs non clŽ.
•me

Deuxi•me principe concret : le rasoir dÕOccam


Un autre principe est appliquŽ au niveau du MCD qui reprend un vieux principe de logique
appelŽ : Ç Le rasoir dÕOccam È (1287-1349) :
Entia non sunt multiplicanda praeter necessitatem,
il ne faut pas multiplier les entitŽs plus que nŽcessaire.
Le principe consiste donc ˆ limiter autant que possible le nombre dÕentitŽs, dÕassociations et
dÕattributs.
On prŽfŽrera remplacer une entitŽ ou une association par un attribut.
A noter que ce principe est une gŽnŽralisation de la 2 forme normale de CODD.
•me

Exemple :
On Žvite les identifiants numŽrotŽs sÕils peuvent •tre remplacŽs par intitulŽs relevant du
vocabulaire du mŽtier. Par exemple dans une table de catŽgorie, le nom de la catŽgorie est
lÕidentifiant, il nÕy a pas besoin de numŽro.
On Žvite dÕavoir des tables avec un seul attribut si elles ne sont reliŽes quÕˆ une seule autre table.
Par exemple une table des catŽgories contenant uniquement lÕintitulŽ de la catŽgorie peut •tre
supprimŽe si la catŽgorie ne se trouve que dans la table des produits, par exemple.

Troisi•me principe concret


Une m•me information ne doit appara”tre quÕune seule fois.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 7/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

3. Documentation associŽ au MCD

DŽcomposition du MCD en sous domaine


Quand on rŽalise un MCD, on peut arriver ˆ un mod•le tr•s complexe.
Le prŽsenter sur une seule page peut •tre contre-productif.
On a donc intŽr•t ˆ prŽsenter le MCD par domaine dÕactivitŽs.
Chaque MCD prŽsentŽ aura intŽr•t ˆ •tre un peu commentŽ : on peut prŽsenter la ou les
principales entitŽs du domaine pour donner une clŽ dÕentrŽe.

Il y aura forcŽment des recoupements entres les domaines dÕactivitŽs.


On peut aussi prŽsenter ces recoupements de fa•on sŽparŽe et analyser ainsi les interactions entre
les diffŽrents domaines.

Clarifications systŽmatique des attributs et des associations


Quand on rŽalise un MCD, on peut le documenter de la fa•on suivante ;
¥ Dictionnaire des donnŽes : la signification de chaque attribut peut •tre explicitŽe.
¥ Valorisation des attributs : des caractŽristiques supplŽmentaires peuvent •tre ajoutŽes,
particuli•rement les caract•res obligatoires et non modifiables (cf. cours sur la valorisation
du mod•le relationnel).
¥ Les cardinalitŽs des associations peuvent •tre explicitŽes par une phrase.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 8/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

4. Simulation : grille de cohŽrence MCD / MCT

Principe
La grille de cohŽrence MCD / MCT permet de vŽrifier toutes les corrŽlations entre les donnŽes
et les traitements. On valide ainsi que chaque entitŽ et chaque association gŽnŽrant une table sera
bien crŽŽ et consultŽ, et Žventuellement modifiŽ et supprimŽ.
LÕidŽe est de valider une simulation intellectuelle de tout le syst•me.
Cette grille peut aussi sÕappliquer aux niveaux du MOD, du MLD ou du MPD. Elle peut aussi
sÕappliquer au niveau du MOT.
Elle peut aussi sÕappliquer avec en croisant le MCD avec un diagramme de cas dÕutilisation.

Technique
Dans un tableau Ç traitement / entitŽs-associations È, on va noter lÕusage fait des donnŽes en
terme de lecture (L : select), crŽation (C, insert), modification (M : update), suppression (S :
delete).
On peut aussi prŽciser, surtout en cas de modification, quel attribut est modifiŽ.
A noter que ce tableau est ˆ corrŽler avec la valorisation des attributs.

EntitŽs ou associations
Traitement 1 Traitement 2 Traitement 3 É É
EntitŽ 1 L CM
Usages, É
OpŽrations Association 1 C M L
ou T‰ches
É

Ainsi, on peut simuler le syst•me : vŽrifier que tous les usages ou opŽrations ou t‰ches analysŽs
manipulent toutes les entitŽs et associations du MCD.

Remarque
LÕanalyse du MCD, tout comme celle du MCT ou du diagramme des cas dÕutilisation est une
analyse rapide.
En suivant la mŽthode MERISE, et gr‰ce ˆ la grille de cohŽrence, on peut arriver rapidement ˆ
une simulation compl•te du SI.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 9/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

MOD
MODELE ORGANISATIONNEL DES DONNEES

Il est facile de dŽcrire la mŽthode MERISE de lÕanalyse organisationnelle, encore que son
application exige ˆ coup sžr savoir et pratique.
La modŽlisation organisationnelle des donnŽes va prendre en compte des ŽlŽments relevant de
lÕutilisation des ressources de mŽmorisation :

¥ Choix des informations ˆ mŽmoriser informatiquement.


¥ Quantification des informations ˆ mŽmoriser (volume et durŽe de vie).
¥ RŽpartition des donnŽes informatisŽe entre unitŽs opŽrationnelles.

1. Choix des informations ˆ mŽmoriser

Il sÕagit de distinguer, ˆ partir des informations formalisŽes sur le MCD, celles qui devront •tre
mŽmorisŽes informatiquement dans le syst•me dÕinformation informatisŽ (SII), et les autres.

2. RŽpartition des donnŽes et droits dÕacc•s

On va analyser au niveau du MOD la rŽpartition concr•te des donnŽes entre les unitŽs
opŽrationnelles de lÕentreprise ou plus concr•tement entre les diffŽrents Ç poste de travail È.
Dans le cas des donnŽes non informatisŽes, il faudra prŽciser leur localisation.
Dans le cas des donnŽes informatisŽes, on va prŽciser les droits des diffŽrents utilisateurs : les
droits des diffŽrents acteurs (au sens de lÕUML ou du MOT).
Ces droits peuvent •tre :
¥ Lecture
¥ ƒcriture
¥ CrŽation
¥ Suppression
Chacun de ces droits sÕappliquant aux entitŽs, aux attributs, aux associations et ˆ leurs
occurrences.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 10/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

3. Quantification des informations ˆ mŽmoriser

PrŽsentation
La quantification prend en compte deux notions :
¥ Le volume : taille et nombre de chaque ŽlŽment.
¥ La durŽe de vie : statistiques sur le nombre minimum, maximum et moyen dÕoccurrences
concr•tes pour chaque entitŽ et chaque association.

Cycle de vie
Pour analyser le cycle de vie des informations, on part du MCT, et on regarde, pour chaque
opŽration, quelles sont les donnŽes qui sont crŽŽes et quelles sont celles qui sont modifiŽes.
Dans lÕexemple de la grande surface :
A chaque commande de produit, on va ajouter des ŽlŽments dans la table des produits
commandŽs.
Ces ŽlŽments pourront •tre dŽtruits d•s la rŽception de la commande, ou •tre dŽtruits apr•s un
temps ˆ dŽterminer, ou conservŽs en permanence dans une logique dÕarchivage.

Tableau de quantification
Pour chaque entitŽ et pour chaque association, on calcule le volume thŽorique dÕune occurrence,
ˆ partir du volume thŽorique dÕune occurrence dÕun attribut.
Pour toutes les entitŽs et les associations, on dŽtermine le nombre minimum, maximum et moyen
dÕoccurrences.
On regroupe lÕensemble des informations dans un tableau.

Vol Nb min Nb max Nb moy Vol min Vol max Vol moyen
EntitŽ 1 145 10 1000 100 1450 145000 14500
EntitŽ 2
É
Association 1
Association 2
É
Totaux Som Som Som Som Som Som Som

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 11/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

MLD :
MODéLE LOGIQUE DES DONNƒES

1. PrŽsentation

Le MLD est une reprŽsentation du MCD et du MOD compatible avec lÕŽtat de lÕart technique
qui sera mis en Ïuvre sur le projet.

DiffŽrentes techniques sont possibles :


¥ Un MLD sous la forme de fichiers.
On peut stocker les donnŽes dans des fichiers, leur utilisation se faisant via un petit nombre
de procŽdures qui seront Žcrites enti•rement. Le MLD, cÕest alors le format des donnŽes
dans les fichiers.
¥ Un MLD sous la forme dÕune base de donnŽes hiŽrarchique type XML
¥ Un MLD sous la forme dÕune base de donnŽes relationnelle
¥ Un MLD sous la forme dÕune base de donnŽes objet

La BD relationnelle est lÕusage le plus courant. Toutefois on voit que •a nÕest pas le seul et que
quelle que soit la technique, •a nÕemp•che pas de faire un MCD !

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 12/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

2. Passage du MCD au MLD.

Principe
En gŽnŽral, il existe des r•gles de passage du MCD au MLD quel que soit la technique finalement
choisi (fichier, XML, BD-R, BD-OO, etc.).
On rappelle ici les 6 r•gles de passage du MEA au MR

Les 6 r•gles de passage du MEA au MR


R•gle 1 - EntitŽ : Chaque entitŽ devient une table. Chaque attribut de l'entitŽ devient un attribut
de cette table.
R•gle 2 Ð Association Ç 1 ˆ plusieurs È : La clŽ primaire de lÕentitŽ supŽrieure (c™tŽ plusieurs)
devient attribut clŽ Žtrang•re dans la table issue de lÕentitŽ infŽrieure (cotŽ 1).
Dans le cas d'une association Ç 1 ˆ plusieurs È rŽflexive, ce nouvel attribut doit •tre renommŽ.
Par exemple : #NE devient # NEchef.
Dans le cas dÕun identifiant relatif (association (1.1) parenth•sŽe), la clŽ primaire de lÕentitŽ
supŽrieure (c™tŽ plusieurs) devient attribut clŽ Žtrang•re et primaire dans la table issue de lÕentitŽ
infŽrieure (cotŽ 1).
R•gle 3 Ð Association Ç plusieurs ˆ plusieurs È : Une association Ç plusieurs ˆ plusieurs È
devient une table. Les clŽs primaires des entitŽs associŽes deviennent clŽs Žtrang•res dans cette
table. Les attributs de lÕassociation deviennent attributs de la table. La dŽtermination de la clŽ
primaire de cette table nÕest pas automatique.
En gŽnŽral, la clŽ primaire de cette table est constituŽe de la concatŽnation des clŽs primaires des
entitŽs associŽes. Toutefois, il faut se demander si cette concatŽnation forme bien la clŽ primaire.
Si ce nÕest pas le cas, on peut essayer dÕajouter des attributs non-clŽs pour trouver la clŽ primaire.
Ensuite, il faut se demander si on ne peut pas supprimer certains attributs clŽs Žtrang•res pour
rŽduire la clŽ primaire au minimum dÕattributs.
R•gle 4 Ð Association Ç 0.1 ˆ plusieurs È : 2 possibilitŽs :
¥ Si elles portent des attributs, on applique la r•gle 3 concernant les associations plusieurs
ˆ plusieurs. LÕassociation donne une table.
¥ Si elles ne portent pas dÕattributs, on applique la r•gle 2 concernant les associations 1 ˆ
plusieurs. Dans ce cas la clŽ Žtrang•re produite nÕest pas obligatoire puisque le minimum
est ˆ 0 (pas NOT NULL).
R•gle 5 Ð LÕhŽritage : Dans le cas dÕun hŽritage, chaque entitŽ participante (esp•ce et genre)
devient une table. La clŽ primaire de la table issue de lÕentitŽ genre devient clŽ Žtrang•re dans
les tables issues des entitŽs esp•ces. Si une entitŽ esp•ce nÕa pas de clŽ primaire, la clŽ Žtrang•re
issue de lÕentitŽ genre devient la clŽ primaire de la table issue de lÕentitŽ esp•ce.
R•gle 6 Ð ClŽ complexe : Les clŽs complexe sont produite en appliquant les 5 r•gles prŽcŽdentes
avec une diffŽrence : les associations peuvent relier des entitŽs ou des associations qui donnent
une table dans le mod•le relationnel. Dans ce cas les r•gles 5 premi•res r•gles sÕappliquent en
considŽrant la clŽ primaire de la table issue de lÕassociation reliŽe comme si elle provenait dÕune
entitŽ.
.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 13/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

MPD :
MODELE PHYSIQUE ET OPTIMISATION

La problŽmatique des mod•les physiques est celle de lÕoptimisation.

1. Principes du MPD

Le MPD sÕintŽresse ˆ :
¥ La description de la (ou des) base(s) de donnŽes dans la syntaxe du Syst•me de Gestion des
donnŽes (SG.Fichiers ou SG Base de DonnŽes) utilisŽ : cÕest donc le code SQL concret en
cas dÕutilisation dÕun SGBD-R.
¥ LÕoptimisation des traitements (indexation, dŽnormalisation, triggers).

2. Optimisation et dŽnormalisation

PrŽsentation
LÕoptimisation des donnŽes va consister ˆ concevoir un MPD qui modifie le MLT de telle sorte
que certains traitements soient accŽlŽrŽs.
LÕoptimisation va toujours consister ˆ Ç dŽnormaliser È les tables relationnelles pour
accŽlŽrer les traitements.
Le choix des optimisations est liŽ ˆ lÕusage que lÕon fait du syst•me : par exemple, si on sait
quÕil y aura beaucoup dÕinterrogations du syst•me dÕinformation (de la base de donnŽes) et peu
de crŽation de nouveaux ŽlŽments, alors on privilŽgiera les optimisations qui favorisent
lÕinterrogation (comme la crŽation dÕindex, ou la crŽation dÕattribut calculŽ).
Elle est liŽe aussi aux possibilitŽs du SGBD utilisŽ ainsi quÕˆ lÕenvironnement matŽriel en gŽnŽral
et aux usages du syst•me.
CÕest pour •a quÕelle rel•ve du niveau physique.

GŽnŽralitŽs sur la dŽnormalisation

Principe
La dŽnormalisation est une optimisation en vue dÕaccŽlŽrer les traitements de consultation pour
amŽliorer les temps de rŽponse pour lÕutilisateur.
La dŽnormalisation consiste ˆ Ç casser È le mod•le relationnel normalisŽ des donnŽes.

Cožt
La dŽnormalisation a toujours un cožt :
¥ Soit en terme de sŽcuritŽ : lÕintŽgritŽ des donnŽes est moins bien garantie
¥ Soit en terme de performance : ce quÕon gagne en consultation, on le perdra en CMD.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 14/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Justification
La dŽnormalisation, comme toute optimisation de la BD, doit •tre justifiŽe par lÕusage rŽel du
syst•me : Žtant donnŽ les machines utilisŽes, le nombre de tuples dans la BD, le nombre
dÕutilisateurs du syst•me, la dŽnormalisation peut se justifier.
La dŽnormalisation ne doit jamais •tre justifiŽe par lÕintŽr•t du programmeur !

Optimisation fondamentale : lÕindexation


LÕindexation est la mŽthode de base et la plus efficace pour optimiser les BD. Elle doit •tre traitŽe
en prioritŽ.

Les types de dŽnormalisation


¥ Passage du MEA au MR : table de type, choix des tables dans lÕhŽritage, type des clŽs
primaires
¥ Indexation
¥ Les attributs calculŽs
¥ TransitivitŽ
¥ Duplication dÕattributs
¥ Association 1.1 - 0.1
¥ Regroupement de tables

Passage du MEA au MR

Table de type
On peut crŽer une table pour gŽrer un type et choisir de mettre une clŽ primaire numŽrotŽe ou
pas.

Choix des tables dans lÕhŽritage


Dans un MEA avec hŽritage, toutes les tables produites dans le MR ne sont pas nŽcessaires. On
peut •tre amenŽs ˆ en supprimer.

Choix du type des clŽs primaires


On peut prŽfŽrer avoir une clŽ primaire numŽrotŽe et gŽrŽe par un auto-incrŽment qui viendra se
substituer ˆ une autre clŽ primaire qui avait une signification dans le domaine (un n¡ de personne
plut™t quÕun numŽro de sŽcuritŽ sociale par exemple).

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 15/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Indexation
Un index est une table crŽŽe ˆ partir dÕun attribut dÕune autre table, et de sa clŽ primaire.
Cette table est triŽe dans lÕordre de lÕattribut indexŽ : elle permet de faire des recherches plus
rapides (recherche dichotomique)
A (A, A1, É, Ai, ÉAn)
Si on indexe lÕattribut Ai, on crŽe la table Aidx(Ai, A) triŽe et maintenue triŽe sur Ai.

Attributs calculŽs

PrŽsentation
Un attribut calculŽ est un attribut dont on peut calculer la valeur ˆ partir dÕautres attributs.
Un tel attribut prŽsente le dŽfaut de dupliquer une information dŽjˆ prŽsente dans la BD.
Les attributs calculŽs peuvent •tre gŽrŽs par des vues : leur rŽalitŽ nÕest donc que virtuelle.
Ils peuvent aussi •tre gŽrŽs en crŽant rŽellement un nouvel attribut.
LÕintŽr•t est de ne pas le recalculer ˆ chaque fois quÕon en a besoin. Le dŽfaut est quÕil faut faire
attention ˆ ce quÕil soit toujours ˆ jour : on peut se protŽger des incohŽrences ˆ lÕaide de triggers.

Exemple

Ø Version normalisŽe
Disques(ND, titre, dateSortie, maisonDisque)
Chansons(NC, titre, durŽe, dateCrŽation)
Composer(#ND, #NC)
Un disque est composŽ de plusieurs chansons. Une chanson peut appartenir ˆ plusieurs disques.

Ø Version optimisŽe
Disques(ND, titre, dateSortie, maisonDisque, durŽeDisque)
Chansons(NC, titre, durŽe, dateCrŽation)
Composer(#ND, #NC)

Ç durŽeDisque È est fonction de la durŽe de chaque chanson du disque. Il faudra le gŽrer avec un
trigger.

Ø Version avec vue


Create view DisquesAvecDurŽe as
Select D.ND, D.titre, .D.dateSortie, D.maisonDisque, count(C.durŽe) as durŽeDisque
From Disques D, Chansons C, Composer CO
Where CO.ND=D.ND
And CO.NC=C.NC
Group by D.ND, D.titre, D.dateSortie, D.maisonDisque

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 16/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

TransitivitŽ des DF : ajout de liens directs

PrŽsentation
On peut aussi crŽer un lien de transitivitŽ : si on a A(A, Ax, #B) et B(B, Bx, #C) et C(C, Cx). On
peut dŽcider dÕajouter #C dans A : A(A, Ax, #B, #C).
Un lien direct est une clŽ Žtrang•re qui relie deux tables qui sont par ailleurs reliŽes par une ou
plusieurs clŽs Žtrang•res passant par une ou plusieurs tables intermŽdiaires.
LÕintŽr•t de ce lien est de limiter le nombre de jointures lors des requ•tes.
Il faudra vŽrifier la cohŽrence des donnŽes avec des triggers.

Exemple

Ø Version normalisŽe
EmployŽs(NE, nom, dateEmbauche, salaire, #NB)
Bureaux(NB, Žtage, surface, #ND)
DŽpartements(ND, nomDept, villeDept)

Ø Version optimisŽe
EmployŽs(NE, nom, dateEmbauche, salaire, #NB, #ND)
Bureaux(NB, Žtage, surface, #ND)
DŽpartements(ND, nomDept, villeDept)

La table EmployŽs nÕest pas en 3 forme normale car NB -> ND


•me

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 17/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Duplication dÕattributs
La duplication dÕattributs consiste ˆ violer les formes normales 2 ou 3.
CÕest une forme rŽduite de la fusion des tables : on ne fusionne quÕune partie de la table.
LÕintŽr•t de cette duplication est dÕŽviter dÕavoir ˆ faire des jointures lors des requ•tes.
Il faudra vŽrifier la cohŽrence des donnŽes avec des triggers.

Exemple 1

Ø Version normalisŽe
EmployŽs(NE, nom, dateEmbauche, salaire, #ND)
Departements(ND, nomDept, villeDept)

Ø Version optimisŽe
EmployŽs(NE, nom, dateEmbauche, salaire, ND, nomDept)
Departements(ND, nomDept, villeDept)
La table EmployŽs nÕest pas en 3 forme normale car ND -> nomDept
•me

Ø ConsŽquences de la version optimisŽe :


Pour garantir lÕintŽgritŽ des donnŽes, il faudra compenser lÕabsence de clŽ Žtrang•re par le codage
dÕun trigger qui vŽrifie, pour chaque insertion dÕun nouveau tuple dans Ç employŽs È, viendra
affecter la valeur de nomDept trouvŽe dans la table Ç DŽpartements È. Si la valeur de nomDept
est proposŽe, il faudra vŽrifier quÕelle est cohŽrente avec celle de la table Ç DŽpartements È. Si
le ND proposŽ nÕexiste pas, on pourra crŽer un nouveau dŽpartement en plus du nouvel employŽ.
Cette optimisation se justifie si les jointures entre les deux tables sont cožteuses et si lÕapplication
du trigger est moins cožteuse, cožteux voulant dire : pŽnalisant pour lÕutilisateur.

Exemple 2

Ø Version normalisŽe
Factures(NF, dateFacture, montantFacture)
R•glements(NR, dateR•glement, montantR•glement, #NF)
Un r•glement concerne une facture et une seule.
Une facture donne lieu ˆ 0 ou 1 r•glement.

Ø Version optimisŽe
Factures(NF, dateFacture, montantFacture, #NR)
R•glements(NR, dateR•glement, montantR•glement, #NF)

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 18/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

Association 1.1 - 0.1


Dans le cas dÕune association hiŽrarchique dÕun c™tŽ et semi-hiŽrarchique de lÕautre, on peut
considŽrer la partie semi-hiŽrarchique comme une association hiŽrarchique et donc ajouter une
clŽ Žtrang•re redondante : A(A, Ax, #B) et B(B, Bx) devient A(A, Ax, #B) et B(B, Bx, #A) avec
#A non obligatoire.

Fusion de tables

PrŽsentation
Si on a A(A, Ax, #B) et B(B, Bx), et que B nÕest rŽfŽrencŽ que par A, alors, on pourra
Žventuellement crŽer : A(A, Ax, B, Bx), avec lÕattribut B obligatoire. On aura alors supprimŽ la
table B.
La fusion des tables consiste ˆ violer les formes normales 2 ou 3.
LÕintŽr•t de cette fusion est dÕŽviter dÕavoir ˆ faire des jointures lors des requ•tes.
Il faudra vŽrifier la cohŽrence des donnŽes avec des triggers.

Exemple

Ø Version normalisŽe :
EmployŽs(NE, nom, dateEmbauche, salaire, #ND)
Departements(ND, nomDept, villeDept)

Ø Version optimisŽe :
EmployŽs(NE, nom, dateEmbauche, salaire, ND, nomDept, villeDept)
Cette table nÕest pas en 3 forme normale car ND -> nomDept, villeDept.
•me

Ø ConsŽquences de la version optimisŽe :


Pour garantir lÕintŽgritŽ des donnŽes, il faudra compenser lÕabsence de clŽ Žtrang•re par le codage
dÕun trigger qui verifie, pour chaque insertion dÕun nouveau tuple, que pour un ND donnŽ, on a
bien un seul nomDept et un seul villeDept.
Cette optimisation se justifie si les jointures entre les deux tables sont cožteuses et si lÕapplication
du trigger est moins cožteuse, cožteux voulant dire : pŽnalisant pour lÕutilisateur.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 19/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)


lOMoARcPSD|34998642

4. Questions de cours
¥ Quels sont les 4 niveaux du cycle dÕabstraction des donnŽes. QuÕest-ce qui caractŽrise
chaque niveau ?
¥ Quelle relation y a-t-il entre le MCD et le MEA ?
¥ Quelle relation y a-t-il entre le MLD et le mod•le relationnel (MR).
¥ Citez deux autres possibilitŽs pour rŽaliser un MLD en dehors du mod•le relationnel (MR).
¥ Quelles sont les 4 r•gles de base de passage du MEA au MR ?
¥ Quelle est la principale mŽthode dÕoptimisation ?
¥ Citez deux autres mŽthodes dÕoptimisation. Donnez un exemple.

MERISE Ð MCD Ð MOD Ð MLD - MPD Ð page 20/20 - Bertrand LIAUDET

Downloaded by es.3diaries esma (soma.lola22@gmail.com)

Vous aimerez peut-être aussi