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
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 ──( 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 :
Phrase
Côté
Cardinalité
Un client passe au minimum 0, au maximum plusieurs commandes
CLIENT
0,n
Une commande est passée par exactement un client
COMMANDE
1,1
Une commande contient au moins un produit
COMMANDE
1,n
Un produit est dans 0 ou plusieurs commandes
PRODUIT
0,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
Publicité
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)