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.

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'

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

Saved successfully!

Ooh no, something went wrong!