- Relaatio on 3NF:ssä, jos se on 2NF:ssä, eikä se sisällä transitiivista osittaista riippuvuutta.
- 3NF:ää käytetään tietojen päällekkäisyyden vähentämiseen. Sitä käytetään myös tietojen eheyden saavuttamiseen.
- Jos ei-prime-attribuuteille ei ole transitiivista riippuvuutta, niin suhteen on oltava kolmannessa normaalimuodossa.
Relaatio on kolmannessa normaalimuodossa, jos sillä on vähintään yksi seuraavista ehdoista jokaiselle ei-triviaalille funktioriippuvuudelle X → Y.
- X on superavain.
- Y on prime-attribuutti, eli jokainen Y:n elementti on osa jotakin ehdokasavainta.
Esimerkki:
css reunus
EMPLOYEE_DETAIL-taulukko:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Harry | 201010 | YLÖS | Noida |
333 | Stephan | 02228 | MEILLE | Boston |
444 | Ja | 60007 | MEILLE | Chicago |
555 | Katharine | 06389 | Iso-Britannia | Norwich |
666 | John | 462007 | MP | Bhopal |
Superavain yllä olevassa taulukossa:
{EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on
Ehdokasavain: {EMP_ID}
Ei-prime-attribuutit: Annetussa taulukossa kaikki attribuutit paitsi EMP_ID ovat ei-alkuperäisiä.
Täällä EMP_STATE ja EMP_CITY riippuvat EMP_ZIP:stä ja EMP_ZIP riippuvat EMP_ID:stä. Ei-prime-attribuutit (EMP_STATE, EMP_CITY) riippuvat transitiivisesti superavaimesta (EMP_ID). Se rikkoo kolmannen normaalimuodon sääntöä.
Siksi meidän on siirrettävä EMP_CITY ja EMP_STATE uuteen taulukkoon, jossa EMP_ZIP on ensisijaisena avaimena.
TYÖNTEKIJÄtaulukko:
kuinka monta näppäintä näppäimistössä on
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Harry | 201010 |
333 | Stephan | 02228 |
444 | Ja | 60007 |
555 | Katharine | 06389 |
666 | John | 462007 |
EMPLOYEE_ZIP-taulukko:
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010 | YLÖS | Noida |
02228 | MEILLE | Boston |
60007 | MEILLE | Chicago |
06389 | Iso-Britannia | Norwich |
462007 | MP | Bhopal |