Module 4 — Système d'Information de Gestion

Système d'Information de Gestion

Fiche de révision MERISE pour comprendre la modélisation des données dans un système d'information : MCD → MLD → MPD.

MCD — quoi mémoriser ? MLD — comment organiser ? MPD — comment créer ?
1

MCD — Modèle Conceptuel de Données

Photographie logique du métier, indépendante de toute technique. Se construit en 4 étapes.

MCD

1 · Entités

Objet du monde réel dont on garde des infos. Doit être identifiable, autonome, utile — pas une simple caractéristique.

  • Toutes les propriétés sont obligatoires (pas de "facultatif")
  • Ne pas confondre entité et attribut : CLIENT = entité, Adresse = attribut
CLIENT · PRODUIT · COMMANDE · FOURNISSEUR · FACTURE

2 · Attributs & Identifiant

Informations descriptives d'une entité. Un attribut = identifiant (clé primaire conceptuelle) unique par entité.

  • Unique — jamais 2 occurrences avec la même valeur
  • Stable — ne change pas dans le temps (CIN, pas l'adresse)
  • Non ambigu — désigne une seule chose (pas "le professeur")
  • Minimal — le plus simple possible
  • Élémentaire, jamais calculé (Date_Naissance, pas Âge)
CLIENT → Code_Client · COMMANDE → Num_Commande

3 · Associations

Lien sémantique entre plusieurs entités — traduit la dynamique du métier.

  • CLIENT — PASSER — COMMANDE
  • PRODUIT — FOURNI_PAR — FOURNISSEUR
  • COMMANDE — GÉNÈRE — FACTURE
  • EMPLOYÉ — TRAITE — COMMANDE

4 · Cardinalités

Bornes (min, max) : combien d'occurrences d'une entité liées à combien d'occurrences de l'autre.

  • Se lisent toujours du côté opposé de l'entité
  • Règle de gestion → phrase → cardinalité
(0,1)

Zéro ou une occurrence. Ex : un employé peut avoir ou pas un véhicule de service.

(1,1)

Obligatoirement une seule occurrence. Ex : chaque facture correspond à exactement une commande.

(0,N)

Aucune ou plusieurs occurrences. Ex : un client peut n'avoir passé aucune commande, ou plusieurs.

(1,N)

Au moins une, éventuellement plusieurs. Ex : une commande contient au moins un produit.

🔎 Cas résolu — Entreprise de distribution

CLIENT COMMANDE PRODUIT FOURNISSEUR
COMMANDE FACTURE

Astuce de lecture : « chaque commande appartient à un seul client » → la cardinalité (1,1) se place du côté COMMANDE, pas du côté client.

2

MLD — Modèle Logique de Données

Traduit le MCD en tables relationnelles : les associations disparaissent au profit de clés étrangères (ou de tables associatives).

MLD

Association (1,N)

Un côté (1,1) et un côté (1,N) → pas de nouvelle table.

  • La clé primaire du côté « 1 » migre vers le côté « N » comme clé étrangère
ÉTUDIANT (1,1) — EST'INSCRIT DANS — PROGRAMME (1,N)
→ ETUDIANT(Matricule, Nom, ..., #CodeProgramme)

Association (N,N)

Plusieurs occurrences des deux côtés → création obligatoire d'une nouvelle table.

  • Contient les 2 clés primaires des entités
  • + les attributs propres à l'association
PROGRAMME (1,N) — COMPOSER — MODULE (1,N)
→ COMPOSER(#CodeProgramme, #CodeModule)

Association (1,1)

Cardinalité max de 1 des deux côtés.

  • Une clé primaire migre vers l'autre table
  • Pas de nouvelle table nécessaire
Type d'associationRègle de transformation
(1,1)Migration d'une clé primaire vers l'autre table comme clé étrangère
(1,N)Migration de la clé primaire du côté « 1 » vers le côté « N »
(N,N)Création d'une table associative contenant les deux clés étrangères
assoc. avec attributsLes attributs de l'association sont ajoutés à la table associative

🔎 Cas résolu — École de management (MCD → MLD)

ETUDIANT(Matricule, Nom, Prénom, DateNaissance, Email, #CodeProgramme)
PROGRAMME(CodeProgramme, Intitulé, Niveau)
MODULE(CodeModule, Intitulé, Crédits)
ENSEIGNANT(CodeEns, Nom, Prénom, Grade)
-- tables associatives issues des associations (N,N)
COMPOSER(#CodeProgramme, #CodeModule)
ENSEIGNER(#CodeEns, #CodeModule)
3

MPD — Modèle Physique de Données

Traduction technique du MLD dans un SGBD précis (MySQL, PostgreSQL...) : types, contraintes, index.

MPD

Transformation de base

  • Relation MLD → table SQL
  • Attribut → colonne
  • Clé primaire → contrainte PRIMARY KEY
  • Clé étrangère → contrainte FOREIGN KEY ... REFERENCES

Contraintes d'intégrité

  • NOT NULL — champ obligatoire
  • UNIQUE — valeur non dupliquée
  • CHECK — condition à respecter (prix ≥ 0)
  • DEFAULT — valeur par défaut

Suppression / mise à jour

  • ON DELETE CASCADE — supprime en chaîne
  • ON DELETE RESTRICT — interdit la suppression si lié
  • ON UPDATE CASCADE — répercute la mise à jour

Index

Accélère les recherches sur une colonne souvent filtrée (ex. clé étrangère).

CREATE INDEX idx_commande_client
ON Commande(id_client);

Types de données courants (mémo rapide) :

INTidentifiant / quantité
VARCHAR(n)texte court (nom, ville)
TEXTtexte long (description)
DECIMAL(10,2)montant, prix, salaire
DATEdate seule
DATETIMEdate + heure
BOOLEANvrai / faux
uniqueidentifierclé auto-incrémentée

🔎 Cas résolu — Gestion des commandes (MLD → MPD complet)

CREATE TABLE Client (
id_client INT PRIMARY KEY,
nom VARCHAR(50) NOT NULL,
prenom VARCHAR(50) NOT NULL,
telephone VARCHAR(20)
);
CREATE TABLE Commande (
id_commande INT PRIMARY KEY,
date_commande DATE NOT NULL,
id_client INT NOT NULL,
FOREIGN KEY (id_client) REFERENCES Client(id_client)
);
CREATE TABLE Produit (
id_produit INT PRIMARY KEY,
designation VARCHAR(100) NOT NULL,
prix DECIMAL(10,2) NOT NULL CHECK (prix >= 0)
);
-- table associative : relation N,N entre Commande et Produit
CREATE TABLE Ligne_commande (
id_commande INT,
id_produit INT,
quantite INT NOT NULL CHECK (quantite > 0),
PRIMARY KEY (id_commande, id_produit),
FOREIGN KEY (id_commande) REFERENCES Commande(id_commande),
FOREIGN KEY (id_produit) REFERENCES Produit(id_produit)
);

Fiche flash pour demain

Méthode pas-à-pas pour traiter un cas pratique le jour de l'examen.

1Lire & souligner

Repérer les noms → entités possibles. Repérer les verbes d'action (passer, contenir, enseigner...) → associations.

2Lister les attributs

Sous chaque entité, noter ses propriétés + choisir l'identifiant (unique, stable, non ambigu, minimal).

3Formuler les règles de gestion

Une phrase par sens : « un X peut/doit avoir combien de Y ? » → déduire la cardinalité de ce côté.

4Dessiner le MCD

Entités = rectangles, association = losange, cardinalités aux deux bouts du trait.

5Passer au MLD

Pour chaque association : (1,N) → clé migre côté N · (N,N) → table associative · (1,1) → migration simple.

6Passer au MPD

CREATE TABLE avec types précis, PRIMARY KEY, FOREIGN KEY, contraintes (NOT NULL, CHECK, UNIQUE).

Pièges classiques à éviter : oublier une clé primaire · oublier une clé étrangère · confondre attribut et entité (ex. « Adresse » n'est pas une entité) · cardinalité mise du mauvais côté · attribut calculé (Âge au lieu de Date_Naissance) · oublier la table associative pour une relation (N,N).