© Éditions Eyrolles
165
chapitre n° 2
Le niveau logique : du relationnel à l’objet
La classe-association A2 traduit une contrainte d’inclusion. Plusieurs multiplicités m1 et m2
de l’association A2 peuvent se présenter. Raisonnons sur le chiffre maximal des multiplicités
(1 pour les multiplicités 1 et 0..1, * pour les multiplicités * et 1..*). La multiplicité maximale 1 permet de traduire une contrainte d’unicité.
En fonction des multiplicités, plusieurs schémas objet seront possibles. Nous en retenons
deux : la solution universelle et une solution basée sur les collections. Nous modéliserons
donc une association plusieurs-à-plusieurs (A1) et une association binaire (entre A1 et C3) en
fonction des multiplicités m1 et m2. Il faudra programmer la contrainte en fonction des valeurs m1
et m2 sur les références du schéma navigationnel concernées par l’association A2.
Solution universelle
La solution universelle est illustrée à la figure 2-81, la contrainte va porter sur les références
refA1 et refC3.
Figure 2-81 Solution universelle pour les classes-associations
La contrainte d’inclusion induite par l’association A2 ne requiert pas de contrainte explicite
sur les liens, car la classe A2 est directement reliée à la classe A1 par la référence refA1. Les
conditions induites par la contrainte d’unicité sont décrites dans le tableau 2.7.
Tableau 2.7 Contraintes à respecter avec la solution universelle
m1
m2
Contrainte
1
1
Pour tous les objets de la classe A2, les références refA1 et refC3 sont toutes
distinctes.
1
*
Pour tous les objets de la classe A2, le lien refC3 est distinct. Plusieurs objets de la
classe A2 peuvent avoir le même lien refA1.
*
1
Pour tous les objets de la classe A2, le lien refA1 est distinct. Plusieurs objets de la
classe A2 peuvent avoir le même lien ref3.
*
*
Aucune : plusieurs objets de la classe A2 peuvent avoir le même lien refC3 ou refA1.
C1 […, … ]
A1[@refC1, @refC2 , a ]
C2 […, …]
C3[ …, …]
A2 [@refA1 , @refC3, b ]
Précédent

- 172/316

Suivant