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