5. TÜ õppeaineregistri andmebaas

Tartu Ülikooli õppeaineregister sisaldab (vastavalt TÜ õppeaineregistri statuudile, [1]) ülikoolis õpetatavaid aineid ja nendega seotud andmeid. Registri andmestik jaguneb neljaks:

  1. Aine üldandmed koos tehtud muutustega
  2. Antud õppeaastal kehtivad andmed
  3. Juhtandmed
  4. Lisaandmed

Üldandmetesse kuuluvad:

  1. Aine kood, mille aluseks on õpetav struktuuriüksus
  2. Aine nimetus eesti ja inglise keeles
  3. Õpetamise keel
  4. Maht ainepunktides ja mahu jagunemine auditoorseteks ja üliõpilase iseseisva töö tundideks
  5. Kontrollivormid
  6. Õppejõud
  7. Kuulajaskond ning tema suhe ainega
  8. Kohustuslikud ja soovitatavad eeldusained
  9. Aine lugemise algusõppeaasta
  10. Annotatsioon (eesti või inglise keeles)

Õppeaasta andmetesse kuuluvad:

  1. Märge õpetamise toimumise kohta
  2. Muutused õppejõudude osas
  3. Toimumiskava

Juhtandmeteks on:

  1. Teaduskondade loetelu
  2. Instituutide/osakondade/kliinikute loetelu
  3. Õppetoolide loetelu
  4. Õppejõudude loetelu
  5. Õppekavade loetelu

Lisaandmete alla kuuluvad:

  1. Õpetamiskeelte loetelu
  2. Täiendava info saamise võimalused (dekanaatide info)

Registri andmebaasi hallatakse relatsioonilise andmebaasisüsteemiga Microsoft® Access. Andmebaas on tehtud vananenud süsteemis ja teisendatud Microsoft® Accessi (ilma töö autori kaasosaluseta). Töö autor tegi andmebaasis ainult mõned vajalikud muudatused. Andmebaas koosneb 15. tabelist, millest lühiülevaate annab järgnev pilt: AB

5.1 Tabelite kirjeldused

DBA_AineTabel DBA_Aine sisaldab järgmisi andmeid:

  • kood – numbriline kood, mis identifitseerib aine üheselt
  • teaduskond, instituut, oppetool – kahetähelised koodid, millega määratletakse ainet õpetav struktuuriüksus
  • maht – aine maht ainepunktides (või tundides), mis jaguneb auditoorse (loengutunde, praksitunde, seminaritunde) ja iseseisva töö tundideks (omatootunde)
  • keel – aine õpetamise keel(ed)
  • kinnine – iganenud väli, mis kirjeldas aine kinnisust kuulajaskonna suhtes
  • algoppeaasta – aine lugemise algusaasta
  • loppoppeaasta – aine lõpetamise aasta
  • nr – aine järjekorranumber õpetavas struktuuriüksuses (kolmekohaline number). Koos väljadega teaduskond, instituut ja oppetool moodustab see väli aine koodi tavatähenduses (mitte numbriline kood).
  • eksam, arvestus – aine kontrollivorm (eksamite, arvestuste arv)
  • korras – aineregistri muutmiseks vajalik mitmeotstarbeline väli

DBA_TekstTabelis DBA_Tekst kirjeldatakse aine nimed. Aine nime muutused peavad säiluma ning seepärast võib ühel ainel olla mitu nime, kuigi igal ajahetkel kehtib neist ainult üks.

  • aine – aine kood1 (selgitused vt. paragrahvi lõpp)
  • oppeaasta – mittekasutatav väli, mis algselt kirjeldas aine nime kehtimise aastat2 (selgitused vt. paragrahvi lõpp)
  • nimi – aine nimi eesti keeles
  • inimi – aine nimi inglise keeles
  • sort – lisaväli eestikeelse sorteerimise jaoks
  • lõppaasta – aasta, milleni aine nimi kehtis
  • trükiviga – aine nimes trükivigade paranduseks mõeldud lisaväli

DBA_SisuTabelis DBA_sisu kirjeldatakse aine annotatsioon. Kuna aine annotatsiooni muutused peavad säiluma, võib ühel ainel olla mitu nime, kuigi igal ajahetkel kehtib neist ainult üks.

  • aine – aine kood
  • annotatsioon – aine annotatsioon eesti või inglise keeles
  • lopetus – aasta, milleni annotatsioon kehtis
  • trükiviga – annotatsioonis trükivigade paranduseks mõeldud lisaväli

DBA_EeldusTabelis DBA_eeldus kirjeldatakse aine eeldusaine(d).

  • aine – aine kood
  • eeldusaine – eeldusaine kood
  • tyyp – eeldusaine tüüp (0 – soovituslik, muu – kohustuslik)

KuulajaskondTabelis Kuulajaskond kirjeldatakse aine kuulajaskond (õppekavad ja astmed, millele aine esmajoones mõeldud on).

  • aine – aine kood
  • õppekava – õppekava nimetus
  • aste – astme nimetus
  • kohustus – määrab, kas aine on antud õppekavas (ja astmes) valikaine (väärtus 0) või kohustuslik aine (muu väärtus)

DBA_TavalugejaTabelis DBA_Tavalugeja kirjaldatakse aine lugejad.

  • aine – aine kood
  • lektor – lektori kood (vt. tabel DBA_lektor)
  • aastani – aasta, milleni lektor ainet luges
  • aastast – aasta, millest alates lektor ainet loeb (luges, kui aastani on määratud)

DBA_AjakavaTabelis DBA_ajakava kirjeldatakse aine toimumiskava aastate kaupa (kui ainet loetakse/aine toimub). Ühel aastal võib olla mitu toimumiskava, need kirjeldatakse eraldi kirjetena (tsüklina). Esimeseks õppenädalaks loetakse õppeaasta esimest nädalat.

  • aine – aine kood
  • aasta – toimumise aasta
  • tyyp – aine toimumise tüüp. Tüüpe on kolme sorti:
  1. tavaline aine (tüüp N): aine toimub mingist kindlast õppenädalast mingi kindla õppenädalani
  2. korduv aine (tüüp K): aine toimub kindlate tsüklite alusel mitu korda õppeaasta jooksul (määratakse nädalate arv)
  3. toimumiskava pole teada (tüüp U): Kui toimimiskava on teada, siis võib määrata toimumise alguskuu ja nädalate arvu (mitu nädalat aine toimub)
  • alg – algusnädal tüübi ‘N’ korral, 0 tüübi ‘K’ korral, alguskuu numbrina (kui on teada) või 0 tüübi ‘U’ korral
  • lopp – lõppnädal tüübi ‘N’ korral, nädalate arv tüübi ‘K’ korral, nädalate arv (kui on teada) või 0 tüübi ‘U’ korral
  • ap – iganenud väli ajast, mil ainet võis jagada osadeks; määras selles tsüklis antavad ainepunktid
  • eksam – eksamite arv antud tsüklis
  • arvestus – arvestuste arv antud tsüklis
  • loengutund – loengutundide arv nädalas
  • praksitund – praktikumitundide arv nädalas
  • seminaritund – seminaritundide arv nädalas
  • praksikohustus – määrab, kas praktikum on kohustuslik
  • seminarikohustus – määrab, kas seminar on kohustuslik
  • kt_arv – kontrolltööde arv tsüklis
  • ref_arv – kirjalike tööde (referaadid, seminaritööd, uurimused jm) arv tsüklis

DBA_lektorTabelis DBA_lektor kirjeldatakse andmebaasis olevad õppejõud.

  • kood – õppejõu numbriline kood
  • enimi – õppejõu eesnimi
  • pnimi – õppejõu perekonnanimi
  • Sort – lisaväli eestikeelse sorteerimise jaoks
  • teaduskond – teaduskond, kuhu alla õppejõud kuulub (kus ta põhiliselt töötab)
  • amet – õppejõu ametinimetus
  • lopetamine – aasta, milleni õppejõud andmebaasis aktiivselt esitatud oli; see tähendab, et sellest aastast alates õppejõud aineid ei loe

DBA_ametTabelis DBA_amet kirjeldatakse õppejõudude ametinimetused ja nende järjestus.

  • kood – ameti numbriline kood, millega määratakse ametite järjestus
  • nimi – ametinimetus

DBA_TeaduskondTabelis DBA_teaduskond kirjeldatakse teaduskonnad.

  • kood – teaduskonna kahetäheline kood
  • nimi – teaduskonna nimi
  • jarjestus – numbriline kood, mis määrab teaduskondade järjestuse
  • aadress – teaduskonna (dekanaadi) aadress
  • telefon – teaduskonna telefon
  • inglisenimi – teaduskonna inglisekeelne nimetus

DBA_InstituutTabelis DBA_Instituut kirjeldatakse instituudid.

  • kood – instituudi kahetäheline kood
  • teaduskond – teaduskonna kood, mille alla instituut kuulub
  • nimi – instituudi nimi
  • aadress – instituudi aadress
  • telefon – instituudi telefon

DBA_OppetoolTabelis DBA_Oppetool kirjeldatakse õppetoolid.

  • kood – õppetooli kahekohaline kood (erinevalt teaduskonnast ja instituudist kasutatakse õppetoolide kodeerimisel tavaliselt numbreid)
  • instituut – instituudi kood, mille alla õppetool kuulub
  • teaduskond – teaduskonna kood, mille alla õppetool kuulub
  • nimi – õppetooli nimi
  • aadress – õppetooli aadress
  • telefon – õppetooli telefon

KeeledTabelit Keeled, milles on toodud andmebaasis kasutatavad õppekeeled, kasutatakse põhiliselt aine õppekeele valiku lihtsustamiseks.

  • nimi – õppekeele nimetus, mis võib sisaldada ka mitut keelt (näiteks eesti/inglise)

Oppekavad ja erialadTabel Õppekavad ja erialad on sisse toodud teisest (õppekavade) andmebaasist ja seda kasutatakse kuulajaskonna määramise lihtsustamiseks. Sellest tulenevalt kasutatakse sellest tabelist ainult kahte välja:

  • Õppekava nimetus – õppekava eestikeelne nimi
  • Teaduskond – teaduskonna kahetäheline kood

Kõik teised väljad sisaldavad lisainfot õppekavade ja õppekavade erialade kohta.

 

 

 

DBA_AsteTabelis DBA_Aste kirjeldatakse õppekavade astmed.

  • kood – numbriline kood, mida kasutatakse astmete järjestuse määramiseks
  • nimi – astme nimi, mida kasutatakse tabelis Kuulajaskond
  • kirjapilt – astme nimi, mida kasutatakse mõningates väljundites

Selgitused: 1 aine koodina mõeldakse õppeaine numbrilist koodi (vt. tabel DBA_Aine).
2 aastana mõeldakse õppeaastat, mis väljendatakse õppeaasta esimese poole aastanumbriga.

5.2 Tabelite vahelised seosed

Selleks, et eraldi tabelites olevad andmed terviku moodustaksid, on andmebaasis hulk tabelite vahelisi seoseid. Järgnevas antakse ülevaade õppeaineregistri tabelite vahelistest seostest. Aine numbriline kood määratakse tabelis DBA_Aine; see seob ainet tema põhiatribuutidega (nimi, annotatsioon jm).

Suhe4Ainel on vähemalt üks nimi (nii eesti kui inglisekeelne). Mitme nime korral kehtib neist ainult üks.

 

Suhe5Ainel võib olla üks või rohkem annotatsiooni. Mitme annotatsiooni korral kehtib neist ainult üks.

 

Suhe2Ainel võib olla eeldusaineid.

 

 

Suhe3Aine võib olla teisele ainele eeldusaineks.

 

 

suhe7Ainel võib olla määratud kuulajaskond (aine kuulub mingisse õppekavasse).

 

Suhe6Ainel võib olla määratud lugev õppejõud. Ainet võivad lugeda ka mitu õppejõudu.

 

Suhe1Ainel võib olla määratud toimumiskava. Konkreetsel õppeaastal võib ainel olla mitmest osast koosnev toimumiskava.

 

Suhe8Igas teaduskonnas võib olla aineid.

 

 

Suhe9Igas instituudis võib olla aineid.

 

 

Suhe10Igas õppetoolis võib olla aineid.

 

 

Suhe11Igas keeles loetakse aineid.

 

 

Suhe12Õppejõud loeb aineid. Õppejõud võib lugeda ka ühte ainet mitu korda (kui õppejõud vahepeal ei lugenud ja jätkas siis lugemist, ilmub ta ühe aine lugejaks mitu korda).

 

Suhe13Õppekavas võib olla aineid. Kui õppekava on suletud või värskelt avatud, siis võivad selles ained puududa.

 

Suhe14(Õppekava) astmes võib olla aineid. Astme ainete jaoks ei ole vaja, et oleks määratud õppekava. Sellised ained on näiteks üleülikooliliselt kohustuslikud ained (õpetajakoolituses ja magistriõppes aine “Eesti õigekeelsus ja väljendusõpetus”).

 

Suhe15Ühe ametinimetusega on mitu õppejõudu.

 

 

Suhe16Igas teaduskonnas võib olla õppejõude. Samas on õppejõude, kes ei kuulu ühe konkreetse teaduskonna alla (teaduskonna väli on tühi).

 

Suhe17Igas teaduskonnas on instituudid (osakonnad, kliinikud). Isegi kui tegelikkuses teaduskonna tasemel olevas üksuses pole instituute, siis ainete olemasolu korral luuakse teaduskonda fiktiivne instituut (tavaliselt koodiga “00”).

 

Suhe18Igas teaduskonnas on (instituudi kaudu) õppetoolid.

 

Suhe20Igas instituudis on õppetoolid.

 

 

Suhe19Iga õppekava kuulub mingi teaduskonna alla.

 

5.3 Eestikeelne sorteerimine

Standardsed tarkvarapaketid (va. Microsoft® Office 97 mõned programmid) ei võimalda eestikeelset sorteerimist. Nende tarkvarapakettide hulka kuulub ka Microsoft® Access. Aga eestikeelne sorteerimine on siiski vajalik ja selleks on õppeaineregistris loodud järgmine lahendus. Tabelitesse, kus on vajalik andmete sorteerimine – sellisteks tabeliteks on õppejõudude ja aine nimede tabel, on loodud lisaväli sort. Kui tekib vajadus andmete eestikeelseks sorteerimiseks, sorteeritakse andmed välja sort abil. Lisaväli sort tekitatakse järgmise algoritmi abil: Algoritm kehtestab uue kooditabeli, kus kõikidele eesti tähestiku tähtedele omistatakse uued (standardsorteerimisel järjest olevad) koodid: tähestiku algus nihutatakse kooditabelis ettepoole, et rahvusvahelises standardis puudu olevad tähed mahuksid tähestikku. Lisaks nihutatakse numbrite koodid (esimesed 4 tähte teisendatakse numbriteks) ettepoole erisümbolite koodideks ja erisümbolite koodid teisendatakse ühe erisümboli koodiks. Muud sümbolid säilitavad oma esialgse koodi. Õppeaineregistris kasutatud kooditabeli teisendusega seotud muudatused on toodud lisas 1. Sellise muutmise aluseks on võetud asjaolu, et teisenduses kasutatud erisümboleid andmebaasis eriti ei esine. Samuti arvestatakse asjaoluga, et suurtähti kasutatakse ainult kindlates positsioonides ja sellest johtuvalt kasutatakse suur- ja väiketähtedel sama teisendust. Kui uus kooditabel on kehtestatud, siis võetakse teisendatav string ja muudetakse kõik selles olevate sümbolite koodid uuteks. Selle algoritmi esitus keeles Visual Basic on järgmine: Ekood(sümboli_kood) = uus_kood Funktsioon Ekood teisendab etteantud koodi uueks koodiks. Järgmine funktsioon (sorteeritult) tagastab vastavalt etteantud stringile uue stringi, milles sümbolid on asendatud vastavalt uuele kooditabelile:

Function sorteeritult(a)
‘l – etteantud stringi pikkus, bt – uus string:
l = Len(a)
bt = ""
‘Tehakse tsükkel üle etteantud stringi pikkuse:
For i = 1 To l
‘k – sümboli kood:
k = Asc(Mid(a, i, 1))
‘bt-le lisatakse uue kooditabeli alusel leitud sümbol:
bt = bt & Chr(Ekood(k))
 
Next
‘funktsioon tagastab uue stringi:
sorteeritult = bt
End Function

Aine nime teisendamine toimub järgnevalt: sort = sorteeritult(aine_nimi) Õppejõu nime teisendamine toimub järgnevalt: sort = sorteeritult(perekonnanimi+tühik+eesnimi) Siin ‘+’ tähistab stringide liitmist (üksteise järel kirjutamist).