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.

35<br />

cod editură<br />

Edituri<br />

CodE<br />

Nume Adresa Telefon<br />

editura<br />

cod autor<br />

NrInv CodA Titlu CodE Anul Carti<br />

carte<br />

Acest tip <strong>de</strong> relaŃie este cel mai frecvent întâlnit şi stă la baza mo<strong>de</strong>lului<br />

relaŃional elaborat <strong>de</strong> Codd.<br />

Cheile primare din cele două tabele sunt CodE pentru Edituri şi NrInv<br />

pentru CărŃi. În tabelul <strong>de</strong> cărŃi, CodE şi CodA (cod autor) sunt chei străine. O<br />

cheie străină dintr-un tabel A permite regăsirea unei linii dintr-un tabel asociat,<br />

B. În tabelul asociat, B, cheia străină din tabelul A este <strong>de</strong> regulă cheie primară.<br />

În cazul dat, cheia străină CodA permite regăsirea în tabelul <strong>de</strong> autori a numelui<br />

acestuia iar cheia străină CodE permite găsirea numelui editurii care a publicat<br />

cartea.<br />

2. RelaŃii 1 la 1 (one to one)<br />

O relaŃie <strong>de</strong> tipul 1 la 1 apare în cazul în care unei linii dintr-un tabel îi<br />

corespun<strong>de</strong> o singură linie în tabelul cu care acesta este în legătură. În cazul în<br />

care fiecărei înregistrări dintr-un tabel îi corespun<strong>de</strong> o înregistrare în al doilea<br />

tabel nu este necesară înregistrarea informaŃiilor în două tabele separate.<br />

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

O relaŃie <strong>de</strong> acest tip apare în exemplul dat între tabela <strong>de</strong> autori şi cea <strong>de</strong><br />

cărŃi. Astfel un scriitor poate fi autor la mai multe cărŃi iar o carte poate avea<br />

mai mulŃi autori (CodA_2 respectiv NrInv_3 <strong>de</strong> exemplu).<br />

În astfel <strong>de</strong> situaŃii se va proceda la crearea unui tabel suplimentar, <strong>de</strong><br />

legătură, care va transforma relaŃia evi<strong>de</strong>nŃiată (many to many) în relaŃii one to<br />

many. Fiecare articol din tabelul <strong>de</strong> legătură va conŃine o pereche <strong>de</strong> chei<br />

străine, una fiind cheie primară în primul tabel şi una în al doilea tabel:

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

Saved successfully!

Ooh no, something went wrong!