Deux mêmes entités peuvent être plusieurs fois en association (c’est le cas sur la figure 2.6).
Les type-associations réflexifs sont présents dans la plupart des modèles.
Une occurrence de ce type-association (i.e. une association) associe généralement une occurrence du type-association (i.e. une entité) à une autre entité du même type. Cette relation peut être symétrique, c’est le cas du type-association Etre frère sur la figure 2.7, ou ne pas l’être, comme le type-association Etre parent sur cette même figure. Dans le cas où la relation n’est pas symétrique, on peut préciser les rôles sur les pattes du type-association comme pour la relation Etre parent de la figure 2.7. L’ambiguïté posée par la non-symétrie d’un type-association réflexif sera levée lors du passage au modèle relationnel (cf. section 3.1.3).
Dans la section 2.2.4 nous avons introduit la notion de type-association n-aire. Ce type-association met en relation n type-entités. Même s’il n’y a, en principe, pas de limite sur l’arité d’un type-association, dans la pratique on ne va rarement au-delà de trois. Les associations de degré supérieur à deux sont plus difficiles à manipuler et à interpréter, notamment au niveau des cardinalités.
Le type-association ternaire Contient associant les type-entités Facture, Produit et Client représenté sur la figure 2.8 est inapproprié puisqu’une facture donnée est toujours adressée au même client. En effet, cette modélisation implique pour les associations (instances du type-association) Contient une répétition du numéro de client pour chaque produit d’une même facture.
![]()
Figure 2.9: Type-association ternaire de la figure 2.8 corrigé en deux type-associations binaires.
La solution consiste à éclater le type-association ternaire Contient en deux type-associations binaires comme représenté sur la figure 2.9.
![]()
Figure 2.11: Transformation du type-association ternaire de la figure 2.10 en un type-entité et trois type-associations binaires.
La figure 2.10 nous montre un exemple de type-association ternaire entre les type-entités Créneau horaire, Salle et Film. Il est toujours possible de s’affranchir d’un type-association n-aire (n>2) en se ramenant à des type-associations binaires de la manière suivante :
La figure 2.11 illustre le résultat de cette transformation sur le schéma de la figure 2.10.
L’avantage du schéma de la figure 2.11 est de rendre plus intelligible la lecture des cardinalités. Il ne faut surtout pas le voir comme un aboutissement mais comme une étape intermédiaire avant d’aboutir au schéma de la figure 2.10 (cf. règle 27). Ainsi, le mécanisme, que nous venons de détailler ci-dessus, de passage d’un type-association n-aire (n>2) à un type-entité et n type-associations binaires est tout à fait réversible à condition que :
![]()
Figure 2.13: Transformation du type-association ternaire de la figure 2.12 en un type-entité et trois type-associations binaires.
![]()
Figure 2.14: Modèle de la figure 2.13 corrigé au niveau des cardinalités.
Passer par cette étape intermédiaire ne comportant pas de type-association n-aire (n>2) peut, dans certains cas, éviter d’introduire un type-association n-aire inapproprié. Imaginons par exemple un type-association ternaire Vol liant trois type-entités Avion, Trajet et Pilote comme représenté sur la figure 2.12.
La transformation consistant à supprimer le type-association ternaire du modèle de la figure 2.12 produit le modèle de la figure 2.13. Ce modèle fait immédiatement apparaître une erreur de conception qui était jusque là difficile à diagnostiquer : généralement, à un vol donné sont affectés plusieur pilotes (par exemple le commandant de bord et un copilote) et non pas un seul.
Le modèle correct modélisant cette situation est celui de la figure 2.14 où le type-entité Vol ne peut être transformé en un type-association ternaire Vol comme sur la figure 2.12.