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
ENTITE ──(min,max) rôle 1──┐ ├── ASSOCIATIONENTITE ──(min,max) rôle 2──┘(une seule entité, dessinée une fois, avec deux pattes)Exemple
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
- Écrivez le rôle de chaque patte (encadrant, encadré) : sans lui, on ne sait pas laquelle des deux cardinalités lit quoi.
- Cas typiques : hiérarchie (ENCADRER), nomenclature (un produit composé d'autres produits), parrainage entre clients, prérequis entre cours.
- 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 »).
- 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
- AssociationUne association exprime un lien métier entre entités, comme un client qui passe une commande. Elle a au moins deux pattes, qui peuvent viser la même entité (association réflexive).
- CardinalitésUne cardinalité (min,max) indique combien de fois une occurrence d'entité participe à une association. On la lit depuis l'entité, et elle traduit une règle de gestion précise.
- Cas fréquentsTrois combinaisons couvrent l'essentiel des modèles : fonctionnelle (x,n)–(x,1), plusieurs-à-plusieurs (x,n)–(x,n) et un-à-un. Savoir les reconnaître donne directement la structure du MLD.