Vérifier son MLD
Avant d'écrire le SQL, on relit le MLD avec une grille : entités et associations toutes traduites, clés étrangères du bon côté, formes normales respectées et données d'essai réalistes.
- checklist
- cohérence
- validation
- relecture
Syntaxe
☐ Chaque entité → une table avec sa clé primaire☐ Chaque (x,n)–(x,1) → une clé étrangère côté (x,1), NOT NULL si (1,1)☐ Chaque (x,n)–(x,n) → une table de liaison à clé composée☐ Aucune colonne en double entre tables, hors clés étrangères☐ Tables en 3FN, ou écart justifiéExemple
MCD : CLIENT, COMMANDE, PRODUIT PASSER (0,n)/(1,1) ; CONTENIR (quantite) (1,n)/(0,n)Attendu : 4 tables client(num_client PK, nom) commande(num_commande PK, date_commande, num_client FK → client) produit(ref_produit PK, libelle, prix_unitaire) contenir(num_commande FK → commande, ref_produit FK → produit, quantite) clé primaire = (num_commande, ref_produit)Test : la commande C1001 de Léa contient 2 claviers et 1 souris→ 1 ligne dans commande, 2 lignes dans contenir. ✓À retenir
- Comptez : nombre de tables = entités + associations plusieurs-à-plusieurs ou n-aires, moins les entités DATE réduites à leur identifiant et les fusions volontaires.
- Pour chaque clé étrangère, relisez la cardinalité du MCD : (1,1) donne NOT NULL, (0,1) nullable, et un lien un-à-un ajoute UNIQUE.
- Saisissez trois ou quatre lignes par table : un cas impossible à enregistrer ou une information répétée révèle une erreur de modèle.
- Piège : valider le MLD sur sa seule forme. Un schéma peut être parfaitement normalisé et pourtant faux, si une cardinalité ne correspond à aucune règle de gestion.
Voir aussi
- Entité → TableLe passage du MCD au MLD suit des règles fixes : chaque entité devient une table, son identifiant la clé primaire et ses attributs des colonnes. Les associations se traitent ensuite, une par une.
- Cardinalités (x,n) — (x,1) : association fonctionnelleDans une association (x,n)–(x,1), la clé étrangère va dans la table dont la cardinalité maximale vaut 1. Elle est NOT NULL en (1,1) et nullable en (0,1) : c'est la règle la plus utilisée.
- Cardinalités (x,n) — (x,n) : table de liaisonUne association dont les deux cardinalités maximales valent n devient une table de liaison. Sa clé primaire réunit les deux clés étrangères, et les attributs du lien y deviennent des colonnes.
- MLD → MPD (SQL)Le MPD traduit le MLD en ordres CREATE TABLE pour un SGBD précis, avec les types de colonnes, les contraintes et les index. C'est à ce niveau que le modèle devient une base qui fonctionne.