© Éditions Eyrolles
137
chapitre n° 2
Le niveau logique : du relationnel à l’objet
Les schémas de la figure 2-40 décrivent la troisième possibilité de transformation. Une troisième classe est définie, elle contient soit deux références (une vers chaque classe à mettre en
association), soit une référence et un attribut de type clé étrangère (deux possibilités).
Pour une unique solution avec le modèle relationnel, nous avons répertorié huit solutions avec
le modèle objet (et il en existe d’autres !). Le fait d’utiliser des collections va privilégier
l’accès aux données par l’une ou l’autre des classes.
Figure 2-39 Transformation avec deux classes et références
Figure 2-40 Transformation avec trois classes avec références
Compagnie[ncomp, nomcomp, flotte{@ref_avion}]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp, flotte{@ref_avion}]
Avion[immat, typeav, @ref_compagnie]
Compagnie[ncomp, nomcomp]
Possede[@ref_compagnie, @ref_avion]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp]
Possede[ncomp#, @ref_avion]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp]
Possede[@ref_compagnie, immat#]
Avion[immat, typeav]
137
chapitre n° 2
Le niveau logique : du relationnel à l’objet
Les schémas de la figure 2-40 décrivent la troisième possibilité de transformation. Une troisième classe est définie, elle contient soit deux références (une vers chaque classe à mettre en
association), soit une référence et un attribut de type clé étrangère (deux possibilités).
Pour une unique solution avec le modèle relationnel, nous avons répertorié huit solutions avec
le modèle objet (et il en existe d’autres !). Le fait d’utiliser des collections va privilégier
l’accès aux données par l’une ou l’autre des classes.
Figure 2-39 Transformation avec deux classes et références
Figure 2-40 Transformation avec trois classes avec références
Compagnie[ncomp, nomcomp, flotte{@ref_avion}]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp, flotte{@ref_avion}]
Avion[immat, typeav, @ref_compagnie]
Compagnie[ncomp, nomcomp]
Possede[@ref_compagnie, @ref_avion]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp]
Possede[ncomp#, @ref_avion]
Avion[immat, typeav]
ou
Compagnie[ncomp, nomcomp]
Possede[@ref_compagnie, immat#]
Avion[immat, typeav]
