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 -> NonKeyAttribute1etNonKeyAttribute1 -> NonKeyAttribute2
Exemple de Violation : Données de Localisation des Employés
Supposons PK : EmployeeID.
| EmployeeID (PK) | EmployeeName | DeptID | DeptName | DeptManager |
|---|---|---|---|---|
| 101 | Alice | D01 | Sales | John |
| 102 | Bob | D01 | Sales | John |
EmployeeID -> DeptID(Dépendance normale)DeptID -> DeptName(Dépendance transitive, carDeptNamedé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).
- Table
Employees: PK :EmployeeID. Contient FK :DeptID. - Table
Departments: PK :DeptID. ContientDeptName,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.