Deși relațiile de a doua formă normală (2NF) au mai puțină redundanță decât cele din 1NF, ele pot suferi totuși de anomalii de actualizare. Dacă actualizăm doar un tuplu și nu celălalt, baza de date va fi într-o stare inconsistentă. Această anomalie de actualizare este cauzată de o dependență tranzitivă. Trebuie să eliminăm astfel de dependențe trecând la a treia formă normală (3NF).
java 8
A treia formă normală (3NF)
O relație este în a treia formă normală, dacă nu există nicio dependență tranzitivă pentru atributele non-prime, precum și în a doua formă normală. O relație este în 3NF dacă cel puțin una dintre următoarele condiții este valabilă în fiecare dependență de funcție netrivială X –> Y.
- X este o super-cheie.
- Y este un atribut principal (fiecare element al lui Y face parte dintr-o cheie candidată).
Cu alte cuvinte,
O relație care este în prima și a doua formă normală și în care niciun atribut non-cheie primară nu este dependent tranzitiv de cheia primară, atunci este în a treia formă normală (3NF).
Notă:
Dacă A->B și B->C atunci sunt două FD A->C se numește dependență tranzitivă. The normalizare a relațiilor 2NF cu 3NF implică eliminarea dependențelor tranzitive. Dacă există o dependență tranzitivă, eliminăm atributele dependente tranzitiv din relație prin plasarea atributelor într-o relație nouă împreună cu o copie a determinantului. Luați în considerare exemplele de mai jos.
Exemplul 1:
În relația STUDENT din tabelul 4,

Set FD: {STUD_NO -> STUD_NAME, STUD_NO -> STUD_STATE, STUD_STATE -> STUD_COUNTRY, STUD_NO -> STUD_AGE} Cheie candidat: {STUD_NO} Pentru această relație din tabelul 4, STUD_NO -> STUD_STATE și STUD_STATE -> STUD_COUNTRY sunt adevărate. Deci, STUD_COUNTRY este dependent tranzitiv de STUD_NO. Încalcă a treia formă normală. Pentru a o converti în a treia formă normală, vom descompune relația STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_COUNTRY_STUD_AGE) ca:
convertiți șirul în interger
STUDENT (STUD_NO, STUD_NAME, STUD_PHONE, STUD_STATE, STUD_AGE) STATE_COUNTRY (STATE, COUNTRY)>
Exemplul 2:
Luați în considerare relația R(A, B, C, D, E)
A ->BC, CD -> E, B -> D, E -> A>
Toate cheile candidate posibile în relația de mai sus sunt {A, E, CD, BC} Toate atributele sunt pe partea dreaptă a tuturor dependențelor funcționale sunt prime.
Notă:
Este luată în considerare a treia formă normală (3NF). adecvat pentru proiectarea normală a bazelor de date relaționale, deoarece majoritatea tabelelor 3NF nu prezintă anomalii de inserare, actualizare și ștergere. Mai mult, 3NF asigură întotdeauna păstrarea dependenței funcționale și fără pierderi .
Concluzie
În concluzie, o etapă crucială în normalizarea bazei de date este a treia formă normală (3NF). Se ocupă de dependențele tranzitive și îmbunătățește integritatea datelor printr-o organizare eficientă a informațiilor. 3NF asigură că proprietățile non-cheie depind doar de cheia principala , eliminând redundanța și ajutând la crearea unui sistem bine organizat și normalizat modelul bazei de date relaționale .