© Éditions Eyrolles
163
chapitre n° 2
Le niveau logique : du relationnel à l’objet
Collections de références
L’exemple 2-77 illustre le premier cas de transformation avec une collection de références.
La collection s’appelle contingent dans la classe Sanitaire et equipe dans la classe
Entrainement.
La contrainte de partition impose de vérifier que chaque référence de la classe Pilote (OID)
ne doit apparaîre qu’une fois au plus dans l’union des collections contingent et equipe.
Le deuxième cas de transformation d’une association un-à-plusieurs fait intervenir une collection de références et une référence inverse. La contrainte de partition porte alors sur les trois
classes. Il faut s’assurer que :
●
chaque référence de la classe Pilote (OID) ne doit apparaître qu’une fois au plus dans
l’union des collections contingent et equipe ;
●
pour chaque objet Pilote, l’une des références refSani et refEntraine est nulle.
Solutions sans collection
Les autres transformations mettent en œuvre des références sans collection. La figure 2-79
décrit ces deux solutions. Dans le premier cas, il faut s’assurer que, pour chaque objet Pilote,
l’une des références refSani et refEntraine est toujours nulle.
Le second cas correspond à la solution universelle. Les références refPil doivent être toutes
distinctes et non nulles.
Figure 2-77 Collection de références
Figure 2-78 Deuxième solution de transformation
Entrainement[ codent , date_ent, region, equipe{ @refPil }]
Pilote[ numpil, nom, grade]
Sanitaire[ codesan , organisme, contingent{ @refPil }]
Entrainement[ codent , date_ent , region, equipe{ @refPil }]
Pilote[ numpil , nom, grade , @refSani, @refEntraine]
Sanitaire[codesan, organisme, contingent{ @refPil }]
Précédent

- 170/316

Suivant