Lisa 2 Töös kasutatud SQL-päringud

Toodud on SQL-laused, mida WWW-liides kasutab andmebaasist andmete saamiseks. Kuna otsingutulemuste saamisel kasutatakse mitmeid võimalusi, tuuakse ära võimalik maksimaalpäring (kasutaja on valinud kõik võimalused). Seda seetõttu, et erinevate võimaluste äratoomine läheks liiga pikale. Otsingu tulemuste juures eeldatakse, et nõutud oli tähestikuline järjestus ja jooksva õppeaasta (jooksev õppeaasta on muutujas JooksevAasta) ainete väljastus.

Õppeaine info juures kasutatakse (va. aine üldinfo leidmise juures) aine üldinfoga leitud aine numbrilist koodi (muutuja ainekood)

  1. Otsingute pealeht. Teaduskondade loetelu kronoloogilises järjekorras:
    select nimi, kood from dba_teaduskond order by jarjestus
  2. Otsingute pealeht. Õppekavade nimekiri, järjestatud teaduskondade kronoloogilises järjekorras:
    SELECT DISTINCTROW DBA_teaduskond.jarjestus, [Õppekavad ja erialad].[õppekava sulgemise kuupäev] AS sulgemine, First([Õppekavad ja erialad].[Õppekava nimetus]) AS oppekava, DBA_teaduskond.nimi FROM DBA_teaduskond INNER JOIN [Õppekavad ja erialad] ON DBA_teaduskond.kood = [Õppekavad ja erialad].Teaduskond GROUP BY DBA_teaduskond.jarjestus, [Õppekavad ja erialad].[õppekava sulgemise kuupäev], DBA_teaduskond.nimi, [Õppekavad ja erialad].Teaduskond, [Õppekavad ja erialad].[Õppekava nimetus] ORDER BY DBA_teaduskond.jarjestus, [Õppekavad ja erialad].[õppekava sulgemise kuupäev], First([Õppekavad ja erialad].[Õppekava nimetus]);
  3. Otsingute pealeht. Astmete nimekiri:
    select nimi, kirjapilt from DBA_aste order by kood
  4. Otsingute pealeht. Õppekeelte loetelu:
    select nimi from Keeled order by nimi
  5. Õppetoolide nimekiri. Kasutaja valitud teaduskonna koodi (muutuja Request(“TK”)) järgi leitakse selle teaduskonna struktuuriüksuste loetelu:
    Kõigepealt leitakse teaduskonna nimi:
    select nimi from dba_teaduskond where kood = ‘Request(“TK”)

    Struktuuriüksused:

    SELECT DBA_Instituut.nimi as instit, DBA_Instituut.kood as inskood, dba_oppetool.nimi as oppet, dba_oppetool.kood as oppekood, dba_oppetool.teaduskond, dba_instituut.aadress as insaadr, dba_instituut.telefon as instel, dba_oppetool.aadress, dba_oppetool.telefon FROM DBA_Instituut, dba_oppetool where dba_instituut.kood=dba_oppetool.instituut and DBA_oppetool.teaduskond = ‘Request(“TK”)‘ and dba_instituut.teaduskond = ‘Request(“TK”)‘ order by dba_instituut.kood, dba_oppetool.kood
  6. Õppetooli ainete väljastus. Kasutaja poolt valitud õppetooli (muutujad Request(“TK”), Request(“INS”) ja Request(“OT”)) ainete leidmine.
    Kõigepealt leitakse õppetooli nimi:
    select nimi from dba_oppetool where teaduskond = ‘Request(“TK”)‘ and instituut = ‘Request(“INS”)‘ and kood = ‘Request(“OT”)

    Ainete leidmine:

    select teaduskond, instituut, oppetool, nr, algoppeaasta, loppoppeaasta, nimi from DBA_Aine, DBA_Tekst, DBA_ajakava where DBA_Aine.kood = DBA_ajakava.aine and DBA_ajakava.aasta = JooksevAasta and DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and teaduskond = ‘Request(“TK”)‘ and instituut = ‘Request(“INS”)‘ and oppetool = ‘Request(“OT”)‘ group by nimi, teaduskond, instituut, oppetool, nr, algoppeaasta, loppoppeaasta order by instituut, oppetool, nr
  7. Aine nime järgi ainete otsimine. Päring on esitatud kujul, kus kasutaja soovis otsida nime osa (alamstringi), mis on antud muutujas Request(“nimi”):
    select DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta, DBA_Tekst.nimi, DBA_Tekst.sort from DBA_Aine, DBA_Tekst, DBA_ajakava, where DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and DBA_Aine.kood = DBA_ajakava.aine and DBA_ajakava.aasta = JooksevAasta and and DBA_Tekst.nimi like ‘%Request(“nimi”)%’ group by DBA_Tekst.sort, DBA_Tekst.nimi, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta order by DBA_Tekst.sort, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr
  8. Õppejõu nime järgi ainete otsimine. Õppejõudude leidmine andmebaasist. Päring on esitatud kujul, kus kasutaja teadis (ja andis vastavad määrangud) ainult mingit osa õppejõu ees- (muutuja Request(“eesnimi”)) ja perekonnanimest (muutuja Request(“perenimi”)):
    select kood, enimi, pnimi from DBA_lektor where enimi like ‘%Request(“eesnimi”)%’ and pnimi like ‘%Request(“perenimi”)%’ order by sort
  9. Õppejõu nime järgi ainete otsimine. Õppejõu ainete leidmine õppejõu koodi järgi (muutuja lektor(“kood”)):
    select DBA_Aine.teaduskond, DBA_Aine.instituut, DBA_aine.oppetool, DBA_Aine.nr, DBA_aine.algoppeaasta, “DBA_aine.loppoppeaasta, DBA_Tekst.nimi , DBA_Tekst.sort from DBA_Aine, DBA_Tekst, DBA_tavalugeja , DBA_ajakava where DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and DBA_Aine.kood = DBA_ajakava.aine and ” DBA_ajakava.aasta = JooksevAasta and DBA_Aine.kood = DBA_tavalugeja.aine and DBA_tavalugeja.lektor = lektor(“kood”) and (DBA_tavalugeja.aastani is null or (DBA_tavalugeja.aastast = JooksevAasta and DBA_tavalugeja.aastani = DBA_tavalugeja.aastast)) group by DBA_Tekst.sort, DBA_Tekst.nimi, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta order by DBA_Tekst.sort, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr
  10. Õppekava (ja astme) järgi ainete otsimine. Astme (muutuja Request(“aste”)) leidmine:
    select nimi, kirjapilt from DBA_Aste where nimi = ‘Request(“aste”)‘ order by kood
  11. Õppekava (ja astme) järgi ainete otsimine. Ainete leidmine õppekava ja astme järgi. Päring on esitatud kujul, kus kasutaja soovis leida aineid, mis on kohustuslikeks konkreetses õppekavas (muutuja Request(“oppekava”)) ja astmes (muutuja aste(“nimi”)):
    select DBA_Aine.teaduskond, DBA_Aine.instituut, DBA_aine.oppetool, DBA_Aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta, DBA_Tekst.nimi, Kuulajaskond.õppekava, Kuulajaskond.kohustus , DBA_Tekst.sort from DBA_Aine, DBA_Tekst, Kuulajaskond , DBA_ajakava where DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and DBA_Aine.kood = DBA_ajakava.aine and DBA_ajakava.aasta = JooksevAasta and DBA_Aine.kood = Kuulajaskond.aine and Kuulajaskond.aste = ‘aste(“nimi”)‘ and Kuulajaskond.õppekava = ‘Request(“oppekava”)‘ and Kuulajaskond.kohustus <> 0 group by Kuulajaskond.õppekava, Kuulajaskond.kohustus, DBA_Tekst.sort, DBA_Tekst.nimi, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta order by Kuulajaskond.õppekava, Kuulajaskond.kohustus, DBA_Tekst.sort, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr
  12. Õppekeele järgi ainete otsimine. Kasutaja soovis näha konkreetses keeles (muutuja Request(“keel”)) loetavaid aineid:
    select DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta, DBA_Tekst.nimi , DBA_Tekst.sort from DBA_Aine, DBA_Tekst, DBA_ajakava where DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and DBA_Aine.kood = DBA_ajakava.aine and DBA_ajakava.aasta = JooksevAasta and DBA_Aine.keel = ‘Request(“keel”)‘ group by DBA_Tekst.sort, DBA_Tekst.nimi, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta order by DBA_Tekst.sort, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr
  13. Komplekspäringu pealeht. Õppekeelte loetelu:
    Vt. päring nr 4.
  14. Komplekspäringu pealeht. Õppekavade nimekiri, järjestatud teaduskondade krolooogilises järjekorras:
    Vt. päring nr 2.
  15. Komplekspäringu pealeht. Astmete nimekiri:
    Vt. päring nr 3.
  16. Komplekspäringu pealeht. Õppejõudude loetelu:
    SELECT enimi, pnimi FROM DBA_lektor WHERE lopetamine Is Null GROUP BY Sort, enimi, pnimi ORDER BY Sort
  17. Komplekspäring. Päring on esitatud kujul kus kasutaja valis kõikidest valikuvõimalustest ühe (muutujad keel, oppekava, aste, oppejoud), sisestas eesti- (muutuja eestinimi) ja inglisekeelse nime (muutuja inglisenimi), mahu (muutuja maht) ja määras, et aine peab toimuma jooksval õppeaastal:
    select DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta, DBA_Tekst.nimi from DBA_aine, DBA_Tekst, Kuulajaskond, DBA_tavalugeja, DBA_ajakava where DBA_Aine.kood = DBA_Tekst.aine and DBA_Tekst.lõppaasta is Null and DBA_Tekst.nimi = ‘eestinimi‘ and DBA_Tekst.inimi = ‘inglisenimi‘ and DBA_Aine.maht = maht and DBA_Aine.keel In (‘keel‘) and DBA_Aine.kood = Kuulajaskond.aine and Kuulajaskond.õppekava In (‘oppekava‘) and Kuulajaskond.aste In (‘aste‘) and DBA_Aine.kood = DBA_tavalugeja.aine and (DBA_tavalugeja.aastani is null or (DBA_tavalugeja.aastast = JooksevAasta and DBA_tavalugeja.aastani = DBA_tavalugeja.aastast)) and DBA_tavalugeja.lektor In (‘oppejoud‘) and DBA_Aine.kood = DBA_ajakava.aine and DBA_ajakava.aasta = JooksevAasta group by DBA_Tekst.sort, DBA_Tekst.nimi, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta order by DBA_Tekst.sort, DBA_aine.teaduskond, DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr
  18. Õppeaine info. Aine üldinfo leidmine. Kasutaja poolt edastatud aine koodist on leitud teaduskonna (muutuja tk), instituudi (muutuja ins), õppetooli kood (muutuja ot) ja aine number (muutuja nr):
    select kood, teaduskond, instituut, oppetool, nr, maht, keel, loengutunde, praksitunde, seminaritunde, omatootunde, eksam, arvestus, algoppeaasta, loppoppeaasta from DBA_Aine where teaduskond = ‘tk‘ and instituut = ‘ins‘ and oppetool = ‘ot‘ and nr = ‘nr
  19. Õppeaine info. Aine nimede leidmine:
    select nimi, inimi from DBA_Tekst where lõppaasta is null and aine = ainekood
  20. Õppeaine info. Ainet lugevate õppjõudude leidmine:
    select amet, enimi, pnimi from DBA_lektor, DBA_tavalugeja, DBA_amet where DBA_lektor.kood = DBA_tavalugeja.lektor and DBA_amet.nimi = DBA_lektor.amet and (DBA_tavalugeja.aastani is Null or DBA_tavalugeja.aastast = JooksevAasta and dba_tavalugeja.aine = ainekood order by DBA_amet.kood, DBA_lektor.sort
  21. Õppeaine info. Kuulajaskonna leidmine, kus aine on kohustuslik:
    select õppekava, aste from Kuulajaskond, DBA_aste where Kuulajaskond.aine = ainekood and Kuulajaskond.aste = DBA_aste.nimi and Kuulajaskond.kohustus <> 0 and (Kuulajaskond.õppekava is not null or Kuulajaskond.aste is not null) order by Kuulajaskond.õppekava, DBA_aste.kood
  22. Õppeaine info. Kuulajaskonna leidmine, kus aine on valitav:
    select õppekava, aste from Kuulajaskond, DBA_aste where Kuulajaskond.aine = ainekood and Kuulajaskond.aste = DBA_aste.nimi and Kuulajaskond.kohustus = 0 and (Kuulajaskond.õppekava is not null or Kuulajaskond.aste is not null) order by Kuulajaskond.õppekava, DBA_aste.kood
  23. Õppeaine info. Kohustuslikud eeldusained:
    select teaduskond, instituut, oppetool, nr from dba_aine, dba_eeldus where dba_aine.kood = dba_eeldus.eeldusaine and dba_eeldus.aine = ainekood and dba_eeldus.tyyp <> 0 order by teaduskond, instituut, oppetool, nr
  24. Õppeaine info. Soovituslikud eeldusained:
    select teaduskond, instituut, oppetool, nr from dba_aine, dba_eeldus where dba_aine.kood = dba_eeldus.eeldusaine and dba_eeldus.aine = ainekood and dba_eeldus.tyyp = 0 order by teaduskond, instituut, oppetool, nr
  25. Õppeaine info. Annotatsioon:
    select annotatsioon from dba_sisu where aine = ainekood and lopetus is Null
  26. Õppeaine info. Jooksva õppeaasta toimumiskava:
    select alg, lopp, tyyp, loengutund, praksitund, seminaritund, praksikohustus, seminarikohustus, ref_arv, kt_arv, eksam, arvestus from DBA_ajakava where aine = ainekood and aasta = JooksevAasta
  27. Õppetooli ained. Ainete üldinfode leidmine. Kasutaja poolt edastatud õppetooli koodist on leitud teaduskonna (muutuja tk), instituudi (muutuja ins) ja õppetooli kood (muutuja ot):
    select kood, teaduskond, instituut, oppetool, nr, maht, keel, loengutunde, praksitunde, seminaritunde, omatootunde, eksam, arvestus, algoppeaasta, loppoppeaasta from DBA_Aine where teaduskond = ‘tk‘ and instituut = ‘ins‘ and oppetool = ‘ot
  28. Õppetooli ained. Aine nimede leidmine:
    Vt. päring nr 19.
  29. Õppetooli ained. Ainet lugevate õppejõudude leidmine:
    Vt. päring nr 20.
  30. Õppetooli ained. Kuulajaskonna leidmine, kus aine on kohustuslik:
    Vt. päring nr 21.
  31. Õppetooli ained. Kuulajaskonna leidmine, kus aine on valitav:
    Vt. päring nr 22.
  32. Õppetooli ained. Kohustuslikud eeldusained:
    Vt. päring nr 23.
  33. Õppetooli ained. Soovituslikud eeldusained:
    Vt. päring nr 24.
  34. Õppetooli ained. Annotatsioon:
    Vt. päring nr 25.
  35. Õppetooli ained. Jooksva õppeaasta toimumiskava:
    Vt. päring nr 26.