Qu’est-ce qu’un Modèle Conceptuel de Données (MCD) ?

Qu’est-ce qu’un Modèle Conceptuel de Données (MCD) ?

Le Modèle Conceptuel de Données (MCD) est une représentation abstraite, formelle et indépendante des choix techniques (comme la base de données utilisée) pour décrire les données pertinentes d’un système d’information et les relations entre elles.

C’est la première étape de la modélisation dans la méthode MERISE, avant le MLD (Modèle Logique de Données) et le MPD (Modèle Physique de Données).

Objectif

  • Identifier les entités et leurs attributs ;
    Repérer les relations et leur cardinalité ;
    Construire un MCD clair et cohérent ;
    Comprendre les contraintes sémantiques (cardinalités, identifiants, dépendances).

Éléments fondamentaux du MCD

Entité

Une entité est un objet du monde réel ou métier que l’on veut représenter (ex : Étudiant, Livre, Commande).

Elle est représentée par un rectangle.
Elle possède des attributs : informations descriptives.

Exemple :

ENTITÉ : Étudiant
- id_étudiant (identifiant)
- nom
- prénom
- date_naissance

Attribut

Propriété d’une entité ou d’une relation.
L’identifiant est souligné.
Peut être simple ou composé, monovalué ou multivalué

Relation

Une relation est un lien sémantique entre deux (ou plusieurs) entités.

Représentée par un losange.

Exprime une association, avec ses cardinalités.

Exemple :

Relation : Inscrire
- entre Étudiant et Cours
- Cardinalités : 
Étudiant (0,n)  Inscrire  (1,n) Cours

Cardinalités

Indiquent le nombre minimum et maximum de participations d’une entité à une relation.

Exemples :

(0,1), (1,1), (0,n), (1,n)

Exemple complet : Gestion de bibliothèque

Scénario : – Une bibliothèque gère ses livres. Chaque livre peut être emprunté par plusieurs lecteurs. Un lecteur peut emprunter plusieurs livres. On suit la date d’emprunt. Chaque livre a un titre et un code unique. Chaque lecteur a un numéro d’adhérent, un nom et une adresse.

Étapes de modélisation :
1. Identification des entités : Livre (code_livre, titre) – Lecteur (num_adhérent, nom, adresse)
2. Identification de la relation : – Emprunter (relation binaire entre Livre et Lecteur) – Attribut : date_emprunt – Cardinalité : (0,n) pour Lecteur, (0,n) pour Livre
3. Représentation graphique (MCD) :

[Lecteur]⎯⎯(0,n)────┐
  | num_adhérent     |
  | nom              |
  | adresse          |
                      Emprunter
                      | date_emprunt
  | code_livre       |
  | titre            |
[Livre ]⎯⎯(0,n)──────┘
  • Toujours chercher les identifiants naturels (ex : numéro, code).
  • Ne pas hésiter à normaliser les attributs complexes (ex : adresse → rue, ville, code postal).
  • Attention aux relations réflexives ou ternaires, plus rares mais possibles.
  • Utilisez des outils de modélisation comme Looping, DB-Main, Lucidchart, Draw.io.

 

En effet, le Modèle Conceptuel de Données (MCD) n’est qu’un maillon d’une chaîne de modélisation plus large dans les méthodes classiques comme MERISE, ou dans des approches orientées objets ou agiles.

Voici les principaux modèles que l’on utilise autour du MCD  :

Modèle Logique de Données (MLD)

Niveau intermédiaire

Le MLD est une traduction du MCD dans un modèle de données logique, dépendant du type de SGBD (relationnel, orienté objets, etc.)

Pour un MLD relationnel :

  • Les entités deviennent des tables.
  • Les relations deviennent des tables ou des clés étrangères, selon les cardinalités.
  • On choisit les types de données (ex : VARCHAR, DATE).

📌 Exemple :

LECTEUR(num_adhérent, nom, adresse)
LIVRE(code_livre, titre)
EMPRUNTER(num_adhérent, code_livre, date_emprunt)

Modèle Physique de Données (MPD)

Niveau technique et implémentation

Le MPD est l’adaptation du MLD pour un SGBD concret (MySQL, PostgreSQL, Oracle, etc.).

Il inclut :

  • Les types SQL précis (VARCHAR(100), INT, etc.)
  • Les index, contraintes, clés étrangères
  • La syntaxe propre au SGBD

Exemple (MySQL) :

CREATE TABLE Lecteur (
    num_adhérent INT PRIMARY KEY,
    nom VARCHAR(100),
    adresse TEXT
);

Modèle Conceptuel des Traitements (MCT)

Complément du MCD pour la logique métier

Il décrit les traitements (processus/metiers) liés aux données :

  • Flux d’information
  • Règles de gestion
  • Enchaînement d’opérations

Exemple :

Lorsqu’un lecteur emprunte un livre, on doit :

  1. Vérifier qu’il n’a pas atteint la limite d’emprunts.
  2. Mettre à jour la disponibilité du livre.

Modèle Organisationnel (dans MERISE)

➤ Qui fait quoi ? Où ? Quand ?
Il s’intéresse :

  • Aux acteurs du système
  • Aux organisations, postes, services
  • Aux flux d’informations entre eux

 Modèle Conceptuel Objet (MCO) (ou UML)

➤ Approche orientée objet (vs MERISE)

On utilise ici les diagrammes de classes UML :

  • Entités = classes
  • Relations = associations
  • On y ajoute méthodes, visibilité, héritage, etc.

Exemple :

class Lecteur {
    +num_adhérent: int
    +nom: string
    +adresse: string
}

Modèles dans les méthodes agiles / modernes

Exemples : Domain-Driven Design (DDD), ER-modèle enrichi, JSON Schema, NoSQL models.

Dans ces cas, on privilégie souvent des schémas :

  • Plus souples
  • Iteratifs
  • Parfois non relationnels (MongoDB, GraphDB)

Récapitulatif

Modèle Objectif principal Niveau d’abstraction
MCD Décrire les entités et relations métier Conceptuel, indépendant
MLD Traduction en tables logiques Logique, semi-technique
MPD Implémentation dans un SGBD Physique, technique
MCT Décrire les traitements métier Conceptuel (traitement)
Modèle organisationnel Décrire les acteurs / flux métier Organisationnel
UML (MCO) Orienté objet, modélisation système Conceptuel (objet)
DDD / NoSQL / JSON Schema Modèles modernes adaptés au contexte agile Variable

 

 

principaux outils et applications pour créer les modèles de données (MCD, MLD, MPD, UML, etc.), classés par usage :

Outils pour le MCD / MERISE

Looping

  • Spécialement conçu pour MERISE.
  • Permet de créer : MCD, MLD, MPD + génération SQL.
  • Interface pédagogique, très utilisé dans l’enseignement.
  • Génération automatique des modèles suivants.

https://looping-mcd.fr

 DB-MAIN

  • Outil académique puissant (développé à l’Université de Namur).
  • Gère plusieurs modèles : conceptuel, logique, physique, transformation, rétro-ingénierie.
  • Permet d’importer une base existante et générer des modèles.
  • Supporte plusieurs formalismes.

http://www.db-main.be

Win’Design (Microconcept)

  • Solution professionnelle pour MERISE, UML, BPMN…
  • Utilisé dans l’ingénierie des systèmes d’information.
  • Modélisation complète (MCD, MLD, traitements, orga…).

https://www.microconcept.com/

Outils pour MLD et MPD (SQL)

MySQL Workbench

  • Outil officiel de MySQL.
  • Permet de concevoir le modèle physique et de le synchroniser avec la base.
  •  Génération SQL, reverse engineering.

pgModeler

  • Outil de modélisation pour PostgreSQL.
  • Très complet, permet la création graphique du schéma.
  •  Export SQL, gestion des contraintes, etc.

https://pgmodeler.io

SQL Power Architect

  • Multi-SGBD, supporte la modélisation relationnelle.
  • Moins visuel, mais efficace pour des projets complexes.
  • Utilisable avec plusieurs bases de données (Oracle, SQL Server…).

Outils pour UML / MCO (orienté objet)

StarUML

  • Outil professionnel pour UML.
  • Supporte les diagrammes de classes, séquence, use case, etc.
  •  Export en images, code, etc.

https://staruml.io

Lucidchart / Draw.io

  • Outils graphiques en ligne très simples à utiliser.
  • Parfaits pour créer diagrammes de classes ou MCD à main levée.
  • Collaboratif, intégration avec Google Drive.

https://lucidchart.com
https://draw.io

Enterprise Architect

  • Outil complet pour l’architecture logicielle (UML, BPMN, SysML…).
  • Très utilisé dans l’industrie et les grandes entreprises.
  • Génération de code, modélisation métier, gestion des exigences.

 

Outils agiles et modernes (NoSQL, JSON, DDD)

MongoDB Compass

  • Interface graphique pour MongoDB.
  • Visualise les collections et schémas NoSQL.

Hackolade

  • Spécialisé dans la modélisation NoSQL (MongoDB, Couchbase, DynamoDB…).
  • Génère des schemas JSON, prend en charge les types dynamiques.

DrawSQL

  • Outil web pour créer des modèles relationnels (MLD/MPD).
  • Intuitif et design moderne.
  • Génère les scripts SQL.

https://drawsql.app

Outil Modèles supportés Usage principal Niveau
Looping MCD, MLD, MPD MERISE académique Facile
DB-MAIN MCD, MLD, MPD, reverse Académique complet Moyen
Win’Design MERISE + UML + traitements Entreprise / pro Avancé
MySQL Workbench MPD (MySQL) SGBD physique Moyen
StarUML UML (objets) Orienté objet / Dev Moyen
Draw.io Tout type de diagramme Rapide, intuitif Facile
Hackolade Modélisation NoSQL Bases non relationnelles Moyen

par