Retour au cours

Troisième Forme Normale (3NF)

Principes Fondamentaux des Bases de Données : De Zéro à Héros

Leçon 36 : Troisième Forme Normale (3NF)

La 3FN est le niveau de normalisation le plus couramment souhaité pour les bases de données transactionnelles. Une table en 3FN est en 2FN et satisfait un critère supplémentaire.

Règle pour la 3FN

Aucun attribut non clé n'est transitivement dépendant de la Clé Primaire.

  • Dépendance Transitive : Cela se produit lorsqu'un attribut non clé détermine un autre attribut non clé.

PK -> NonKeyAttribute1 et NonKeyAttribute1 -> NonKeyAttribute2

Exemple de Violation : Données de Localisation des Employés

Supposons PK : EmployeeID.

EmployeeID (PK)EmployeeNameDeptIDDeptNameDeptManager
101AliceD01SalesJohn
102BobD01SalesJohn
  • EmployeeID -> DeptID (Dépendance normale)
  • DeptID -> DeptName (Dépendance transitive, car DeptName dépend de l'attribut non clé DeptID).

Si nous changeons le nom du Département D01, nous devons mettre à jour plusieurs enregistrements d'employés (Anomalie de Mise à Jour).

Correction (Atteindre la 3FN)

Nous séparons les attributs transitivement dépendants (DeptName, DeptManager) dans une nouvelle table (Departments).

  1. Table Employees : PK : EmployeeID. Contient FK : DeptID.
  2. Table Departments : PK : DeptID. Contient DeptName, DeptManager.

Désormais, les données sur le Département n'apparaissent qu'une seule fois, et la dépendance est directe et gérée via la Clé Étrangère.