UML 2 pour les bases de données
68
© Éditions Eyrolles
première forme normale de la classe UML Segment. L’attribut multivalué postes est noté
comme un tableau de numéros de postes qu’on décompose à l’aide de la classe de même nom.
Contre-exemple
Supposons, à partir de la figure 1-66, que a désigne l’immatriculation d’un avion, b son type et
c la date du vol. Si on désire stocker l’historique des vols, cette représentation ne conviendra
pas. En effet, pour une immatriculation donnée, plusieurs dates de vol peuvent être associées.
Pour rendre ce schéma en première forme normale, l’attribut b reste bien placé et il faudrait
déplacer l’attribut c dans une autre classe (ou dans une classe-association). Nous étudierons,
au fil de cet ouvrage, des techniques de raisonnement pour déduire la bonne solution.
Figure 1-66 Première forme normale
Figure 1-67 Passage en première forme normale
a
b
c
Poste
nserie
Segment
Connecter
0..1
1..*
Segment
1
re forme normale
Ind-IP
nom
longueur
Ind-IP
nom
longueur
postes[0..n]
68
© Éditions Eyrolles
première forme normale de la classe UML Segment. L’attribut multivalué postes est noté
comme un tableau de numéros de postes qu’on décompose à l’aide de la classe de même nom.
Contre-exemple
Supposons, à partir de la figure 1-66, que a désigne l’immatriculation d’un avion, b son type et
c la date du vol. Si on désire stocker l’historique des vols, cette représentation ne conviendra
pas. En effet, pour une immatriculation donnée, plusieurs dates de vol peuvent être associées.
Pour rendre ce schéma en première forme normale, l’attribut b reste bien placé et il faudrait
déplacer l’attribut c dans une autre classe (ou dans une classe-association). Nous étudierons,
au fil de cet ouvrage, des techniques de raisonnement pour déduire la bonne solution.
Figure 1-66 Première forme normale
Figure 1-67 Passage en première forme normale
a
b
c
Poste
nserie
Segment
Connecter
0..1
1..*
Segment
1
re forme normale
Ind-IP
nom
longueur
Ind-IP
nom
longueur
postes[0..n]
