Aller au contenu
M06 · A. Concevoir une base de données

Construire le Modèle Conceptuel de Données (MCD)

Dessiner les entités, leurs attributs et leur identifiant, les relier par des associations, et préciser les cardinalités (0,1 / 1,1 / 0,n / 1,n).

1Situer

Le dictionnaire et le graphe des dépendances de Souk Atlas sont prêts. Il faut maintenant un dessin que la présidente de la coopérative peut comprendre sans connaître le SQL : des boîtes pour les « choses » (client, produit, commande) et des liens pour ce qui les relie. C'est le MCD, la méthode Merise utilisée dans beaucoup d'entreprises marocaines et françaises.

2Comprendre

Lire un MCD : entités, association, cardinalités
CLIENT id_client nomemail COMMANDE id_commande date_commande PASSER 0,n 1,1 CONTENIR quantite, prix_unitaire 1,n PRODUITid_produit prix 0,n

Deux entités : CLIENT et COMMANDE, avec leur identifiant souligné.

1 / 5

Entités, attributs et identifiant

Les entités viennent directement du graphe des dépendances : chaque identifiant source et les attributs qu’il détermine forment une entité.

CLIENT (id_client, nom, prenom, email, date_inscription)
PRODUIT (id_produit, nom_produit, prix, stock)
CATEGORIE (id_categorie, nom_categorie)
COMMANDE (id_commande, date_commande, statut)
VILLE (id_ville, nom_ville, region)

Associations

CLIENT ──( PASSER )── COMMANDE
COMMANDE ──( CONTENIR : quantite, prix_unitaire )── PRODUIT
PRODUIT ──( APPARTENIR )── CATEGORIE
CLIENT ──( HABITER )── VILLE

Cardinalités

On lit de l’entité vers l’association, une phrase à chaque fois :

PhraseCôtéCardinalité
Un client passe au minimum 0, au maximum plusieurs commandesCLIENT0,n
Une commande est passée par exactement un clientCOMMANDE1,1
Une commande contient au moins un produitCOMMANDE1,n
Un produit est dans 0 ou plusieurs commandesPRODUIT0,n

Le minimum répond à « est-ce obligatoire ? » (0 = non, 1 = oui). Le maximum répond à « une seule fois ou plusieurs ? » (1 ou n).

Exemple simple

La carte d'identité de l'entité

Une entité, c'est comme un formulaire vierge : CLIENT a des cases (nom, prénom, email). Chaque client rempli est une occurrence. L'identifiant est la case qui ne se répète jamais, comme le numéro de CIN.

CLIENT
─────────────
id_client  (identifiant)
nom
prenom
email
Exemple simple

Lire une cardinalité

On lit toujours depuis l'entité vers l'association : « un client passe au minimum 0 et au maximum n commandes », et « une commande est passée par au minimum 1 et au maximum 1 client ».

CLIENT  0,n ──( PASSER )── 1,1  COMMANDE

3Manipuler

Pour chaque règle de gestion, choisissez la cardinalité du côté de l'entité en gras (minimum, maximum). Puis vérifiez.
Un CLIENT peut passer aucune ou plusieurs commandes
Une COMMANDE est passée par un et un seul client
Une COMMANDE contient au moins un produit, souvent plusieurs
Un PRODUIT peut n'avoir jamais été commandé, ou l'être souvent
Un PRODUIT appartient à une seule catégorie, obligatoirement
Un CLIENT habite dans une ville, ou ne l'a pas indiquée
Une VILLE a zéro ou plusieurs clients
Un EMPLOYÉ a au plus un chef (la directrice n'en a pas)

4Pratiquer

Exercice 1 · La bibliothèque du quartier

Règles : un adhérent emprunte zéro ou plusieurs livres ; un livre peut être emprunté par plusieurs adhérents au fil du temps ; on note la date d'emprunt et la date de retour. Dessinez le MCD (entités, association, cardinalités, attributs).

Voir le corrigé
ADHERENT (id_adherent, nom, telephone)
LIVRE    (id_livre, titre, auteur)

ADHERENT 0,n ──( EMPRUNTER : date_emprunt, date_retour )── 0,n LIVRE

Les dates sont des attributs de l'association :
elles dépendent du couple (adhérent, livre).

Exercice 2 · Trouver l'erreur

Un élève propose : COMMANDE (id_commande, date, nom_client, email_client). Qu'est-ce qui ne va pas ?

Voir le corrigé
nom_client et email_client décrivent le client, pas la commande.
Il faut une entité CLIENT séparée, reliée à COMMANDE par
l'association PASSER (CLIENT 0,n — 1,1 COMMANDE).

Exercice 3 · Association réflexive

Dans la coopérative, chaque employé peut avoir un chef, qui est lui-même un employé. Comment le représenter ?

Voir le corrigé
Une association de EMPLOYE vers EMPLOYE (réflexive) :
EMPLOYE 0,1 ──( DIRIGER )── 0,n EMPLOYE
(rôle « subordonné » : 0,1 chef ; rôle « chef » : 0,n subordonnés)

5Vérifier

1. Dans un MCD, où met-on l'attribut « quantité » d'un produit dans une commande ?
2. Que signifie la cardinalité 1,1 ?
3. Un identifiant d'entité doit être...