logo

Tredje normalform (3NF)

  • En relasjon vil være i 3NF hvis den er i 2NF og ikke inneholde noen transitiv delvis avhengighet.
  • 3NF brukes til å redusere datadupliseringen. Det brukes også for å oppnå dataintegriteten.
  • Hvis det ikke er noen transitiv avhengighet for ikke-primære attributter, må relasjonen være i tredje normalform.

En relasjon er i tredje normalform hvis den har minst en av følgende betingelser for hver ikke-triviell funksjonsavhengighet X → Y.

  1. X er en supernøkkel.
  2. Y er et hovedattributt, det vil si at hvert element i Y er en del av en kandidatnøkkel.
  3. Eksempel:

    tcp og ip-modell

    EMPLOYEE_DETAIL tabell:

    EMP_ID EMP_NAME EMP_ZIP EMP_STATE EMP_CITY
    222 Harry 201010 OPP Noida
    333 Stephan 02228 OSS Boston
    444 Og 60007 OSS Chicago
    555 Katharine 06389 Storbritannia Norwich
    666 John 462007 MP Bhopal

    Supernøkkel i tabellen ovenfor:

     {EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on 

    Kandidatnøkkel: {EMP_ID}

    Ikke-primære attributter: I den gitte tabellen er alle attributter unntatt EMP_ID ikke-prime.

    de er sangere

    Her er EMP_STATE & EMP_CITY avhengig av EMP_ZIP og EMP_ZIP avhengig av EMP_ID. De ikke-primære attributtene (EMP_STATE, EMP_CITY) er transitivt avhengige av supernøkkel (EMP_ID). Det bryter med regelen om tredje normalform.

    Det er derfor vi må flytte EMP_CITY og EMP_STATE til den nye tabellen, med EMP_ZIP som en primærnøkkel.

    ANSATTEtabell:

    EMP_ID EMP_NAME EMP_ZIP
    222 Harry 201010
    333 Stephan 02228
    444 Og 60007
    555 Katharine 06389
    666 John 462007

    EMPLOYEE_ZIP-tabell:

    EMP_ZIP EMP_STATE EMP_CITY
    201010 OPP Noida
    02228 OSS Boston
    60007 OSS Chicago
    06389 Storbritannia Norwich
    462007 MP Bhopal