1NF vs 2NF vs 3NF
Normalizarea este un proces care se realizează pentru a minimiza concedierile care există în datele din bazele de date relaționale. Acest proces va împărți în principal tabele mari în tabele mai mici, cu redundanțe mai puține. 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 numai a unui singur tabel. Prima formă normală (1NF), a doua formă normală (2NF) și a treia formă normală (3NF) a fost introdusă de Edgar F. Codd, care este, de asemenea, 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ă acesta reprezintă de fapt o relație (adică nu conține nici o înregistrare 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 niciun atribut care este evaluat relațional (adică toate atributele ar trebui să aibă valori atomice).
Ce este 2NF?
2NF este a doua formă normală utilizată în bazele de date relaționale. Pentru un tabel care să respecte 2NF, ar trebui respectat 1NF și orice atribut care nu face parte din nici o cheie candidat (adică atributele non-prime) ar trebui să depindă complet de oricare dintre tastele candidate 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 este în a doua formă normală (2NF) și fiecare atribut din tabel care nu aparține unei chei candidate, ar trebui să depindă direct pe fiecare cheie candidată a acelei mese. În 1982, Carlo Zaniolo a produs o definiție diferită exprimată pentru 3NF. Tabelele care respectă standardul 3NF nu conțin, în general, anomalii care apar atunci când inserați, ștergeți sau actualizați înregistrările din tabel.
Care este diferența dintre 1NF și 2NF și 3NF?
1NF, 2NF și 3NF sunt formele normale care sunt utilizate în bazele de date relaționale pentru a minimiza disponibilizările din tabele. 3NF este considerat ca o formă mai puternică decât 2NF și este considerată ca o formă mai puternică decât 1NF. Prin urmare, în general, obținerea unui tabel care respectă formularul 3NF va necesita descompunerea unui tabel care este în 2NF. În mod similar, obținerea unui tabel care respectă 2NF va necesita descompunerea unui tabel care este în 1NF. Cu toate acestea, dacă un tabel care respectă 1NF conține chei candidate care sunt alcătuite numai dintr-un singur atribut (adică chei candidat non-compozite), un astfel de tabel ar respecta automat 2NF. Descompunerea tabelelor va avea ca rezultat operațiuni adiționale suplimentare (sau produse carteziane) atunci când se execută interogări. Acest lucru va crește timpul de calcul. Pe de altă parte, tabelele care respectă formele normale mai puternice ar avea mai puține concedieri decât tabelele care respectă numai formele normale mai slabe.