- 2NF reliacinė turi būti 1NF.
- Antroje normalioje formoje visi neraktiniai atributai yra visiškai funkcionalūs, priklausomai nuo pirminio rakto
Pavyzdys: Tarkime, mokykla gali saugoti mokytojų ir jų dėstomų dalykų duomenis. Mokykloje mokytojas gali dėstyti daugiau nei vieną dalyką.
MOKYTOJO stalas
MOKYTOJO_ID | SUBJEKTAS | TEACHER_AGE |
---|---|---|
25 | Chemija | 30 |
25 | Biologija | 30 |
47 | Anglų | 35 |
83 | Matematika | 38 |
83 | Kompiuteris | 38 |
Pateiktoje lentelėje ne pirminis atributas TEACHER_AGE priklauso nuo TEACHER_ID, kuris yra tinkamas kandidato rakto poaibis. Štai kodėl tai pažeidžia 2NF taisyklę.
eilutę į ilgą
Norėdami konvertuoti pateiktą lentelę į 2NF, išskaidome ją į dvi lenteles:
TEACHER_DETAIL lentelė:
MOKYTOJO_ID | TEACHER_AGE |
---|---|
25 | 30 |
47 | 35 |
83 | 38 |
TEACHER_SUBJECT lentelė:
arraylist ir linkedlist
MOKYTOJO_ID | SUBJEKTAS |
---|---|
25 | Chemija |
25 | Biologija |
47 | Anglų |
83 | Matematika |
83 | Kompiuteris |