- Relacija će biti u 3NF ako je u 2NF i ne sadrži nikakvu tranzitivnu djelomičnu ovisnost.
- 3NF se koristi za smanjenje dupliciranja podataka. Također se koristi za postizanje integriteta podataka.
- Ako ne postoji tranzitivna ovisnost za atribute koji nisu primarni, tada relacija mora biti u trećem normalnom obliku.
Relacija je u trećem normalnom obliku ako ima barem jedan od sljedećih uvjeta za svaku netrivijalnu ovisnost funkcije X → Y.
- X je super ključ.
- Y je primarni atribut, tj. svaki element Y je dio nekog ključa kandidata.
Primjer:
Rajinikanth
Tablica EMPLOYEE_DETAIL:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Harry | 201010 | GORE | Noida |
333 | Stephan | 02228 | NAS | Boston |
444 | I | 60007 | NAS | Chicago |
555 | Katharine | 06389 | UK | Norwich |
666 | Ivan | 462007 | MP | Bhopal |
Super ključ u gornjoj tablici:
{EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on
Ključ kandidata: {EMP_ID}
Atributi koji nisu primarni: U navedenoj tablici svi atributi osim EMP_ID nisu primarni.
Ovdje EMP_STATE i EMP_CITY ovise o EMP_ZIP i EMP_ZIP ovise o EMP_ID. Atributi koji nisu primarni (EMP_STATE, EMP_CITY) tranzitivno ovise o super ključu (EMP_ID). To krši pravilo trećeg normalnog oblika.
Zato moramo premjestiti EMP_CITY i EMP_STATE u novu tablicu, s EMP_ZIP kao primarnim ključem.
Tablica ZAPOSLENIKA:
nadzirano strojno učenje
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Harry | 201010 |
333 | Stephan | 02228 |
444 | I | 60007 |
555 | Katharine | 06389 |
666 | Ivan | 462007 |
Tablica EMPLOYEE_ZIP:
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010 | GORE | Noida |
02228 | NAS | Boston |
60007 | NAS | Chicago |
06389 | UK | Norwich |
462007 | MP | Bhopal |