Capitolul II Structurarea bazelor de date
Capitolul II Structurarea bazelor de date
Capitolul II Structurarea bazelor de date
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
33<br />
În momentul înregistrării unei cărŃi, dacă autorul exista <strong>de</strong>ja în tabelul <strong>de</strong><br />
autori, i se notează codul care apoi este folosit la înregistrarea cărŃii. Dacă<br />
autorul nu există în fişierul <strong>de</strong> autori, el va fi adăugat, în momentul adăugării<br />
atribuindu-se un cod. În acest mod, modificarea numelui autorilor se realizează<br />
simplu, numele fiecărui autor apărând o singură dată.<br />
2. Anomalia la ştergerea <strong>date</strong>lor:<br />
Această anomalie poate apărea dacă se cere ştergerea din fişierul <strong>de</strong> cărŃi<br />
a înregistrării corespunzând unei cărŃi pierdute. Odată cu titlul cărŃii se şterge şi<br />
editura care a publicat-o. Ulterior, dacă se doreşte realizarea unui raport privind<br />
editurile cu care biblioteca are relaŃii, în raport nu va mai figura editura care a<br />
realizat cartea suprimată. Acestă anomalie poartă numele <strong>de</strong> anomalia la<br />
ştergerea <strong>date</strong>lor.<br />
3. Anomalia la adăugarea <strong>date</strong>lor:<br />
Dacă se doreşte înregistrarea în baza <strong>de</strong> <strong>date</strong> a bibliotecii a <strong>date</strong>lor unei<br />
noi edituri, în mo<strong>de</strong>lul elaborat acest lucru nu este posibil fără adăugarea unei<br />
prime cărŃi achiziŃionate <strong>de</strong> la aceasta. Dacă nu s-a cumpărat nici o carte, baza<br />
noastră prezintă o anomalie la adăugarea <strong>date</strong>lor.<br />
Normalizarea<br />
Mo<strong>de</strong>lul relaŃional elaborat <strong>de</strong> Codd propune soluŃii pentru eliminarea<br />
acestor anomalii. Procesul <strong>de</strong> structurare a bazei <strong>de</strong> <strong>date</strong> în ve<strong>de</strong>rea eliminării<br />
anomaliilor sesizate poartă numele <strong>de</strong> normalizare. Normalizarea constă în<br />
aducerea bazei <strong>de</strong> <strong>date</strong> într-una dintre formele normale, cele mai importante<br />
fiind cele 3 forme prezentate în continuare.<br />
1. Prima formă normală<br />
Prima formă normală cere ca tabelele în care sunt păstrate informaŃiile să<br />
satisfacă următoarelor cerinŃe:<br />
a. Fiecare coloană trebuie să păstreze o informaŃie elementară (care nu se<br />
mai poate <strong>de</strong>scompune). În exemplul prezentat, dacă o carte are mai<br />
mulŃi autori coloana CodAutor ar trebui să conŃină mai multe coduri,<br />
<strong>de</strong>ci acest mod <strong>de</strong> structurare nu respectă această cerinŃă.<br />
b. Fiecare coloană trebuie să aibă un nume unic;<br />
c. Tabelul nu poate avea două linii conŃinând informaŃii i<strong>de</strong>ntice. Fiecare<br />
tabel din componenŃa unei baze <strong>de</strong> <strong>date</strong> normalizate conŃine o cheie<br />
primară. O cheie primară este un câmp care are valori distincte<br />
pentru toate liniile tabelului. Uneori, mai rar, cheia primară este<br />
obŃinută prin alăturarea valorilor dintr-un ansamblu <strong>de</strong> mai multe<br />
câmpuri. Pot exista în baza <strong>de</strong> <strong>date</strong> tabele care nu au o cheie primară.<br />
Tabelele pentru care s-a <strong>de</strong>finit o cheie primară respectă, <strong>de</strong> regulă,<br />
cerinŃa enunŃată.