logo

Terza forma normale (3NF)

  • Una relazione sarà in 3NF se è in 2NF e non contiene alcuna dipendenza parziale transitiva.
  • 3NF viene utilizzato per ridurre la duplicazione dei dati. Viene utilizzato anche per ottenere l'integrità dei dati.
  • Se non esiste una dipendenza transitiva per gli attributi non primi, la relazione deve essere in terza forma normale.

Una relazione è in terza forma normale se vale almeno una delle seguenti condizioni per ogni dipendenza non banale della funzione X → Y.

  1. X è una super chiave.
  2. Y è un attributo primo, cioè ogni elemento di Y fa parte di una chiave candidata.
  3. Esempio:

    comando git push

    Tabella EMPLOYEE_DETAIL:

    EMP_ID EMP_NAME EMP_ZIP EMP_STATE EMP_CITTÀ
    222 Harry 201010 SU Noida
    333 Stefano 02228 NOI Boston
    444 E 60007 NOI Chicago
    555 Caterina 06389 UK Norwich
    666 John 462007 deputato Bhopal

    Super chiave nella tabella sopra:

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

    Chiave del candidato: {EMP_ID}

    Attributi non primi: Nella tabella fornita, tutti gli attributi tranne EMP_ID non sono primi.

    apprendimento automatico supervisionato

    Qui, EMP_STATE e EMP_CITY dipendono da EMP_ZIP e EMP_ZIP dipende da EMP_ID. Gli attributi non primitivi (EMP_STATE, EMP_CITY) dipendono transitivamente dalla super chiave (EMP_ID). Viola la regola della terza forma normale.

    Ecco perché dobbiamo spostare EMP_CITY e EMP_STATE nella nuova tabella, con EMP_ZIP come chiave primaria.

    Tabella DIPENDENTI:

    EMP_ID EMP_NAME EMP_ZIP
    222 Harry 201010
    333 Stefano 02228
    444 E 60007
    555 Caterina 06389
    666 John 462007

    Tabella EMPLOYEE_ZIP:

    EMP_ZIP EMP_STATE EMP_CITTÀ
    201010 SU Noida
    02228 NOI Boston
    60007 NOI Chicago
    06389 UK Norwich
    462007 deputato Bhopal