logo

Trzecia postać normalna (3NF)

  • Relacja będzie w 3NF, jeśli jest w 2NF i nie będzie zawierała żadnej przechodniej zależności częściowej.
  • 3NF służy do ograniczenia duplikacji danych. Służy również do zapewnienia integralności danych.
  • Jeśli nie ma zależności przechodniej dla atrybutów innych niż pierwsze, wówczas relacja musi mieć trzecią postać normalną.

Relacja jest w trzeciej postaci normalnej, jeśli dla każdej nietrywialnej zależności funkcji X → Y spełnia przynajmniej jeden z poniższych warunków.

  1. X to super klucz.
  2. Y jest atrybutem pierwszym, tj. każdy element Y jest częścią jakiegoś klucza kandydującego.
  3. Przykład:

    przykład mapy Java

    Tabela EMPLOYEE_DETAIL:

    EMP_ID EMP_NAME EMP_ZIP STAN EMP EMP_CITY
    222 Złupić 201010 W GÓRĘ Noida
    333 Stephana 02228 NAS Boston
    444 I 60007 NAS Chicago
    555 Katarzyna 06389 Wielka Brytania Norwich
    666 Jan 462007 poseł Bhopal

    Super klucz w powyższej tabeli:

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

    Klucz kandydata: {EMP_ID}

    Atrybuty inne niż podstawowe: W podanej tabeli wszystkie atrybuty z wyjątkiem EMP_ID nie są liczbami pierwszymi.

    Tutaj EMP_STATE i EMP_CITY zależne od EMP_ZIP i EMP_ZIP zależne od EMP_ID. Atrybuty inne niż podstawowe (EMP_STATE, EMP_CITY) są przejściowo zależne od superklucza (EMP_ID). Narusza to zasadę trzeciej postaci normalnej.

    Dlatego musimy przenieść EMP_CITY i EMP_STATE do nowej tabeli, z EMP_ZIP jako kluczem podstawowym.

    Tabela PRACOWNIK:

    EMP_ID EMP_NAME EMP_ZIP
    222 Złupić 201010
    333 Stephana 02228
    444 I 60007
    555 Katarzyna 06389
    666 Jan 462007

    Tabela EMPLOYEE_ZIP:

    wartość logiczna na ciąg Java
    EMP_ZIP STAN EMP EMP_CITY
    201010 W GÓRĘ Noida
    02228 NAS Boston
    60007 NAS Chicago
    06389 Wielka Brytania Norwich
    462007 poseł Bhopal