Partie 2 · MLD et normalisation
Règles de passage du MCD au MLD
(hors cours : règles de méthode) Le MLD s'obtient mécaniquement. Le TP2 demande : « Tables + colonnes, PK, FK, contraintes UNIQUE, NOT NULL ».
| Élément du MCD | Devient dans le MLD |
|---|---|
| Entité | Une table |
| Attribut | Une colonne |
| Identifiant (#) | La clé primaire (PK) |
| Association 1:N | Une clé étrangère (FK) dans la table du côté « 1 » de la patte (celle dont le max est 1) |
| Association N:N | Une nouvelle table dont les FK vers les deux entités forment la PK |
| Association 1:1 | Une FK d'un côté, avec contrainte UNIQUE (ou fusion des tables) |
| Attributs d'une association | Colonnes de la table d'association (N:N) ou de la table portant la FK (1:N) |
| Cardinalité min 0 / min 1 | FK nullable / FK NOT NULL |
Vérifie que tu as compris
Dans « Proposer » (Cours 0..N, Session 1..1), où va la clé étrangère ?
Exemple : l'école
COURS (code_cours PK, titre, niveau, volume_horaire)
SESSION (id_session PK, date_debut, date_fin, modalite,
code_cours FK NOT NULL, code_salle FK NULL)
INSCRIPTION (id_etudiant FK, id_session FK, date, statut,
PK (id_etudiant, id_session))
PREREQUIS (code_cours FK, code_prerequis FK,
PK (code_cours, code_prerequis))
code_cours est NOT NULL car la cardinalité de SESSION est 1..1 ; code_salle est nullable car elle est 0..1. La PK composée de INSCRIPTION interdit mécaniquement le doublon étudiant/session. PREREQUIS est une N:N réflexive : deux FK vers la même table COURS.
Une association à trois entités (ternaire, hors cours) donne une table avec trois FK dans sa PK.
Vérifie que tu as compris
Que devient l'association N:N « S'inscrire » (date, statut) ?