- Relace bude v 3NF, pokud je v 2NF a nebude obsahovat žádnou tranzitivní částečnou závislost.
- 3NF se používá ke snížení duplikace dat. Používá se také k dosažení integrity dat.
- Pokud neexistuje žádná tranzitivní závislost pro neprvočíslé atributy, pak musí být relace ve třetí normální formě.
Relace je ve třetí normální formě, pokud pro každou netriviální závislost X → Y platí alespoň jedna z následujících podmínek.
- X je super klíč.
- Y je primární atribut, tj. každý prvek Y je součástí nějakého kandidátského klíče.
Příklad:
Neena Gupta
Tabulka EMPLOYEE_DETAIL:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Harry | 201010 | NAHORU | Noida |
333 | Štěpán | 02228 | NÁS | Boston |
444 | A | 60007 | NÁS | Chicago |
555 | Katharine | 06389 | Spojené království | Norwich |
666 | John | 462007 | MP | Bhópál |
Super klíč v tabulce výše:
{EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on
Klíč kandidáta: {EMP_ID}
Nehlavní atributy: V dané tabulce jsou všechny atributy kromě EMP_ID neočíslované.
Zde EMP_STATE & EMP_CITY závisí na EMP_ZIP a EMP_ZIP závisí na EMP_ID. Neprime atributy (EMP_STATE, EMP_CITY) přechodně závislé na super klíči (EMP_ID). Porušuje pravidlo třetí normální formy.
Proto potřebujeme přesunout EMP_CITY a EMP_STATE do nové tabulky s EMP_ZIP jako primárním klíčem.
java znak na celé číslo
Tabulka ZAMĚSTNANCŮ:
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Harry | 201010 |
333 | Štěpán | 02228 |
444 | A | 60007 |
555 | Katharine | 06389 |
666 | John | 462007 |
Tabulka EMPLOYEE_ZIP:
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010 | NAHORU | Noida |
02228 | NÁS | Boston |
60007 | NÁS | Chicago |
06389 | Spojené království | Norwich |
462007 | MP | Bhópál |