Copyright © 2003-2007 Yves MARCOUX; dernière modification de cette page: 2007-01-22

Conversion d'un diagramme E/R en structure de tables relationnelles

Yves MARCOUX - EBSI - Université de Montréal


Procédure

  1. Chaque entité donne lieu à une table de même nom. Chaque attribut de l'entité devient un champ de même nom dans cette table. Si, parmi ces champs, il y en a qui peuvent former une clé primaire "naturelle", alors on les choisit comme clé primaire. Autrement, on ajoute (provisoirement, du moins) un champ dont la seule raison d'être est de constituer une clé primaire pour la table.
  2. Pour chaque relation 1-N, on ajoute une clé externe dans la table correspondant à l'entité du côté N vers la table correspondant à l'entité du côté 1.
  3. Chaque relation N-N donne lieu à une table de même nom ne contenant pour le moment, comme champs, que deux clés externes, chacune vers une des deux tables correspondant aux entités liées. La clé primaire de cette table est la combinaison des deux clés externes.
  4. Les attributs de relation donnent chacun lieu à un nouveau champ de même nom, situé à la même place que la relation, c'est-à-dire dans la table "du côté N" pour une relation 1-N, et dans la table correspondant à la relation pour une relation N-N.
  5. Réévaluer les choix de clés primaires en fonction de tous les champs disponibles dans chaque table (et modifier les clés externes en conséquence si on fait des changements). Cette étape est pertinente étant donné que les relations 1-N et leurs attributs peuvent avoir ajouté des champs à certaines tables. Ces nouveaux champs pourraient constituer, en combinaison avec d'autres champs, des clés primaires "naturelles", ce qui permettrait d'éliminer les clés primaires ajoutées "artificiellement" à l'étape 1.
  6. Choisir un type de données précis pour chacun des champs de chacune des tables.
  7. Déterminer quels champs peuvent contenir la valeur NULL (incluant les clés externes) ou la chaîne vide.

Valid HTML 4.0! Valid CSS!