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.
49<br />
Cuvântul rezervat dual astfel folosit permite respectarea sintaxei comenzii<br />
SELECT.<br />
Selectarea din mai multe tabele<br />
Principial o bază <strong>de</strong> <strong>date</strong> relaŃională presupune repartizarea <strong>date</strong>lor în mai<br />
multe tabele. Aşa cum s-a văzut <strong>de</strong>ja, acest mod <strong>de</strong> stocare permite eliminarea<br />
informaŃiilor redondante. Pentru a găsi articolele dintr-un tabel legate <strong>de</strong> o<br />
înregistrare din alt tabel trebuie însă indicată în frazele SELECT condiŃia <strong>de</strong><br />
legătură dintre cele două tabele.<br />
Exemple:<br />
SELECT Edituri.Nume, Carti.Titlu, Carti.Anul FROM Edituri, Carti WHERE<br />
Nume='Minerva' AND Edituri.CodE=Carti.CodE<br />
A doua condiŃie conŃinută în clauza WHERE este cea care leagă tabelele<br />
Edituri şi Carti.<br />
Limbajul SQL permite înlocuirea unei mulŃimi care contribuie la selecŃie<br />
printr-o altă frază SELECT, ca în exemplul următor.<br />
SELECT Edituri.Nume, Carti.Titlu, Carti.Anul FROM Edituri, Carti WHERE<br />
Nume='Minerva' AND Edituri.CodE=Carti.CodE AND Titlu.Data IN (SELECT<br />
Data FROM Carti WHERE Data BETWEEN '12-MAY-1975' AND '29-MAY-1980')<br />
Odată cu standardizarea limbajului SQL, pentru introducerea legăturilor<br />
stabilite între tabele prin <strong>de</strong>finirea <strong>de</strong> chei primare şi străine s-a <strong>de</strong>finit şi o altă<br />
modalitate, respectiv clauza JOIN. Folosind JOIN, exemplul anterior poate fi scris<br />
astfel:<br />
SELECT Edituri.Nume, Carti.Titlu, Carti.Anul<br />
FROM Edituri INNER JOIN Carti ON Edituri.CodE=Carti.CodE<br />
WHERE Nume='Minerva'