UML 2 pour les bases de données
228
© Éditions Eyrolles
Associations plusieurs-à-plusieurs
Nous recensons deux bases de travail sous SQL3 pour décrire une association plusieurs-àplusieurs entre deux classes C1 et C2. La première famille de solutions privilégie un accès aux
données par une table.
Solutions 1 et 2 Définition d’une collection dans le type dérivé de C1. Cette collection contient
une référence vers le type dérivé de C2. La deuxième solution est l’inverse de la première, à
savoir que la collection se trouve dans C2 et référence C1.
Solution 3 Définition d’un type contenant deux attributs REF ou FOREIGN KEY, qui référencent
les types dérivés de C1 et C2.
La dernière solution avec deux références correspond à la solution universelle.
Dérivons l’association Affreter de l’exemple 3-28 à l’aide de la première solution (en privilégiant les accès aux données par les compagnies).
Notation UML
Figure 3-28 Association plusieurs-à-plusieurs UML
Affreter
dateaff
Avion
immat
typeav
Compagnie
comp
nomcomp
1..*
0..*
Solution SQL3
avec une collection
228
© Éditions Eyrolles
Associations plusieurs-à-plusieurs
Nous recensons deux bases de travail sous SQL3 pour décrire une association plusieurs-àplusieurs entre deux classes C1 et C2. La première famille de solutions privilégie un accès aux
données par une table.
Solutions 1 et 2 Définition d’une collection dans le type dérivé de C1. Cette collection contient
une référence vers le type dérivé de C2. La deuxième solution est l’inverse de la première, à
savoir que la collection se trouve dans C2 et référence C1.
Solution 3 Définition d’un type contenant deux attributs REF ou FOREIGN KEY, qui référencent
les types dérivés de C1 et C2.
La dernière solution avec deux références correspond à la solution universelle.
Dérivons l’association Affreter de l’exemple 3-28 à l’aide de la première solution (en privilégiant les accès aux données par les compagnies).
Notation UML
Figure 3-28 Association plusieurs-à-plusieurs UML
Affreter
dateaff
Avion
immat
typeav
Compagnie
comp
nomcomp
1..*
0..*
Solution SQL3
avec une collection
