Académique Documents
Professionnel Documents
Culture Documents
http://www.pdfmail.com
CGO P10 2 me anne Chap 1 Complment sur le MCD : les extensions Merise 2
Structure Dfinition
Association Association dont lune des branches a la cardinalit 1,1 (entit Fils) Un fils
hirarchique (appel na quun seul pre.
aussi : association Elle traduit une contrainte dintgrit fonctionnelle
pre fils)
Association non Cardinalit maximale de n sur chaque branche. Elle traduit une contrainte
hirarchique dintgrit multiple
Structure Tableau Structure mettant en uvre une association non hirarchique. Permet de
modliser un tableau
Structure Structure tableau particulire dans laquelle intervient le temps (entit date,
Planning semaine, anne, jour ou mois)
Pour davantage dinformations revoir le cours de 1re anne chapitre 3 II Les structures
types.
Questions :
1) Daprs les rgles de gestion de lnonc, est-il possible que le reprsentant 3 vende le
produit 2 dans la rgion 5 ?
NON car un produit pour une rgion donne ne peut tre vendu que par un seul
reprsentant, or le couple region/Produit (5,2) est assur par le reprsentant 2
CONCLUSION :
Le MCD actuel ne traduit pas correctement la ralit, il faut recourir la structure
agrgation qui permet dassocier une entit un couple dentits:
REPRESENTANT
N Rep
NomRep
1,n
VENDRE
1,1
Lassociation
1,n 1,n PRODUIT
REGION Couvrir est agrge
N Produit
N Region COUVRIR et constitue une
LibelleProduit
LibRegion pseudo-entit
PrixProduit
SLD relationnel :
REPRESENTANT(NRep, NomRep)
REGION(NRegion, LibRegion)
PRODUIT(NProduit, LibelleProduit, PrixProduit)
COUVRIR(#NRegion,#NProduit, #NRep)
REPRESENTANT
N Rep
NomRep
1,n
VENDRE
0,n
On vous communique deux extraits de MCD diffrents pour modliser les faits ci-dessus :
Solution 1
1,n 1,1
CHANTIER FACTURE
N Chantier FIGURER NFacture
AdrChantier DateFacture
NomChef
Solution 2
1,n 1,1
CHANTIER FACTURE
N Chantier FIGURER NChantier+NFacture
AdrChantier DateFacture
NomChef
La solution 2 est plus conforme car elle intgre le numro de chantier dans lidentifiant de
lentit FACTURE et limine ainsi le problme des doublons. Problme : dans un MCD
on ne peut pas reprendre deux fois une mme proprit. Do la notation apporte par
Merise 2.
CHANTIER
1,n (1,1) FACTURE
N Chantier FIGURER NFacture
AdrChantier DateFacture
NomChef
Les parenthses entourant les cardinalits 1,1 indiquent que N Facture est un identifiant
relatif.
Attention : un sous-
type dentits ne
comporte pas
didentifiants. Les CHEQUE CARTE
N Chque NCarte
sous types hritent de DateExpiration
lidentifiant de lentit
gnrique
Cette solution est utilisable lorsque les entits spcialises ne comportent pas
beaucoup de proprits.
Cette solution est privilgier lorsque chaque entit comporte beaucoup de proprits.
(RMQ : Solution plus facile retenir pour lexamen)
Cette solution permet de faire lconomie dune relation. En revanche, elle entrane
redondance car les proprits de lentit gnrique sont reprises dans chaque relation.
Situation :
Lentreprise LARTISAN fabrique des objets artisanaux qui peuvent tre standard ou
personnalis. Chaque produit est identifi par un numro et un prix dachat. Les produits
personnaliss comportent par ailleurs un taux horaire variable correspondant au travail de
personnalisation.
Une commande est caractris par un N de commande et une date.
Les quantits de produit commands concernent les deux types de produits. Pour les
produits personnaliss, il faut galement facturer la dure dinternvention.
PRODUIT_STANDARD PRODUIT_PERSONNALISE
Taux_horaire
1,n 1,n
FACTURER_PP
FACTURER_PS Duree
Concerner
QtesComm
1,n
COMMANDE
NCommande
DateCommande
Les sous-types dassociation se traduisent de la mme manire que les sous-types dentits
(selon 3 possibilits voir III/ A/ - 2)
Dans cet exemple nous traduirons chaque association en relation
COMMANDE(NCommande, DateCommande)
PRODUIT(CodeProduit, LibelleProduit,PrixUnitaire)
PRODUIT_STANDARD(CodeProduit)
PRODUIT_PERSONNALISE(CodeProduit, TauxHoraire)
CONCERNER(#NCommande, #CodeProduit, QtesCom)
FACTURER_PS(#NCommande,#CodeProduit) Les sous-types dassociation
ont la mme cl primaire que
FACTURER_PP(#NCommande, #CodeProduit, Duree) lassociation gnrique
Exemple : Un rglement est soit du type Carte bancaire soit du type chque
Entit gnrique : REGLEMENT entits spcifiques : CARTE et CHEQUE
- Il y a couverture (sauf si on admet que des rglements puissent tre raliss autrement
que par carte ou par chque, dans ce cas il y aurait non couverture)
- Il y a disjonction car un rglement est soit un chque, soit un rglement par carte mais
pas les deux en mme temps.
xxx
xxx xxx xxx xxx
x
xxxx xxxx xxxx xxxx
xxx xxx xxx xxx
x
xxxxxxxx
DISJONCTION
+ X
PARTITION EXCLUSION
xxx xx
xxx xxx
xxx x xxx xxx x xxx
x
xxxx x xxxx xxxx x xxxx
xx
xxx xxx xxx xxx
x
xxxx
xxx xx
NON DISJONCTION
C/ Exemples
1) Dans une entreprise de transport, les chauffeurs (caractriss par un N de permis, un
nom et un prnom) se classent en deux catgories : les chauffeurs Transport
International Routier (TIR) et les chauffeurs transport national (TN). Sachant quun
chauffeur TIR est aussi habilit assurer des transports nationaux, reprsentez le
MCD dcoulant de cette situation en matrialisant au besoin la contrainte dextension
CHAUFFEUR
NPermis
NomChauffeur
PrenChauffeur
T
TIR TN
N Chque NCarte
DateExpiration
2) Un client peut tre soit un prospect soit un client en portefeuille sil a dj pass au
moins une commande. Compltez le MCD en indiquant la contrainte.
CLIENT
CodeClient
NomClient
AdrClient
P
CLIENT_PROSPECT CLIENT_PORTEFEUILLE
3) Un rglement est caractris par un numro, une date et un rglement. Certains de ces
rglements portent sur des lettres de change (Date chance) et certains autres sur des
chhques bancaire (nom de la banque du tir) Reprsentez le MCD et la contrainte
dextension
REGLEMENT
NReglement
DateReglement
Montant
X
LETTRE_DE_CHANGE CHEQUE
DateEcheance NomBanque
Dans la bibliothque de Lille, on souhaite connatre les adhrents (NAdh, NomAdh) qui
travaillent dans une entreprise (NumEntreprise, NomEntreprise) et celle qui tudient dans
une universit (NumUniversit, NomUniversit). Il y a toutefois des adhrents qui ne
travaillent pas ou ntudient pas.
0,1 1,n
ENTREPRISE
TRAVAILLER NumEnt
NomEnt
ADHERENT
NAdh
NomAdh X
1,n
0,1 UNIVERSITE
ETUDIER NumUniversit
NomUniversit
Mme exemple que prcdemment sauf quon considre que tout adhrent soit tudie soit
travaille et que certains dentre eux peuvent aussi exercer en parallle les deux activits.
Il y a couverture (un adhrent travaille ou tudie) et non disjonction (un tudiant peut
tudier ET travailler en mme temps), On a donc une contrainte de totalit T
A/ La contrainte dinclusion I
Elle traduit le fait que toute occurrence dune association est galement occurrence dune
autre.
Exemple
Source : daprs supports de formation P10 IUFM de Lille JF RENAUT
Les types de produit (CodeTypeProduit, LibTypeProduit) sont commercialiss sur un ou
plusieurs secteurs (CodeSecteur, NomRgion).
Les reprsentants (NumRep, NomRep) sont responsables dun ou plusieurs types de
produit sur un ou plusieurs secteurs.
1) Reprsentez le MCD dcoulant de cette situation.
2) Un reprsentant ne peut tre responsable que si le produit est commercialis sur son
secteur. Exprimez cette contrainte sur le MCD
0,n 0,n
TYPE_PRODUIT SECTEUR
CodeTypeProduit Commercialiser CodeSecteur
Libelle NomRegion
I
0,n
0,n
Avoir_pour_responsable
0,n
REPRESENTANT
NumRep
NomRep
Pour tre responsable, il faut que le produit soit commercialis sur un secteur. Il y a bien
inclusion. La contrainte est oriente
B/ Contrainte dgalit =
Elle traduit le fait quune occurrence dune association existe obligatoirement dans une
autre association et rciproquement
Reprise de lexemple prcdent : on considre cette fois quun produit commercialis sur
un secteur a obligatoirement un responsable
0,n 0,n
TYPE_PRODUIT SECTEUR
CodeTypeProduit Commercialiser CodeSecteur
Libelle NomRegion
=
0,n
0,n
Avoir_pour_responsable
0,n
REPRESENTANT
NumRep
NomRep
C/ Contrainte dunicit
Exemple : Les ouvriers assemblent une certaine quantit de produits des dates
diffrentes.
1) Reprsentez le MCD
2) Mais un ouvrier, une date donne assemble le mme produit. Exprimez cette
contrainte dans le MCD
0,n
PRODUIT 0,n
ASSEMBLER OUVRIER
CodeProduit CodeSecteur
Libelle NomRegion
Qtes
0,n
1
DATE
Date