logo

Tredje normalform (3NF)

  • En relation vil være i 3NF, hvis den er i 2NF og ikke indeholder nogen transitiv delvis afhængighed.
  • 3NF bruges til at reducere dataduplikeringen. Det bruges også til at opnå dataintegriteten.
  • Hvis der ikke er nogen transitiv afhængighed for ikke-primære attributter, så skal relationen være i tredje normalform.

En relation er i tredje normalform, hvis den har mindst en af ​​følgende betingelser for hver ikke-triviel funktionsafhængighed X → Y.

  1. X er en supernøgle.
  2. Y er en primær attribut, dvs. hvert element i Y er en del af en kandidatnøgle.
  3. Eksempel:

    groovy computersprog

    EMPLOYEE_DETAIL tabel:

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

    Supernøgle i tabellen ovenfor:

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

    Kandidatnøgle: {EMP_ID}

    Ikke-primære attributter: I den givne tabel er alle attributter undtagen EMP_ID ikke-prime.

    websteder som coomeet

    Her er EMP_STATE & EMP_CITY afhængig af EMP_ZIP og EMP_ZIP afhængig af EMP_ID. De ikke-primære attributter (EMP_STATE, EMP_CITY) er transitivt afhængige af supernøgle (EMP_ID). Det bryder med reglen om tredje normalform.

    Det er derfor, vi skal flytte EMP_CITY og EMP_STATE til den nye tabel, med EMP_ZIP som en primær nøgle.

    MEDARBEJDER tabel:

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

    EMPLOYEE_ZIP tabel:

    EMP_ZIP EMP_STATE EMP_CITY
    201010 OP Noida
    02228 OS Boston
    60007 OS Chicago
    06389 Storbritannien Norwich
    462007 MP Bhopal