Database Reference
In-Depth Information
En pratique, il est rare d'utiliser la technique de rassemblement des données qu'est le
push-down, car le modèle relationnel est fait pour éviter les redondances. Or, la migra-
tion de tous les attributs de la surclasse dans les sous-classes entraîne systématiquement
de la redondance, sauf dans le cas ou la surclasse ne contient que la clé (et dans ce cas,
on en revient à la distinction).
De même, la technique du push-up est rare, car elle crée des tables avec un fort taux de
NULL si les sous-classes sont exclusives. Et dans ce cas, il convient de gérer proprement
les conditions de NULL iication à l'aide de contraintes souvent complexes.
Enin, même si la technique de distinction est la plus souvent implémentée, il ne faut pas
oublier qu'elle nécessite l'ajout de contraintes complexes, lorsqu'il y a exclusivité entre
les membres des sous-classes.
Pour autant, la technique de l'héritage induit d'excellents bénéices en termes de per-
formances, en réduisant le nombre de colonnes des tables et en permettant l'élision de
jointures (dans le cas d'héritages successifs, il n'est pas utile de passer par toutes les
classes descendantes pour joindre la racine à une feuille).
La solution « universelle »
Il existe une transformation qui peut convenir à toute association binaire ( un-à-un , un-à-
plusieurs , plusieurs-à-plusieurs et rélexive). Il s'agit de générer une nouvelle relation munie
de deux clés étrangères (qui préigure la table d'association ou «  table de jointure »). La clé
primaire de cette relation est composée soit par un des identiiants, soit par le couple des iden-
tiiants des deux relations initiales.
Appliquons cette règle à l'exemple de deux associations binaires. Deux relations doivent être
générées. L'association un-à-un est traduite par la relation diriger et l'association un-à-
plusieurs est traduite par la relation affecter .
Figure 2-18 . Solution universelle
Pour s'assurer qu'un collaborateur ne dirige qu'un projet, il conviendra d'ajouter, au niveau
physique, une contrainte UNIQUE sur la clé étrangère ( id_coll ) dans la table diriger .
 
Search WWH ::




Custom Search