Cours - Modèle Logique Des Données - Final
Cours - Modèle Logique Des Données - Final
Cours - Modèle Logique Des Données - Final
L’objet (L'entité)
Tout objet est transformé en 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
Règle N°1 : Relation binaire aux cardinalités (x, n) - (x,1) : avec x=0 ou x=1
Afin de représenter la relation, on duplique la clé primaire de la table basée sur l'objet à
cardinalité (x, n) dans la table basée sur l'objet à cardinalité (x,1). Cet attribut est appelé clé
étrangère. Les deux tables sont liées par une flèche nommée selon la relation, qui pointe de la
table à clé étrangère vers la table qui contient la clé primaire correspondante.
Auteur Livre
NoAuteur Ecrit NoLivre
(0,n) (1,1)
Nom Nom
L'attribut NoAuteur qui est clé primaire de la table Auteur, devient clé étrangère dans la table
Livre.
Lorsque la relation contient elle-même des propriétés, celles-ci deviennent également
attributs de la table basée sur l’objet à cardinalité (x,1).
Le MLD est :
AUTEUR LIVRE
NOAUTEUR NOLIVRE
NOM NOAUTEUR
NOM
Le MLD est :
Le MLD est :
Le NoClient, qui est clé primaire de la table Client, devient clé étrangère dans la table
CarteMembre.
Le MLD est :
Soit on migre la clé primaire de la table Entreprise dans la table Salarié, soit on fait l'inverse.
Ou
Le MLD est :
On crée une table Ligne_Commande, qui contient comme clé primaire une clé composée de
NoCommande et CodeArticle. Elle contient également la propriété Quantité issue de la relation
Cas spéciaux
Relation ternaire
On crée une table supplémentaire ayant comme clé primaire une clé composée des identifiants
de tous les objets reliés à la relation. Cette règle s'applique de façon indépendante des différentes
cardinalités. Lorsque la relation contient elle-même des propriétés, celles-ci deviennent
attributs de la table supplémentaire.
N o E n s e ig n a n t M a tiè re
E n s e ig n e
N om 1 ,n 0 ,n C o d e _ M a tiè re
P rén om L ib e llé
D a te _ d e _ n a is s a n c e
1 ,n
C la s s e
N o m _ C la s s e
C y c le
Le MLD est :
On ajoute une table Enseigner contient une clé primaire composée de NoEnseignant,
CodeMatière et NomClasse.
P O S S E S S IO N
N OPER SON N E
P ER SON N E AD R ESSE
M A IS O N
N OP R ESON N E
A D R ESSE
N OM
C O D E _ PO STAL
PR ÉN OM
L O C A L IT É
AD R ESSE
La relation habiter du type (1,1)-(1,n), est traduite par la migration de l'attribut Adresse dans la
table Personne. La relation posséder du type (0,n)-(1,n) est traduite par la création d'une table
supplémentaire du même nom. Cette table contient comme clé primaire composée, les clés des
deux tables reliées Personne et Maison. On a donc simplement appliqué 2 fois de façon
indépendante les règles de transfert MCD à MLD.
Relations réflexives
Nous appliquons les règles générales avec la seule différence que la relation est 2 fois
reliée au même objet.
Exemple 1:
0 ,n
m è re
S O C IÉ T É D E T E N IR
S o c ié té D e tie n t
N o S o c ié té N O S O C IÉ T É N O S O C IÈ T È
N om P o u r c e n ta g e _ d e _ c a p ita l N OM N O S O C IÉ T É _ M È R E
C a p ita l C A P IT A L P O U R C E N T A G E _ D E _ C A P IT A L
0 ,n
fil iè re
Comme il s'agit d'une relation (0,n)-(0,n), une table supplémentaire est créée. Cette table
contient comme clé primaire composée, la clé des "deux" objets reliés. Comme le même objet
est lié 2 fois à la relation, on ne peut pas utiliser 2 fois le même nom pour la clé. Dans ce cas il
convient d'utiliser des rôles dans le MCD, et d'intégrer le rôle dans le nom d'une des clés migrées
dans le MLD.
0 ,1
époux
PER SON N E
P e rs o n n e E tre _ m a r ié
N O M A T R IC U L E
N o M a tr ic u le ê tr e m a r i é N O M A T R IC U L E _ E P O U S E
N om N OM
P rén om PR ÉN OM
0 ,1
é p o u se
Comme il s'agit d'une relation (0,1)-(0,1), nous avons en général le choix en ce qui concerne
quel objet contiendra la clé étrangère. Comme cette relation est liée deux fois au même objet,
il est évident que nous devons dupliquer la clé primaire, tout en veillant que le même nom de
clé ne sera pas utilisé pour la clé primaire et la clé étrangère. Dans notre exemple, tous les
hommes mariés, ont comme valeur de la clé étrangère la matricule de leur épouse actuelle. Pour
les hommes non mariés et les femmes, la clé étrangère est sans valeur. On pourrait bien sûr
utiliser la modélisation inverse avec une clé étrangère NO_MATRICULE_MARI, qui indique
pour chaque femme mariée, la matricule de son mari.