Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan SQL-kielelle Käsitellään tarkemmin kurssilla Tietokannat II Tällä kursilla käsitellään vain perusoperaatiot ja nekin ylimalkaisesti
Relaatioalgebra (2) Operaatioista koostetaan kyselyn formaali vastine ”Hae ne tuotteet, jotka maksavat enemmän kuin 10 euroa” ”Hae Orimatti Teuraan tilaamien tuotteiden nimet” ”Hae Hanhikin tilausten yhteisarvo” Tulos esitetään uutena relaationa eli tauluna Tulokseen voidaan siten kohdistaa uusia operaatioita
Rivien valitseminen (1) Valitaan tietyt ehdot täyttävät rivit ”Hae ne tuotteet, jotka maksavat yli 10 euroa” eli valitse ne Tuote-taulun rivit, joissa attribuutin Hinta arvo on suurempi kuin 10. Tulosrelaatiolla samat attribuutit kuin kohderelaatiolla Tarkemmin kurssilla Tietokannat II
Rivien valitseminen (2) Hae asiakkaat, joiden Id=1 Valitaan Asiakas-taulun rivit, joissa Id=1
Sarakkeiden valitseminen (1) Valitaan tietyn nimiset attribuutit ”Hae kaikkien asiakkaiden etunimet” ”Hae kaikkien tuotteiden hinnat” Tulosrelaatiolla valitut attribuutit Tarkemmin kurssilla Tietokannat II
Sarakkeiden valitseminen (2) Hae kaikkien asiakkaiden etu- ja sukunimet Valitaan Asiakas-taulusta sarakkeet Etunimi ja Sukunimi
Edellisten yhdistelmä Hae yli 10 euroa maksavien tuotteiden nimet
Taulujen yhdistäminen (1) Edelliset esimerkit hakivat tietoa yhdestä taulusta Tieto on kuitenkin hajautettu moneen tauluun Tauluja on yhdisteltävä uusiksi tauluiksi, joihin kyselyt sitten kohdistetaan
Taulujen yhdistäminen (2) Tauluja yhdistetään karteesisen tulon eli ristitulon avulla {1,2}x{a,b}={(1,a),(1,b),(2,a),(2,b)} {Masa,Lissu}x{Tuulilasi,Cosmopolitan}={(Masa, Tuulilasi),(Masa,Cosmopolitan),(Lissu,Tuulilasi), (Lissu,Cosmopolitan)} Tuloksena uusi taulu, jolla on kohderelaatioiden attribuutit Karteesisen tulon ymmärtäminen on tärkeää SQL:ää opiskeltaessa
Taulujen yhdistäminen (3)
Karteesisen tulon tulosrelaatioosta voidaan valita rivejä ja sarakkeita kuten mistä tahansa relaatiosta Suuri osa SQL:stä on juuri tätä Tauluja voidaan yhdistää muillakin tavoin Lisää kurssilla Tietokannat II
Kertaus Relaatioista voidaan valita tulostauluun rivejä Relaatiosta voidaan valita tulostauluun sarakkeita Relaatiot voidaan yhdistää uudeksi relaatioksi karteesisen tulon avulla Edellisiä voidaan yhdistellä