1
formes_normales
medina5 edited this page 2025-09-11 20:43:31 +02:00

Formes normales

Les formes normales sont des règles ou des critères utilisés dans la conception de bases de données relationnelles pour organiser les données de manière à réduire la redondance et améliorer l'intégrité des données. Elles permettent de structurer une base de données de façon à minimiser les anomalies de mise à jour, d'insertion et de suppression. Il existe plusieurs formes normales, chacune apportant des améliorations spécifiques par rapport à la précédente.

1NF Première forme normale

La première forme normale impose les conditions suivantes :

  • Atomicité : Chaque colonne d'une table doit contenir des valeurs atomiques, c'est-à-dire indivisibles. Par exemple, une colonne ne doit pas contenir une liste de valeurs ou une valeur composite.
  • Absence de répétition : Les enregistrements doivent être uniques, et chaque colonne doit contenir un seul type de données.
Immatriculation Modèle Caractéristiques
TT-802-AX Nissan 4 roues motrices, ABS, toit ouvrant, peinture verte, 65 l, 140 cv
QS-123-DB Peugeot jantes aluminium, peinture bleu, 50 l, 110 cv
ID Produit Ingrédients
1 Sun Secure octocrylène, dioxyde de titane
2 UV Screen acide para-aminobenzoïque, taurate copolymer, ceteareth-20

2NF Deuxième forme normale

La deuxième forme normale est basée sur la première (ANF) et ajoute la condition suivante :

  • Dépendance fonctionnelle totale : Tous les attributs non clés doivent dépendre entièrement de la clé primaire. En d'autres termes, il ne doit pas y avoir de dépendances partielles entre les colonnes. Si une colonne dépend seulement d'une partie de la clé primaire (dans le cas où celle-ci est composée), la table n'est pas en 2NF.
N° Commande N° Produit NomClient AdresseClient Quantité
1 101 Dupont 10 rue du Marché 2
1 102 Dupont 10 rue du Marché 1
2 103 Martin 22 avenue de Paris 5
3 102 Grosjean 10 place Bleue 3

La clé primaire de la table est composée de CommandeID et ProduitID

NomClient et AdresseClient dépendent uniquement de CommandeID, ce qui signifie qu'ils ne dépendent pas entièrement de la clé primaire composée (CommandeID, ProduitID). Ils dépendent seulement de la partie CommandeID.

3NF Troisième forme normale

La troisième forme normale repose sur la deuxième (2NF) et ajoute la condition suivante :

  • Absence de dépendance transitive : Aucune colonne non clé ne doit dépendre d'une autre colonne non clé. Autrement dit, chaque colonne non clé doit dépendre directement de la clé primaire.
EmployéID NomEmployé Poste Salaire DépartementID NomDépartement
1 Dupont Ingénieur 60000 101 Informatique
2 Martin Chef de projet 75000 102 Gestion
3 Durand Technicien 45000 101 Informatique

Dans cette table, l'attribut NomDépartement dépend de DépartementID, qui lui-même dépend de EmployéID. Cette situation crée une dépendance transitive : EmployéID → DépartementID → NomDépartement. Par conséquent, la table ne respecte pas la 3NF, car NomDépartement dépend indirectement de la clé primaire EmployéID via une autre colonne non clé (DépartementID).

BCNF Forme normale de Boyce-Codd

La forme normale de Boyce-Codd est une extension de la 3NF et traite certains cas particuliers où la 3NF ne suffit pas. Elle impose :

  • Dépendance fonctionnelle stricte : Pour chaque dépendance fonctionnelle, l'ensemble des attributs sur lequel une colonne dépend doit être une super-clé de la table.

4NF Quatrième forme normale

La quatrième forme normale traite des dépendances multivaluées :

  • Aucune dépendance multivaluée : Si un attribut dans une table dépend de la clé primaire, il ne doit pas y avoir de dépendance entre cet attribut et un autre ensemble d'attributs indépendant.

5NF Cinquième forme normale

La cinquième forme normale traite de la décomposition en respectant les jointures :

  • Aucune dépendance de jointure : Une table doit être décomposable en plus petites tables sans perte d'informations lors des jointures.

6NF Sixième forme normale

La sixième forme normale, rarement utilisée, est destinée aux bases de données temporelles et impose une décomposition encore plus fine pour gérer les variations dans le temps.