Notificări
Șterge tot
iun. 29, 2021 10:48 am
Normalizarea unei baze de date
Normalizarea reprezintă procesul de împărțire a datelor în tabele conexe separate. Normalizarea elimină redundanța datelor și, prin urmare, evită încălcările integrității datelor atunci când acestea se modifică, adică evită anomaliile de actualizare.
De regulă, normalizarea este utilizată în principal într-o abordare de jos în sus a proiectării bazei de date, adică atunci când grupăm toate atributele care trebuie stocate în baza de date după entități, pentru care sunt create tabele. Cu toate acestea, într-o abordare de sus în jos, atunci când entitățile sunt identificate mai întâi, apoi atributele și relațiile dintre ele, normalizarea poate fi folosită, de exemplu, pentru a verifica corectitudinea tabelelor proiectate.
Într-o formă ne normalizată, un tabel poate stoca informații despre două sau mai multe entități. De asemenea, poate conține coloane duplicate. Coloanele pot stoca, de asemenea, valori duplicate. În formă normalizată, fiecare tabel stochează informații despre o singură entitate.
Normalizarea implică aplicarea de forme normale structurii datelor. Există 7 forme normale. Fiecare formă normală (cu excepția primei) presupune că forma normală anterioară a fost deja aplicată datelor. De exemplu, înainte de a aplica a treia formă normală la date, trebuie aplicată a doua formă normală. O bază de date este considerată normalizată dacă i se aplică a treia formă normală sau mai mare.
Prima formă normală (1NF) presupune că datele stocate la intersecția rândurilor și coloanelor trebuie să reprezinte o valoare scalară, iar tabelele nu trebuie să conțină rânduri duplicate.
A doua formă normală (2NF) presupune că fiecare coloană non-cheie trebuie să depindă de o cheie primară.
A treia formă normală (3NF) presupune că fiecare coloană non-cheie trebuie să depindă doar de cheia primară.
Boyce-Codd Normal Form (BCNF) este o versiune ușor mai strictă a treia formă normală.
A patra formă normală (4NF) este utilizată pentru a elimina dependențele multivalorizate - dependențe în care o coloană cu o cheie primară are o relație de la unu la mulți cu o coloană care nu este o cheie. Această formă normală remediază relația nevalidă între mulți.
Fifth Normal Form (5NF) împarte tabelele în tabele mai mici pentru a elimina redundanța datelor. Împărțirea continuă până când este imposibil să se recreeze tabelul original prin alăturarea tabelelor mici.
A șasea formă normală (cheie de domeniu formă normală / 6NF). Fiecare constrângere în relațiile dintre tabele ar trebui să depindă doar de constrângeri cheie și constrângeri de domeniu, unde domeniul reprezintă setul de valori valide pentru coloană. Acest formular împiedică adăugarea datelor nevalide prin setarea unei constrângeri la nivelul relației dintre tabele, dar nu la nivelul tabelului sau coloanei. Acest formular, de regulă, nu se aplică la nivelul SGBD, inclusiv în SQL Server.