Kodulehed
[359] - Andmebaasid I (IDU0220) (kevad 2017)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Avaleht

Valik materjalidest
   Minu lemmikud

Vastamine
Üldist
Materjalid
LisainfoMaterjalide kataloogid.
Värvilised mummud tähistavad hinnangulist kataloogide lugemise vajadust. Roheline - suurim, kollane - keskmine, punane või mummuta - väikseim
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Mitmesugust
Üldist / Operatiivinfo

Erki Eessaar:
Lehekülg on suletud

27.01.2018 SEE LEHEKÜLG ON SULETUD! KOGU SELLEL LEHEKÜLJEL OLEV INFORMATSIOON ON MITTEAKTUAALNE!

Aine uus kodulehekülg koos aktuaalse informatsiooniga asub http://maurus.ttu.ee/368

Uus raamat

11.08.2017 TTÜ raamatukokku jõudis kaks eksemplari Martin Kleppmanni uuest raamatust Designing data-intensive applications : the big ideas behind reliable, scalable, and maintainable systems. See raamat katab paljusid teemasid, mida käsitleb "Andmebaasid II" ja läheb ka sellistesse detailidesse, milleni aines ei jõuta. Soovitan seda raamatut lugeda!

Lisainfot leiab Martin Kleppmanni ajaveebist.

Erki Eessaar:
Sügissemestri tunniplaan

20.06.2017 Juhin tähelepanu, et sügissemestri tunniplaan on väljas.

Erki Eessaar:
Semestri lõppsõnad

14.06.2017 Tänan kõiki osalejaid ja soovin ilusat suve!

Sügisel jätkame õppeainega "Andmebaasid II". "Andmebaasid I" saab deklareerida uuesti 2018. aasta kevadel.

Minult on küsitud, kas "Andmebaasid II" saab deklareerida, kui "Andmebaasid I" on tegemata. Üks on teise sisuliseks ja vajalikuks eelduseks. Siiski luban vastutulekuna "Andmebaasid II" deklareerida ka siis, kui eeldusaine on tegemata. Deklareerija võtab sellega teadliku riski ja peab tegema vajalikku lisatööd. Kui eeldusaine pole selge, on jätkuainest kindlasti raskem aru saada. Õppeaines "Andmebaasid II" teeme edasi aines "Andmebaasid I" alustatud projekti. Tegijate rühm võib jääda samaks, kuid seda võib ka muuta. Endiselt on rühma maksimaalne suurus kolm inimest.

Kellel on "Andmebaasid I" projekt tegemata võiks sügise alguses või isegi mõnel vihmasel suvepäeval proovida eeldusaine projekti valmis teha. Uue semestri alguses võiks seda võimalikult kiiresti mulle mõnel vastuvõtuajal ette näidata ning saades heakskiitva peanoogutuse jätkata juba soojaks joostud kehaga "Andmebaasid II" projekti tegemisega.

Seoses jätkuaine projektiga võib ka olla kasulik vaadata neid küsimusi ja vastuseid.

Kes tahab piiluda, millega "Andmebaasis II" tegeletakse, siis juurdepääs 2016. aasta kodulehele on Teil olemas (kasutajanimi SIS2 ja parool SIS2). 2017. aasta sügiseks tuleb Mauruses uus leht, kuhu juba oma nime all registreeruda.

Erki Eessaar:
SQL kolmanda järeltöö tulemused

13.06.2017 Kataloogis Tulemused on 12. juunil 2017 toimunud SQL kontrolltöö järeltöö tulemused.

Erki Eessaar:
Vaba aeg projekti näitamiseks: 2017-06-12 15:45 (E)

12.06.2017 Kasutage võimalust!

Erki Eessaar:
Vaba aeg projekti näitamiseks: 2017-06-12 17:00 (E)

11.06.2017 Kasutage võimalust!

Erki Eessaar:
Mõistekaardid

10.06.2017 Võibolla on neile, kellel eksam veel tegemata, aine teemade ja nende seoste õppimisel abi mõistekaartidest, mis on nüüd eraldi veebilehele välja seatud.

Erki Eessaar:
Projekti näitamise ajad lisaeksamisessiooni nädalal

09.06.2017 Lisasin Maurusesse ajad projekti näitamiseks lisaeksamisessiooni nädalal.

Erki Eessaar:
Lisaeksamist

09.06.2017 Lisaeksam toimub 14. juunil 2017 kell 10:00 ja 11:00. Lisaeksamile saate hakata registreeruma kohe, kui ÕISi on Teie põhieksami tulemus (sh mitteilmunud) sisse kantud. Lisapunktid lähevad lisaeksamil endiselt arvesse. Palun võimalusel registreeruda varasemale eksami ajale (10:00), et vajadusel testi kohe veelkord teha. Kinnitan, et kõik kellel on teisipäeva õhtuks kõik eksamieeldused täidetud saavad kolmapäeval lisaeksamit teha. Vabade kohtade puudumise taha asi ei jää. Mul on ka reserveeritud kella 12:00-ne aeg, et vajadusel ning juhul kui testi tegemiste arv võimaldab, saab samal päeval veelkord testi teha.

Erki Eessaar:
Projektide näitamise ajad 9. juunil

08.06.2017 Lisasin mõned ajad projektide näitamiseks 9. juunil 2017.

Projektide näitamise ajad lisaeksamisessioonil (teisipäeval ja mõned ajad ka esmaspäeval) panen välja 9. juuni õhtul.

Erki Eessaar:
Projektide näitamine 8. juunil alates kell 16:15

07.06.2017 Tulen äriinfotehnoloogia magistritööde kaitsmiselt, kus pean retsensendina osalema. Kui peaksin veidi hilinema, siis palun lihtsalt oodake.

Erki Eessaar:
Vabad projekti ülevaatamise ajad esmaspäeval 5. juunil 2017

04.06.2017 Hetkel on vabanenud kolm aega. Palun kasutage võimalust.

Erki Eessaar:
Projekti näitamise ajad kolmandal sessi nädalal

03.06.2017 Lisasin Maurusesse vabu aegu projekti näitamiseks kolmandal sessi nädalal.

Erki Eessaar:
SQL kontrolltöö teise järeltöö tulemused ning kolmas järeltöö

30.05.2017 Kataloogis Tulemused on 29. mail 2017 toimunud SQL kontrolltöö järeltööde tulemused.

Mauruses on avatud registreerimine kolmandale järeltööle, mis toimub 12. juunil 2017. See on selle semestri kõige viimane SQL kontrolltöö järeltöö. Kui saate seal SQL töö positiivsele hindele sooritatud ning ka projekt on saanud arvestuse, siis saate teha 14. juunil 2017 lisaeksami. Kolmanda SQL järeltöö tingimused on samad, mis teisel järeltööl. Need on leitavad 25.05.2017 teatest.

SQL kontrolltöö positiivne hinne ning projekti arvestus on eksamieeldused ning ilma nendeta eksamit teha ei saa.

Erki Eessaar:
Projekti ülevaatamise ajad 1. juunil 2017

29.05.2017 Lisasin Maurusesse vabu aegu projekti näitamiseks 1. juunil 2017.

Erki Eessaar:
Projekti näitamise ajad kolmandal sessi nädalal

25.05.2017 Vastavad ajad on nüüd Mauruses registreerimiseks avatud.

Erki Eessaar:
SQL kontrolltöö esimese järeltöö tulemused ning teine järeltöö

25.05.2017 Kataloogis Tulemused on kõigi 17. mai 2017 - 19. mai 2017 toimunud SQL kontrolltöö järeltööde tulemused.

Mauruses on avatud registreerimine teisele järeltööle, mis toimub 29. mail 2017.

Reeglid.

  1. Osaleda võivad kõik soovijad. Kõigil järeltööl osalejatel läheb lõpphinde arvutamisel arvesse järeltöö hinne, sõltumata sellest, kas see on parem või halvem kui eelmise töö hinne. NB! Nagu ka põhitööl kehtib reegel, et kui tullakse kohale võetakse ülesanne vastu, aga vastust ei esitata, on hinne "0".
  2. Mingeid abimaterjale (kaasa arvatud A4 leht) pole lubatud kasutada.
  3. Lisapunktid enam arvesse ei lähe (see kehtib ka nendele, kes tulevad tööd esmakordselt tegema).

Muus osas kehtivad samad reeglid kui SQL kontrolltööd esimest korda tehes.

Erki Eessaar:
Vabad ajad projekti näitamiseks 25. mail 2017

24.05.2017 Vabad ajad projekti näitamiseks:
2017-05-25 11:15 (N)
2017-05-25 13:00 (N)

Erki Eessaar:
SQL kontrolltöö esimese järeltöö vahetulemused

24.05.2017 Kataloogis Tulemused on väljas kõigi 17. mail ja 18. mail toimunud SQL kontrolltöö järeltööde tulemused.

Erki Eessaar:
SQL kontrolltöö esimese järeltöö esimesed tulemused

21.05.2017 Kataloogis Tulemused on väljas 16ndal õppenädalal toimunud SQL kontrolltöö järeltöö esimesed tulemused. Vaatasin üle selliste üliõpilaste vastused, kes soovisid tulla esimesel sessi nädalal eksamile. Ülejäänud tulemused panen välja hiljemalt 26. mail.

SQL kontrolltöö teine järeltöö toimub 29. mail kell 10:00 ja 12:00. Registreerimine saab võimalikuks peale seda, kui olen pannud välja selle järeltöö kõik tulemused (hiljemalt 26. mail).

Erki Eessaar:
Lisapunktid

19.05.2017 Kataloogis Tulemused on lõplik lisapunktide seis. Kui olen teinud arvestamisel vigu, siis andke palun teada.

Erki Eessaar:
Kontrolltöö ruum

19.05.2017 Teeme 19. mai 207 kell 14:00 kontrolltöö järeltöö ruumis ICT-402 (kohe ruumi ICT-401 kõrval).

Erki Eessaar:
Projekti ülevaatamise ajad 23. mail 2017

18.05.2017 Lisasin Maurusesse vabu aegu projekti näitamiseks 23. mail 2017.

Erki Eessaar:
Projektide ülevaatamine 18. mai 2017 kell 12:00-13:30

18.05.2017 Kahjuks läks Maurusesse kirja vale klass! Vabandan! Ülevaatus toimub klassis ICT-404!

Erki Eessaar:
Projekti näitamise ajad teisel sessi nädalal

16.05.2017 Vastavad ajad on nüüd Mauruses registreerimiseks avatud.

Erki Eessaar:
17. mai - 19. mai 2017 SQL kontrolltöö järeltöö korraldusest

16.05.2017 Üldiselt loodan järeltööde hinded välja panna hiljemalt 26. mai õhtuks. Kui keegi järeltööl osalejatest soovib tulla 23. mai või 24. mai eksamile, siis öelge seda palun, kui kontrollin kontrolltöö alguses nimesid. Siis vaatan Teie töö varem üle (juhul, kui projekt saab reedeks arvestatud).

Samuti öelge nimede kontrollimisel, kui olite nende üliõpilaste seas, kes registreerisid Mauruses, et tulevad SQL tööd esmakordselt tegema 16ndal õppenädalal ja saavad siis A4 lehte kasutada.

Erki Eessaar:
Viimased vabad ajad projekti näitamiseks 16ndal nädalal

12.05.2017 Lisasin Maurusesse veel mõned vabad ajad projekti näitamiseks 16ndal nädalal.

Erki Eessaar:
Neli vaba aega projekti näitamiseks 11. mail 2017

11.05.2017 Vabad ajad projekti näitamiseks:
2017-05-11 14:00 (N)
2017-05-11 15:00 (N)
2017-05-11 16:30 (N)
2017-05-11 16:45 (N)

Erki Eessaar:
Tunni aja asendus

10.05.2017 Teadmiseks neile, kes oleksid tahtnud tulla lihtsalt vaatama projekti ülevaatamisi neljapäeval 11. mail 2017 kell 12:00-13:30 klassis ICT-404. Sellel ajal tundi ei toimu ja klass on suletud. Pean osalema ühel koosolekul.

Ärajäänud ülevaatamise ajad on asendatud 11. mail 2017 kell 14:00-15:30 toimuvate ülevaatustega ruumis ICT-627. Sinna pealtvaatajaid kahjuks ei mahu.

Erki Eessaar:
Vabad ajad projekti näitamiseks

10.05.2017 Vabad ajad projekti näitamiseks:
2017-05-11 16:30 (N)
2017-05-11 16:45 (N)
2017-05-12 15:00 (R)

Erki Eessaar:
Vabad ajad projekti näitamiseks

09.05.2017 Vabad ajad projekti näitamiseks:
2017-05-10 14:45 (K)
2017-05-11 14:00 (N)

Erki Eessaar:
Projekti näitamise ajad 16ndal õppenädalal ning sessi esimesel nädalal

08.05.2017 Vastavad ajad on nüüd Mauruses registreerimiseks avatud.

Erki Eessaar:
Projekti näitamise ajad

05.05.2017 Maurusesse lisandusid mõned uued ajad projekti näitamiseks 9. mail 2017 ja 10. mail 2017.

Erki Eessaar:
Vaba aeg projekti näitamiseks

05.05.2017 Vaba aeg projekti näitamiseks: 2017-05-05 14:30 (R)

Erki Eessaar:
Vaba aeg projekti näitamiseks

04.05.2017 Vaba aeg projekti näitamiseks: 2017-05-05 16:30 (R)

Erki Eessaar:
Vaba aeg projekti näitamiseks

03.05.2017 Vaba aeg projekti näitamiseks: 2017-05-04 08:00 (N)

Erki Eessaar:
Vabad ajad projekti näitamiseks

03.05.2017 Vabad ajad projekti näitamiseks:
2017-05-04 12:30 (N)
2017-05-04 13:00 (N)

Erki Eessaar:
Vaba aeg projekti näitamiseks

02.05.2017 Vaba aeg projekti näitamiseks: 2017-05-03 13:00 (K)

Erki Eessaar:
Loengu järelvaatamine

01.05.2017 Lisasin kataloogis Teooria testideks (vahetestid, eksam) valmistumine failis nr 2 olevate loengulindistuste hulka lindistuse eelmisest aastast (jrknr=14), mida võiksite täna ärajäänud loengu asemel vaadata.

Erki Eessaar:
Vaba aeg projekti näitamiseks

01.05.2017 Vaba aeg projekti näitamiseks: 2017-05-02 16:45 (T)

Erki Eessaar:
Kuidas eristada sisulisi ja administratiivseid allsüsteeme?

30.04.2017 Funktsionaalsed allsüsteemid ning registrid liigituvad sisulisteks ja administratiivseteks. Fowler (2010) liigitab tarkvara tarbetarkvaraks (utility software) ja strateegilist eelist andvaks tarkvaraks (strategic software). Fowler hindab, et 95% tarkvarast on tarbetarkvara ja 5% strateegilist eelist andev tarkvara. Fowler võrdleb tarbetarkvara torustikuga - see peab olema olemas ja veatult töötama. Kuni probleeme ei ole, siis kasutajat ei huvita kus see on ja kuidas see seda teeb. Strateegiline tarkvara aitab ettevõttel edendada oma äri ja jõuda uutele turgudele. Selline tarkvara ja selle toetatav äri peaks andma organisatsionile võistlejate ees eelise, tehes näiteks midagi paremini kui teised sama valdkonna ettevõtted teevad. Selle tarkvaraga seoses peaks toimuma innovatsioon. Leian, et administratiivsed allsüsteemid vastavad tarbetarkvarale ning sisulised allsüsteemid strateegilisele tarkvarale.

Erki Eessaar:
Projekti näitamise ajad 15ndal õppenädalal

28.04.2017 Mauruses on nüüd registreerimiseks avatud ajad projektide ettenäitamiseks 15ndal õppenädalal.

Erki Eessaar:
Projekti näitamine neljapäeval 27. aprillil

26.04.2017 Hetkel on Mauruses 27.04.2017 kolm vaba aega.

Ühtlasi kutsun Teid veelkord üles tulema vaatama, mida teised üliõpilased on teinud. Neile antavast tagasisidest võib olla Teie projekti juures palju kasu - vead kipuvad korduma.

Erki Eessaar:
SQL kontrolltöö tulemused ja järeltöö

26.04.2017 Kataloogis Tulemused on kõigi 17. aprillil 2017 kuni 21. aprillil 2017 toimunud SQL kontrolltööde tulemused ning lisaks ka lisapunktidega hinde 5 saanute tulemused.

Kataloogis Aine korraldus on info esimese järeltöö kohta, mis toimub 17. mail 2017 kuni 19. mail 2017. Mauruses on avatud sellele registreerumine. Kui soovite osaleda, siis registreerumine on kohustuslik!

Erki Eessaar:
SQL kontrolltöö tulemused (3)

25.04.2017 Kataloogis Tulemused on nüüd ka 20. aprillil kell 16:00 ja 21. aprillil kell 12:00 toimunud SQL kontrolltööde tulemused.

Erki Eessaar:
Projektide ettenäitamisest

24.04.2017 Mõned mõtted peale esimest projektide vaatamise aega.
  • Teiseks näiteprojektiks on kataloogis Iseseisva töö projekti tegemine/Projekt loengus olev hotelli infosüsteemi tubade arvestuse allsüsteemi projekt. Selle tegemiseks on kasutatud töövihikut. Viidatud kataloogist leiate nii Enterprise Architecti faili, SQL lausete faili kui ka MS Accessis realiseeritud prototüübi.
  • Kutsun Teid üles tulema arvutiklassis toimuvaid ettenäitamisi vaatama (ükskõik kas sellel päeval oma tööd näitate või mitte), et teiste üliõpilaste tehtud tööst ja minu tagasisidest õppida ning saadud teadmisi enda projekti juures kasutada.
  • Juba üleslaetud projekti versiooni võib enne oma ettenäitamise aega parandada ja uue versiooni üles laadida.

Erki Eessaar:
Null veeruga baastabelid PostgreSQLis

24.04.2017 Täienduseks 12nda nädala loengule.

PostgreSQLis saan luua baastabeli, kus on null veergu (aste on null) ja lisada sinna null või rohkem rida (tabeli võimsus on null või rohkem).

CREATE TABLE on_avatud();
INSERT INTO on_avatud DEFAULT VALUES;

Saan selliseid tabeleid kasutada tõeväärtustüüpi juhtparameetrite realiseerimiseks. Need on disainitaseme abitabelid, mis kontseptuaalses andmemudelis ei kajastu.

SELECT Count(*) AS cnt FROM on_avatud;

  • Kui süsteem on avatud, siis cnt>=1
  • Kui süsteem on suletud, siis cnt=0

Alates PostgreSQL 9.4 saab kirjutada SELECT lauseid (ilma DISTINCT operatsioonita), kus SELECT klauslis olev veergude hulk on tühihulk.

SELECT FROM on_avatud;

  • Kui süsteem on avatud, siis leitud ridade arv >=1
  • Kui süsteem on suletud, siis leitud ridade arv =0

Tühja SELECT klausliga päringuid saab kasutada jah/ei küsimuste formuleerimiseks.

Kas osakonnas 10 on mõni töötaja?

SELECT FROM Emp WHERE empno=10;

  • Kui jah, siis leitud ridade arv >=1
  • Kui ei, siis leitud ridade arv =0

Erinevused relatsioonilisest mudelist.

  • Ei saa luua nimega tuletatud tabeleid (vaateid, hetktõmmiseid), mille aste on null.
  • Sellise tabeli võimsus võib olla ühest suurem.

SQLis üldiselt peab tabelis olema vähemalt üks veerg.

Erki Eessaar:
SQL kontrolltöö tulemused (2)

23.04.2017 Kataloogis Tulemused on nüüd ka 20. aprillil kell 8:00 ja 12:00 toimunud SQL kontrolltööde tulemused.

Erki Eessaar:
Eksam

22.04.2017 Kataloogi Aine korraldus on välja pandud eksami kirjeldus. Eksamile registreerumine on ÕISis avatud.

Erki Eessaar:
SQL kontrolltöö tulemused (1)

22.04.2017 Kataloogis Tulemused on väljas 17. aprillil 2017-19. aprillil 2017 toimunud SQL kontrolltööde tulemused. Samuti on seal kirjas lisapunktide alusel automaatselt saadud hinded.

Erki Eessaar:
SQL kontrolltöö korraldusest

18.04.2017 Kontrolltöö ülesannete lehele ärge palun midagi kirjutage. Kui soovite, siis võite lahendamist abistavate märkmete tegemiseks kasutada tühja paberilehte. NB! Ülesannete üleskirjutamine pole lubatud.

Erki Eessaar:
Meeldetuletus

18.04.2017 Kui Te ei ole veel SQL kontrolltööle registreerunud, siis on viimane aeg seda teha. Hetkel on kolmapäeval veel vabu aegu.

Samuti on on võimalik kuni 18. aprilli 2017 hilisõhtuni (kell 23:59) teada anda, et Te ei osale 12nda nädala kontrolltöös, vaid tulete 16nda nädala järeltööle. AINULT SIIS, kui selleks ajaks sellest mulle Mauruse kaudu teatate, saate 16ndal nädalal kasutada A4 abipaberit. Sellest mulle teatamiseks tuleb minna samasse kohta, kus registreeritakse ennast kontrolltöödele ning leida alajaotuses Kontrolltöö selleks otstarbeks tekitatud aeg, mille juures ennast registreerida.

Erki Eessaar:
Mauruse täiendus - tähtajad

16.04.2017 Üliõpilastelt saadud tagasiside alusel lisasin Maurusesse funktsionaalsuse, mis kuvab üliõpilastele ainega seotud tähtaegu. Lähenevad tähtajad on näha pealehe teadete alguses ning kõik tähtajad alajaotuse "Aine tutvustus" alguses. Otsing hõlmab ka tähtaegu.

Erki Eessaar:
SQL kontrolltöö alustamine ja lõpetamine

14.04.2017 Kataloogi Aine korraldus on välja pandud juhend, kuidas SQL kontrolltööd alustada ja lõpetada. Protsessi sujuvuse huvides oleks hea, kui sellele enne kontrolltööle tulekut pilgu peale heidaksite.

Erki Eessaar:
Iseseisev töö

14.04.2017 Kataloogi Aine korraldus on välja pandud juhend iseseisva töö esitamiseks ning hindamisel osalemiseks. Iseseisva töö ettenäitamisele registreerimine on Mauruses avatud.

Erki Eessaar:
SQL

13.04.2017 Kataloogis Tulemused on väljas SQL kontrolltöö lisapunktide lõppseis. Kui olen arvestamisel teinud vigu, siis andke palun teada.

Kellel on SQL kontrolltööks 17 või rohkem lisapunkti, sellel on SQL kontrolltöö hindeks automaatselt 5. Ülejäänud peavad tegema kontrolltöö. Registreerimine kontrolltööle toimub Mauruses ja see on avatud. Palun ärge viivitage registreerimisega, sest arvutikohtade arv klassides on piiratud! Kui saite kontrolltöö hindeks tänu lisapunktidele automaatselt 5, siis kustutage palun oma registreerumine.

Lisapunktid lähevad arvesse 12nda õppenädala põhitööl ja 16nda nädala järeltööl. Lisapunktid liituvad kontrolltöö ülesannete vastuste eest saadavatele punktidele (kuus ülesannet, mis annavad kokku kuni 100 punkti; 51-60 punkti annab hinde 1; 61-70 punkti hinde 2;... 91 punkti või rohkem annab hinde 5).

Lisamaterjalide lehel on kataloogis Andmebaasid 1 => Iseseisev SQLi harjutamine => Lahendused väljas nuputamisülesannete vastused. SQL kontrolltööks õppimiseks soovitan proovida lahendada iseseisvalt lisamaterjalide lehelt kataloogist Andmebaasid 1 => Iseseisev SQLi harjutamine ülesandeid 5 ja 6. Need katavad kõiki kontrolltöös küsitavaid SQL lausete tüüpe.

Erki Eessaar:
Lisapunktid

12.04.2017 Kataloogis Tulemused on väljas lisapunktide hetkeseis (12. aprilli õhtu seisuga).

Erki Eessaar:
Keerukamaid ülesandeid

11.04.2017 Lisasin http://maurus.ttu.ee/346 lehele nuputamiste kataloogi ülesande "Hotel", kus on mõned keerukamad ülesanded harjutustundide andmebaasi (Hotell) põhjal. Panen nende vastused sellele lehele lahenduste alamkataloogi välja koos teiste nuputamisülesannet lahendustega. Teen seda selle nädala lõpuks.

Erki Eessaar:
Harjutustunnis SQL ülesannete lahendamisest

10.04.2017 Siin on harjutustustunnis SQL ülesannete lahendamise protsessi kirjeldus.

Tulles nädalas esimest korda tundi on vaja lahendada tekstifaili välja pandud ühepunktilisi ülesandeid. Kui saate need tunni jooksul valmis ja jääb aega, siis saate lahendada nuputamisülesandeid.

Kui peaksite peale seda veelkord samal nädalal harjutustundi tulema, siis saate kohe lahendada nuputamisülesandeid.

Erki Eessaar:
SQL SELECT lausete kirjutamise strateegia

09.04.2017 Olen kunagi midagi kirjutanud SQL SELECT lausete koostamise üldise strateegia/metoodika kohta. See põhineb paljuski matemaatik Georg Pólya üldist probleemilahenduse strateegiat kirjeldaval raamatul Kuidas seda lahendada.

Huvilised leiavad kirjutise: http://maurus.ttu.ee/346

Kataloog: Andmebaasid 1 => Loengud => Lisamaterjalid => fail 8

Kirjutises viidatakse ka sellele artiklile.

Erki Eessaar:
Klassifikaatorite evolutsioon

08.04.2017 Eluline näide, kuidas klassifikaatorite väärtuste hulk võib ajas täieneda. See näide on soo klassifikaatori kohta. Selliste täienduste tegemine (hetkel uute väärtuste lisamine) toimuks infosüsteemi äriarhitektuuri mõttes läbi klassifikaatorite funktsionaalse allsüsteemi. Kasutajatele esitatavate klassifikaatori väärtuste nimetused peaksid olema ühes inimkeeles.

Kui süsteem peaks võimaldama kasutajaliidese keelt muuta, siis lõppkasutaja jaoks peaks keele muutmisel muutuma nii kasutajaliidese kui klassifikaatori nimetuste keel. Viimase saavutamiseks on erinevaid SQL-andmebaasi disaine.

Erki Eessaar:
SQL kontrolltöö

08.04.2017 Kataloogi Aine korraldus on välja pandud informatsioon SQL kontrolltöö kohta, mis toimub 17-21. aprillil 2017. Nimetan järgnevalt põhipunktid.
  • Kasutate arvutiklassi arvutit - see seab kohtade arvule kindlad piirid.
  • Registreerimine on kohustuslik.
  • Registreerimisel - kes ees, see mees.
  • Pildiga isikut tõenava dokumendi esitamine on kohustuslik (lisaks aktsepteerin ka autojuhilube).
  • Avatud Ülikooli üliõpilastele on kindlad ajad.
  • Kui olete aine varem deklareerinud, siis uuesti deklareerides tuleb SQL töö uuesti teha.

Kontrolltööle registreerimine on nüüd avatud.

Palun vaadake ka kindlasti kataloogis SQL/Iseseisvaks ettevalmistuseks lõpus olevat kommentaaride faili, kus juhitakse tähelepanu paljudele kontrolltöödes esinevatele tüüpilistele probleemidele ning nende lahendustele.

Erki Eessaar:
Kontrolltöö automaatselt hinne 5

08.04.2017 Kui saate 11nda õppenädala lõpuks kokku 17 või rohkem SQL kontrolltöö lisapunkti, siis saate SQL kontrolltöö automaatselt hindeks 5. See punktisumma moodustab umbes 80% ühepunktiste ülesannete kogusummast. 2016. aastal oli lävend samasuguse suhtarvuga.

11nda õppenädala harjutustundides saab veel ülesandeid lahendada. Harjutustunnis on kolm ühepunktilist ülesannet + nuputamisülesanded.

Kui Te ei saa kontrolltööd automaatselt hinnet 5, siis lähevad kogutud lisapunktid arvesse 12nda õppenädala põhitööl ja 16nda õppenädala järeltööl.

Erki Eessaar:
SQL lisapunktidest

06.04.2017 Soovijad võivad käia nädalas rohkem kui ühes harjutuses ja lahendada punktidele keerukamaid ("nuputamise") ülesandeid.

Erki Eessaar:
13. aprill 2017

05.04.2017 Teatavasti on 14. aprill 2017 (reede) riigipüha (Suur Reede) ja sellel päeval jäävad kõik tunnid ära.

Neljapäeval 13. aprillil 2017 toimuvad "Andmebaasid I" aines kõik tunniplaanis ettenähtud harjutustunnid. Kell 12:00 toimuv harjutustund on üle viidud suuremasse ruumi ICT-501. Ülejäänud harjutustunnid toimuvad tunniplaanijärgses ruumis. Kell 16:00 algama pidanud harjutustundi alustame kell 15:45 ja siis ka lõpetame 15 minutit varem.

Rühma IAPB45 üliõpilased võiksid tulla kell 8:00 või 12:00 algavasse harjutustundi.

Rühmade IABB41 ja IABB42 üliõpilased võiksid tulla kell 15:45 algavasse harjutustundi (või ka mõnda muusse selle nädala sobivasse tundi).

Erki Eessaar:
Tagasiside küsitlus

04.04.2017 Kataloogis Aine korraldus on 3. aprillil 2017 loengus toimunud tagasiside küsitluse tulemuste kokkuvõte.

Erki Eessaar:
SQL ülesannetest

03.04.2017 Õppeaine kodulehel on kataloogis SQL/Iseseisvaks ettevalmistuseks läbi lahendatud 27 ülesannet hotelli andmebaasi põhjal (failid 5 ja 6). Failis 3 on viited nende ülesannete lahendamist kirjeldavatele lindistustele.

Lisaks viidatakse kataloogis SQL/Iseseisvaks ettevalmistuseks punktis 12 täiendavatele SQL ülesannetele ja nende lahendustele. Enamik nendest on magajate andmebaasi põhjal, kus on tabelid Magaja - Magamine - Ase. Nende struktuur on sarnane hotelli andmebaasi tabelitega Külaline - Reserveerimine - Hotell.

Nende ülesannete hulgas on analoogid kõigile harjutustunni ülesannetele.

Erki Eessaar:
SQL kontrolltöö automaatse hinde 5 lävend

01.04.2017 Määran lävendi, mille ületajad saavad SQL kontrolltöö hindeks automaatselt 5, kümnenda õppenädala lõpuks. Siis on veel kõigil lävendi alla jääjatel võimalus proovida seda lävendit 11ndal nädalal ületada.

Nendel, kes kontrolltööd automaatselt hinnet 5 ei saa, lähevad lisapunktid SQL töö hinde arvutamisel arvesse aprillis (põhikatse) ja mai keskel (esimene järeltöö) toimuvatel SQL töödel.

Erki Eessaar:
Miks õppida SQLi?

25.03.2017 SQLis kui keeles võiks kahtlemata olla palju asju teistmoodi ja paremini (vt "Andmebaasid I" teema 6 materjale). Arendajad kiristavad SQLi peale hambaid ja kiruvad, kuid ikkagi kasutavad seda.

Miks nad seda teevad? 2017. aasta märtsi seisuga on kümne kõige populaarsema andmebaasisüsteemi hulgas seitsmes kasutusel SQL. Sellest tulenevalt on lisaks arendajatele SQL hädavajalik keel andmeteadlastele. Nad peavad kuidagi enda uurimismaterjalile e andmetele ligi pääsema ja sageli on selleks vaja kasutada SQLi.

Näiteks üleeuroopalisel suurandmete töötlemise maratonil 2017. aastal kolmanda koha saanud meeskonna liige kommenteeris, et sisendandmed olid SQL-andmebaasis, hierarhiatena, Adjacency List (külgnevusnimistu) mudeli alusel. Ta ütles SQLi kasutamise kohta: "asi kisub vist hoopis sql hackathoniks. /.../ eeltöötlus ja andmebaasides ringirändamine ja avastamine on 80-90% ajast."

Osalejatele anti vahendite valik vabaks. Eesti meeskond otsustas esmajoones kasutada PostgreSQLi. See tähendab, et andmed laaditi PostgreSQLi tabelitesse ja otsiti vastuseid küsimustele kasutades SQL päringuid.

Ainult siis, kui PostgreSQL jäi töökiiruse mõttes hätta ("5+ JOINiga päringutel kulus tulemusteni üle 15 minuti (võtmeveergude indekseerimised jm. "hügieenilised" tegevused olid eelnevalt tehtud)"), laaditi andmed päringu tegemiseks Hadoop klastrisse. Ka seal läks vaja SQLi oskust, sest läbi Hive pakutava liidese saab klastris olevate andmete poole pöörduda kasutades SQL-laadset keelt HiveQL. PostgreSQL päringuid polnud vaja palju muuta, kuid töökiiru paranes kuni 10 korda. Samas kommenteeris üks meeskonna liikmetest, et "Kui Hackathlonil poleks ajapiirangut olnud, siis selle andmestiku puhul oleks saanud ka ilma Hiveta."

Samuti kasutati hajusarvutuste platvormi Spark, kuid ka selle kasutamiseks on kasulik SQLi tunda.

Arvatavasti olete kuulnud NoSQL (kes interpreteerib seda kui "No to SQL", kes aga "Not only SQL") süsteemidest. Need süsteemid sõitsid 2010ndatel suure hurraaga turule, kui järjekordsed printsid valgel hobusel, mis pidid andmebaaside maailma kõigist hädadest päästma. Eriti alguses vastandusid need (nagu nimigi viitab) kõvasti SQLile. Nüüdseks aga on üha rohkemates sellistes süsteemides kasutusele võetud kõrgtaseme (deklaratiivne) päringukeel, mis kangesti meenutab SQLi. Nii et kui "päris" SQLi oskate, siis pole keeruline ka neid uusi keeli suhu saada. Näited:

  • CQL (Cassandra Query Language, andmebaasikeel veergude perekondade põhises andmebaasisüsteemis Cassandra).
  • N1QL (päringukeel dokumendipõhises andmebaasisüsteemis Couchbase).
  • SPARQL (standardiseeritud päringukeel andmebaasisüsteemidele, mis põhinevad RDF (Resource Description Framework, ressursside kirjeldamise karkass) andmemudelil).
  • PGQL (katse pakkuda graafipõhistele süsteemidele välja ühtlustatud SQLi-laadset päringukeelt).
  • Cypher (päringukeel graafipõhises andmebaasisüsteemis Neo4J).

Erki Eessaar:
Lisapunktide test kümnendal õppenädalal

24.03.2017 Kümnendal õppenädalal (03.04.2017-07.04.2017) on harjutustundide alguses võimalik teha vabatahtlikku lisapunktide testi. Testi teemad:
  • Slaidikomplekti "SQL‑andmebaaside projekteerimise põhimõisteid" teine osa (alajaotis "SQL-andmebaasi disain" - kuni slaidikomplekti lõpuni) (kataloogis SQL/Iseseisvaks ettevalmistuseks).
  • Slaidikomplekt "Kontseptuaalne andmemudel" (kataloogis Teooria testideks (vahetestid, eksam) valmistumine).
  • Kõik loengutes ja harjutustes iseseisva töö projektist räägitu + iseseisva töö juhendid.

Testil osalemiseks on kohustuslik registreerida. Registreerimine toimub Mauruse kaudu: Üldist => Teadmiste kontroll. Registreerimisel pole vaja kommentaari välja midagi kirjutada. Testil osalemiseks peab olema kaasas isikut tõendav dokument (raamatukogu- krediit- jms kaardid ei sobi ja nendega testi teha ei saa; autojuhiluba sobib).

Test toimub elektrooniliselt, Mauruse testikeskkonnas. Kasutada võib arvutiklassi arvutit või oma arvutit (erinevalt eksamist ja SQL kontrolltööst, mis toimub ainult arvutiklassi arvutites). Küsimustele vastamiseks materjale kasutada ei või. Testis on kümme juhuslikult valitud küsimust, vastamiseks on aega 20 minutit. Küsimused on valikvastustega ning ainult üks vastuse variant on õige. Tulemuse saate teada kohe, kuid vastuste õigsust saab vaadata üheteistkümnenda nädala harjutustundides. Nädala jooksul saab testi teha maksimaalselt ühe korra. Kui Te ei soovi testi teha, siis tulge palun tundi 25 minutit peale tunni algust.

Testi saab teha ette, kuid mitte järgi.

Erki Eessaar:
Teen MS Accessis currency veeru põhjal näiteks summeerimise või keskmise leidmise päringu. Tulemuses ei ole valuuta tähiseks Eur. Mida teha?

15.03.2017 Vastus

Mauruse otsingu funktsionaalsus

12.03.2017 Mauruse kasutajad soovivad sageli, et seal oleks otsingu funktsionaalsus. Lisasin Maurusesse selle funktsionaalsuse. Otsing on võimalik kodulehe piires. Leiate võimaluse seda teha iga aine kodulehelt alajaotusest Üldist=>Otsing. Otsing toimub üle materjalide metaandmete, teadete, helpdeski küsimuste/vastuste ning viidete. Otsingu tulemused on ühel lehel nende kategooriate kaupa grupeerituna. Materjale, teateid ja helpdeski küsimusi/vastuseid on otsingu tulemuses igaühte kuni 10. Viiteid on tulemuses kuni 20. Materjalide puhul ei toimu otsing mitte failide sisu, vaid materjale kirjeldavate andmete (metaandmete) põhjal.

Kuna Maurus kasutab PostgreSQL andmebaasisüsteemi, siis tegi PostgreSQLi pakutav täisteksti otsingu funktsionaalsus selle funktsionaalsuse realiseerimise lihtsamaks.

Järgnevalt esitan koodinäite.

Näiteks oletame, et tahan lisada teadete otsimise võimaluse ning et andmebaasis on tabel Avalik_teade, üle mille veergude pealkiri ja sisu peaks otsing toimuma.

Avalik_teade(avalik_teade_id, pealkiri, sisu)
Primaarvõti(avalik_teade_id)

Lisan tabelisse veeru tsv, mis hakkab iga teate korral sisaldama spetsiaalset pealkirja ning sisu kokkuvõtet ja on ühtlasi aluseks nende alusel otsingute tegemisele. See veerg on tüüpi tsvector. See on spetsiifiline PostgreSQLi andmetüüp.

ALTER TABLE Avalik_teade ADD COLUMN tsv tsvector;

Loon tabeliga seotud trigeri, mis andmete tabelisse lisamisel või muutmisel värskendab veergudes pealkiri ja sisu olevate andmete põhjal veerus tsv olevaid andmeid. Kahjuks ei toeta kasutatav PostgreSQL versioon võimalust määrata, et triger peaks käivituma ainult siis, kui andmeid muudetakse (UPDATE) mingis kindlas veerus. Kahjuks ei ole täistektiotsingutel eesti keele tuge, tänu millele oskaks andmebaasisüsteem otsingu tegemisel arvestada keele eripäradega. Seega kasutan inglise keele (pg_catalog.english) reegleid.

CREATE TRIGGER teade_tsv_iu BEFORE INSERT OR UPDATE
ON Avalik_teade FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(tsv, 'pg_catalog.english', pealkiri, sisu);

Teen andmemuudatuse, mis tänu eelnevale trigerile tingib andmete lisamise veergu tsv.

UPDATE Avalik_teade SET pealkiri=pealkiri;

Veerus tsv on nüüd andmed nagu: 26,231,261 'segamini':253 'sell':24 'sellel':100 'sellest':91 'sellis':132 '

Loon veerule tsv otsingu kiirendamiseks indeksi.

CREATE INDEX teade_tsv_idx ON Teade USING gin(tsv);

Muudan veeru tsv kohustuslikuks.

ALTER TABLE Teade ALTER COLUMN tsv SET NOT NULL;

Järgnev päring leiab tabelist Avalik_teade sellised teated, mis sisaldavad sõna "SQL". Päring väljastab teate identifikaatori, pealkirja, sisu ning pealkirja ja sisu põhjal moodustatud kokkuvõtte, kus on otsisõna esile tõstetud. Päringu tulemus on sorteeritud tulemuse relevantsuse hinnangu alusel kahanevalt.. Päringu tulemuses on maksimaalselt 10 rida..

SELECT avalik_teade_id, pealkiri, sisu, ts_headline(pealkiri || ' ' || sisu, q) AS fragment
FROM (SELECT avalik_teade_id, pealkiri, sisu, q, ts_rank_cd(tsv,q) AS rank
FROM Avalik_teade, to_tsquery('SQL') AS q
WHERE tsv @@ q

ORDER BY rank DESC LIMIT 10) AS foo;

Erki Eessaar:
Harjutustunniks ettevalmistumine (SQL)

09.03.2017 Kataloogis SQL/Iseseisvaks ettevalmistuseks on väljas materjal, mida võiksite uurida enne seitsmenda nädala harjutustundi tulemist. Faili juurde on kirjutatud Ettevalmistus seitsmendaks õppenädalaks.

Samal põhimõttel faile lisandub kõigil järgnevatel nädalatel kuni SQL kontrolltööni (12. õppenädal). Eraldi teateid selle kohta ma enam ei saada.

Erki Eessaar:
Julgustus, miks pühendada aega SQLi õppimisele.

07.03.2017 NoSQL and Technical Debt. Ajaveebi postitus, mis selgitab, miks NoSQL süsteemide ilmumine pole muutnud väärtusetuks SQLi ning andmebaaside projekteerimise õppimist. Nende oskuste puudumine on arendajatel võlg, mis tuleb hiljem intressidega tagasi maksta. NoSQL oma "skeemitute" andmetega loob tegelikult tehnilist võlga.

Erki Eessaar:
Projektist

04.03.2017 E-poed võivad lao ning kohaletoimetamise teenuse sisse osta või sellega ise tegeleda. Siin on hea näidetega eestikeelne ülevaade mõlema lahenduse eelistest ja puudustest ning realiseerimisest.

Organisatsioonile võivad teha ettekirjutusi erinevad riiklikud ja kohaliku omavalitsuse organisatsioonid. Seega on üks põhiobjekt Ettekirjutus. Toon näiteid.

Kui organisatsioon (nt kauplus, teenindusasutus, toitlustusasutus, majutusasutus) esitab avalikult muusikapalasid (isegi raadiost või TV-st), siis tuleb selle eest maksta autoritasu. Eesti Autorite Ühingu kodulehel tuleb täita repertuaari aruandlust. See tähendab, et põhiobjektide hulgas peaks olema:

  • Leping (organisatsioon sõlmib "ühe Eesti Autorite Ühinguga ja teise (olenevalt valdkonnast, kus muusikat kasutatakse) kas Eesti Esitajate Liidu või Eesti Fonogrammitootjate Ühinguga. Eesti Esitajate Liit ja Eesti Fonogrammitootjate Ühing teostavad oma õiguseid selles valdkonnas ühiselt." (viide)).
  • Muusikapala esitus
  • Võibolla ka Muusikapala ja Autor.

Kaupade arvestuse teema korral tuleb mõelda, kuidas näiteks kõik sellised andmed andmebaasis ära registreerida. Lahendusi pakuvad kataloogis Iseseisva töö projekti tegemine/Juhendid ja töö harjutustunnis olevad kaupade registri olemi-suhte diagrammide näited.

Kui infosüsteemi põhiobjektide hulgas on Töögraafik ja Töötamine, siis vastavate funktsionaalsete allsüsteemide ning registrite ise realiseerimise asemel võib näiteks kasutada seda tarkvara.

Erki Eessaar:
Vastutustundlik arendaja

04.03.2017 TTÜ raamatukogu ning Safari Books Online vahendusel pääsete Te ligi Robert C. Martini raamatule Clean Code.

Selle raamatu ideed kehtivad ning on olulised ka andmebaaside ja infosüsteemide ainete jaoks. See raamat jagab juhiseid vastutustundlikule arendajale.

Täpselt nii nagu vastutustundlik arendaja loob ainult puhast rakenduse koodi, loob ta ka ainult puhast andmebaasikeele koodi ja puhtaid mudeleid. Üldine idee on täpselt sama! Suure tõenäosusega hakkate neid ise tulevikus lugema. Või kui ei hakka ise, siis hakkab keegi teine. Puhast artefakti (tehist) on hea ja meeldiv lugeda, sellest saab kergesti aru ning kokkuvõttes on tehist tänu sellele lihtsam edasi arendada. Samal ajal "räpane" tehis võib küll oma hetke eesmärki täita (hetkel see "töötab" nagu vaja), aga halva arusaadavuse ning loetavuse tõttu on seda raske parandada ja edasi arendada. Sellised tehised vajavad refaktoreerimist. Refaktoreerimist vajavad kohad leiab üles halva lõhna järgi. Täpselt nagu on olemas halvasti lõhnav lähtekood, leidub ka halvasti lõhnavaid disaine, halvasti lõhnavaid andmebaasi disaine ja halvasti lõhnavaid mudeleid. Kui Te ei taga enda loodavate artefaktide puhtust, siis te kogute tehnilist võlga. Tehniline võlg tähendab, et tehise muutmiseks on vaja liigselt pingutada. Nagu me kõik inimeste elust teame, siis võlg võib kiiresti kasvada ja kontrolli alt väljuda. Laenu võtta (võlgu jääda), võib teadlikult - lootuses, et see tasub ennast ära, aga see on risk.

Halvasti lõhnava mudeli illustratsiooniks on teatele lisatud ekraanipilt Enterprise Architect abil loodud modelleerimise projektist. Mudeli elemendid on seal süsteemitult segamini nagu puder ja kapsad ning mida suuremaks see projekt kasvab seda raskem oleks sealt vajalikku üles leida.

Erki Eessaar:
Microsoft Imagine

04.03.2017 Selle keskkonna kaudu esitatud Microsoft Imagine keskkonnale juurdepääsu taotluseid täidetakse sellel semestril veel kaks korda.
  • Taotlused, mis on esitatud 9. märtsiks 2017 kell 23:59.
  • Taotlused, mis on esitatud 14. aprilliks 2017 kell 23:59.

Erki Eessaar:
Tulemused

03.03.2017 Esimese lisapunktide testi tulemused on nüüd kataloogis Tulemused olevas failis. Kui märkate vigu, siis andke palun teada. Juhin tähelepanu, et aruandes on punktid kahes osas - kõigepealt tuleb SQL lisapunktide pingerida ja siis eksami lisapunktide pingerida.

Erki Eessaar:
Töövihiku viga

02.03.2017 Töövihiku CRUD maatriksis on viga (infot on puudu). Palun vaadake õiget CRUD maatriksi fragmenti teatele lisatud failist (punasega allajoonitud kohti on vaja muuta).

Lisaks asendage palun tabelis 5 (Olemitüüpide sõnalised kirjeldused) X_kategooria_tyyp => X_kategooria_tüüp

Diagrammil ja diagrammi elementide tekstikirjeldustes tuleb kasutada ühesuguseid nimesid!

Erki Eessaar:
Andmebaasi äriarhitektuuri analoogia

25.02.2017 Andmebaas on nagu päikesesüsteem.
  • Päikese rollis on organisatsiooni eesmärgid. Kõik mis organisatsioonis IT vallas (sh andmebaasidega) tehakse, peab olema nende eesmärkide teenistuses, mitte vastupidi. Seega planeedid (andmebaasi osad) tiirlevad ümber päikese (organisatsiooni eesmärkide), mitte vastupidi.
  • Päikese ümber tiirlevad planeedid vastavad põhiobjektidele e põhiolemitüüpidele.
  • Nende ümber tiirlevad omakorda kaaslased e kuud, mis vastavad mitte-põhiobjektidele.
  • Iga planeet-planeedi kaaslased süsteem vastab andmebaasi äriarhitektuuris ühele registrile. Nii nagu iga kuu tiirutab ümber kindla planeedi on ka iga mitte-põhiobjekt kindla registri tiiva all. Igal planeedil on null või rohkem kuud; igal põhiobjektil on null-või rohkem samasse registrisse kuuluvat mitte-põhiobjekti.
  • Lisaks planeetidele tiirutavad ümber päikese ka asteroidid. Neist võib andmebaaside analoogias mõelda, kui andmestruktuuridest, mis on vajalikud ühe või teise rakenduse töö hõlbustamiseks, kuid mis ei kuulu ühtegi registrisse (nt disainitaseme abitabelid).
  • Ümber planeetide (hetkel teadaolevalt ainul Maa, aga hiljem miks mitte ka mõni teine planeet) tiirutavad kunstlikud tehiskaaslased, mis on sinna planeedi asukate poolt saadetud, kuid mingil hetkel planeedile tagasi langevad ja selle käigus ära põlevad. Need on nagu registris olevad ajutiste andmetega andmestruktuurid, mida läheb vaja mingi konkreetse ülesande (nt konkreetse päringu) täitmiseks, kuid mis millalgi oma otstarbe kaotavad ja seega võib eemaldada.
  • Nii nagu andmebaas või meie arusaam selle ülesehitusest ajas muutub, muutub ka päikesesüsteem (nt planeet püüab gravitatsiooni mõjul kinni mõne pisitaevakeha, mis muutub selle planeedi kuuks) või meie arusaam sellest (nt muutub arusaam sellest, millised taevakehad kuuluvad planeetide hulka).
  • Nii nagu kunagi kustub päike, nii saab kunagi otsa ka organisatsiooni ja selle IT süsteemide (sh andmebaasisüsteemi toega andmebaasi) elukaar.

Erki Eessaar:
Välised tegutsejad

22.02.2017 Süsteemi välisteks tegutsejateks võivad olla teised infosüsteemid. Selle näiteks majutusasutuste valdkonnas on siseministri poolt 2017. aasta veebruaris esitatud plaan luua majutusasutuste külastajate register. Sellesse registrisse jõuaks automaatselt info kõigi Eesti majutusasutuste külastajate kohta. Registris toimuksid automaatsed päringud, mis otsivad riigile huvipakkuvaid isikuid (nt tagaotsitavaid). Kui vasteid ei saada, kustutakse inimese info omakorda ööpäeva jooksul.

Võimalik lahendus on, et iga majutusasutuse infosüsteem realiseerib klientide andmeid pakkuva veebiteenuse. Majutusasutuste külastajate registri tarkvara pöördub regulaarselt selle veebiteenuse poole ja "tõmbab" majutusasutuste andmebaasidest külastajate andmeid kesksesse registrisse (näiteks JSON või XML dokumendina). Sellisel juhul on majutusasutuste külastajate register majutusasutuse infosüsteemi üks väline tegutseja.

Võimalik on ka see, et majutusasutuse infosüsteemi tarkvara võtab ise regulaarselt külastajate registri tarkvaraga ühendust ja "lükkab" sinna külastajate andmeid. Sellisel juhul ei ole majutusasutuste külastajate register majutusasutuse infosüsteemi üks väline tegutseja. Selline lahendus oleks majutusasutuste jaoks keerulisem ja kulukam realiseerida.

Pange selle uudise puhul tähele ka seda, et seadustega võivad olla ette nähtud reeglid, milliseid andmeid võib/peab kui kaua säilitama. Kui hakkate mistahes infosüsteemis mõtlema funktsionaalsusele "Kustuta X", siis tuleb selliste nõuetega arvestada. "Kuigi automaatsest registrist kustuvad inimese andmed üldjuhul ööpäevaga, siis majutusasutused ise peavad plaani kohaselt inimeste infot hoidma alles kaks aastat, et ametkonnad saaks vajadusel seda hiljem kontrollida."

Rääkides keskse külastajate registri tehnilisest realisatsioonist, siis järgnev pakub välja ühe võimaliku lahenduse. Andmebaasisüsteem PostgreSQL toetab JSON ja JSONB andmetüüpe (tabelites võivad olla seda tüüpi veerud ja nendes veergudes võivad olla JSON dokumendid). Külastajate andmed laetakse veebiteenuse poolt alla ja salvestatakse dokumentidena PostgreSQL andmebaasi. Nende andmete põhjal tehakse päringuid. Kui leitakse huvipakkuv isik, siis tema andmed kirjutatakse eraldi tabelisse, kus võibolla ei ole enam JSON/JSONB tüüpi veergu, vaid selle asemel, on isiku atribuutidele vastavad andmed (eesnimi, perenimi, isikukood, ...) eraldi veergudes. Huvipakkuvate isikute otsimiseks, nende andmete eraldi tabelisse tõstmiseks ja ülevaadatud külastajate andmete kustutamiseks luuakse andmebaasis funktsioonid. Neid funktsioone on vaja regulaarselt käivitada.

Kui soovite teha regulaarselt mingit tööd PostgreSQL andmebaasis (näiteks käivitada regulaarselt funktsiooni), siis tuleb selleks kasutada operatsioonisüsteemi vahendeid. Näiteks UNIXI-laadsetes operatsioonisüsteemides saab kasutada deemonit Cron, mis vastutab automaatsete operatsioonide eest. "Deemon on tagaplaanil jooksev programm, mis teostab teatud ettemääratud operatsioone kindlate ajavahemike tagant või vastuseks mingitele sündmustele." (Vallaste, 2001-2017, http://www.vallaste.ee/)

Majutusasutuse infosüsteemi klientide funktsionaalses allsüsteemi kirjelduses oleks kasutusjuht "Lae alla külastajate andmed", mis on seotud tegutsejaga Majutusasutuste külastajate register.

Erki Eessaar:
22. veebruari 2017 kell 14:00 harjutustund

21.02.2017 Erakorralistest asjaoludest tulenevalt ei viibi ma 22. veebruari 2017 kell 14:00 harjutustunnis (rühmale IAPB43, ruum ICT-405) ise kohal. Ruum on üliõpilastele iseseisva töö projekti tegemiseks avatud.

Projekti tegemist tuleks jätkata vastavalt loengus räägitule ning vastavalt juhendi sammudele, mille leiate dokumendist Iseseisva töö projekti tegemine => Juhendid ja töö harjutustunnis => Projekti juhend, mis on ühtlasi tööjuhend harjutustundideks 3-6.

Teen ettepaneku, et peale seda kui olete kirja pannud põhiobjektide ja tegutsejate nimekirja, vaataksite naaberrühmaga vastastiku üksteise nimekirjad üle ja arutaksite üheskoos läbi.

Selle nädala harjutustunnid, kuhu võite samuti tulla.

  • Kolmapäeval kell 12:00 ruumis ICT-402
  • Neljapäeval kell 08:00 ruumis ICT-404
  • Neljapäeval kell 12:00 ruumis ICT-501

IASM üliõpilased võivad muidugi tulla ka kolmapäeval kell 10:00 toimuvasse ingliskeelsesse harjutustundi ruumis ICT-401.

Vabandan võimalike probleemide või ebamugavuse pärast!

Erki Eessaar:
Juhtumianalüüs Eesti pensionide ja sotsiaaltoetuste maksmise infosüsteemi näitel

21.02.2017 Juhin Teie tähelepanu Postimehe 21.02.2017 artiklile "Riigi olulisema infosüsteemi seis: tengelpung lõhki, kalender ribadeks, aga lootust on".

Paljude infosüsteemide arendamisel tekib kahjuks olukord, et arendus läheb oodatust kallimaks ja võtab eeldatust rohkem aega. Selles artiklis on sellise olukorra tekkimise ja põhjuste väga ilmekas kirjeldus Eesti pensionide ja sotsiaaltoetuste maksmise infosüsteemi näitel. Seda infosüsteemi kasutatakse igapäevaselt 110 erinevat liiki toetuse ja pensioni maksmiseks kokku 700 000 inimesele. Kokkuvõtlikult:

  • Arenduse valmimine lükkub edasi vähemalt 1,5 aastat.
  • Projekt läheb kallimaks vähemalt 1,5 miljonit.
  • Arendajad on maksnud riigile 180 000 eurot trahve.

Otsene seos käesoleva aine temaatikaga tekib sellest, et algselt asuti kogu keerulist süsteemi arendama tervikuna. See oli närimiseks liiga suur suutäis. Tõmmake paralleele sellega, et võtate suu täis mingit kõva maiustust ja siis ei saa isegi hambaid liigutada.

Nüüdseks on otsustatud arendamist jätkata osade kaupa. Need osad vastavad funktsionaalsetele allsüsteemidele. Süsteemi jagamine allsüsteemideks võimaldab allsüsteemide arendamist järk-järgult, arenduse tellimist erinevate hangetega ja võimalik, et erinevatelt firmadelt - täpselt nii nagu nüüd plaanitakse. Kuna iga hanke tulemusena tuleb teha valmis väiksem "tükk", siis on ka tähtajad paremini saavutatavad.

Erki Eessaar:
Lisapunktide test viiendal õppenädalal

17.02.2017 Viiendal õppenädalal (27.02.2017-03.03.2017) on harjutustundide alguses võimalik teha vabatahtlikku lisapunktide testi. Testi teemad:
  • Slaidikomplekti SQL‑andmebaaside projekteerimise põhimõisteid esimene osa (alajaotised "Sissejuhatus" ja "SQL") (kataloogis SQL/Iseseisvaks ettevalmistuseks).
  • Teise õppenädala harjutustunni ülesanne.

Testil osalemiseks on kohustuslik registreerida. Registreerimine toimub Mauruse kaudu: Üldist => Teadmiste kontroll. Registreerimisel pole vaja kommentaari välja midagi kirjutada. Testil osalemiseks peab olema kaasas isikut tõendav dokument (raamatukogu- krediit- jms kaardid ei sobi ja nendega testi teha ei saa; autojuhiluba sobib).

Test toimub elektrooniliselt, Mauruse testikeskkonnas. Kasutada võib arvutiklassi arvutit või oma arvutit (erinevalt eksamist ja SQL kontrolltööst, mis toimub ainult arvutiklassi arvutites). Küsimustele vastamiseks materjale kasutada ei või. Testis on kümme juhuslikult valitud küsimust, vastamiseks on aega 20 minutit. Küsimused on valikvastustega ning ainult üks vastuse variant on õige. Tulemuse saate teada kohe, kuid vastuste õigsust saab vaadata kuuenda nädala harjutustundides. Nädala jooksul saab testi teha maksimaalselt ühe korra. Kui Te ei soovi testi teha, siis tulge palun tundi 25 minutit peale tunni algust.

Testi saab teha ette, kuid mitte järgi.

Erki Eessaar:
Süsteemianalüüs

15.02.2017 Oma iseseisva töö projekti tegemise käigus tuleb Teil ennast panna süsteemianalüütiku rolli. Siin on 15.02.2017 Postimehes ilmunud artikkel analüüsi olulisusest süsteemide loomisel ning sellega seotud valikutest haridusmaastikul.

Erki Eessaar:
23. veebruar 2017

15.02.2017 Pühade-eelse päevana on 23. veebruaril ülikoolis lühendatud tööpäev. 23. veebruari harjutustunnid õppeaines "Andmebaasid I" toimuvad järgnevalt.
  • Kell 8:00 algav harjutustund rühmale IAPB46 toimub nagu tavaliselt.
  • Kell 12:00 algav harjutustund rühmale IAPB44 toimub ruumis ICT-501. See on suurem ruum, et soovi korral saaksid osaleda ka rühmade IABB41, IABB42 ja IABB43 üliõpilased.
  • Kell 16:00 algav harjutustund rühmale IABB43 jääb ära.

Ärajäävates harjutustundides käijad võivad tulla ka mõnda teise harjutustundi (v.a. kolmapäev kell 10:00, sest siis on tund inglise keeles).

Erki Eessaar:
Microsoft Imagine

14.02.2017 Kõigile 2. veebruariks taotluse esitanutele on Microsoft Imagine keskkonnale juurdepääs antud. Teie @ttu.ee meilikontole peaks olema saabunud edasiste juhistega kiri.

Edaspidi toimub Microsoft Imagine keskkonnale juurdepääsu andmine jätkuvalt portsude kaupa (järgmine taotluste esitamise tähtaeg on 9. märts 2017) ning loodetavasti tõrgeteta.

Erki Eessaar:
Kontseptuaalne andmemudel

11.02.2017 Kataloogis Teooria testideks (vahetestid, eksam) valmistumine on nüüd väljas materjal kontseptuaalse andmemudeli kohta. Esiteks on kontseptuaalne andmemudel oluline tehis, mis on vaja luua andmebaasi projekteerimise (ja seega ka Teie iseseisva töö) käigus. Teiseks on see materjal üks nendest, mille põhjal toimub 10-nda õppenädala lisapunktide test.

Erki Eessaar:
Iseseisva töö projektiga alustamisest

11.02.2017 Kõik, kes teevad töövihikul põhinevat projekti, peaksid võimalikult kiiresti alustama sellest, et loevad algusest peale mõttega läbi projekti malli dokumendi ning asendavad seal igal pool suurtähe X õiges käändes olemitüübi nimega (kaup, teenus, rada, peatus, parklakoht, ...). Selle olemitüübi panite kirja iseseisva töö teema registreerimisel ja see on Teie projekti fookus.

Kui olete tööle saanud Enterprise Architect või Rational Rose CASE vahendi, siis laadige töövihiku malli kataloogist alla mudelite malli fail ning tehke süstemaatiline suurtähe X asendus ka seal.

Jaotises 2.2.2 Andmebaasioperatsioonide lepingud jätke väiketäht x asendamata. See on olemi eksemplari tähis ja võib jääda selliseks nagu see on.

Mida rutem seda teete, seda rutem saate aru, milline on projekti struktuur, modelleeritavad protsessid ning kuhu see töö lõpuks välja jõuab. Nii on ka palju lihtsam loengutest aru saada.

Erki Eessaar:
Andmete olulisusest

11.02.2017 Uudis andmete olulisuse kohta, mis kirjeldab ühte võimalikku tulevikku.

Autode sensorite abil kogutavad andmed kuuluvad suurandmete kategooriasse.

Kokkuvõtteks võib öelda, et suurandmeid iseloomustamiseks kasutatakse järgnevaid kriteeriume.

  • Volume – koguhulk on suur.
  • Velocity – uute saabuvate andmete hulk on suur – andmeid tulvab nagu kosest juurde ja nende põhjal on vaja kohe midagi järeldada. Näiteks ennustuste kohaselt on aastal 2020 arvutisüsteemides loodavate andmete hulk 44 korda suurem kui aastal 2009.
  • Variety – andmestruktuuride varieeruvus on suur – erinevad formaadid, muutuv struktuur.
  • Veracity – andmed peaksid olema usaldusväärsed.
  • Value – andmete uurimine annab väärtust.

Erki Eessaar:
Projekti jaoks rühma moodustamise soov

11.02.2017 Järgnevad üliõpilased teevad projekti üksinda ja otsivad endale projektikaaslast või kaaslaseid.
  • Nikolai Lomaško: rewarty@gmail.com (autorendiettevõtte autode arvestus)
  • Gerli Eltermaa: gerlieltermaa@hot.ee (ürituste korraldamise ettevõtte ürituste arvestus)
  • Evelin Tamm: evelin.tamm@tallinnlv.ee (ilusalongi teenuste arvestus)

Teema valikut, tegemise viisi (töövihik vs omalooming), rühmade koosseisu ja kasutatavaid vahendeid võib muuta ka peale 10. veebruari. Palun muutke sellisel juhul ka teema registreerimise ülesande vastust, et teaksin muudatuse toimumisest.

Erki Eessaar:
Lisapunktid

10.02.2017 Kataloogis Tulemused olevas failis on kirjas üliõpilaste kogutud lisapunktid. Kui leiate vigu, siis andke palun teada.

Erki Eessaar:
Semestri õpingukava esitamise tähtaeg

08.02.2017 Tuletan meelde, et semestri õpingukava esitamise tähtaeg majandus-, infotehnoloogia- ja energeetikateaduskonna üliõpilastele on neljapäeval 9. veebruaril 2017 kell 17.00. Vaadake palun ÕISist üle, kas olete esitamise nuppu vajutanud.

Erki Eessaar:
MS Accessi saamine ülikooli kaudu

06.02.2017 TTÜ üliõpilastel on võimalik saada ülikooli kaudu oma isiklikku arvutisse MS Office kontoripakett (sh MS Access) tasuta ka ilma Microsoft Imagine keskkonda kasutamata. Selleks tuleb järgida seda juhendit.

Erki Eessaar:
Andmebaasisüsteemide populaarsuse indeks

03.02.2017 Siin on iga kuu uuendatav andmebaasisüsteemide populaarsuse indeks.

Erki Eessaar:
Microsoft Imagine

03.02.2017 Piinlikkusega pean teatama, et hetkel pole võimalik Microsoft Imagine keskkonnale juurdepääsu anda. Millegipärast ei ole TTÜ Imagine programm avatud. Arved on tasutud, kuid TTÜ IT osakond pole kahe kuu jooksul juurdepääsu avamisega hakkama saanud. Minuni jõudis see info alles 3. veebruaril 2017. Teavitan kohe, kui midagi uut selgub.

Teise õppenädala harjutustund toimub plaanipäraselt. Arvutiklassi arvutites on MS Access olemas, samuti on see osadel olemas eeldusaine õppimise ajast. Kui Teie arvutis pole MS Accessi, siis tasub tulla tundi, kus on ilmselt vähem rahvast (vt eelmine teade), et loodetavasti arvutiklassi arvuti taha mahtuda. Kui Teie arvutis on LibreOffice Base, siis suurem osa lisapunktide ülesandest on võimalik ka selle põhjal lahendada (ja saada osa punktidest).

Erki Eessaar:
Harjutustundides käimine

03.02.2017 See info puudutab kõiki järgnevaid üliõpilasi.
  • Avatud Ülikooli kaudu deklareerijad
  • Kursuse kordajad (olete varem selle aine tundides käinud)
  • Õppeaine vabaainena õppijad (aine ei ole Teie õppekavas)
  • Üliõpilased, kellele ei sobi tunniplaani järgne harjutustunni aeg

Te EI SAA käia (ja lisapunkte koguda) järgnevates harjutustundides.

  • Kolmapäeviti kell 10:00 (inglise keeles)
  • Kolmapäeviti kell 14:00 (liiga väike ruum)
  • Neljapäeviti kell 16:00 (liiga palju rahvast)

Kõige sobivamad on käimiseks järgmised ajad, millal vähemalt esimesel nädalal oli tunnis eriti vähe üliõpilasi.

  • Neljapäeviti kell 8:00
  • Reedeti kell 14:00

Lisapunktide ülesannete lahendamise tundides ei saa toole ruumi juurde tuua, sest siis istuvad osalejad liiga tihedalt ja see kaotab individuaaltöö mõtte.

Erki Eessaar:
Iseseisva töö teema registreerimine

03.02.2017 Tähtajaga 10. veebruar 2017 (kaasa arvatud) tuleb vastata iseseisva töö valikuga seotud küsimustele (st saada selgeks ülesande püstitus, valida teema ja panna kokku tegijate rühm). Seda tuleb nii varakult teha, et saaks alates kolmandast nädalast harjutustundides sisukalt ja efektiivselt kaasa töötada.

Iseseisva töö registreerimiseks valige õppekeskkonna vasakpoolsest menüüst "Tudeng=>Ülesanded" ning avanenud leheküljelt ülesanne "Iseseiseva töö teema registreerimine".

Kui teete iseseisvat tööd rühmatööna, siis peab teema registreerima üks rühma liige (iseseisvat tööd võib teha 1-3 liikmelistes rühmades).

Enne vastamist on kindlasti vaja tutvuda ülesande püstitusega, mille leiate kataloogist Aine korraldus.

Erki Eessaar:
Mul on arvutiks Mac / minu arvutil on Linux operatsioonisüsteem. Millist tarkvara soovitate kasutada?

02.02.2017 Vastus.

Erki Eessaar:
Millele oleks eriti oluline andmebaaside õppimisel tähelepanu pöörata?

Erki Eessaar:
Vääritu käitumise menetlemise kord

30.01.2017 Infotehnoloogia teaduskonnas kehtib õppuri akadeemiliste tavade rikkumise ja vääritu käitumise menetlemise kord. Selles dokumendis määratakse ära, milliseid õppuri poolseid tegevusi loetakse akadeemiliselt väärituks käitumiseks ning millised on tegevused ja võimalikud ametlikud tagajärjed õppuri jaoks (noomitus, eksmatrikuleerimine) kui ta millegi sellisega hakkama saab.

Palun Teilt järgnevat.

  • Ärge jagage enda tehtud projekte teiste üliõpilastega.
  • Ärge tehke kellegi teise eest tema tööd ära.
  • Ärge taluge projekti meeskonnas liikmeid, kes teistega võrdselt töösse ei panusta.

Sellega teete tegelikult neile palju halba, sest nad ei õpi midagi!!! Veel enam, Te teete kahju endale, sest teadmisteta/oskusteta lõpetajad kahjustavad tööandjate silmis kõigi diplomisaajate mainet.

Kui mõni projekti kaaslane ei panusta piisavalt, siis arvake ta palun oma projektist välja ja teavitage sellest (nt õppekeskkonna kaudu) õppejõudu.

Erki Eessaar:
Ettevalmistus teise õppenädala harjutustunniks

30.01.2017 Kes vaatab enne teise nädala harjutustunde juba slaidikomplekti SQL => Iseseisvaks ettevalmistuseks => SQL-andmebaaside ja nende projekteerimise põhimõisteid (kõigepealt slaidid 120-140 ja hea oleks ka 1-80), sellel läheb usutavasti teises harjutustunnis ülesande tegemine kiiremini ning kokkuvõttes võib jõuda lahendada rohkem ja saada rohkem punkte.

Erki Eessaar:
Microsoft Imagine

30.01.2017 Juba teisel õppenädalal on harjutustunnis ülesanne (annab lisapunkte SQL tööle), mille lahendamiseks kasutame MS Accessi. See tarkvara on arvutiklassides olemas.

Kellel pole oma arvutis MS Accessi (sobivad ka vanemad versioonid kui 2016), siis saate selle Microsoft Imagine keskkonna kaudu. Selleks on vaja esitada taotlus Microsoft Imagine keskkonnaga ühinemiseks. Seda tuleb teha hiljemalt 2. veebruaril 2017 kell 23:59 selle lehe kaudu (leht ei kasuta UNI-ID süsteemi ega pole ka seotud Maurusega - seega tuleb teha uus konto).

Erki Eessaar:
Kumba vahendit eelistada projekti tegemiseks - kas Enterprise Architect (EA) või Rational Rose (RR)?

30.01.2017 Vastus.

Erki Eessaar:
Suur pilt

30.01.2017 Suur pilt (1. juuni 2015 seisuga) erinevatest andmebaasitehnoloogiatest ning neid realiseerivatest tarkvarasüsteemidest.

Veel värskema versiooni saab küsida siit.

Siin aga on iga kuu uuendatav andmebaasisüsteemide populaarsuse indeks.

Erki Eessaar:
Registreerumine

30.01.2017 Lehele ligipääsemiseks tuleb ennast registreerida.
  • Kui kasutate http://maurus.ttu.ee keskkonda esmakordselt, siis valige õppeaine lehelt menüüst Üldist=> Registreerumine. Täitke vorm ja vajutage nupule "Registreeri".
  • Kui juba olete õpikeskkonnas mingile lehele registreerunud, siis siis valige Mauruse esilehel menüüst Üldist=>Minu konto ja lisage enda aktiivsete lehtede hulka: "Andmebaasid I (IDU0220) (kevad 2017)" Ärge unustage vajutada "registreeri".

Registreerumise järel peate ootama kuni õppejõud teie juurdepääsu õiguse kinnitab.

Palun vaadake üle oma konto andmed ning registreerige seal selline meiliaadress, mida Te igapäevaselt loete. Sellele aadressile hakkab saabuma aine korralduslik ja muu info. Seda võib vaja minna õppejõul, et Teiega ühendust võtta.