- En 2NF, le relationnel doit être en 1NF.
- Dans la deuxième forme normale, tous les attributs non clés sont entièrement fonctionnels et dépendent de la clé primaire.
Exemple: Supposons qu'une école puisse stocker les données des enseignants et des matières qu'ils enseignent. Dans une école, un enseignant peut enseigner plus d’une matière.
Tableau ENSEIGNANT
| TEACHER_ID | SUJET | TEACHER_AGE |
|---|---|---|
| 25 | Chimie | 30 |
| 25 | La biologie | 30 |
| 47 | Anglais | 35 |
| 83 | Mathématiques | 38 |
| 83 | Ordinateur | 38 |
Dans le tableau donné, l'attribut non premier TEACHER_AGE dépend de TEACHER_ID qui est un sous-ensemble approprié d'une clé candidate. C'est pourquoi cela viole la règle du 2NF.
Pour convertir le tableau donné en 2NF, on le décompose en deux tableaux :
Tableau TEACHER_DETAIL :
| TEACHER_ID | TEACHER_AGE |
|---|---|
| 25 | 30 |
| 47 | 35 |
| 83 | 38 |
Tableau ENSEIGNANT_SUBJECT :
| TEACHER_ID | SUJET |
|---|---|
| 25 | Chimie |
| 25 | La biologie |
| 47 | Anglais |
| 83 | Mathématiques |
| 83 | Ordinateur |