logo

Tredje normalform (3NF)

Selvom Relationer i Second Normal Form (2NF) har mindre redundans end dem i 1NF, kan de stadig lide af opdateringsanomalier. Hvis vi kun opdaterer den ene tuple og ikke den anden, vil databasen være i en inkonsistent tilstand. Denne opdateringsanomali er forårsaget af en transitiv afhængighed. Vi er nødt til at fjerne sådanne afhængigheder ved at gå videre til den tredje normale form (3NF).

groovy computersprog

Tredje normalform (3NF)

En relation er i den tredje normalform, hvis der ikke er nogen transitiv afhængighed for ikke-primære attributter såvel som i den anden normalform. En relation er i 3NF, hvis mindst en af ​​følgende betingelser gælder i hver ikke-triviel funktionsafhængighed X –> Y.

  • X er en supernøgle.
  • Y er en primær attribut (hvert element i Y er en del af en kandidatnøgle).

Med andre ord,



En relation, der er i første og anden normalform, og hvor ingen ikke-primær-nøgle-attribut er transitivt afhængig af den primære nøgle, så er den i tredje normalform (3NF).

Bemærk:

Hvis A->B og B->C er to FD'er så A->C kaldes transitiv afhængighed. Det normalisering af 2NF-relationer til 3NF involverer fjernelse af transitive afhængigheder. Hvis der eksisterer en transitiv afhængighed, fjerner vi de transitivt afhængige attribut(er) fra relationen ved at placere attributten(erne) i en ny relation sammen med en kopi af determinanten. Overvej eksemplerne nedenfor.

Eksempel 1:

I relation til STUDENT angivet i tabel 4,

Eksempel

websteder som coomeet

FD sæt: {STUD_NO -> STUD_NAME, STUD_NO -> STUD_STATE, STUD_STATE -> STUD_COUNTRY, STUD_NO -> STUD_AGE} Kandidatnøgle: {STUD_NO} For denne relation i tabel 4 er STUD_NO -> STUD_STATE og STUD_STATE -> STUD_COUNTRY sande. Så STUD_COUNTRY er transitivt afhængig af STUD_NO. Det krænker den tredje normalform. For at konvertere det til tredje normal form, vil vi dekomponere relationen STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_COUNTRY_STUD_AGE) som:

STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_AGE)  STATE_COUNTRY (STATE, COUNTRY)>

Eksempel 2:

Overvej relation R(A, B, C, D, E)

A ->BC, CD -> E, B -> D, E -> A>

Alle mulige kandidatnøgler i ovenstående relation er {A, E, CD, BC}. Alle attributter er på højre side af alle funktionelle afhængigheder er prime.

Bemærk:

Tredje normalform (3NF) overvejes tilstrækkelig til normalt relationelt databasedesign, fordi de fleste af 3NF-tabellerne er fri for indsættelses-, opdaterings- og sletningsanomalier. Desuden 3NF sikrer altid funktionel afhængighed bevarende og tabsfri .

Konklusion

Som konklusion er en afgørende fase i databasenormaliseringen Third Normal Form (3NF). Det beskæftiger sig med transitive afhængigheder og forbedrer dataintegriteten gennem effektiv informationsorganisation. 3NF sikrer, at ikke-nøgleegenskaber kun afhænger af primærnøgle , fjerner redundans og hjælper med at skabe en velorganiseret og normaliseret relationel database model .