Algorithme de décomposition 0NF->1NF
Méthode : Attributs composés
Soit R une relation. Si R contient un attribut non atomique portant sur des valeurs hétérogènes (correspondant à un attribut composé au niveau conceptuel), alors l'attribut est décomposé en plusieurs attributs a1...an.
R(#pk,a,b,...)
avec a
non atomique se décompose en : R(#pk,a1,a2,...,an,b,...)
Méthode : Attributs multivalués
Soit R une relation avec la clé primaire pk. Si R contient un attribut non atomique portant sur des valeurs homogènes (correspondant à un attribut multivalué au niveau conceptuel), 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
R(#pk,a,b,...)
avec a
non atomique se décompose en :
R1(#pk,b,...)
R2(#pk=>R1,#a)