Vous êtes sur la page 1sur 3

Base de donnes : Passage du MCD au MLD

Le modle logique des donnes


Il est aussi appel modle relationnel.
On emploie souvent labrviation suivante : MLD : Modle logique des donnes
Et quelquefois, les abbrviations suivantes sont employes :
MLDR : Modle logique de donnes relationnelles
MRD : Modle relationnel de donnes
MLRD : Modle relationnel logique de donnes
Le MCD ne peut pas tre implant dans une base de donnes sans modification.
Il est obligatoire de transformer ce modle. On dit quon effectue un passage du modle conceptuel de donnes vers
le modle logique de donnes.
Le MLD pourra tre implant dans une base de donnes relationnelle.

Rgles de passage du MCD au MLD :


Rgle numro 1 :
a) Une entit du MCD devient une relation, cest dire une table.
Dans un SGBD de type relationnel, une table est structure tabulaire dont chaque ligne correspond aux donnes d'un
objet enregistr (d'o le terme enregistrement ) et o chaque colonne correspond une proprit de cet objet. Une
table contiendra donc un ensemble denregistrements.
Une ligne correspond un enregistrement.
Une colonne correspond un champ.
La valeur prise par un champ pour un enregistrement donn est situe lintersection ligne-colonne correspondant
enregistrement-champ.
Il ny a pas de limite thorique au nombre denregistrements que peut contenir une table. Par contre, la limite est li
lespace de stockage.
b) Son identifiant devient la cl primaire de la relation.
La cl primaire permet didentifier de faon unique un enregistrement dans la table.
Les valeurs de la cl primaire sont donc uniques.
Les valeurs de la cl primaire sont obligatoirement non nulles.
Dans la plupart des SGBDR, le fait de dfinir une cl primaire donne lieu automatiquement la cration dun index.
c) Les autres proprits deviennent les attributs de la relation.
Exemple :
CLIENT
numClient
nom
prnom
adresse

CLIENT(numClient , nom , prenom , adresse)

Rgle numro 2 :
Une association de type 1:N (cest dire qui a les cardinalits maximales positionnes 1 dune ct de lassociation
et n de lautre ct) se traduit par la cration dune cl trangre dans la relation correspondante lentit ct
1 .
Cette cl trangre rfrence la cl primaire de la relation correspondant lautre entit.
Exemple :
CLIENT
numClient
nom
prnom
adresse

COMMANDE
passe
0,n

1,1

numCommande
dateCommande

CLIENT(numClient , nom , prenom , adresse)


COMMANDE(numCommande ,dateCommande , #numClient)

Ph Chochois

Base de donnes : Modle Logique de Donnes

Page 1

Rgle numro 3 :
Une association de type N :N (cest dire qui a les cardinalits maximales positionnes N des 2 cts de
lassociation) se traduit par la cration dune relation dont la cl primaire est compose des cls trangres rfrenant
les relations correspondant aux entits lies par lassociation.
Les ventuelles proprits de lassociation deviennent des attributs de la relation.

Exemple :
concerne

COMMANDE
numCommande
dateCommande

1,n

quantit

PRODUIT

1,n

refProduit
libellProduit

COMMANDE(numCommande ,dateCommande)
PRODUIT(refProduit, libelleProduit)
CONCERNE(#numCommande , #refProduit , quantit)
Si le nom du MCD nest pas significatif, on peut renommer le nom de la table.
Dans notre exemple, plutt que la table CONCERNE , on la nommera LIGNE_DE_COMMANDE .
LIGNE_DE_COMMANDE (#numCommande , #refProduit , quantit)
Associations ternaires : Les rgles dfinies ci-dessus sappliquent aux associations ternaires.
Associations rflexives : Les rgles dfinies ci-dessus sappliquent aux associations rflexives.
Exemple :
0,n
PIECE
codePiece
libellPiece

est compose
0,n

PIECE(codePiece ,libellePiece)
COMPOSITION(refProduit, libelleProduit)
COMPOSITION (#pieceComposee , #pieceComposante)

Ph Chochois

Base de donnes : Modle Logique de Donnes

Page 2

Cas particuliers : associations 1,1 : On entend par association 1,1 une association dont les cardinalits maximales sont
1 de chaque ct
Exemple 1 : Dans le cadre dune course la voile en solitaire, reprsentez le schma relationnel aprs avoir fait le
schma Entit-Relations pour les informations suivantes : numero du marin, nom du marin, numro du voilier, nom du
voilier.
M ARIN

1,1

pilote

1,1

num M arin
nom M arin

VOILIER
num Voilier
nom Voilier

Si fonctionnellement, le marin est le plus important


MARIN(numMarin , nomMarin , numVoilier , nomVoilier)
Cl primaire : numMarin
OU
Si fonctionnellement, le voilier est le plus important
VOILIER(numVoilier , nomVoilier , numMarin , nomMarin)
Cl primaire : numVoilier
OU
Si le modle peut voluer ou si on a une distinction fonctionnelle forte entre marin et voilier
VOILIER(numVoilier , nomVoilier , numMarin)
Cl primaire : numVoilier
Cl trangre : numMarin qui rfrence numMarin de la table MARIN
MARIN(numMarin , nomMarin , numVoilier)
Cl primaire : numMarin
Cl trangre : numVoilier qui rfrence numVoilier de la table VOILIER

Exemple 2 : Dans un immeuble, un appartement peut bnficier dune place de parking ou pas mais jamais de
plusieurs.
Travail faire : Reprsentez le schma relationnel aprs avoir fait le schma Entit-Relations
APPART EM ENT
num Appartem ent
superficie

bnficie

1,1

PLACE_PARKING
num Place
Etage

0,1

APPARTEMENT (numAppartement , superficie)


Cl primaire : numAppartement
PLACE_PARKING (numPlace , Etage , numAppartement)
Cl primaire : numPlace
Cl trangre : numAppartement qui rfrence numAppartement de la table APPARTEMENT
Exemple 3 : Une activit culturelle peut disposer dun animateur ou pas mais jamais de plusieurs. Un animateur peut
soccuper au maximum dune activit culturelle.
Travail faire : Reprsentez le schma relationnel aprs avoir fait le schma Entit-Relations
ANIM AT EUR

0,1

ACT IVIT E_CULT URELLE

anim e

num Anim ateur


nom

0,1

idActivit
nom Activit

ANIMATEUR (numAnimateur , nom)


Cl primaire : numAnimateur
ACTIVITE_CULTURELLE (idActivite , nomActivite)
Cl primaire : idActivite
ANIMER (numAnimateur , idActivite)
Cl primaire : nimAnimateur + idActivite
Cl trangre : numAnimateur qui rfrence numAnimateur de la table ANIMATEUR
Cl trangre : idActivite qui rfrence idActivite de la table ACTIVITE_CULTURELLE

Ph Chochois

Base de donnes : Modle Logique de Donnes

Page 3

Vous aimerez peut-être aussi