- 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 |