Aller au contenu
Méthode & pièges

MCD → MLD → MPD

MERISE sépare trois niveaux : le MCD décrit le métier, le MLD le traduit en tables et en clés, le MPD l'écrit en SQL pour un SGBD précis. Chaque niveau se déduit du précédent par des règles.

  • MERISE
  • niveaux
  • transformation
  • MLD
  • MPD

Syntaxe

Modèle
MCD  quoi ?                  entités, associations, cardinalités  ↓  règles de passageMLD  quelles tables ?        tables, clés primaires, clés étrangères  ↓  choix techniquesMPD  avec quel SGBD ?        CREATE TABLE, types, contraintes, index

Exemple

Exemple concret
MCD : CLIENT (0,n) ── PASSER ── (1,1) COMMANDE      COMMANDE (1,n) ── CONTENIR (quantite) ── (0,n) PRODUITMLD : client(num_client PK, nom, email)      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)MPD : CREATE TABLE commande (        num_commande  INTEGER PRIMARY KEY,        date_commande TEXT NOT NULL,        num_client    INTEGER NOT NULL REFERENCES client(num_client)      );

À retenir

  1. Le MCD ne contient ni clé étrangère ni type SQL : il doit rester lisible par une personne du métier.
  2. Le passage au MLD est mécanique : entité → table, patte (x,1) → clé étrangère dans la table de ce côté, association (x,n)–(x,n) → table de liaison.
  3. Le MPD ajoute ce que le SGBD sait garantir : types, NOT NULL, UNIQUE, CHECK et index sur les clés étrangères.
  4. Piège : sauter le MCD et dessiner directement les tables. Les erreurs de règles de gestion se retrouvent alors figées dans le schéma, où elles coûtent bien plus cher à corriger.

Voir aussi