Kodulehed
[387] - Andmebaasid II (ITI0207) (sügis 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Ü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
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Üldist / Operatiivinfo

Esiletõstetud
Erki Eessaar:
Suur palve ning võimalus koguda aktiivsuspunkte

20.10.2024 Aastate jooksul on mitmed üliõpilased oma lõputöödes arendanud veebipõhist andmekäitluse lausete (SELECT, INSERT, UPDATE, DELETE) koostamise keskkonda PostgreSQL jaoks. Tegijad on keskendunud funktsionaalsuse tööle saamisele, kuid kokkuvõttes pole vahendi kasutusmugavus nii hea kui võiks olla. Nüüd on üks magistrant võtnud oma magistritöö eesmärgiks teha sellele vahendile parem kasutajaliides. Ideaalis võiks vahend aidata ka SQLi mõttes algajatel keerukamaid päringuid koostada.

Seoses sellega on üliõpilasel ja ka minul Teile suur palve vastata küsitlusele, mille link on siin. Küsitlusele vastamisel palutakse Teil vahendi abil logida sisse apex2 serverisse, lahendada mõned ülesanded ja anda tagasisidet.

Kui Te seda teeksite, siis oleks sellest vahendi paremaks muutmiseks palju abi! Kui Te vastlate küsitlusele hiljemalt 26.10.2024 kell 23:59 ning kirjutate vastusesse ka oma nime, siis saate eksamile kolm aktiivsuspunkti.

Esiletõstetud
Erki Eessaar:
Vabatahtlik vahetest kaheksandal õppenädalal

11.10.2024 Kaheksandal õppenädalal (21.10.2024-25.10.2024) on praktikumide alguses võimalik teha vabatahtlikku vahetesti loengu teemade 1-2 kohta. Ettevalmistamiseks on teemade slaidid (teema 1 ja teema 2), loengute lindistusedkordamisküsimused eksamiks ning SQL lausete näited PostgreSQL ja Oracle kohta.

Testil osalemiseks on kohustuslik registreerida. Registreerimine toimub Mauruse kaudu: Kiirvalik => Üritused (kommentaari välja pole vaja midagi kirjutada). Testi tegemiseks tuleb klassi füüsiliselt kohale tulla.

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. Soovitan arvutiklassi arvutit või püsiühendust, sest harva, aga siiski, on juhtunud, et WiFi ühendus katkeb just salvestamise hetkel ja siis jäävad vastused salvestamata.

Küsimustele vastamiseks materjale kasutada ei või. Testis on 12 juhuslikult valitud küsimust, vastamiseks on aega 15 minutit. Küsimused on valikvastustega ning ainult üks vastuse variant on õige. Tulemuse saate teada kohe. Enda vastuseid ja nende õigsust saate vaadata SIIT, peale seda, kui reedel on nädala viimane test ära olnud (sinna ilmub siis link vastusele). Nädala jooksul saab testi teha maksimaalselt ühe korra. Kui Te ei soovi testi teha, siis peate tundi tulema 20 minutit peale algust.

Kokkuleppel õppejõuga võib testi teha varem. Kui olete väljapakutud aegadel haiguskahtlusega või haige, siis hoidke enda ja teiste tervist ja ärge testi tegema tulge. Registreerige enda puudumine Kiirvalik => Üritused (seal on selleks otstarbeks eraldi teadmiste kontrolli aeg) - siis saate peale tervenemist testi järgi teha. Testi saab järgi teha ainult tervislikest põhjustest tulenevalt ja ainult siis, kui oma puudumisest koheselt teada annate.

Meenutan, et SIIN saate selleks testiks piiramatu arv kordi harjutada. Harjutamise testide tulemusi ei võeta hindamisel mitte mingil viisil arvesse - seega võite julgelt eksida. Harjutamise testi omadused (kestus; küsimuste arv; küsimuste hulk, millest küsimused valitakse) on täpselt samad kui hinnataval testil.

Esiletõstetud
Erki Eessaar:
Veel kolm SQL ülesannet

13.10.2024 Lisasin iseseisvalt lahendatavate SQL ülesannete hulka veel kolm, mis tutvustavad mõningaid PostgreSQL andmekäitluskeele kasulikke omadusi. Nüüd on neid ülesandeid kokku 26. Kuna lävendid ja hindamisskaala ei muutunud, siis see on lihtsalt võimalus koguda eksamile kolm punkti rohkem ja ei halvenda kuidagi aine lõpetamise tingimusi.

Esiletõstetud
Erki Eessaar:
SQL ülesannete lahendamine

08.09.2024  SIIN on nüüd avaldatud kogum 2024_ITI0207, millesse kuuluvate ülesannete õigesti lahendamine annab aines punkte, mis lähevad arvesse tulemuse arvutamisel. Kogumis on 26 ülesannet (mitte 20 nagu esimesel nädalal öeldud). Hindamisskaala ei muutunud - seega lisandus võimalus saada punkte ja see teeb aine läbimise lihtsamaks, mitte raskemaks. Ülesanded sellesse kogumisse on valitud põhimõttel, et need demonstreerivad mingeid selliseid SQL andmekäitluskeele võimalusi, mis on lisandunud uuemasse SQLi või need on lisavõimalused, mida pakub PostgreSQL. JSONi puudutavad ülesanded on lisatud selleks, et tekiks veidi seda tunnet, kuidas on selliste andmetega töötada.

Ülesannete lahendamine punktide saamiseks on avatud kuni 15.detsember 2024 kell 23:59.

Lehele sisselogimiseks on Mauruse kasutajanimi ja parool.
Lehele ligipääsuks tuleb väljaspool ülikooli arvutivõrku luua FortiClient VPN ühendus.

Ülesannete lahendamine toimub PostgreSQL SQL mägimurraku põhjal. Programm kontrollib vastuseid automaatselt.

Iga kogumisse kuuluva ülesande õigesti lahendamine annab ühe punkti. Ülesanne loetakse lahendatuks, kui programm on vastuse õigeks tunnistanud. Lahendamiskatsete arv ei ole piiratud. Lahendamisel võib kasutada mistahes materjale, kuid KEELATUD ON kasutada teiste inimeste ja tehisintellekti vahendite (nt ChatGPT) abi.

NB! Ülesande lahendus peab olema universaalne, st andma õige tulemuse mistahes andmetega. Kui lahenduse juhuslikul inimkasutaja poolsel ülevaatusel selgub, et süsteemi on petetud, moodustades näiteks konstantidest oodatud andmetega tabeli, siis selline vastus õige vastusena arvesse ei lähe. Kui lahenduse juhuslikul inimkasutaja poolsel ülevaatusel selgub, et süsteem on tunnistanud vale vastuse õigeks, siis märgib õppejõud ülesande mittelahendatuks ning saab e-kirja palvega parandatud vastus uuesti esitada.

Kui süsteem tunnistab valeks lause, mille õigsuses olete veendunud, siis andke palun märku - kui kontrolliprogramm teeb vea, siis tahan selle koheselt parandada.

Kui oodatud ja tegelik vastus paistavad peale vaatamisel ühesugused, kuid programm peab neid erinevaks, siis võib olla abi nende kopeerimisest teksti võrdlemise programmi.

Vaadake ülesande lahendamise alustamisel oodatud tulemust - vastuse õigeks tunnistamiseks peavad ka veergude nimed ja veergude järjekord olema sellised nagu oodatud tulemuses. Vaadake kindlasti ülesandega seotud vihjeid. Kui teemaks on konkatenatsioon või JSON formaadis andmed, siis õppejõu poolseid koodinäiteid võib leida SIIT. Ülejäänud juhtudel võib koodinäiteid leida SIIT. Mõlemal juhul on slaide väga palju ja seega tuleks kasutada otsingut - CTRL+F. Näiteks JSON näidete puhul saaksite mõne nendest võtta aluseks ja ülesande tarbeks muuta.

Erki Eessaar:
Andmebaasisüsteemid ja tehisaru

17.10.2024 Kirjutan SIIN teemal, kuidas on tänapäeval andmebaasid ning andmebaasisüsteemid seotud tehisaruga (AI). Jutus mainitud pgvector laiendus on apex2 serveris installeeritud.

Erki Eessaar:
Jooksvad tulemused

05.10.2024 Kiirvalik=>Hinneteleht on jooksvate tulemuste aruanne. Uuendan seda peale iga nädala praktikume (nädalavahetusel). Kui olen seal teinud vigu, siis andke palun teada. Aktiivsuspunkte saab ka muu aktiivsuse eest kui praktikumides osalemine (huvitavate lahenduste leidmine, vigade leidmine ning neile lahenduste pakkumine jms).

Erki Eessaar:
Töö praktikumides alates viiendast õppenädalast

05.10.2024 Alates viiendast õppenädalast algas praktikumides töö projektiga, võttes aluseks ülesanded (alates ülesandest 2), mille SIIA järk-järgult välja panen (kokku on ülesandeid 12).

Kindlasti peab kaasatöötamiseks olema käepärast sisendprojekt. Töö hakkab käima CASE vahendi failiga, kuid ka dokumendis ja prototüübis on olulist sisendinfot. Kui Teil ei ole veel Enterprise Architecti (12), siis installeerige see palun. Kui EA on olemas, kuid litsents on aegunud, siis laenutage see uuesti. Kes ei saa tehnilistel põhjustel endale EAd installeerida, siis lugege palun, mis on alternatiivid.

Palun leppige rühma siseselt kokku, kus ja kuidas hakkate faile jagama. Kõigil tasuks projekti meeldetuletuseks sirvida. Need, kes valisid sisendprojekti kodulehelt, peaksid kiirema stardi huvides kindlasti sellega eelnevalt tutvuma.

Olen terve praktikumi Teie käsutuses - vastan küsimustele, annan nõu, vaatan tehtud tööd. Aktiivsuspunkti saamiseks peab olema mingil viisil tõendatud, et terve tunni töötasite. Kui olete klassis füüsiliselt kohal või töötate üle MS Teamsi kaasa tunnis füüsiliselt kohalolevate rühmakaaslastega, siis saan Teid jälgida ja otsustada, kas on piisavalt alust punkti saamiseks.

Kui tegijate rühm osaleb ainult virtuaalselt üle MS Teamsi, siis tuleb tunni lõpuks (oma arvuti ekraani jagades) ette näidata tehtud töö. Kui progress on olemas, siis punkti saavad need projekti osalised, kes on MS Teamsis kohal.

Oleks väga meeldiv, kui MS Teamsi osalejatel oleks veebikaamera sisselülitatud! Julgustan kõiki praktikumide ajaks võimalusel klassi kohale tulema. Minu kogemus näitab, et klassis kohalolijate töö läheb kiiremini.

Erki Eessaar:
Dokumendi sissejuhatuse täiendamine

30.09.2024 Teie töö dokumendiosa alguses peab olema peatükk Sissejuhatus. Lisage selles oleva tabeli lõppu rida järgmise küsimusega (kui sellist küsimust seal ei ole): "Kas, olete kasutanud selle töö tegemisel tehisintellekti vahendite (nt suured keelemudelid) abi? Kui jah, siis selgitage palun, milliseid vahendeid, mis viisil ja mis eesmärgil Te kasutasite ning hinnake, kui palju oli nendest abi."

Lisasin selle küsimuse ka näiteprojekti sissejuhatusse koos näitega ChatGPT võimekusest 2024. aasta oktoobri alguses. Veel eile vastas ChatGPT, et PostgreSQL 17 ei võimalda kasutada JSON_VALUE ja JSON_TABLE funktsioone.

Erki Eessaar:
PostgreSQL 17

29.09.2024 Septembri lõpus tuli välja PostgreSQL 17. Nüüdseks on see uus versioon pandud nii apex2.taltech.ee serverisse kui ka sellesse serverisse, millel töötab SQL ülesannete lahendamise keskkond (st ka seal saab uusimaid PostgreSQLi võimalusi kasutada).

Olulise täiendusena andmebaaside programmeerijatele saab PostgreSQLis nüüd kasutada SQL standardis kirjeldatud funktsioone JSON_TABLE, JSON_VALUE, JSON_QUERY ning JSON_EXISTS, mis peaks lihtsustama päringute tegemist JSON formaadis andmete põhjal. Ma arvan, et see muudab lihtsamaks ka mitmete lisapunktide saamiseks mõeldud SQL ülesannete lahendamise.

Vaadake SIIT päringute näiteid, mis neid funktsioone kasutavad. Kogu see kood toimib nii Oracles (alates ver 21c, kui lisandus JSON tüüp) kui ka PostgreSQLis (alates ver 17, kui lisandusid need funktsioonid). Oracle koodinäiteid saaksite katsetada DB Fiddle keskkonnas, mille Oracle osa põhineb Oracle 23ai Free andmebaasisüsteemi versioonil.

Saaksite SIIT vaadata, kuidas PostgreSQLis tuli siiamaani JSON andmetel põhinevaid päringuid kirjutada (sellise süntaksi kasutamise võimalus on muidugi endiselt alles).

Erki Eessaar:
Kursuse alguse küsitluse tulemused

16.09.2024 Võibolla on huvitav teada, milline on kaasõppurite taust ning ootused.
 
Semestri alguse küsitlusele vastas 30 üliõpilast. Ma tänan kõiki vastajaid!

Kasutasin vastuste analüüsimiseks PostgreSQLi  ning selle kohta saab lugeda SIIT. Seal on palju SQL lausete näiteid. Fail Kysitlus.csv on apex2 serveris kataloogis tmp ning igaüks, kellel on serverile juurdepääs, saab neid lauseid ka ise seal katsetada või siis veel lauseid välja mõelda ja kohe järgi proovida.
 
SQL oskuse hinnangu (0 ei oska üldse; 10 oskan suurepäraselt) mediaan oli 5 ja aritmeetiline keskmine 5.3 (õppeaine "Andmebaasid I" alguse küsitluses olid need väärtused vastavalt 2 ja 2.5). Kõige sagedamini antud vastus oli 4 (6 vastajat). Sellele järgnesid  3 ja 6 (5 vastajat), 5, 7 ja 8 (4 vastajat) ning 1 ja 9 (1 vastaja). Hinnangut 0, 2 ja 10 ei andnud keegi. 0% vastajatest ei oska SQLi üldse, 20% (6 vastajat) oskab vähe - hinnangud 1-3, 50% (15 vastajat) oskab keskmiselt - hinnangud 4-6 ning 30% (9 vastajat) - hinnang üle 6, oskab SQLi hästi.
 
Varem kasutatud andmebaasisüsteemidest mainiti enim MySQLi (17), PostgreSQLi (16), MS Accessi (9), MS SQL Serverit (7) ja Oraclet (6). Tulemus on siiski paraku veidi ebatäpne, sest näiteks sõna "aines" loeti kui "access" ning sõna "mis" kui "mysql" ja "redis".
 
Andmebaaside ja andmebaasirakenduste arendamisega on enamikel kokkupuude seoses ülikooli ainetega või mõnel juhul pole kokkupuudet üldse.
 
Põhiliseks ootuseks on saada teadmisi ning oskuseid SQLi, paksu andmebaasi ning turvalisuse ja optimeerimise kohta.

Seejärel andsin tekstilised vastused ette ChatGPT-le, et see teeks nendest kolme lausega kokkuvõtted. See oli tulemus:

Need on 30 inimese vastused küsimusele: "Milline on Teie varasem kokkupuude andmebaaside loomisega?" Palun tee sellest kolme lausega kokkuvõte:
"Enamik vastanutest on kokku puutunud andmebaasidega läbi akadeemiliste õppeainete, näiteks "Andmebaasid I," kus omandati baasteadmised SQL päringutest ja andmebaaside loomisest. Väiksem osa mainib praktilist kogemust töökohal PostgreSQL, MySQL, Oracle PL/SQL ja MSSQL kasutamisel, sealhulgas keerukamate protseduuride ja suurte andmemahtude töötlemisega. Mõnedel vastajatel puudub varasem kogemus andmebaaside loomisega või on see olnud väga põgus."

Need on 30 inimese vastused küsimusele: "Milline on Teie varasem kokkupuude andmebaasirakenduste loomisega" Palun tee sellest kolme lausega kokkuvõte:
"Kokkuvõttes on enamik vastanutest puutunud andmebaasirakenduste loomisega kokku peamiselt õppeainetes, nagu "Andmebaasid I," kus omandati baasteadmised ja tehti projektipõhiseid rakendusi. Mõnedel on kogemus töökeskkonnas rakenduste loomisel, kasutades erinevaid tööriistu nagu Oracle APEX ja MS Access. Osa vastajatest mainib, et nende kokkupuude andmebaasirakenduste loomisega on olnud minimaalne või puudulik."
 
Need on 30 inimese vastused küsimusele: "Millised on Teie ootused "Andmebaasid II" õppeaine suhtes?" Palun tee sellest kolme lausega kokkuvõte:
"Kokkuvõttes ootavad õpilased "Andmebaasid II" õppeainest süvendatud teadmisi ja oskusi SQL-i kasutamisel, sealhulgas päringute optimeerimist ja andmebaaside turvalisuse parandamist. Mitmed soovivad õppida keerukamaid andmebaasiarhitektuure, tutvuda hajusate ja mitte-relatsiooniliste andmebaasidega ning saada praktilist kogemust suuremate ja keerulisemate projektidega. Samuti on ootus omandada tööelus kasulikke teadmisi, nagu migratsioonide teostamine ja andmebaasi optimeerimine äriloogika ja disaini tasemel."
 
Need on 30 inimese vastused küsimusele: "Milliseid andmebaasisüsteeme Te olete oma elus kasutanud?" Palun nimeta viis kõige rohkem nimetatud andmebaasisüsteemi ja nende kasutajate arv.
 
  • PostgreSQL – 18 kasutajat  (käsitsi lugedes 16)
  • MySQL – 14 kasutajat (käsitsi lugedes 13)
  • MS Access – 8 kasutajat (käsitsi lugedes 7)
  • MSSQL (Microsoft SQL Server) – 7 kasutajat (käsitsi lugedes 7)
  • Oracle – 6 kasutajat (käsitsi lugedes 6)

Erki Eessaar:
Oracle kasutamine projekti tegemiseks

14.09.2024 Kui Te valite projekti tegemise andmebaasisüsteemiks Oracle, siis saate apex.ttu.ee serveris eraldi Oracle konto, mis on antud ainult Teie projekti rühmale ja on mõeldud käesoleval semestril aineprojekti tegemiseks. See tähendab, et kasutajanimele vastavasse skeemi lisavad käesoleval semestril skeemiobjekte ainult ühe projektirühma liikmed.
 
See omakorda tähendab, et projekti käigus loodavate skeemiobjektide nimedesse EI PEA (ütleks isegi EI TOHI) lisama matriklinumbreid.
 
Peale semestri lõppu projekti käigus loodud andmebaasiobjektid ning Oracle APEX rakendused kustutatakse.
 
Oracle konto, mille saite serveritele juurdepääsu küsimisel, kehtib endiselt ja see on mõeldud kõigile kursusel õppijatele liivakastiks/katsetamiseks. Seal loodavate skeemiobjektide nimedes PEAB kasutama matriklinumbreid.

Kui keegi soovib selle info valguses veel projekti tegemise andmebaasisüsteemi muuta, siis saab seda teha muutes Mauruses teema registreerimise vastust.

Erki Eessaar:
Oracle APEX (2)

10.09.2024 Eelmises teates mainitud faili saab lugeda SIIT.

Erki Eessaar:
Oracle APEX

10.09.2024 Olen maininud Oracle Application Express (APEX) arenduskeskkonda. Kui teete aineprojekti Oracles, siis on see üks võimalik vahend, milles teha nõutud andmebaasirakendus. Kui teete projekti PostgreSQLis, siis võib ikkagi olla huvitav sellest vahendist rohkem teada saada.

11. septembril 2024 kell 16:00-17:30 toimub ülikoolis üritus, kus räägitakse muuhulgas meie ülikoolis Oracle APEX õpetamiseks loodud kursusest. Osaleda saab ka Teamsi kaudu. Kui soovite osaleda, siis tuleb hiljemalt täna (10. september 2024) registreeruda. Rohkem infot on teatele lisatud failis.

Erki Eessaar:
Kolmapäevase praktikumi ruum

04.09.2024 Ma palun veelkord vabandust esimese nädala praktikumis toimunud ruumi vahetuse eest! Järgnevatel nädalatel toimuvad praktikumid vastavalt tunniplaanile ikka ICT-501.

Erki Eessaar:
Projekti kaaslase otsing

03.09.2024 Järgmised üliõpilased otsivad aineprojekti tegemiseks kaaslast/kaaslaseid. Huvi korral võtke palun nendega otse ühendust.
  • Nikita Budovey (nbudov@taltech.ee)