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.

34<br />

d. Într-un tabel nu se admit grupuri <strong>de</strong> informaŃii care se repetă. În<br />

exemplul dat Editura şi Locul formează un grup care probabil se repetă<br />

pentru toate cărŃile provenind <strong>de</strong> la aceeaşi editură.<br />

2. A doua formă normală<br />

A doua formă normală se referă la tabelele care au o cheie compusă din<br />

valorile mai multor câmpuri. Astfel, în exemplul dat dacă <strong>date</strong>le editurii sunt<br />

păstrate într-un tabel separat având structura:<br />

NumeEd Oras Adresa NumeScurt Telefon<br />

atunci adăugarea unui nou sediu pentru o editură va face ca valoarea din coloana<br />

"NumeScurt" să apară repetat, <strong>de</strong>oarece ea nu <strong>de</strong>pin<strong>de</strong> <strong>de</strong> sediul editurii ci <strong>de</strong><br />

numele acesteia. Pentru a satisface cerinŃele celei <strong>de</strong>-a doua forme normale,<br />

coloanele unui tabel trebuie să <strong>de</strong>pindă direct <strong>de</strong> toate câmpurile care formează o<br />

cheie primară compusă.<br />

3. A treia formă normală<br />

A treia formă normală rezolvă anomalia care apare în cazul în care într-un<br />

tabel există una sau mai multe coloane ale căror valori nu <strong>de</strong>pind direct <strong>de</strong><br />

valoarea cheii primare. În exemplul dat, să presupunem că în tabelul în care<br />

sunt înregistrate cărŃile există o coloană care conŃine numele furnizorului (firma<br />

prin care s-a achiziŃionat cartea). Cu siguranŃă că prin acelaşi furnizor s-au<br />

achiziŃionat şi alte cărŃi, <strong>de</strong>ci numele acestuia va apărea pe mai multe linii<br />

<strong>de</strong>oarece furnizorul nu <strong>de</strong>pin<strong>de</strong> direct <strong>de</strong> carte. Coloanele unui tabel care<br />

satisface a treia formă normală conŃin informaŃii care <strong>de</strong>pind direct <strong>de</strong> cheia<br />

primară.<br />

RelaŃii între tabelele unei baze <strong>de</strong> <strong>date</strong><br />

Pentru a satisface cerinŃele impuse <strong>de</strong> cele 3 forme normale prezentate,<br />

informaŃiile sunt <strong>de</strong> regulă păstrate într-un ansamblu <strong>de</strong> tabele între care există<br />

relaŃii <strong>de</strong> diferite tipuri.<br />

1. RelaŃii 1 la mai mulŃi (1 la n, one to many)<br />

Dacă în exemplul consi<strong>de</strong>rat <strong>date</strong>le privind o editură sunt păstrate într-un<br />

fişier iar cărŃile sunt înregistrate în alt fişier, între cele două tabele se stabileşte o<br />

<strong>de</strong>pen<strong>de</strong>nŃă <strong>de</strong> tip "unul la mai mulŃi".

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

Saved successfully!

Ooh no, something went wrong!