- În 2NF, relaționalul trebuie să fie în 1NF.
- În a doua formă normală, toate atributele non-cheie sunt complet funcționale, depind de cheia primară
Exemplu: Să presupunem că o școală poate stoca datele profesorilor și materiile pe care le predau. Într-o școală, un profesor poate preda mai multe discipline.
masa PROFESOR
TEACHER_ID | SUBIECT | TEACHER_AGE |
---|---|---|
25 | Chimie | 30 |
25 | Biologie | 30 |
47 | Engleză | 35 |
83 | Matematică | 38 |
83 | Calculator | 38 |
În tabelul dat, atributul non-prim TEACHER_AGE depinde de TEACHER_ID care este un subset adecvat al unei chei candidate. De aceea, încalcă regula pentru 2NF.
Pentru a converti tabelul dat în 2NF, îl descompunem în două tabele:
Tabelul TEACHER_DETAIL:
TEACHER_ID | TEACHER_AGE |
---|---|
25 | 30 |
47 | 35 |
83 | 38 |
Tabelul TEACHER_SUBJECT:
TEACHER_ID | SUBIECT |
---|---|
25 | Chimie |
25 | Biologie |
47 | Engleză |
83 | Matematică |
83 | Calculator |