Normalizarea



La începutul proiectării conceptuale a oricărei baze de date, în special a bazelor de date relaţionale, normalizarea este inevitabilă. Ea se referă la alegerea schemelor de relaţie şi a modului de grupare a atributelor în relaţii pentru a reprezenta tipuri de entităţi sau legături între tipurile de entităţi. Atunci când încercăm să normalizăm un tabel, încercăm să limităm redundanţa datelor în acel tabel, să îmbunătăţim integritatea datelor.
Ideea centrală care stă la baza criteriilor de proiectare a unei baze de date relaţionale este aceea de dependenţă a datelor. Aceasta se referea la faptul că între atributele unei relaţii sau între atribute din relaţii diferite pot exista anumite legături logice (dependenţe), legături care influenţează proprietăţile schemelor de relaţie în raport cu operaţiile curente: adăugare, ştergere, actualizare. Cel mai intens studiate si cu implicaţii majore asupra criteriilor de proiectare a schemelor relaţionale sunt dependenţele funcţionale şi dependenţe multivalorice.
Formele normale reprezintă criterii de ghidare a proiectantului bazei de date în ceea ce priveşte alegerea schemelor de relaţie, şi se aplică în scopul evitării anomaliilor de ştergere, adăugare, actualizare dar şi de inconsistenţă a datelor atunci când aceste operaţii se realizează frecvent. Efectul direct al normalizării este reducerea redundanţei datelor, căci datorită acesteia efectul unei operaţii de adăugare, ştergere sau actualizare a unei valori dintr-o tuplă are tendinţa de a se propaga şi asupra altor tuple din cadrul relaţiei. Prin reducerea redundanţei se localizează efectul fiecărei astfel de operaţii la un număr cât mai restrâns de tuple, ceea ce înseamnă creşterea gradului de independenţă a tuplelor.



Principala cale de realizare a procesului de normalizare, deci de eliminare a redundanţei şi a anomaliilor de adăugare, ştergere şi actualizare o constituie descompunerea schemei date într-o colecţie de scheme mai simple care evită aceste neajunsuri.
O descompunere a unei scheme de relaţie R este considerată ca fiind echivalentă cu R dacă are proprietăţile:
-cuplare fară pierdere de informaţie- proprietatea unei descompuneri de a conserva conţinutul de informaţie al oricărei relaţii asupra căreia se aplică această descompunere;
-conservarea dependenţelor- proprietatea unei descompuneri de a permite deducerea tuturor dependenţelor din relaţia iniţială pe baza dependenţelor existente in descompunere.
Din punct de vedere al influenţei asupra performanţelor în exploatarea bazei de date, normalizarea are un efect negativ asupra eficienţei cu care sunt rezolvate interogările, deoarece într-o bază de date nenormalizată informaţiile pot fi regăsite într-o singură relaţie, iar într-una normalizată găsirea informaţiilor necesită de cele mai multe ori cuplarea a două sau mai multe relaţii. Însă păstrarea integrităţii datelor şi reducerea redundanţei şi a inconsistenţei sunt mai prioritare faţă de creşterea eficienţei unor operaţii de regăsire a datelor.
Există mai multe nivele de normalizare a relaţiilor, primele patru nivele sunt definite in termenii dependenţelor funcţionale şi sunt: FN1, FN2, FN3 şi FNBC (forma normală Boyce-Codd). FN4 şi FN5 sunt definite în termenii dependenţelor multivalorice, respectiv a dependenţelor de cuplare. Cu cât creşte nivelul de normalizare, cu atât se impun condiţii din ce în ce mai restrictive asupra relaţiilor, astef încat o relaţie aflată în FN5 satisface toate formele normale.