Académique Documents
Professionnel Documents
Culture Documents
Chapitre 10
Modle logique des donnes
Passage du MCD au MLD
Nous allons dfinir les rgles de transformation pour le passage du MCD au MLD, en respectant les
diffrents cas qui se posent.
Lobjet (L'entit)
Tout objet est transform en table. Les proprits de l'objet deviennent les attributs de la table.
L'identifiant de l'objet devient la cl primaire de la table.
Exemple:
Objet Entreprise
Table Entreprise
Entreprise
ENTREPRISE
No_Entreprise
NO_ENTREPRISE
Nom
NOM
Adresse
ADRESSE
Code_postal
CODE_POSTAL
Localit
LOCALITE
A
N
Ecrit
(0,n)
(1,1)
UTEUR
A UTEUR
N OM
Livre
NoLivre
Nom
Ecrit
N
N
IVRE
L IVRE
A UTEUR
N OM
L'attribut NoAuteur qui est cl primaire de la table Auteur, devient cl trangre dans la table Livre.
Lorsque la relation contient elle-mme des proprits, celles-ci deviennent galement attributs
de la table base sur lobjet cardinalit (x,1).
Exemple:
10.1
Voiture
Personne
NoPersonne
Nom
Adresse
ERSONNE
Possde
(0,n)
ERSONNE
N OM
DRESSE
NoVoiture
Marque
(1,1)
Date_acht
Possde
N
D
OITURE
OITURE
ERSONNE
ARQUE
ATE _ ACHT
P
M
Client
NoClient
Nom
Prnom
Adresse
Code_Postal
Localit
dispose
0,1
NoCarte
Type_abonnement
Date_cration
1,1
LIENT
N O C LIENT
N OM
P RNOM
A DRESSE
C ODE _P OSTAL
L OCALIT
ARTE
MEMBRE
N O C ARTE
N O C LIENT
T YPE _ ABONNEMENT
D ATE _ CRATION
dispose
Le NoClient, qui est cl primaire de la table Client, devient cl trangre dans la table
CarteMembre.
Relation binaire (0,1)-(0,1)
On duplique la cl d'une des tables dans l'autre. Lorsque la relation contient elle-mme des
proprits, celles-ci deviennent galement attributs de la table dans laquelle a t ajoute la
cl trangre.
Exemple:
Entreprise
Salari
NoSalari
Nom
Prnom
0,1
Assure
0,1
NoEntreprise
Nom
Adresse_Sige
Soit on migre la cl primaire de la table Entreprise dans la table Salari, soit on fait l'inverse.
10.2
ALARI
N O S ALARI
N OM
P RNOM
N
NOE
Assure
ou
NTREPRISE
NTREPRISE
N OM
DRESSE
_S
N O S ALARI
N OM
P RNOM
IGE
OENTREPRISE
E NTREPRISE
S ALARI
Assure
N O E NTREPRISE
N OM
A DRESSE
_S IGE
N O S ALARI
OMMANDE
Contenir
Quantit
1,n
OMMANDE
D ATE
Article
Code_Article
Libell
Prix_Unaire
0,n
_C OMMANDE
N O C OMMANDE
C ODE _A RTICLE
Q UANTIT
IGNE
A RTICLE
Code_Article
Libell
Prix_Unaire
On cre une table Porter, qui contient comme cl primaire une cl compose de NoCommande et
CodeArticle. Elle contient galement la proprit Quantit issue de la relation.
Relation ternaire
On cre une table supplmentaire ayant comme cl primaire une cl compose des identifiants de
tous les objets relis la relation. Cette rgle s'applique de faon indpendante des diffrentes
cardinalits. Lorsque la relation contient elle-mme des proprits, celles-ci deviennent attributs de
la table supplmentaire.
Exemple:
Enseignant
NoEnseignant
Nom
Prnom
Date_de_naissance
1,n
Enseigne
0,n
1,n
Classe
Nom_Classe
Cycle
10.3
Matire
Code_Matire
Libell
N
D
NSEIGNANT
ATE
NSEIGNE
NoEnseignant
Code_Matire
Nom_Classe
NSEIGNANT
N OM
P RNOM
_ DE _ NAISSANCE
C
N
ATIRE
IBELL
_M
ATIRE
LASSE
_C
OM
M
ODE
LASSE
YCLE
Cas spciaux
Plusieurs relations entre 2 objets
Les rgles gnrales s'appliquent
Exemple:
Possde
Personne
NoPresonne
Nom
Prnom
ERSONNE
1,1
Maison
Adresse
Code_postal
Localit
1,n
0,n
Habite
0,n
P OSSESSION
N O P ERSONNE
A DRESSE
RESONNE
N OM
P RNOM
A DRESSE
A
C
ODE
AISON
DRESSE
_ POSTAL
OCALIT
La relation habiter du type (1,1)-(1,n), est traduite par la migration de l'attribut Adresse dans la table
Personne. La relation possder du type (0,n)-(1,n) est traduite par la cration d'une table
supplmentaire du mme nom. Cette table contient comme cl primaire compose, les cls des deux
tables relies Personne et Maison. On a donc simplement appliqu 2 fois de faon indpendante les
rgles de transfert MCD MLD.
Relations rflexives
Nous appliquons les rgles gnrales avec la seule diffrence que la relation est 2 fois relie au
mme objet
Exemple 1:
10.4
0,n
mre
Socit
Detient
NoSocit
Nom
Capital
OCIT
N O S OCIT
N O S OCIT
_ MRE
P OURCENTAGE
_ DE _ CAPITAL
N O S OCIT
N OM
C APITAL
Pourcentage_de_capital
ETENIR
0,n
filire
Comme il s'agit d'une relation (0,n)-(0,n), une table supplmentaire est cre. Cette table contient
comme cl primaire compose, la cl des "deux" objets relis. Comme le mme objet est li 2 fois
la relation, on ne peut pas utiliser 2 fois le mme nom pour la cl. Dans ce cas il convient d'utiliser
des rles dans le MCD, et d'intgrer le rle dans le nom d'une des cls migres dans le MLD.
Exemple 2:
0,1
poux
P
Etre_mari
Personne
ERSONNE
NoMatricule
Nom
Prnom
tre mari
O M ATRICULE
ATRICULE
_E POUSE
N OM
P RNOM
0,1
pouse
Comme il s'agit d'une relation (0,1)-(0,1), nous avons en gnral le choix en ce qui concerne quel
objet contiendra la cl trangre. Comme cette relation est lie deux fois au mme objet, il est
vident que nous devons dupliquer la cl primaire, tout en veillant que le mme nom de cl ne sera
pas utilis pour la cl primaire et la cl trangre. Dans notre exemple, tous les hommes maris, ont
comme valeur de la cl trangre la matricule de leur pouse actuelle. Pour les hommes non maris
et les femmes, la cl trangre est sans valeur. On pourrait bien sr utiliser la modlisation inverse
avec une cl trangre NO_MATRICULE_MARI, qui indique pour chaque femme marie, la
matricule de son mari.
L'identifiant relatif
Sachant que l'objet dpendant est toujours li la relation par les cardinalits (1,1), nous pouvons
appliquer les rgles gnrales. Dans chaque cas, la table issue de l'objet dpendant contient donc
comme cl trangre, la cl primaire de l'autre table.
L'identification relative est reprsente par le fait que la table issue de l'objet dpendant contient une
cl primaire compose, constitue de la cl primaire transforme de l'identifiant de cet objet et de la
cl trangre.
Exemple:
10.5
Btiment
Adresse
Code_Postal
Localit
0,n
Se trouve
dans
Apartement
NoApartement
Etage
Surface
1,1
TIMENT
DRESSE
ODE
_P
PARTEMENT
A DRESSE
N O A PARTEMENT
E TAGE
S URFACE
OSTAL
L OCALIT
Tout en respectant les rgles gnrales du passage MCD MLD, la cl primaire de la table Projet
migre comme cl trangre dans la table Tche. L'identification relative est reprsente par le fait
que la table tche contient une cl primaire compose de NoTache et NoProjet.
Historisation d'une proprit
Pour chaque proprit historiser, on cre une table qui contient:
Une cl primaire compose de la cl primaire de la table qui contient la proprit historiser et
de la date d'historisation.
La proprit historiser
Exemple:
A SSUR
A SSUR
Assur
N O A SSUR
N OM
P RNOM
A DRESSE
C ODE _ POSTAL
L OCALIT
NoAssur
Nom
Prnom
Adresse*
Code_postal*
Localit*
_A DRESSE
N O A SSUR
D ATE _H ISTOIRE
A SSUR
_A DRESSE
A SSUR
_P OSTAL
N O A SSUR
D ATE _H ISTOIRE
A SSUR
_P OSTAL
A SSUR
_L OCALIT
N O A SSUR
D ATE _H ISTOIRE
A SSUR
_L OCALIT
A SSUR
A SSUR
N O A SSUR
N OM
P RNOM
A DRESSE
C ODE _ POSTAL
L OCALIT
N O A SSUR
D ATE _H ISTOIRE
N OM
P RNOM
A DRESSE
C ODE _ POSTAL
L OCALIT
ERSONNE
P
A
Louer
Montant_louer
0,n
Logement
NoLogement
Adresse
0,n
OUER
N
N
ERSONNE
N OM
DRESSE
O P ERSONNE
O L OGEMENT
ONTANT
_ LOUER
OGEMENT
ISTOIRE
_L
OGEMENT
DRESSE
OUER
N
N
O P ERSONNE
O L OGEMENT
D ATE _H ISTOIRE
M ONTANT
_ LOUER
Exercice KaafKaaf
Transformez le MCD suivant, qui reprsente la facturation de la socit KaafKaaf en un MLD en
respectant toutes les rgles du passage MCD MLD.
Client
NoClient
Nom
Prnom
Adresse
Code_Postal
Localit
1,n
Obtenir
1,1
Article
Facture
NoFacture
Date_Facture
Porter
Quantit
1,n
0,n
NoArticle
Libell
Prix_Unitaire
LIENT
N O C LIENT
N OM
P RNOM
A DRESSE
C ODE _P OSTAL
L OCALIT
ACTURE
N O F ACTURE
N O C LIENT
D ATE _F ACTURE
ORTER
N O F ACTURE
N O A RTICLE
Q UANTIT
RTICLE
N O A RTICLE
L IBELL
P RIX _U NITAIRE
10.7
Elve
NoMatricule
Nom
Prnom
Date_naissance
1,n
Frquenter
Anne_scolaire
1,n
Classe
Nom_Classe
Cycle
1,n
Matire
Code_Matire
Libell
Enseigner
0,n
Anne
0,n
Professeur
Code_Prof
Nom
prnom
LVE
MATRICULE
N OM
P RNOM
ATE _ NAISSANCE
RQUENTER
N O M ATRICULE
N OM _C LASSE
A NNE _ SCOLAIRE
LASSE
_C
OM
ATIRE
Code_Matire
Libell
LASSE
YCLE
NSEIGNER
N OM _C LASSE
C ODE _P ROF
C ODE _M ATIRE
A NNE
ROFESSEUR
ODE
_P
ROF
OM
PRNOM
Exercices
Exercice 1
Transformez le MCD suivant en MLD en respectant toutes les rgles de passage MCD MLD.
10.8
diriger
Salari
0,1
NoSalari
Nom
Prnom
Adresse
Code_postal
Localit
Entreprise
1,1
employer
1,n
NoEtreprise
Nom
Adresse_Sige
Code_postal_Sige
Localit_Sige
1,n
Date_Entre
Date_Sortir
Fonction
1,1
tre_attest
0,n
remplaant
1,n
0,n
Mdecin
Consulter
Date
remplacer
NoMdecin
Nom
Prnom
Adresse
Code_postal
Localit
0,n
1,n
Raport_mdical
NoRapport
Conclusion_mdicale
Conclusion_professionnelle
Date_Dbut
Date_Fin
0,n
remplac
Remarques:
En ce qui concerne le rapport mdical, une conclusion mdicale pourrait par exemple tre
Infection ou Cancer de la gorge, tandis que la conclusion professionnelle qui s'en suit serait
par exemple Apte ou Inaptitude temporaire <x> jours.
L'objet Salari est historise.
Exercice 2
Voici un MCD qui reprsente de faon trs simplifie la gestion d'une compagnie d'assurances.
Transformez le MCD en MLD en respectant toutes les rgles de passage MCD MLD.
10.9
Client
Contrat
NoClient
Nom
Prnom
Adresse(H)
Code_Postal(H)
Localit(H)
Conclure
1,n
1,1
0,n
Concerne
Type_de_contrat
Caractriser
NoContrat
Date_Souscription
Echance
Code_type
Libell
0,n
1,1
1,1
1,n
Couvrir
prvoir
1,1
1,n
0,n
Dossier_auxilier
NoDossier
Date_ouverture
Date_fermture
Rserve_financire
Paiements_fectifs
Garantie
Code_garantie
Libell
Tarif
Risque
NoRisque
Dsignation
Information_suplmentaire
0,n
lancer
1,1 (R)
Intervention_Inspecteur
NoIntervention
Date
1,1
effectuer
0,n
Inspecteur
Code_Ispecteur
Nom
Prnom
Tel_Bureau
Tel_Maison
Remarques:
10.10