- Relācija būs 3NF, ja tā ir 2NF un nesatur nekādu pārejošu daļēju atkarību.
- 3NF tiek izmantots, lai samazinātu datu dublēšanos. To izmanto arī datu integritātes sasniegšanai.
- Ja atribūtiem, kas nav primārie, nav pārejas atkarības, tad relācijai jābūt trešajā normālā formā.
Relācija ir trešā normālā formā, ja tai ir vismaz viens no šiem nosacījumiem katrai netriviālajai funkcijas atkarībai X → Y.
- X ir super atslēga.
- Y ir galvenais atribūts, t.i., katrs Y elements ir daļa no kādas kandidātatslēgas.
Piemērs:
rr algoritms
EMPLOYEE_DETAIL tabula:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Harijs | 201010. gads | UP | Noida |
333 | Stefans | 02228 | ASV | Bostona |
444 | Un | 60007 | ASV | Čikāga |
555 | Katrīna | 06389 | Apvienotā Karaliste | Noridža |
666 | Džons | 462007 | MP | Bopala |
Super atslēga augstāk esošajā tabulā:
{EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on
Kandidāta atslēga: {EMP_ID}
Atribūti, kas nav galvenie atribūti: Dotajā tabulā visi atribūti, izņemot EMP_ID, nav primārie.
Šeit EMP_STATE un EMP_CITY ir atkarīga no EMP_ZIP un EMP_ZIP ir atkarīga no EMP_ID. Atribūti, kas nav galvenie atribūti (EMP_STATE, EMP_CITY), ir pārejoši atkarīgi no superatslēgas (EMP_ID). Tas pārkāpj trešās normālās formas noteikumu.
Tāpēc mums ir jāpārvieto EMP_CITY un EMP_STATE uz jauno tabulu, izmantojot EMP_ZIP kā primāro atslēgu.
DARBINIEKU tabula:
iphone emocijzīmes operētājsistēmā Android
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Harijs | 201010. gads |
333 | Stefans | 02228 |
444 | Un | 60007 |
555 | Katrīna | 06389 |
666 | Džons | 462007 |
EMPLOYEE_ZIP tabula:
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010. gads | UP | Noida |
02228 | ASV | Bostona |
60007 | ASV | Čikāga |
06389 | Apvienotā Karaliste | Noridža |
462007 | MP | Bopala |