10.07.2015 Views

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TTÜ: Relatsioonialgebra. Sissejuhatus SQL keelde (2012) © Erki EessaarNäide: Tootaja COMPOSE OsakondTulemuses ei ole ühist atribuuti – osakonna_<strong>nr</strong> INTEGER. Relatsioonile r ja sühine atribuut on atribuut, millel on samasugune nimi ja tüüptootaja_koodperenimi aadress registr_kpv palk osakonna_nimi1 Jõgi Tallinn,Pikk 3411.11.2001 1400 personaliosakond2 Mets Paide,Roheline12.04.2001 1500 kinnisvaraosakond73 Kask Tartu, 10.05.2001 1600 personali-Tähe 124 Triik Tartu,Kase 12-44osakond10.03.2001 1800 müügiosakond2.6.5 LaiendamineLaiendamise operatsioon (ingl. k. extend) võimaldab relatsiooni r põhjal luuauue relatsiooni kus on võrreldes relatsiooniga r täiendavaid atribuute, milleväärtus arvutatakse mingi arvutusreegli järgi.Näited:• Leia töötaja kood, perenimi, palk eurodes (EUR) ja palk Eesti kroonides(EEK).• Palk Eesti kroonides arvuta eurodes makstava palga põhjal, kasutadesvahetuskurssi 1EUR=15.64664EEK.• Palk Eesti kroonides tuleb ümardada ühe kohani peale koma kasutadesoperaatorit Round, mille esimese parameetri väärtus on ümardatav väärtusning teise parameetri väärtus on kohtade arv peale koma.Nagu näete järgnevast avaldisest, rakendatakse kõigepealt relatsioonileTootaja projektsiooni operatsioon. Projektsiooni operatsiooni tulemuseksolevas relatsioonis on atribuudid tootaja_kood, perenimi ja palk. Tulemusekssaadud relatsiooni laiendatakse, lisades sinna uue atribuudi palk_eurodes.EXTEND Π tootaja_kood, perenimi, palk (Tootaja) ADD (Round(palk*15.6466,1) ASpalk_kroonides)tootaja_kood perenimi palk palk_kroonides1 Jõgi 1400 21905,22 Mets 1500 23469,93 Kask 1600 25034,64 Triik 1800 28163,924

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

Saved successfully!

Ooh no, something went wrong!