Algorithme de décomposition 1NF->3NF
Fondamental : Décomposition > 1NF
Pour les NF supérieures à 1, afin de normaliser une relation R on réalise une décomposition en R1 et R2 pour chaque DFE responsable d'un défaut de normalisation tel que :
la partie gauche de la DFE :
devient la clé primaire de R2
devient une clé étrangère de R1 vers R2
la partie droite de la DFE
est enlevée de R1
est ajoutée comme attributs simples de R2
Méthode : Décomposition 1NF->2NF
Soit R une relation comportant une clé composée de k1 et k1'. Si R contient une DFE de k1' vers des attributs n'appartenant pas à la clé, alors R est décomposée en R1 et R2, tel que :
R1 est R moins les attributs déterminés par k1' et avec k1' clé étrangère vers R2
R2 est composée de k1' et des attributs qu'elle détermine, avec k1' clé primaire de R2
R(#pk,k1,k1',a,b,c,...)
avec (k1,K1') clé et k1'→a,b se décompose en :
R1(#pk,k1,k1'=>R2,c,...)
R2(#k1',a,b)
Méthode : Décomposition 2NF->3NF
Soit R une relation comportant une DFE de a vers b qui n'appartiennent pas à une clé, alors R est décomposée en R1 et R2, tel que :
R1 est R moins les attributs déterminés par a et avec a clé étrangère vers R2
R2 est composée de a et des attributs qu'elle détermine, avec a clé primaire de R2
R(#pk,a,b,c,...)
avec a→b se décompose en
R1(#pk,a=>R2,c,...)
R2(#a,b)