Codes normalisés
[15 min]
On considère la classe Ville ci-après et on renomme les attributs comme suit :
code_insee : ci
code_postal : cp
code_pays_alpha-2 : a2
code_pays_alpha-3 : a3
code_pays_un : un
On pose les DF suivantes :
ci → cp, a2, a3, un
a2 → a3, un
a3 → a2, un
un → a2, a3
Question
Exprimez la fermeture transitive et trouvez les clés.
Solution
F+ et clé
Le jeu de DF donné exprime une F+, il n'y aucune autre DFE à énoncer.
ci est la seule clé
Question
Le modèle est-il en 3NF ? Justifiez et si nécessaire, normalisez.
Solution
NF
Il y a une clé et les attributs sont atomiques, on est en 1NF.
La clé ne comporte qu'un attribut, on est en 2NF
Il existe des attributs non clés qui déterminent des attributs non clés, on n'est pas en 3NF.
Décomposition en 3NF
1
Ville (#code_insee:entier, code_postal:integer, code_pays_alpha-2=>Pays)
2
C1 : Tous les attributs sont NOT NULL
3
4
Pays (#code_pays_alpha-2:char(2), code_pays_alpha-3:char(3), code_pays_un:integer)
5
C1 : code_pays_alpha-3 UNIQUE NOT NULL
6
C2 : code_pays_un UNIQUE NOT NULL