Vous venez de récupérer un MCD réalisé par un collègue ou un prestataire. Le schéma semble complet, les entités sont là, les associations aussi. Mais comment savoir si ce modèle conceptuel de données tient vraiment la route avant de générer un MLD ou d’écrire la moindre ligne de SQL ? Vérifier un MCD diagram ne se limite pas à compter les boîtes et les flèches. Plusieurs points précis méritent une inspection méthodique.
Anomalies d’insertion, de suppression et de modification dans un MCD
Avant de vérifier les cardinalités ou la normalisation, commencez par un test que peu de guides mentionnent : simulez des opérations concrètes sur vos données. Prenez une entité du MCD et essayez mentalement d’y insérer un nouvel enregistrement, d’en supprimer un, puis d’en modifier un attribut.
A lire aussi : Les caractéristiques d'une bonne fiche projet
Par exemple, si votre modèle contient une entité « Commande » liée à une entité « Client », posez-vous la question : que se passe-t-il si vous supprimez un client qui a des commandes en cours ? Le MCD prévoit-il cette situation ?
Un MCD fiable résiste aux trois types d’anomalies : insertion, suppression, modification. Si l’ajout d’un produit oblige à créer un fournisseur fictif, ou si la suppression d’une facture fait disparaître les coordonnées d’un client, le modèle présente un défaut de conception. Ces tests d’anomalies révèlent des problèmes que la simple lecture visuelle du diagramme ne montre pas.
A voir aussi : Comment faire écrire un article de qualité journalistique ?

Cardinalités et associations : les erreurs fréquentes à repérer
Les cardinalités sont le nerf du MCD. Une erreur ici se propage dans tout le schéma relationnel. Vérifiez chaque association en la lisant dans les deux sens, à voix haute si nécessaire.
Lire une cardinalité dans les deux sens
Prenez l’association « Un client passe des commandes ». Côté client, la cardinalité minimale est-elle 0 ou 1 ? Un client peut-il exister sans commande (0) ou doit-il obligatoirement en avoir au moins une (1) ? Côté commande, une commande appartient-elle toujours à un seul client (1,1) ou pourrait-elle être partagée ?
Chaque cardinalité doit refléter une règle métier vérifiable, pas une supposition du modélisateur. Si personne dans l’équipe ne sait justifier un (0,n) plutôt qu’un (1,n), c’est un signal d’alerte.
Associations ternaires : vérifier leur nécessité
Une association ternaire relie trois entités simultanément. On la rencontre par exemple quand un médecin prescrit un médicament à un patient. Ce type d’association est souvent mal utilisé. Posez-vous la question : peut-on décomposer cette association ternaire en deux associations binaires sans perdre d’information ?
- Si la décomposition conserve toute la sémantique métier, l’association ternaire est inutile et complique le modèle pour rien.
- Si la décomposition fait perdre un lien (on ne sait plus quel médecin a prescrit quel médicament à quel patient), l’association ternaire est justifiée.
- Si l’association ternaire porte ses propres attributs (une date de prescription, un dosage), sa présence se justifie d’autant plus.
Vérification des identifiants et des attributs d’entité
Chaque entité doit posséder un identifiant clair. Cela paraît évident, mais dans les MCD récupérés « en l’état », l’identifiant est parfois absent, ambigu ou mal choisi.
Un identifiant doit être minimal, stable et non ambigu. « Minimal » signifie qu’aucun de ses composants n’est superflu. Si l’identifiant d’une entité « Produit » combine le code produit et la date de création, demandez-vous si le code seul suffit. « Stable » signifie que sa valeur ne change pas au fil du temps. Un numéro de téléphone comme identifiant d’un contact est un mauvais choix, car il peut changer.
Attributs mal placés dans le MCD
Un attribut doit dépendre uniquement de l’identifiant de son entité. Si un attribut dépend d’un autre attribut non identifiant, il y a une dépendance fonctionnelle transitive. Le modèle n’est alors pas en troisième forme normale.
Exemple concret : dans une entité « Employé », vous trouvez les attributs « code_département » et « nom_département ». Le nom du département dépend du code du département, pas de l’identifiant de l’employé. Cet attribut devrait migrer vers une entité « Département » séparée.
Résilience du MCD aux évolutions du schéma
Un MCD peut être techniquement correct aujourd’hui et devenir un cauchemar demain. Un bon modèle conceptuel absorbe les changements sans restructuration majeure.
Pour évaluer cette résilience, imaginez trois évolutions plausibles du métier. Par exemple : l’ajout d’un nouveau type de client, le découpage d’une entité en deux, ou le changement d’une cardinalité (0,1) en (0,n). Pour chacune de ces évolutions, vérifiez si le MCD actuel peut s’adapter par simple ajout, ou s’il faut tout refondre.
Un modèle résilient accepte un ajout d’entité sans casser les associations existantes. Si l’ajout d’un concept métier simple (un nouveau statut, un nouveau rôle) oblige à modifier plusieurs associations, le MCD est trop rigide ou trop couplé.

Checklist de vérification d’un MCD diagram avant validation
Voici les points à passer en revue de façon systématique avant de considérer un MCD comme validé :
- Chaque entité possède un identifiant minimal et stable, explicitement marqué sur le diagramme.
- Les cardinalités sont lues dans les deux sens et correspondent à des règles métier documentées.
- Aucun attribut ne présente de dépendance transitive (chaque attribut dépend de l’identifiant de son entité, rien d’autre).
- Les associations ternaires sont justifiées par l’impossibilité de les décomposer sans perte sémantique.
- Les tests d’anomalies (insertion, suppression, modification) ne révèlent pas de données orphelines ou de créations forcées.
- Le modèle reste cohérent après simulation d’au moins deux évolutions métier réalistes.
Cette vérification prend du temps, mais elle évite des corrections bien plus coûteuses au moment de la génération du modèle relationnel ou du développement applicatif. Un MCD validé sur ces critères produit un schéma relationnel fiable dès la première génération, sans allers-retours entre concepteurs et développeurs.


