RÈGLES DE TRANSFORMATION DU MCD AU MLD
Nous allons définir les règles de transformation pour le passage du MCD au MLD, en respectant les différents cas qui se posent .
NB : Pour tous les exemples x peut prendre les valeurs 0 ou 1
Cliquez sur l'image pour l'agrandir.
Transformation des entités
Transformation des relations binaires du type (x,n) - (x,1)
L'attribut No_Auteur qui est clé primaire de la table Auteur, devient clé étrangère dans la table Livre .
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 les deux cas suivants :
Le No_Client, qui est clé primaire de la table Client, devient clé étrangère dans la table Carte_Membre.
Soit on migre la clé primaire de la table Entreprise dans la table Salarié, soit on fait l'inverse.
Transformation des relations binaires du type (x,n) - (x,n)
On crée une table Porter, qui contient comme clé primaire une clé composée de No_Commande et Code_Article. Elle contient également la propriété Quantité issue de la relation Porter .
Transformation des relations ternaires
La table Enseigner contient une clé composée de No_Enseignant, Code_Matière et Nom_classe.
Transformation de plusieurs relations entre 2 entités
La relation habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse dans la table Personne. La relation posséder du type (x,n)-(x,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
Transformation des relations réflexives
Comme il s'agit d'une relation (x,n)-(x,n), une table supplémentaire est créée. Cette table contient comme clé primaire composée, la clé des "deux" entités reliées. Comme la même entité est liée 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.
Comme il s'agit d'une relation (0,1)-(0,1), nous avons en général le choix en ce qui concerne quelle entité contiendra la clé étrangère. Comme cette relation est liée deux fois à la même entité, 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.
Transformation de l'identifiant relatif
Tous en respectant les règles générales du passage MCD > MLD, la clé primaire de la table Projet migre comme clé étrangère dans la table Tâche. L'identification relative est représentée par le fait que la table tâche contient une clé primaire composée de No_Tache et No_Projet
0 commentaires:
Enregistrer un commentaire