Titre pro CDA
Anti-sèche MERISE & UML
MERISE
La méthode et ses livrables
MERISE est la méthode, MCD, MLD et MPD sont les livrables qu’elle produit. Née en France dans les années 1970, elle fait concevoir une base de données en trois niveaux d’abstraction, du métier vers la technique.
- Niveau 1 · ConceptuelMCDQuoi ?Modélise le métier, sans aucune considération technique. Entités et associations.
- Niveau 2 · LogiqueMLDComment ?Traduit le MCD en tables relationnelles avec clés étrangères. Indépendant du SGBD.
- Niveau 3 · PhysiqueMPDAvec quoi ?Implémentation dans un SGBD précis. Script SQL exécutable.
L’analogie : construire une maison
- MERISELa méthode de l’architecte : les règles et les étapes à suivre.
- MCDLe croquis du besoin client : « 3 chambres, un salon ».
- MLDLe plan technique, avec dimensions et matériaux génériques.
- MPDLe plan d’exécution : béton X, vis Y, références précises.
MCD
Modèle Conceptuel de Données
Le MCD représente les données métier sans aucune considération technique. Il décrit ce qu’est l’information dans l’organisation, indépendamment de tout SGBD.
Les éléments
| Élément | Définition | Représentation |
|---|---|---|
| Entité | Objet du monde réel (Client, Livre…) | Rectangle, nom en MAJUSCULE au singulier |
| Propriété | Caractéristique d’une entité | Dans le rectangle de l’entité |
| Identifiant | Attribut qui identifie de façon unique | Souligné, préfixé # ou id |
| Association | Lien entre entités | Ellipse, verbe à l’infinitif |
| Cardinalité | Participation min, max | Près du lien entité – association |
Les cardinalités
| Notation | Signification | Exemple |
|---|---|---|
| 0,1 | 0 ou 1 fois (optionnel, unique) | Un employé a au plus 1 bureau |
| 1,1 | Exactement 1 fois (obligatoire) | Une commande a 1 client |
| 0,N | 0 ou plusieurs fois | Un client a 0 à N commandes |
| 1,N | Au moins 1 fois | Une facture a au moins 1 ligne |
Exemple : la bibliothèque
Des lecteurs empruntent des livres. L’historique doit être conservé : la date d’emprunt est donc portée par l’association elle-même (association porteuse).
LIVRE
- idLivre
- titre
- auteur
- isbn
- anneePublication
LECTEUR
- idLecteur
- nom
- prenom
- dateInscription
Checklist MCD
- Toutes les entités ont un identifiant souligné
- Associations = verbes, entités = noms
- Des cardinalités des deux côtés de chaque relation
- Aucune clé étrangère au MCD (les FK, c’est au MLD)
- Pas d’information en double (normalisation)
Outils pour votre MCD
MLD
Modèle Logique de Données
Le MLD traduit le MCD en tables relationnelles, toujours indépendamment du SGBD. C’est ici qu’apparaissent les clés étrangères, et que les relations N:N deviennent de vraies tables.
Les règles de passage MCD → MLD
| N° | Règle | Transformation |
|---|---|---|
| 1 | Entité | Devient une table. L’identifiant devient clé primaire (PK). |
| 2 | Relation 1:N | La PK du côté « 1 » migre comme FK du côté « N ». |
| 3 | Relation N:N | Création d’une table d’association, avec une PK composée des 2 FK. |
| 4 | Relation 1:1 | FK du côté (0,1) vers (1,1), ou fusion des tables. |
| 5 | Association porteuse | Ses attributs rejoignent la table d’association. |
Le MCD bibliothèque, traduit
LIVRE
- PKidLivre
- titre
- auteur
- isbn
- anneePublication
EMPRUNTER
- PK/FKidLivre
- PK/FKidLecteur
- PKdateEmprunt
- dateRetour
LECTEUR
- PKidLecteur
- nom
- prenom
- dateInscription
La notation textuelle
Souvent demandée en complément du schéma.
LIVRE (idLivre, titre, auteur, isbn, anneePublication)
LECTEUR (idLecteur, nom, prenom, email, dateInscription)
EMPRUNTER (#idLivre, #idLecteur, dateEmprunt, dateRetour)
La clé primaire est soulignée, les clés étrangères sont préfixées par #. La PK d’EMPRUNTER compte trois colonnes, pour garder plusieurs emprunts du même livre par le même lecteur à des dates différentes.
Checklist MLD
- Chaque entité du MCD → une table
- Chaque relation N:N → une table d’association
- Les FK placées côté N pour les relations 1:N
- Le respect de la 3e forme normale (3FN)
- PK et FK clairement identifiées dans la notation
Outils pour votre MLD
- drawDBRecommandédrawdb.app ↗Le même outil que pour le MCD, en mode tables relationnelles avec clés étrangères. Export SQL direct (MySQL, PostgreSQL, SQLite…).
- ChartDBGratuit + IAchartdb.io ↗Éditeur visuel très soigné, génération de schémas par IA, éditeur DBML, export SQL. Importe une base existante en un clic.
MPD
Modèle Physique de Données
Le MPD est l’implémentation concrète dans un SGBD précis (MySQL, PostgreSQL…) : c’est le script SQL qui crée la base.
Ce qui apparaît au MPD (et pas avant)
- Types propres au SGBD
VARCHAR(50), INT, DATE, DECIMAL(10,2), BOOLEAN - Contraintes
NOT NULL, UNIQUE, DEFAULT, CHECK - Clés
PRIMARY KEY, FOREIGN KEY … REFERENCES … - Auto-incrément
AUTO_INCREMENT (MySQL), SERIAL (PostgreSQL) - Actions référentielles
ON DELETE CASCADE / RESTRICT / SET NULL - Index
Pour accélérer les requêtes fréquentes
Le script SQL, MySQL 8
-- Base : gestion_bibliotheque | SGBD : MySQL 8.0
CREATE TABLE LIVRE (
idLivre INT AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(200) NOT NULL,
auteur VARCHAR(100) NOT NULL,
isbn VARCHAR(13) UNIQUE,
anneePublication YEAR,
dateAjout DATE DEFAULT (CURRENT_DATE),
INDEX idx_auteur (auteur)
) ENGINE=InnoDB CHARSET=utf8mb4;
CREATE TABLE LECTEUR (
idLecteur INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50) NOT NULL,
prenom VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
dateInscription DATE DEFAULT (CURRENT_DATE),
actif BOOLEAN DEFAULT TRUE
) ENGINE=InnoDB CHARSET=utf8mb4;
CREATE TABLE EMPRUNTER (
idLivre INT NOT NULL,
idLecteur INT NOT NULL,
dateEmprunt DATETIME NOT NULL,
dateRetour DATETIME DEFAULT NULL,
PRIMARY KEY (idLivre, idLecteur, dateEmprunt),
FOREIGN KEY (idLivre) REFERENCES LIVRE(idLivre)
ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (idLecteur) REFERENCES LECTEUR(idLecteur)
ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB CHARSET=utf8mb4;
Checklist MPD
- Le SGBD cible est précisé (MySQL 8, PostgreSQL 15…)
- Des types adaptés : jamais d’INT pour un code postal français !
- Les contraintes (NOT NULL, UNIQUE, CHECK) sont définies
- Des index sur les FK et les colonnes de recherche
- Des actions ON DELETE / ON UPDATE réfléchies, pas laissées par défaut
Outils pour tester votre SQL
UML
Le diagramme de classes
UML est un langage de modélisation orienté objet. Le diagramme de classes est le plus demandé en CDA : il décrit les classes, leurs attributs, leurs méthodes et leurs relations. Ce n’est pas un MCD : il ajoute méthodes, visibilités, héritage et interfaces.
Les visibilités
- +publicaccessible partout
- –privatela classe seule
- #protectedla classe et ses sous-classes
- ~packagele même package
Les relations
- AssociationLien simple entre classes
- AgrégationLosange vide : « a un »
- CompositionLosange plein : « est composé de »
- HéritageTriangle vide : « est un »
- DépendanceUtilise temporairement
- RéalisationImplémente une interface
Les cardinalités UML
| Notation | Signification |
|---|---|
| 1 | Exactement 1 |
| 0..1 | 0 ou 1 (optionnel) |
| * ou 0..* | 0 à plusieurs |
| 1..* | 1 à plusieurs |
| n..m | Entre n et m |
Exemple : la bibliothèque en UML
Le même domaine, modélisé pour une application orientée objet : on voit apparaître l’héritage (Personne, abstraite), la composition (un Livre composé d’Exemplaires) et une association classique.

- Héritage
- Lecteur et Bibliothecaire héritent de Personne (classe abstraite) : flèche à triangle vide.
- Composition
- Un Livre est composé de 1 à plusieurs Exemplaires : losange plein côté Livre.
- Association
- Un Lecteur emprunte de 0 à 5 Livres en même temps : ligne simple avec cardinalités.
Checklist UML
- Une visibilité (+, –, #) sur tous les attributs et méthodes
- Les types de retour des méthodes précisés
- Des cardinalités sur toutes les associations
- Les bons symboles (losange vide ou plein selon l’intention)
- Les classes abstraites en italique ou avec «abstract»
Outils pour votre diagramme UML
- Mermaid LiveRecommandémermaid.live ↗Gratuit, sans compte. Vous écrivez le diagramme en quelques lignes, le rendu est instantané. Export PNG / SVG.
- Eraser · DiagramGPTGratuit + IAeraser.io/ai/uml-diagram-generator ↗Vous décrivez votre système en français, l’IA génère le diagramme UML, éditable ensuite. Parfait pour démarrer vite.
Le snippet Mermaid à connaître
classDiagram
class Personne {
<<abstract>>
-nom : String
+getNomComplet() String
}
Personne <|-- Lecteur
Lecteur "0..5" -- "0..*" Livre : emprunte
Les 5 erreurs
Ce qui fait tiquer le jury
Elles reviennent dans presque tous les dossiers, et le jury les repère tout de suite. Les connaître, c’est éviter de les faire.
- 01
Confondre les cardinalités MERISE et UML
En MERISE on lit vers l’association, en UML vers la classe cible : le sens est inversé. Cette confusion fait inverser les cardinalités en passant d’un formalisme à l’autre.
- 02
Mettre des clés étrangères au MCD
Les FK n’apparaissent qu’au MLD. Au MCD, il y a des associations, pas des colonnes techniques. Un champ « idClient » dans l’entité COMMANDE au MCD est une faute classique.
- 03
Oublier les visibilités en UML
Un attribut ou une méthode sans +, – ou # devant est incomplet. C’est le premier détail que le jury vérifie sur un diagramme de classes.
- 04
Confondre agrégation et composition
Losange vide : les parties sont indépendantes du tout. Losange plein : elles sont détruites avec lui. Les mélanger montre que la nuance n’est pas comprise.
- 05
Mélanger MLD et MPD
Pas de VARCHAR(50), d’AUTO_INCREMENT ni d’ENGINE=InnoDB au MLD : ces détails n’apparaissent qu’au MPD. Le MLD reste indépendant du SGBD.