1NF vs 2NF vs 3NF

Normalizarea este un proces care se realizează pentru a reduce la minimum concedierile care sunt prezente în datele din bazele de date relaționale. Acest proces va împărți în principal tabelele mari în tabele mai mici, cu mai puține disponibilizări. Aceste tabele mai mici vor fi legate între ele prin relații bine definite. Într-o bază de date bine normalizată, orice modificare sau modificare a datelor va necesita modificarea unei singure tabele. Prima formă normală (1NF), a doua formă normală (2NF) și a treia formă normală (3NF) au fost introduse de Edgar F. Codd, care este și inventatorul modelului relațional și al conceptului de normalizare.

Ce este 1NF?

1NF este prima formă normală, care oferă setul minim de cerințe pentru normalizarea unei baze de date relaționale. Un tabel care respectă 1NF asigură că reprezintă de fapt o relație (adică nu conține înregistrări care se repetă), dar nu există o definiție universal acceptată pentru 1NF. O proprietate importantă este aceea că un tabel care respectă 1NF nu poate conține atribute care sunt evaluate relațional (adică toate atributele ar trebui să aibă valori atomice).

Ce este 2NF?

2NF este a doua formă normală folosită în bazele de date relaționale. Pentru ca un tabel să respecte 2NF, ar trebui să fie respectat cu 1NF și orice atribut care nu face parte din nicio cheie de candidat (adică atribute non-prim) ar trebui să depindă complet de oricare dintre cheile candidatului din tabel.

Ce este 3NF?

3NF este a treia formă normală folosită în normalizarea bazelor de date relaționale. Conform definiției Codd, se spune că un tabel este în 3NF, dacă și numai dacă, tabelul respectiv este în a doua formă normală (2NF) și fiecare atribut din tabel care nu aparține unei chei de candidat, ar trebui să depindă direct pe fiecare cheie candidată a mesei. În 1982, Carlo Zaniolo a produs o definiție exprimată în mod diferit pentru 3NF. Tabelele care respectă 3NF, în general, nu conțin anomalii care apar la introducerea, ștergerea sau actualizarea înregistrărilor în tabel.

Care este diferența dintre 1NF și 2NF și 3NF?

1NF, 2NF și 3NF sunt forme normale care sunt utilizate în bazele de date relaționale pentru a minimiza concedierile din tabele. 3NF este considerată o formă normală mai puternică decât 2NF și este considerată o formă normală mai puternică decât 1NF. Prin urmare, în general, obținerea unui tabel care respectă formularul 3NF va necesita descompunerea unui tabel care se află în 2NF. În mod similar, obținerea unui tabel care respectă 2NF va necesita descompunerea unui tabel care se află în 1NF. Cu toate acestea, dacă un tabel care respectă 1NF conține chei de candidat care sunt alcătuite doar dintr-un singur atribut (adică chei de candidat non-compuse), un astfel de tabel se va conforma automat cu 2NF. Descompunerea tabelelor va duce la operațiuni suplimentare de aderare (sau produse carteziene) la executarea interogărilor. Aceasta va crește timpul de calcul. Pe de altă parte, tabelele care respectă forme normale mai puternice ar avea mai puține disponibilizări decât tabelele care se conformează numai cu forme normale mai slabe.