logo

Kolmas normaalimuoto (3NF)

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

  1. X on superavain.
  2. Y on prime-attribuutti, eli jokainen Y:n elementti on osa jotakin ehdokasavainta.
  3. 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