UML 2 pour les bases de données
146
© Éditions Eyrolles
L’exemple 2-52 décrit l’association d’agrégation PassagerHabituel, qui exprime le fait
qu’un agent puisse faire partie de plusieurs missions et qu’une mission puisse transporter
plusieurs passagers. La notation UML équivalente est donnée figure 2-53.
La différence entre cette association d’agrégation et une association ternaire reliant
Vehicule, Jour et Agent s’explique par le fait qu’un triplet (Vehicule, Jour, Agent),
prenant ses valeurs dans les trois entités composant l’association 3-aire, n’est pas forcément
valide. En revanche, en utilisant l’association d’agrégation, on exprime le fait que, pour qu’un
agent soit transporté, il faut que la mission existe en tant que telle.
Figure 2-52 Association d’agrégation plusieurs-à-plusieurs
Figure 2-53 Classe-association plusieurs-à-plusieurs
Agent
codea
noma
0,N
1,N
PassagerHabituel
Vehicule
nimmat
totalkm
Jour
datem
Mission
0,N
0,N
km
Mission[nimmat,datem, km]
PassagerHabituel[(nimmat,datem)#,codea#]
Agent[codea, noma]
Agent
codea
noma
0..*
1..*
Vehicule
nimmat
totalkm
Jour
datem
0..*
0..*
Mission
km
PassagerHabituel
Précédent

- 153/316

Suivant