Chapitre 3 : Modèle relationnel (MLD) Règles de passage du MCD au MLD Passage du modèle EA au modèle relationnel Règle 1 : Une entité se transforme en une relation (table) Toute entité du MCD devient une relation du MLD, et donc une table de la BD. Chaque propriété de l'entité devient un attribut de cette relation, et donc une colonne de la table correspondante. L'identifiant de l'entité devient la Clé Primaire de la relation (elle est donc soulignée). Passage du modèle EA au modèle relationnel Règle 2: Association de type simple-complexe : (X,1) - (X,n), X= {0 ou 1} La Clé Primaire de la table qui se situe du côté "complexe" devient une Clé Etrangère dans la table qui se situe du côté "simple" , Une association de type simple-complexe disparait. Si l’association est porteuse de propriétés, elles migrent également. Exemple : MLD : Client (Nclient, Société, Contact, Fonction, Ville) Commande (NCommande, DateCommande, #Nclient) Passage du modèle EA au modèle relationnel Règle 3 : Association de type simple-simple Une association de type simple-simple (par exemple, (1,1)-(0,1)) se traite de la même façon, en choisissant en principe d'introduire la clé étrangère dans la table située du côté (1,1) de l'association. Exemple: MLD: Animateur (idAnimateur, NomAnimateur) Groupe (idGroupe, NomGroupe, #idAnimateur) Passage du modèle EA au modèle relationnel Règle 4 : Association de type complexe-complexe (X,n) - (X,n), X= {0 ou 1} Une association de type complexe-complexe se transforme en une table ayant comme Clé Primaire une clé composée des identifiants des 2 entités. Si l’association est porteuse de propriétés, celles ci deviennent des attributs pour la nouvelle table. Exemple : MLD : Commande (NCommande, DateCommande) Produit (Nproduit, NomProduit) DétailCom (NCommande, Nproduit, quantité, PrixUnitaire) Passage du modèle EA au modèle relationnel Règle 5 : Association n-aire (quelles que soient les cardinalités) Une association de dimension supérieure à 2 se réécrit selon la règle 4 : Il y a création d'une table supplémentaire ayant comme Clé Primaire la concaténation des identifiants des entités participant à la relation. Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table. Exemple : MLD : Etudiant (NEtudiant, NomEtudiant) Niveau (NumNiv, NomNiv) Langue (NLangue, NomLangue) Parle (NEtudiant, NumNiv, NLangue) Passage du modèle EA au modèle relationnel Association Réflexive Premier cas : cardinalité (X,1) - (X,n), avec X={0 ou 1} : La Clé Primaire de l'entité se dédouble et devient une Clé Etrangère dans la nouvelle table. Exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,1) - (X,n) (règle 2). Cela nécessite de renommer les attributs afin d’éviter les noms identiques. Exemple : une société est organisée de manière hiérarchique : Chaque employé a 0 ou 1 supérieur hiérarchique direct. Simultanément, chaque employé est le supérieur hiérarchique direct de 0 ou plusieurs employés. MLD: Employé (idEmploye, NomEmploye, #idSup) idSup correspond à l'identifiant (idEmploye) du supérieur hiérarchique direct de l'employé considéré. Passage du modèle EA au modèle relationnel Association Réflexive Deuxième cas : cardinalité (X,n) - (X,n), avec X={0 ou 1} : De même, tout se passe exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,n) - (X,n) (règle 3). Il y a donc création d'une nouvelle table dont la clé primaire est composée des deux attributs clés étrangères, référant respectivement à la clé primaire de la table. Ces attributs sont suffixés (ou renommés) par chacun des rôles correspondants. Exemple : Une personne a 0 ou n frères, et il est aussi frère de 0 ou n personnes. MLD : PIECE(codePiece ,libellePiece) COMPOSITION (#pieceComposee , #pieceComposante)