29.11.2014 Views

Capitolul II Structurarea bazelor de date

Capitolul II Structurarea bazelor de date

Capitolul II Structurarea bazelor de date

SHOW MORE
SHOW LESS

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ă.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!