Aller au contenu
MCD → MLD

Cardinalités (x,n) — (x,n) : table de liaison

Une association dont les deux cardinalités maximales valent n devient une table de liaison. Sa clé primaire réunit les deux clés étrangères, et les attributs du lien y deviennent des colonnes.

  • N-N
  • plusieurs-à-plusieurs
  • table de liaison
  • associative

Syntaxe

Modèle
A (x,n) ── ASSOC ── (x,n) B→ assoc(cle_a FK → a, cle_b FK → b, attributs…)  clé primaire = (cle_a, cle_b)

Exemple

Exemple concret
MCD : ETUDIANT (0,n) ── SUIVRE ── (1,n) COURS                          │                         noteMLD : etudiant(num_etudiant PK, nom)      cours(code_cours PK, intitule)      suivre(num_etudiant FK → etudiant, code_cours FK → cours, note)        clé primaire = (num_etudiant, code_cours)Lignes de suivre : (E01, SQL1, 15), (E01, PY1, 12), (E02, SQL1, 9)Le couple (E01, SQL1) ne peut pas apparaître deux fois.

À retenir

  1. Nommez la table d'après l'association (suivre, emprunter, contenir) ; le cours et le studio MLD font de même.
  2. Quand un même couple peut se répéter dans le temps, ajoutez une date à la clé : emprunter(num_membre, isbn, date_emprunt, date_retour), clé primaire (num_membre, isbn, date_emprunt). Voir la fiche MCD « Historisation ».
  3. Les minimums disparaissent : un (1,n) ne se garantit pas par la table de liaison et relève d'un contrôle applicatif ou d'un déclencheur.
  4. Piège : donner à la table une clé technique id seule sans déclarer UNIQUE (num_etudiant, code_cours). Un étudiant pourrait alors être inscrit deux fois au même cours.

Voir aussi