Aller au contenu
Concepts de base

Association réflexive

Une association réflexive relie une entité à elle-même : un employé encadre d'autres employés. Chaque patte porte un rôle nommé, indispensable pour lire les cardinalités sans ambiguïté.

  • réflexive
  • rôle
  • récursive
  • hiérarchie
  • même entité

Syntaxe

Modèle
ENTITE ──(min,max) rôle 1──┐                           ├── ASSOCIATIONENTITE ──(min,max) rôle 2──┘(une seule entité, dessinée une fois, avec deux pattes)

Exemple

Exemple concret
EMPLOYE ──(0,n) encadrant──┐                           ├── ENCADREREMPLOYE ──(0,1) encadré────┘Règles : un employé encadre 0 à n employés ;un employé a au plus un encadrant (la directrice n'en a pas).Occurrences : Léa (directrice) encadre Karim et Inès ;              Karim encadre Hugo.

À retenir

  1. Écrivez le rôle de chaque patte (encadrant, encadré) : sans lui, on ne sait pas laquelle des deux cardinalités lit quoi.
  2. Cas typiques : hiérarchie (ENCADRER), nomenclature (un produit composé d'autres produits), parrainage entre clients, prérequis entre cours.
  3. Au MLD, une réflexive (0,n)/(0,1) donne une clé étrangère vers la même table, nullable ; une réflexive (0,n)/(0,n) donne une table de liaison à deux clés vers la même table (fiche MLD « Association réflexive → MLD »).
  4. Piège : mettre (1,1) du côté encadré. Le sommet de la hiérarchie n'a pas d'encadrant : la règle serait impossible à respecter dès la première saisie.

Voir aussi