UML 2 pour les bases de données
198
© Éditions Eyrolles
Traduction des associations d’héritage
Nous expliquerons dans un premier temps la traduction SQL2 des associations d’héritage en
fonction de la décomposition choisie (chapitre 2, section Héritage). Nous détaillerons ensuite
la traduction d’éventuelles contraintes (partition, totalité et exclusivité).
Nous avons recensé au chapitre précédent trois familles de décomposition au niveau logique
pour traduire une association d’héritage : décomposition par distinction, descendante (push-down)
et ascendante (push-up).
Décomposition par distinction
L’héritage 3-14 (sans contrainte avec Merise/2 se modélisant par une contrainte UML) est
traduit suivant le principe de décomposition par distinction. La clé primaire issue de la surentité (sur-classe) est dupliquée dans les deux tables déduites des sous-entités (sous-classes).
Le schéma physique est composé de trois tables dotées de la même clé primaire. La table
Personnel stockera notamment les personnels n’étant ni PNT ni PNC.
Figure 3-14 Décomposition par distinction d’une association d’héritage
Personnel
numPers
nomPers
PNT
brevet
validiteLicence
Personnel[numPers, nomPers]
PNT[numPers#, brevet, validiteLicence]
PNC
indice
prime
PNC[numPers#, indice, prime]
Personnel
numPers
nomPers
PNT
br evet
validiteLicence
PNC
indice
prime
distinction
Merise/2
UML
{incomplete,overlapping}
198
© Éditions Eyrolles
Traduction des associations d’héritage
Nous expliquerons dans un premier temps la traduction SQL2 des associations d’héritage en
fonction de la décomposition choisie (chapitre 2, section Héritage). Nous détaillerons ensuite
la traduction d’éventuelles contraintes (partition, totalité et exclusivité).
Nous avons recensé au chapitre précédent trois familles de décomposition au niveau logique
pour traduire une association d’héritage : décomposition par distinction, descendante (push-down)
et ascendante (push-up).
Décomposition par distinction
L’héritage 3-14 (sans contrainte avec Merise/2 se modélisant par une contrainte UML) est
traduit suivant le principe de décomposition par distinction. La clé primaire issue de la surentité (sur-classe) est dupliquée dans les deux tables déduites des sous-entités (sous-classes).
Le schéma physique est composé de trois tables dotées de la même clé primaire. La table
Personnel stockera notamment les personnels n’étant ni PNT ni PNC.
Figure 3-14 Décomposition par distinction d’une association d’héritage
Personnel
numPers
nomPers
PNT
brevet
validiteLicence
Personnel[numPers, nomPers]
PNT[numPers#, brevet, validiteLicence]
PNC
indice
prime
PNC[numPers#, indice, prime]
Personnel
numPers
nomPers
PNT
br evet
validiteLicence
PNC
indice
prime
distinction
Merise/2
UML
{incomplete,overlapping}
