Qu'est-ce qu'un MCD ? Définition et exemple
Le MCD, ou modèle conceptuel de données, décrit les informations d'un système et les liens entre elles, avant de penser à la base de données. C'est la première étape de la méthode Merise. On le retrouve dans presque tous les cours de bases de données, du BTS SIO à l'université.
Ce qu'on y met, et ce qu'on n'y met pas
Un MCD doit pouvoir se lire sans être informaticien. On n'y parle donc pas de tables, de clés étrangères ni de SQL. Tout ça arrive à l'étape suivante, le MLD (modèle logique de données), puis au MPD (modèle physique).
On parle aussi de diagramme MCD, de schéma entité-association ou de modèle entité-association. Le diagramme de classes d'UML en est un proche cousin.
Le vocabulaire
- Une entité est une chose qu'on veut décrire, un client ou un produit par exemple. On la dessine comme un rectangle.
- Un attribut est une information sur l'entité : un nom, un prix, une date.
- L'identifiant est l'attribut qui distingue chaque occurrence des autres. Il est souligné.
- Une association relie des entités. On la nomme avec un verbe (passe, contient), et elle peut avoir ses propres attributs.
- Les cardinalités se lisent sur chaque patte d'une association. Elles donnent le nombre minimum et maximum de fois où une occurrence y participe : 0,1, 1,1, 0,n ou 1,n.
Un exemple
Une boutique en ligne. Un client passe des commandes, une commande contient des lignes, et chaque ligne concerne un produit dans une certaine quantité.
Un client peut n'avoir encore rien commandé, d'où le 0 de 0,n. Une commande appartient à un seul client, donc 1,1.
Les parenthèses de (1,1) côté Ligne signalent une identification relative. Le numéro d'une ligne ne suffit pas à la retrouver, il faut aussi sa commande.
La quantité est un attribut de l'association concerne et pas d'une entité, parce qu'elle dépend à la fois de la ligne et du produit.
Sous le schéma, le MLD montre ce que ça donne en tables. Les clés primaires sont soulignées et les clés étrangères commencent par #.
Comment s'y prendre
- Relis l'énoncé et note les informations à retenir. Les noms donnent souvent des entités ou des attributs, les verbes des associations.
- Range les attributs dans des entités et donne un identifiant à chacune.
- Relie les entités par des associations.
- Pour chaque patte, demande-toi combien de fois au minimum et au maximum. Un client sans commande existe-t-il ? Alors c'est 0,n et pas 1,n.
- Vérifie que chaque attribut n'apparaît qu'une fois et qu'il ne se calcule pas à partir des autres.
Pour t'entraîner, l'éditeur de macgram s'ouvre dans le navigateur. Le MLD s'écrit sous ton schéma pendant que tu le dessines, ce qui permet de voir tout de suite l'effet d'une cardinalité.
Avant le MCD, on écrit souvent les user stories et le diagramme de cas d'utilisation. macgram les met dans le même document que le schéma.