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 Eessaar5.9 FunktsioonidFunktsiooni all mõistetakse "eeskirja", mis seab igale antud sisendilevastavusse üheselt määratud väljundi.Programmeerimises nimetatakse funktsiooniks programmi osa, mis teostabmingit konkreetset tegumit. Tegum on loogiliselt tervikliku otstarbega,iseseisvana täidetav programm või selle osa, opsüsteemi ressursse tarbivtöötlusüksus (Vallaste, 2000–2009, http://www.vallaste.ee).Funktsioonil on null või rohkem parameetrit ja see tagastab ühe väärtuse. Igaparameeter on kindlat tüüpi. Funktsiooni poole pöördumisel tuleb anda igaleparameetrile väärtus. Parameetri väärtus peab kuuluma parameetri tüübigamääratud väärtuste hulka. Parameetrile antavat väärtust nimetatakseargumendiks. Funktsiooni tagastatav väärtus kuulub tüüpi, mida nimetataksefunktsiooni deklareeritud tüübiks.SQLis võib funktsioone liigitada.• Grupifunktsioonid, mis leiavad väärtuse ridade grupi kohta (ingl. k.group functions, set functions). Nendele funktsioonidele viitamisekskasutatakse ka terminit kokkuvõttefunktsioonid (ingl. k. aggregatefunctions), sest nad aitavad koostada kokkuvõtteid/statistikat.• Ühe rea funktsioonid, mis annavad väärtuse iga päringu (tabeli) reakohta (ingl. k. single row functions).5.9.1 Grupifunktsioonid (SQL:1992)Järgnevalt esitatakse grupifunktsioonid, mis on kirjeldatud SQL:1992standardis. Veeru avaldis võib olla:− viit veerule (veeru nimi),− konstant (väärtust esitav literaal),− skalaarse funktsiooni väljakutse (funktsioon tagastab skalaarseväärtuse),− skalaarne alampäring (Alampäring, mille tulemuseks olevas tabelis onüks veerg ning null või üks rida. Tulemus teisendatakse alampäringudeklareeritud tüüpi olevaks skalaarseks väärtuseks. Kui tulemuses onnull rida, siis teisendatakse alampäringu tulemus NULLiks),− aritmeetiline avaldis.Veeru avaldise arvutamise tulemus on veerg. Veeru avaldis ei või antudkontekstis olla mitteskalaarne alampäring või teise grupifunktsiooni väljakutse.ALL – võetakse arvesse kõik väärtused; NULLe ei arvestata. See on vaikimisivalik ja seda ei pea päringu kirjutamisel määrama.DISTINCT – võetakse arvesse ainult erinevad väärtused. NULLe ei arvestata!Avg([ALL | DISTINCT] veeru avaldis) – aritmeetiline keskmise leidmine. Kuiveeru avaldiseks on viit veerule (veeru nimi), siis leitakse aritmeetilinekeskmine sellele veerule vastavates väljades olevatest väärustest. Veergpeab olema arvu tüüpi või intervalli tüüpi. Tulemuse arvutamisel ei arvestata62

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

Saved successfully!

Ooh no, something went wrong!