Traduction d’un MCD (Modèle E/A) en MLD (Modèle relationnel)
2025-11-24
Dans le modèle conceptuel des données (modèle EA)
Dans le modèle logique des données relationnel (MRD)
Une technique de traduction du formalisme EA vers le formalisme relationnel.
Visualisation des contraintes référentielles via les pattes de corbeaux.
Un formalisme graphique très proche de la description physique en SQL.
Un formalisme graphique utilisé pour documenter les bases de données relationnelles
Créé par Gordon Everest (fin des années 1970)
Normalisé par Finkelstein et Martin
Les modèles relationnelles des données (MRD) sont formés :
Représentent des associations binaires un-un, ou un-vers-plusieurs
Les cardinalités sont visualisées par les extrémités des liens
| Symbole | Interprétation |
|---|---|
|
Zéro ou un |
|
Exactement un |
|
Zéro ou plus (pas de borne supérieure) |
|
Un ou plus (pas de borne supérieure) |
Association is-in : une valeur de l’attribut countrycode de COUNTRY (donc une instance de COUNTRY car c’est l’identifiant) peut être référencée 0 à plusieurs fois dans la table CITY.
Association is-capital : une valeur de l’attribut id de CITY (donc une instance de CITY) est référencée 0 à 1 fois dans la table COUNTRY.
Avertissement
Un lien dans un MRD définit une contrainte d’intégrité référentielle entre deux tables.
Il ne peut pas représenter directement un association d’arité supérieure à 2.
Il ne porte pas d’attributs propres.
WorldLes entités COUNTRY, CITY et LANGUAGE sont traduits en 3 tables:
COUNTRY d’identifiant countrycode,CITY d’identifiant id,LANGAGE d’identifiant name.Définition
On dit qu’une association binaire du MCD est de type \(a\) à \(b\) si la cardinalité maximale de l’association est \(a\) pour une entité, \(b\) pour l’autre.
Worldis-capital est une association \(1\) à \(1\).is-in est une association \(1\) à plusieurs.is-spoken-in est une association plusieurs à plusieurs.Soit \(A\) une association 1 à 1 entre deux \(E_1\) et \(E_2\) telle que le taux de participation des instances de \(E_1\) à l’association \(A\) est plus grand que celui des instances de \(E_2\).
Choix entre \(E_1\) et \(E_2\)
NULL.NULL. Mais choisir \(E_2\) plutôt que \(E_1\) est possible.is-capital de WorldImportant
La cardinalité maximale 1 du MRD sur la clé étrangère capital de COUNTRY se traduira en SQL par une contrainte UNIQUE sur capital.
Soit \(A\) une association 1 à plusieurs entre deux \(E_1\) et \(E_2\) (plusieurs du côté de \(E_2\)) :
is-in de WorldImportant
La cardinalité minimale 1 du côté de CITY dans le MCD n’est pas traduite dans le MRD mais elle se traduira en SQL par une contrainte NOT NULL sur la clé étrangère countrycode de la table CITY.
Les spécialisations et les associations faibles du modèle E/A sont des associations binaires un à plusieurs qui sont traduites selon le principe précédent.
Pour les spécialisations, comme l’entité spécialisée n’avait pas d’identifiant, l’attribut introduit par traduction de l’association de spécialisation devient la clé primaire.
Pour les entités faibles, l’assocation faible avec l’entité forte de référence est déjà traduite par décomposition de l’identifiant concaténé en deux attributs qui forment la clé primaire de la table traduisant l’entité faible.
Soit \(A\) une association plusieurs à plusieurs entre deux entités \(E_1\) et \(E_2\) :
Remarque
Du côté de l’entité faible, la cardinalité d’une association faible est toujours 1:1 donc les associations faibles sont de type un à plusieurs ou un à un.
is-spoken-in de Worldworldworld simplifiéSimplification
LANGUAGE car elle n’a pas d’autre attribut que l’identifiant.is-spohen-in.language à un ensemble déterminé de valeurs : les valeurs stockées dans language.name.Soient \(n>2\), \(E_1\), \(\dots\), \(E_n\) des entités et \(A\) une association \(n\)-aire entre ces entités.
flightMCD avant décomposition
flight décomposéflightChaque table du MRD correspond à une table SQL.
Les identifiants sont définis comme clés primaires.
Les liens du MRD se traduisent en contraintes d’intégrité référentielle.
Les contraintes du MCD se traduisent autant que possible en contraintes SQL selon les possibilités du SGBD choisi.
UNIQUE traduites des cardinalités du MRDImportant
Une cardinalité maximale 1 du MRD sur une clé étrangère se traduit en SQL par une contrainte UNIQUE sur cette clé étrangère.
is-capital de WorldOn ajoute une contrainte UNIQUE sur la clé étrangère capital de la table country.
NOT NULL traduites des cardinalités du MCDImportant
Une cardinalité minimale 1 du MCD du côté de l’entité à laquelle on ajoute une clé étrangère n’est pas traduite dans le MRD mais elle se traduit en SQL par une contrainte NOT NULL sur la clé étrangère.
is-in de WorldOn ajoute une contrainte NOT NULL sur la clé étrangère countrycode de la table city.
En Informatique, la modélisation concerne aussi la conception des interfaces humains-machines, des sites WWW, des traitements divers, des entrepots de données, des lacs de données, ….
Chaque situation a suscité une méthode apropriée
Quelques exemples :
Traduction d’un MCD (Modèle E/A) en MLD (Modèle relationnel)

MA15E045 – Bases de Données – L3 MIASHS – UParis Cité