Algorithme de décomposition

MéthodeDécomposition 0NF->1NF

Soit R une relation avec la clé primaire pk. Si R contient un attribut non atomique, alors R est décomposée en R1 et R2, tel que :

  • R1 est R moins l'attribut a

  • R2 est composé de pk et de a, avec (pk,a) clé primaire de R2 et R2.pk clé étrangère vers R1.pk

Lire le code

R(#pk,a,b,...) avec a non atomique se décompose en :

  • R1(#pk,b,...)

  • R2(#pk=>R1,#a)

FondamentalDé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 :

    1. devient la clé primaire de R2

    2. devient une clé étrangère de R1 vers R2

  • la partie droite de la DFE

    1. est enlevée de R1

    2. est ajoutée comme attributs simples de R2

MéthodeDé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

Lire le code

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éthodeDé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

Lire le code

R(#pk,a,b,c,...) avec a→b se décompose en

  • R1(#pk,a=>R2,c,...)

  • R2(#a,b)