Bases de données : Théorie et modélisation
Les formes normales
Attention les définitions de cette page sont sujettes à caution.
Les formes normales ont pour objectif de permettre la décomposition en relation sans perdre de l'informations (à partir de la notion de dépendances fonctionnelles).
La première forme normale
Une relation est dite de première forme normale, si tous les attributs de la relation contiennent une valeur atomique.
Par exemple :
Pilote(ID, Nom, Avions)
456, BOB, [A330, A380]
N'est pas de première forme normale, l'attribut avion n'est pas atomique.
La deuxième forme normale
Une relation est dite de deuxième forme normale, si :
- elle est de première forme normale.
- tout attribut non clé n’est pas une partie de clé.
Par exemple:
Pilote (IDPilote, Nom, Licence, DateObtention)
N’est pas de deuxième forme normale.
Pilote (IDPilote, Nom)
LicencePilote(IDPilote, Licence, DateObtention)
Est de deuxième forme normale.
La troisième forme normale
Une relation est dite de troisième forme normale, si :
- elle est 2ème forme normale.
- tout attribut n’appartenant pas à une clé ne dépend pas d’un autre attribut non clé.
Par exemple :
Pilote (IDPilote, Nom, NumVol, VilleDepart, Ville Arrivée)
N’est pas de troisième forme normale.
Pilote (IDPilote, Nom)
Vol (NumVol, VilleDepart, Ville Arrivée)
Est de troisième forme normale.
A noter : Un modèle relationnel doit être de troisième forme normale
La troisième forme normale :
- enlève les redondance dû aux dépendances transitives.
- permet de ne pas perdre de l'information.
- permet de ne pas perdre des dépendances.
A noter : La troisième forme normale est la plus utilisée du fait de son équilibre entre redondance et performance.
Cependant pour certains systèmes (surtout distribués), lorsque la redondance n'est pas un problème, un dénormalisation est effectué pour augmenter les performances.
Les quatrièmes, cinquièmes et sixièmes formes normales
Ces formes normales évitent principalement la redondance d’information, elles sont plus précises.
En pratique la FN 3 est suffisante. En effet, les projections et les jointures sont coûteuses pour le système, ainsi une trop forte normalisation diminue fortement les performances.