UML 2 pour les bases de données
132
© Éditions Eyrolles
Décomposition par distinction
Il faut transformer chaque sous-classe en une relation. La clé primaire de la sur-classe migre
dans la (les) relation(s) issue(s) de la (des) sous-classe(s) et devient à la fois clé primaire et clé
étrangère.
L’exemple 2-32 applique la règle R1. L’association d’héritage est traduite en faisant migrer
l’identifiant de la sur-classe (Personnel) dans les deux relations déduites des sous-classes.
Cet attribut devient aussi clé étrangère.
Décomposition descendante (push-down)
Deux cas sont possibles :
• S’il existe une contrainte de totalité ou de partition sur l’association, il est possible de ne pas
traduire la relation issue de la sur-classe. Il faut alors faire migrer tous ses attributs dans la
(les) relation(s) issue(s) de la (des) sous-classe(s).
• Dans le cas contraire, il faut faire migrer tous ses attributs dans la ou les relation(s) issue(s) de
la (des) sous-classe(s) dans la (les) relation(s) issue(s) de la (des) sous-classe(s).
L’exemple 2-33 décrit une contrainte de partition dans l’association d’héritage (aucun personnel
ne peut être à la fois PNT et PNC et il n’existe pas un personnel n’étant ni PNT ni PNC). Les
deux relations héritent du contenu intégral de la relation issue de la sur-classe (Personnel).
La relation Personnel n’apparaît plus au niveau logique et n’est pas nécessaire, car aucun
Figure 2-32 Décomposition par distinction d’une association d’héritage
Personnel
numPers
nomPers
PNT
brevet
validiteLicence
Personnel[numPers, nomPers]
PNT[numPers#, brevet, validiteLicence]
distinction
PNC
indice
prime
PNC[numPers#, indice, prime]
132
© Éditions Eyrolles
Décomposition par distinction
Il faut transformer chaque sous-classe en une relation. La clé primaire de la sur-classe migre
dans la (les) relation(s) issue(s) de la (des) sous-classe(s) et devient à la fois clé primaire et clé
étrangère.
L’exemple 2-32 applique la règle R1. L’association d’héritage est traduite en faisant migrer
l’identifiant de la sur-classe (Personnel) dans les deux relations déduites des sous-classes.
Cet attribut devient aussi clé étrangère.
Décomposition descendante (push-down)
Deux cas sont possibles :
• S’il existe une contrainte de totalité ou de partition sur l’association, il est possible de ne pas
traduire la relation issue de la sur-classe. Il faut alors faire migrer tous ses attributs dans la
(les) relation(s) issue(s) de la (des) sous-classe(s).
• Dans le cas contraire, il faut faire migrer tous ses attributs dans la ou les relation(s) issue(s) de
la (des) sous-classe(s) dans la (les) relation(s) issue(s) de la (des) sous-classe(s).
L’exemple 2-33 décrit une contrainte de partition dans l’association d’héritage (aucun personnel
ne peut être à la fois PNT et PNC et il n’existe pas un personnel n’étant ni PNT ni PNC). Les
deux relations héritent du contenu intégral de la relation issue de la sur-classe (Personnel).
La relation Personnel n’apparaît plus au niveau logique et n’est pas nécessaire, car aucun
Figure 2-32 Décomposition par distinction d’une association d’héritage
Personnel
numPers
nomPers
PNT
brevet
validiteLicence
Personnel[numPers, nomPers]
PNT[numPers#, brevet, validiteLicence]
distinction
PNC
indice
prime
PNC[numPers#, indice, prime]
