Database Reference
In-Depth Information
Seules. les. relations. ayant. des. clés. primaires. composées. de. plus. de. deux. colonnes. sont.
potentiellement.concernées.par.les.quatrième.et.cinquième.formes.normales.
Si.vous.suivez. les.préconisations.du.chapitre 1,.vous.éviterez.de.modéliser.chaque.asso-
ciation.
n
-aire. en. l'état. (sans. décomposition. systématique. en. classes-associations),. et.
vous.obtiendrez.un.schéma.qui.respecte.naturellement.les.quatrième.et.cinquième.formes.
.normales.
Finalement la 6
e
forme normale…
Vous trouverez rarement un auteur, comme un enseignant, vous parlant de la 6
e
forme
normale. Chris Date y a consacré un ouvrage, et les éléments ont été repris par Snodgrass
dont vous trouverez les élucubrations en ligne à l'URL : http://www.cs.arizona.edu/~rts/
tdbbook.pdf
Finalement, cela peut se résumer à un concept ultrasimple repris actuellement (et très
à la mode) dans les SGBDD (D, pour décisionnels). Toute entité ne devrait inalement
comporter qu'une clé (éventuellement composée de plusieurs attributs) et au plus d'un
attribut non clé…
Songez donc à ce que serait une entité comme
PERSONNE
(N°, nom, prénom, date de nais-
sance). Il faudrait la décomposer en au moins trois entités, chacune ayant une partie de
la relation d'origine… Absurde me direz-vous ? Et pourtant, dans ce modèle d'une redou-
table eficacité, tout est indexé et rien n'est nul !!! Donc on ne stocke que de l'information
et on respecte l'art de la modélisation à la lettre…
Peu pratique certes, mais cela existe bien dans des produits phares comme Sybase IQ, que
SAP a racheté à prix d'or et dont la dernière version de MS SQL Server 2012 s'inspire,
avec la notion de « columnStore Index » !
Mise en pratique
L'exercice 2.5 « La normalisation » vous propose de normaliser une relation qui contient peu
de colonnes, mais beaucoup d'informations.
Calculs de volumétrie
L'analyse de la volumétrie d'une base est un calcul
a priori
. Pour chaque relation, vous devrez
estimer la longueur d'un
n
-uplet (une ligne) :
l
. En considérant, d'une part, une valeur moyenne
de la taille de chaque colonne :