Aller au contenu
Modélisation avancée

Association ternaire

Une association ternaire relie exactement trois entités ; au-delà, on parle d'association n-aire. Elle se justifie seulement quand le fait n'a de sens qu'avec les trois entités à la fois.

  • 3 entités
  • ternaire
  • n-aire
  • décomposition

Syntaxe

Modèle
ENTITE_A (x,n) ──┐ENTITE_B (x,n) ──┼── ASSOCIATIONENTITE_C (x,n) ──┘(une cardinalité sur chacune des trois pattes)

Exemple

Exemple concret
Règle : « Un fournisseur livre un produit à un magasin,à un prix négocié propre à ce trio. »FOURNISSEUR (0,n) ──┐PRODUIT     (1,n) ──┼── LIVRER (prix_negocie)MAGASIN     (0,n) ──┘Test de décomposition : FOURNIR (fournisseur, produit) etVENDRE (produit, magasin) ne disent plus quel fournisseurlivre quel magasin, ni à quel prix → la ternaire est justifiée.MLD : livrer(num_fournisseur, ref_produit, num_magasin, prix_negocie)      clé primaire = les trois clés étrangères

À retenir

  1. Faites toujours le test de décomposition : si deux ou trois associations binaires restituent exactement les mêmes faits, préférez-les.
  2. Une cardinalité maximale à 1 sur une patte de ternaire signale presque toujours une erreur : l'entité concernée détermine alors les deux autres, et la ternaire se décompose en binaires.
  3. Au MLD, la ternaire devient une table dont la clé primaire réunit les trois clés étrangères, complétée de ses attributs.
  4. Piège : relier trois entités par une ternaire alors que les faits sont indépendants (un professeur enseigne des matières, il intervient dans des salles). On obligerait à saisir des combinaisons qui n'ont pas de sens.

Voir aussi