Sunteți pe pagina 1din 9

1

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

MERISE
Rgle de transformation
MCD

MLD

2
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

RGLES DE TRANSFORMATION DU MCD AU MLD (MRD)


Nous allons dfinir les rgles de transformation pour le passage du MCD au MLD, en respectant les
diffrents cas qui se posent.

Transformation des entits


Note : Toute entit est transforme en table. Les proprits de l'entit deviennent les attributs de la
table. L'identifiant de l'entit devient la cl primaire de la table.
Exemple:

Transformation des relations binaires du type (x,n) (x,1)


Note : Afin de reprsenter la relation, on duplique la cl primaire de la table base sur l'entit
cardinalit (x,n) dans la table base sur l'entit cardinalit (x,1). Cet attribut est appel cl
trangre. Les deux tables sont lies par une flche nomme selon la relation, qui pointe de la table
cl trangre vers la table qui contient la cl primaire correspondante.
Exemple:

L'attribut No_Auteur qui est cl primaire de la table Auteur, devient cl trangre dans la table
Livre.
NB: x peut prendre les valeurs 0 ou 1

3
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

Transformation des relations binaires du type (x,1) (x,1)


Nous devons distinguer plusieurs cas. Sachant qu'une relation binaire du type (1,1)-(1,1) ne doit pas
exister il nous reste es 2 cas suivants:

Relation binaire (0,1)-(1,1)


Note : On duplique la cl de la table base sur l'entit cardinalit (0,1) dans la table base sur
l'entit cardinalit (1,1).
Exemple:

Le No_Client, qui est cl primaire de la table Client, devient cl trangre dans la table
Carte_Membre.

Relation binaire (0,1)-(0,1)


Note : 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:

Soit on migre la cl primaire de la table Entreprise dans la table Salari, soit on fait l'inverse.

4
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

Transformation des relations binaires du type (x,n) (x,n)


Note : On cre une table supplmentaire ayant comme cl primaire une cl compose des cls
primaires des 2 tables. Lorsque la relation contient elle-mme des proprits, celles-ci deviennent
attributs de la table supplmentaire. Une proprit de la relation qui est souligne devra appartenir
la cl primaire compose de la table supplmentaire.
Exemple:

On cre une table Porter, qui contient comme cl primaire une cl compose de No-Commande et
Code_Article. Elle contient galement la proprit Quantit issue de la relation Porter.

Transformation des relations ternaires


Note : On cre une table supplmentaire ayant comme cl primaire une cl compose des cls
primaires de toutes les tables relies. 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. Une proprit de la relation qui est souligne devra appartenir la cl
primaire compose de la table supplmentaire.
Exemple:

La table Enseigner contient une cl compose de No_Enseignant, Code_Matire et Nom_Classe.

5
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

Transformation de plusieurs relations entre 2 entits


NB : Les rgles gnrales s'appliquent
Exemple:

La relation habiter du type (x,n)-(x,1), est traduite p ar la migration de l'attribut Adresse dans la
table Personne. La relation possder du type (x,n)-(x,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.

Transformation des relations rflexives


Note : Nous appliquons les rgles gnrales avec la seule diffrence que la relation est 2 fois relie
la mme entit
Exemple 1:

Comme il s'agit d'une relation (x,n)-(x,n), une table supplmentaire est cre. Cette table contient
comme cl primaire compose, la cl des "deux" entits relies. Comme la mme entit est lie 2
fois la relation, on ne peut pas utiliser 2 fois le mme nom pour la cl. Dans ce cas il convient
d'utiliserdes rles dans le MCD, et d'intgrer le rle dans le nom d'une des cls migres dans le
MLD.

6
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

Exemple 2:

Comme il s'agit d'une relation (0,1)-(0,1), nous avons en gnral le choix en ce qui concerne quelle
entit contiendra la cl trangre. Comme cette relation est lie deux fois la mme entit, 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.

Transformation de l'identifiant relatif


Note : Sachant que l'entit dpendante est toujours lie la relation par les cardinalits (1,1), nous
pouvons appliquer les rgles gnrales. Dans chaque cas, la table issue de l'entit dpendante
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'entit dpendante contient
une cl primaire compose, constitue de la cl primaire transforme de l'identifiant de cette entit
et de la cl trangre.
Exemple :

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 No_Tache et No_Projet.

7
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

RCAPITULATIF :
Reprsenter une association binaire 1,1 - 1,n

ENTITE_1(E1_Identifiant, #E2_Identifiant, E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)

Reprsenter une association binaire (0 ou 1) , n - (0 ou 1), n non porteuse de proprits :

ENTITE_1(E1_Identifiant, E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)
ASSOCIATION(#E2_Identifiant_2, #E1_Identifiant_1)

Reprsenter une association binaire 1,n -1,n porteuse de proprits :

8
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

ENTITE_1(E1_Identifiant, E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)
ASSOCIATION(#E2_Identifiant_2, #E1_Identifiant_1, Assoc_Proprit_1)

Reprsenter une association binaire 0,1 - 1,n :

ENTITE_1(E1_Identifiant, E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)
ASSOCIATION(#E2_Identifiant_2, #E1_Identifiant_1)

Reprsenter une association binaire 1,1 - 0,1 :

ENTITE_1(E1_Identifiant, #E2_Identifiant_2 E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)

9
W

COURS ET FORMATIONS INFORMATIQUES


www.coursnet.com

Reprsenter une association ternaire 0,n - 0,n - 0,n :

ENTITE_1(E1_Identifiant, E1-Proprit_1, E1-Proprit_2)


ENTITE_2(E2_Identifiant_2, E2_Proprit_1, E2_Proprit_2)
ENTITE_3(E3_Identifiant, E3_Proprit_1, E3_Proprit_2)
ASSOCIATION(#E2_Identifiant_2, #E1_Identifiant_1, #E3_Identifiant)

S-ar putea să vă placă și