Exemple de décomposition 0NF->1NF (attribut multivalué)

ExempleSituation initiale

1
Élève(#login, nom, prénom, uvs)

Exemple d'enregistrement :

1
('tpassoir', 'Passoire', 'Toto', ('SY02','NF26','NF17'))

Méthode

L'attribut uvs est multivalué (donc non atomique). On va donc créer deux relations, la première sans l'attribut uvs, et la seconde qui va contenir autant d'enregistrements que de valeur par enregistrement dans l'enregistrement initial.

ExempleSituation finale

1
Élève(#login, nom, prénom)
2
UVÉlève(#login=>Élève, #uv)

En reprenant le même exemple, on va avoir l'enregistrement suivant dans Élève :

1
('tpassoir', 'Passoire', 'Toto')

et les enregistrements suivants dans UVÉlève :

1
('tpassoir', 'SY02')
2
('tpassoir', 'NF26')
3
('tpassoir', 'NF17')