Løs tidligere SQL-oppgaver med relasjonsalgebra.
Vi viser først løsning i relasjonsalgebra for to enkle SQL-spørringer fra kapittel 2. Spørring 1:
SELECT *
FROM Film
WHERE Year(År) = 1988
Spørringen tilsvarer følgende uttrykk i relasjonsalgebra:
σYear(År)=1988(Film))
Merk at vi ikke trenger projeksjon fordi alle attributter skal med.
Spørring 2:
SELECT Tittel
FROM Film
WHERE Land = 'USA' AND År BETWEEN 1980 AND 1989
Tilsvarende uttrykk i relasjonsalgebra:
ΠTittel( σLand='USA'( σÅr>=1980( σÅr <=1989(Film) ) ) )
Alternativt kan betingelsene settes sammen med "og".
Neste spørring er hentet fra kapittel 4:
SELECT *
FROM Vare, Kategori
WHERE Vare.KatNr = Kategori.KatNr
Tilsvarende uttrykk i relasjonsalgebra:
Vare ⊗Vare.KatNr=Kategori.KatNr Kategori
Kryssprodukt.
S × T = {(3,3),(3,5),(3,10),(3,11),(8,3),(8,5),(8,10),(8,11),(10,3),(10,5),(10,10),(10,11)}
Union.
S ∪ T = {3, 5, 8, 10, 11}
Snitt.
S ∩ T = {3, 10}
Differanse (minus).
S - T = {8}
Differanse (minus).
T - S = {5, 11}
AnsNr og Lønn til alle ansatte.
ΠAnsNr,Lønn(Ansatt)
Alle data om ansatte som tjener mer enn 500 000.
σLønn>500000(Ansatt)
Alle tupler i Arbeid utvidet med navn på tilhørende ansatt.
Arbeid ⊗Arbeid.AnsNr=Ansatt.AnsNr ΠAnsNr,Fornavn,Etternavn(Ansatt)
Alle datoer da det ble startet nye prosjekter, men ikke avsluttet noen.
ΠStartdato(Prosjekt) - ΠSluttdato(Prosjekt)