Database Reference
In-Depth Information
Les inconvénients de ce mécanisme sont d'une part l'espace utilisé, d'autre part le risque d'in-
cohérence si le nom d'un client vient à changer (ou le nom de sa société). La solution consiste
à utiliser un déclencheur sur la table Client ou une vue matérialisée (contenant entre autres
ces colonnes additionnelles).
Ajout de clés étrangères
Dans l'exemple suivant, l'ajout de la colonne nseg (numéro de segment) évitera toute jointure
avec la table Salles pour relier des postes à leur segment. Ici on régresse de la troisième à la
deuxième forme normale.
Figure 3-17 . Dénormalisation par ajout de clé
On retrouve les mêmes inconvénients que précédemment (espace perdu et redondances). Pour
y remédier, il faudra programmer un déclencheur ou passer par une vue matérialisée.
Exemple de stratégie
Dénormaliser est une action forte sur la base, car la structure des tables sera altérée, des redon-
dances vont apparaître et des déclencheurs seront à mettre en œuvre. En conséquence, cette
technique doit être la dernière réponse à un problème de temps de réponse en exploitation et
en aucun cas justiiée par l'intérêt du programmeur.
Normalisez.au.maximum.avant.de.mettre.en.exploitation.puis.auditez.régulièrement.quelques.
semaines,.mois.ou.années.suivant.la.montée.en.charge.
Appliquez.les.requêtes.les.plus.pénalisantes.à.une.base.dénormalisée,.mais.équivalente.en.
termes.de.données..Comparez. les. temps.de.réponse.entre. les.deux.bases..Si. le. temps.de.
réponse.est.de.plus.de.30 %.inférieur,.il.devient.vraiment.intéressant.de.dénormaliser.
 
Search WWH ::




Custom Search