Prima formă normală (1NF) este forma normală de bază a unei relații în modelul de date relațional .
O variabilă de relație este în prima formă normală dacă și numai dacă, în orice valoare validă a acelei variabile, fiecare tuplu de relație conține exact o valoare pentru fiecare dintre atributele [1] .
Într-un model relațional, o relație este întotdeauna în prima formă normală, prin definiția conceptului relație .
În ceea ce privește diferitele tabele , ele pot să nu fie reprezentări corecte ale relațiilor și, în consecință, pot să nu fie în 1NF. Conform definiției lui Christopher Date pentru un astfel de caz, un tabel este normalizat (în mod echivalent, este în prima formă normală) dacă și numai dacă este o reprezentare directă și adevărată a unei relații. Mai precis, tabelul în cauză trebuie să îndeplinească următoarele cinci condiții:
„Regularitatea” tuturor coloanelor unui tabel înseamnă că nu există componente „ascunse” în tabel care să poată fi accesate doar prin invocarea unui operator special în loc să se refere la nume de coloane obișnuite sau care să ducă la efecte secundare pentru rânduri sau tabele la invocarea operatorilor standard. Astfel, de exemplu, șirurile de caractere nu au alte identificatori decât valorile chei candidate normale (fără „identificatori de rând” sau „identificatori de obiecte”) ascunși. De asemenea, nu au marcaje temporale ascunse [1] .
Tabelul original nenormalizat (adică nu este o reprezentare corectă a unei relații):
Angajat | Număr de telefon |
---|---|
Ivanov I.I. | 283-56-82 390-57-34 |
Petrov P.P. | 708-62-34 |
Un tabel redus la 1NF, care este reprezentarea corectă a unei relații:
Angajat | Număr de telefon |
---|---|
Ivanov I.I. | 283-56-82 |
Ivanov I.I. | 390-57-34 |
Petrov P.P. | 708-62-34 |
Mulți autori completează definiția primei forme normale cu cerința de atomicitate ( indivizibilitate ) a valorilor [2] . Totuși, conceptul de „atomicitate” este prea vag [1] [3] . De exemplu, multe tipuri de date (șiruri, date, numere cu virgulă fixă etc.) pot fi descompuse cu ușurință în elementele lor constitutive, dacă este necesar, utilizând operațiuni standard furnizate de SGBD. K. Date concluzionează că „conceptul de atomicitate nu are absolut niciun sens” [1] .
Din punct de vedere istoric, conceptul de „atomicity” provine din „simple domains” ( în engleză simple domains ), propus de autorul modelului de date relaționale, E. F. Codd . Scopul „formei normale” propus de Codd în „A Relational Data Model for Large Shared Data Banks” [4] nu a fost legat de niciun aspect teoretic, cum ar fi tratarea anomaliilor sau redundanței. Codd a sugerat utilizarea „domeniilor simple” doar pentru a facilita implementarea viitoare a software-ului, după cum urmează:
O relație ale cărei domenii sunt toate simple poate fi reprezentată atunci când este stocată ca o matrice bidimensională cu coloane uniforme.
Text original (engleză)[ arataascunde] O relație ale cărei domenii sunt toate simple poate fi reprezentată în stocare printr-o matrice bidimensională omogenă de coloană.
Ușurința reprezentării relațiilor cu matrice, care este fezabilă atunci când toate relațiile sunt normalizate, oferă avantaje nu numai pentru stocare, ci și pentru transferul de cantități mari de date între sisteme care utilizează reprezentări de date foarte diferite.
Text original (engleză)[ arataascunde] Simplitatea reprezentării matricei care devine fezabilă atunci când toate relațiile sunt turnate în formă normală este nu numai un avantaj în scopuri de stocare, ci și pentru comunicarea datelor în masă între sisteme care utilizează reprezentări foarte diferite ale datelor.forme normale | |
---|---|