Otse sisuni
Täna on kolmapäev 17.06.2026.

Teated ja oluline info

Erki Eessaar: Lehekülg on suletudLisatud: 29.01.2016 14:29
29.01.2016 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/347

07.01.2016 PostgreSQL 9.5 on ametlikult väljas. Lisandunud on näiteks UPSERT operatsioon (kombineerib INSERT ja UPDATE operatsiooni), reatasemel turvalisuse tagamise võimalus (ilma, et selleks peaks kasutama vaateid või funktsioone), uus indeksi tüüp ning võimalus teha päringutes CUBE, ROLLUP ja GROUPING SETS operatsioone.

INSERT INTO Isik AS I (isikukood, perenimi) VALUES ('399090901234','Mets')
ON CONFLICT (isikukood) DO UPDATE
SET perenimi = EXCLUDED.perenimi
WHERE I.isikukood = '399090901234';

Lisa isik. Kui on sellise isikukoodiga isik, siis muuda perenime.

Erki Eessaar: Hindamismudel (rutiinide ja trigerite arv)Lisatud: 05.01.2016 16:00
05.01.2016 Hindamismudelis oli (statsionaarse õppe mudelist kopeerimise tulemusena) kahetsusväärsel kombel viga, mis nõudis vähemalt 3 funktsiooni/protseduuri ja 2 trigerit. Tegelikult piisab, kui teha 2 funktsiooni/protseduuri ja 1 triger.
Erki Eessaar: Accessi VBALisatud: 18.12.2015 23:56
18.12.2015 Kui keegi üritab Accessi VBA abil kutsuda välja serveris olevat funktsiooni, millel on tekstitüüpi parameeter, siis järgnevast võib Teile kasu olla.

Kui andmebaasis on funktsiooni parameeter tekstitüüpi ning sellel on maksimaalne väljapikkus määratud (nt kauba kood – 7 märki), siis tuleb VBA koodis parameetri deklareerimisel määrata ka see väljapikkus. Näide:

Juhul kui Serveris oleva funktsiooni parameeter on tüüpi CHAR(7)
.Parameters.Append .CreateParameter("kauba_kood", adChar, adParamInput, 7)

Serveris oleva funktsiooni parameeter on tüüpi VARCHAR(7)
.Parameters.Append .CreateParameter("kauba_kood", adVarChar, adParamInput, 7)

Erki Eessaar: Teeme koos maailma paremaksLisatud: 10.12.2015 10:46
10.12.2015 Palun Teid aidata kaasa ühe bakalaureuseõppe üliõpilase lõputöö valmimisele. Ühtlasi aitab Teie vastuste analüüs tulevikus TTÜ süsteemianalüüsiga seotud õppeaineid paremaks muuta ning üksteisega paremini siduda.

Selleks palun Teid vastata anonüümsele küsimustikule ja teha seda hiljemalt 18. detsembriks 2015

Erki Eessaar: SQL SELECT lausetestLisatud: 10.12.2015 10:46
10.12.2015 Selles aines õppisime üsna vähe SQL SELECT lausete lisavõimalusi, mida PostgreSQL ja Oracle võrreldes MS Accessiga pakuvad. Veendumaks, et selliseid lisavõimalusi on olemas, vaadake siia, kerige veidi allapoole, et leida PostgreSQLile pühendatud osa ning proovige seal olevaid SELECT lauseid nt phpPgAdmin abil käivitada.
Erki Eessaar: Lisalugemist huvilisteleLisatud: 10.12.2015 10:46
10.12.2015 Vaadete kasutamine mõjutab täitmisplaanide valikut ja võib mõnikord viia ebaotstarbekate plaanide valimiseni.

Kašnikova, D., 2015. Vaadete mõju päringute täitmisplaanide koostamisele kahe andmebaasisüsteemi näitel. Magistritöö. TTÜ Informaatikainstituut. [WWW] http://digi.lib.ttu.ee/i/?3676 (08.12.2015)

Tsiteerin: Uuringu tulemused näitasid, et kuigi Oracle andmebaasisüsteemis põhjustab vaate põhjal päringu tegemine sageli teistsuguse täitmisplaani valimise kui otse baastabelite põhjal päringuid tehes, siis sellest tulenevad töökiiruse erinevused ei ole kuigi märgatavad. PostgreSQLis koostab andmebaasisüsteem (ilma turvabarjäärita) vaate põhjal tehtud päringule ning otse baastabelil tehtud päringule suurema tõenäosusega ühesuguse täitmisplaani. Kuid probleem on selles, et võrreldes Oraclega on see täitmisplaan mõnikord lihtsalt halb, olgu päring tehtud vaate põhjal või mitte. PostgreSQLis tuleks andmete turvalisuse tõstmiseks kasutada vaadetes turvabarjääre, kuid see võib tingida vaate põhjal tehtud päringule mitteoptimaalse (ja seega aeglaselt täidetava) täitmisplaani valimise.

Erki Eessaar: Rakenduse Javas tegemineLisatud: 10.12.2015 10:45
10.12.2015 Tean, et mõned Teist teevad oma iseseisva töö projekti rakenduse Javas. Teile lugemiseks:
  1. 10 tavalist viga, mida Java arendajad teevad SQLi kirjutamisel
  2. Veel 10 tavalist viga, mida Java arendajad teevad SQLi kirjutamisel
Erki Eessaar: <font color=red><b><big>Eksam</b></font></big>Lisatud: 01.12.2015 01:00
01.12.2015 Teatele lisatud failis on info talvise põhieksamisessiooni ja lisaeksamisessiooni ajal toimuvate eksamite kohta.
Erki Eessaar: <font color=red><b><big>Iseseisva töö esitamine</font></b></big>Lisatud: 01.12.2015 00:59
01.12.2015 Iseseisva töö esitamise tähtaeg on 10. jaanuar 2016 (kaasa arvatud). Esitamine toimub Mauruse kaudu. Enne failide saatmist lugege palun ülesandest, mis kujul tuleb vastused saata.
Erki Eessaar: Projekti täiendusLisatud: 20.11.2015 11:30
20.11.2015 Isikuandmete kaitse seadus § 12, lõige 1.

(5) Andmesubjektil on õigus igal ajal keelata teda käsitlevate andmete töötlemine tarbijaharjumuste uurimiseks või otseturustuseks ja andmete üleandmine kolmandatele isikutele, kes soovivad neid kasutada tarbijaharjumuste uurimiseks või otseturustuseks.

Eelnevast tulenevalt võiksid kõik üliõpilased, kelle projektis on olemitüüp/tabel Klient ning kes koguvad klientide kontaktandmeid plaaniga näiteks tulevikus reklaami saata, lisada sellesse tõeväärtustüüpi atribuudi/veeru: on_nous_otseturustusega Alternatiiv on kirjutada ärireeglitesse järgmine lause: Kogutud kliendiandmeid ei kasutata kunagi tarbijaharjumuste uurimiseks või otseturustuseks ja ei anta üle kolmandatele isikutele, kes soovivad neid kasutada tarbijaharjumuste uurimiseks või otseturustuseks.

Erki Eessaar: Oracle <i>bind variables</i>Lisatud: 19.11.2015 17:31
19.11.2015 Hea selgitus, mikspärast on Oracles vaja eelistada rutiinides bind variables kasutamist.
Erki Eessaar: Eesti isikukoodistLisatud: 19.11.2015 17:21
19.11.2015 Huvitav ülevaade Eesti isikukoodi loomise taustast ja kaalutlustest. Muuhulgas väärib tähelepanu tsitaat:

Although it has served Estonia well, the system was not perfect. To the extent that, in fact, in the early days several people received the same identification code and it was too deep in the registries before the mistake was discovered. Thus, technically, the id-code in Estonia can not be assumed to be unique.

Hea näide, miks on parem asju kohe hästi teha, mitte loota sellele, et hiljem midagi parandada õnnestub.

Erki Eessaar: Miks peab ka veebi/rakenduste programmeerija andmebaase hästi tundma?Lisatud: 19.11.2015 17:21
19.11.2015 Väga eluline näide (seostub teemaga 6 - transaktsioonid ja lukustamine).
Erki Eessaar: PostgreSQL andmebaasi disaini kontrollimineLisatud: 19.11.2015 17:20
19.11.2015 Kõik Teie, kes Te teete oma iseseisva töö projekti PostgreSQLis. Teie töö hindamiseks kasutatakse automatiseeritud disaini kontrollimise vahendit. Teil on võimalus jooksvalt ise oma andmebaasi selle abil analüüsida. Eeldus on, et andmebaas on apex.ttu.ee serveris (see on muide projekti reeglitega nõutud).

Minge aadressile. Logige sisse kasutades apexi kasutajanime ja parooli. Valige kontrollitav andmebaas. Ilmselt on see samasuguse nimega nagu ühe projekti tegija kasutajanimi ja sisaldab tema matriklinumbrit. Valige "Käivita saadaolevaid teste". Valige test "Databases II (fall 2015)". Vaadake päringu tulemusi, milles on üks või rohkem rida. Lugege kirjeldust, vaadake tulemusi. Usaldusväärsus on hinnang sellele, kuidas päring oma eesmärke täidab.

  • Alajaotuses "General" on päringud, mis otsivad andmebaasist spetsiifilist infot, kuid otsuse selle kohta, kas midagi on õigesti või valesti peab tegema inimkasutaja, kes tulemust vaatab.
  • Alajaotuses "Flaw detection" on päringud, mille tulemuses olev iga riga osundab mingile võimalikule disaini veale. Sõltuvalt päringu usaldusväärsuse hinangust peaks inimkasutaja selle üle kontrollima.
  • Alajaotuses "Software measure" on päringud, mis arvutavad andmebaasi skeemi põhjal mingi arvulise väärtuse.
Erki Eessaar: Esimene vaheülesanneLisatud: 17.11.2015 00:28
17.11.2015 Palun saatke 21. novembri 2015 vaheülesande (füüsiline andmebaasi disain) vastusena füüsilise disaini mudelit sisaldav Enterprise Architect või Rational Rose mudelifail. Selles samas failis võiks ka olla Teie kevadise projekti kontseptuaalne andmemudel.
Erki Eessaar: Lisainfo esimesele kohtumiseleLisatud: 14.11.2015 18:39
14.11.2015 Siin on video, milles kirjeldatakse EA12 lisatud andmebaasi arendamise ning andmebaasi ja andmemudeli sünkroniseerimise vahendit.

Kataloogi 2015/Harjutustunnid on välja pandud PostgreSQL ja Oracle CHECK kitsenduste näiteid.

Erki Eessaar: Iseseisva töö projektiga alustamisestLisatud: 04.11.2015 16:52
04.11.2015 Iseseisva töö projekti tegemiseks ajage palun näpuga järge kataloogis "Iseseisva töö projekt/Samm-sammuline juhend" olevates dokumentides ja tehke nende järgi. Need on tegelikult statsionaarõppe harjutusülesanded. Nemad teevad harjutustundides samasugust projekti nagu Teie. Lisan sellesse kataloogi järk-järgult 2015. aasta faile.

Oleks väga kena, kui Te võtaksite 14. novembri tundi kaasa oma senitehtud töö, et seda oleks võimalus tunnis koos vaadata ja edasi teha!

Erki Eessaar: Aine "Andmebaasid II" kulgemisest 2015. aasta sügiselLisatud: 31.08.2015 10:23
31.08.2015 Tunniplaani koostaja on uus ning algaja ja koostas tõepoolest kahjuks sellise, mitte kõige parema, tunniplaani, kus esimene kohtumine on novembri keskel.

Samas, kuna õppematerjalid ja juhendid on olemas, siis ei tohiks see suurt probleemi tekitada. Minu plaan on selline, et peale deklareerimise perioodi lõppu (peale 14. septembrit) vaatan ma ÕISist järgi, millised kaugõppurid on selle aine deklareerinud ning saadan neile kirjaga täpse juhendi, mida edasi teha.

Koduleht on olemas. Kaugõppe kursuse tutvustuse dokument on olemas. Päevase õppe loengud lindistatakse. Näiteprojekt on olemas. Eksami küsimused ja nende väljakirjutatud vastused on olemas. Ülikooli server, kus projekti teha, on olemas. Seega saab selle aine õppimisega hakata pihta palju varem kui novembri keskel.

Saamaks nendele materjalidele kohe juurdepääsu tuleb ennast registreerida.

  • Kui kasutate http://maurus.ttu.ee lehekülge esmakordselt, siis valige õppeaine leheküljel menüüst Üldist=> Ainele registreerumine. Täitke vorm ja vajutage nupule "Registreeri".
  • Kui juba olete õpikeskkonnas mingile ainele registreerunud, siis siis valige Mauruse esilehel menüüst Üldist=>Minu konto ja lisage enda aktiivsete lehekülgede hulka õppeaine: "Andmebaasid II (IDU0230) ja Andmebaaside programmeerimine (IDU0120) (sügis 2015) (KAUGÕPE)" Ärge unustage vajutada "registreeri ainele".

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

Erki Eessaar: Üliõpilase töökeskkondLisatud: 30.08.2015 16:20
31.08.2015

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle APEX): http://apex.ttu.ee:8000/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://apex.ttu.ee/andmebaas/

Application Express abil tehtud rakenduste näiteid:

  1. Töötajate andmebaas (rakenduse tegemiseks kulus umbes 30 minutit)
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  3. Seisundimuudatuste realiseerimise näide
  4. APEXiga kaasa tulev näiterakendus
    (kasutajanimi: testkasutaja
    parool: 1234)

PHP rakenduse näide:

  1. Teadetetahvel - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.

NB! apex.ttu.ee serveris tuleb PHP rakendus paigutada kataloogi /usr/local/apache2/htdocs alamkataloogi.
Kui loote seal näiteks oma rakenduse jaoks kataloogi rakendus, siis rakenduse veebiaadress on: http://apex.ttu.ee/rakendus/

Abivahendid:

  1. StarUML CASE vahendil põhinev lahendus, mis võimaldab StarUML abil koostada SQL-andmebaasi disaini mudeleid ja genereerida nendest PostgreSQLi jaoks mõeldud SQL koodi (kaasa arvatud mõningate keerukamate kitsenduste jõustamiseks vajalik kood). Idee on, et mudelis saab deklareerida kitsenduse vajaduse ning generaator oskab selle deklaratsiooni alusel koodi genereerida.
  2. apex.ttu.ee serveris olevate PostgreSQL andmebaaside kvaliteedi kontroll - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.
  3. Erinevad tarkvaravahendid PostgreSQL andmebaaside projekteerimiseks, programmeerimiseks ja haldamiseks. Nimekirjas on nii vaba tarkvara kui ka kommertstarkvara.
  4. Iseseisvas töös nõutud tehnilise arhitektuuri joonise võib esitada kui UML evitusskeemi (deployment diagram). Kataloogis Rational Rose õppevideod on video kuidas seda Rational Rose abil luua. Selle joonise võib aga ka koostada kasutades vaba tarkvara Archi, mis on mõeldud ettevõtete arhitektuuri modelleerimiseks.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (9.4) dokumentatsioon
  3. Oracle 12c Release 1 dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum
  7. Pistikprogrammid e pluginad, mida saab kasutada Oracle APEXI abil tehtud rakenduste funktsionaalsuse suurendamiseks.
  8. Mõned videod, mis demonstreerivad APEX 4.1 kasutamist.

Lisainfo:

  1. Suur hulk soovitusi ja näpunäiteid andmebaaside programmeerijatele
  2. Visioon, kuidas üles ehitada andmete haldamiseks mõeldud süsteeme
Erki Eessaar: PostgreSQL vs. MySQLLisatud: 30.08.2015 16:20
31.08.2015 Iseseisva töö projekti tegemiseks võib kasutada PostgreSQL andmebaasisüsteemi, kuid ei või kasutada MySQL andmebaasisüsteemi. Mõlemad on väga populaarsed andmebaasisüsteemid. Kindlasti tekib Teil küsimus, millised on PostgreSQL eelised võrreldes MySQLiga.

Internetis on väljas 2012. aasta juunis Rob Conery poolt Norwegian Developers Conference konverentsil peetud ettekande salvestus. Ettekande esimesed 15 minutit demonstreerivad väga ilmekalt MySQLi puuduseid. SIIN ja SIIN on videos välja toodud puuduste jätkuarutelu.

Soovitan vaadata kogu ettekannet, sest seal tutvustatakse mõningaid huvitavaid PostgreSQLi pakutavaid võimalusi.

  • Alates 14:30 Multiversioon konkurentsjuhtimine (selle kohta on ka üks eksami küsimus).
  • Alates 20:30 Tabelite loomine pärimise kaudu ja selle kasutamine suure tabeli sektsioonideks jagamiseks.
  • Alates 26:30 Foreign Data Wrapper (võimalus teha päringuid paljudest välistest andmeallikatest).
  • Alates 29:30 Andmetüübid (näitena käsitleti timestamp with timezone tüüpi, massiivitüüpe, liittüüpide loomise võimalust).
  • Alates 44:30 on kokkuvõtte PostgreSQLi eelistest - hind (PostgreSQL on tasuta; vaadake võrdluseks Oracle hinnapakkumist), jõudlus, salvestusruumi kokkuhoid, väljalasete sagedus, sobivus ettevõtte infosüsteemides kasutamiseks.

Siin on veel üks värskem (aastast 2015) arutelu selle üle, miks tasub PostgreSQLi eelistada MySQL või MariaDB kasutamisele.

Kokkuvõttes tuleb tõdeda, et PostgreSQLi näol on tegemist andmebaasisüsteemiga, mis pakub Oracle ja Microsofti andmebaasisüsteemidele väärikat konkurentsi ning mida saab väga edukalt kasutada ka suurtes ettevõtte infosüsteemides ning riigi infosüsteemides.

PostgreSQLi kasutab näiteks Skype. Veel üheks PostgreSQLi heaks omaduseks on laiendatavus - SIIT leiate ülevaate laiendustest, mida Skype kasutab/arendab.

Erki Eessaar: TarkvaraLisatud: 30.08.2015 16:19
30.08.2015 31.08.2015 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon. Milline draiver valida ja kuidas andmeühendust seadistada lugege palun teatele lisatud failist.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin. Kuna serveris on PostgreSQL (9.4), siis tuleks kasutada pgAdmin versiooni 1.20.

Oracle andmebaasiga töötamiseks soovitan kasutada Oracle poolt pakutavat programmi Oracle SQL Developer (ülikooli serveriga ühenduse loomisel SID= orcl). Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

Juhul, kui teete iseseisvat tööd Oracle andmebaasisüsteemi põhjal, võib andmebaasi projekteerimiseks kasutada Oracle SQL Developer Data Modeler tarkvara. See vahend on palju võimalusterohkem kui Rational Rose. Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

apex.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

apex.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe või Notepad++.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Uus õppeaastaLisatud: 24.08.2015 15:31
31.08.2015 ALGAS 2015/2016 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Suuline eksamLisatud: 02.05.2015 12:53
02.05.2015 Eksamid toimuvad
  • 27. mai 2015 kell 15:30, ICT-627
  • 17. juuni 2015 kell 15:30, ICT-627

Registreerimine toimub ÕISis.

Erki Eessaar: Vastuvõtuaegade muudatusedLisatud: 25.03.2015 16:25
25.03.2015 Ära jäävad vastuvõtud:
  • Kolmapäeval 1. aprillil 2015 kell 12:00-13:00 ruumis ICT-627
  • Kolmapäeval 22. aprillil 2015 kell 12:00-13:00 ruumis ICT-627

Selle asemel toimuvad vastuvõtud:

  • Teisipäeval 31. märtsil 2015 kell 14:00-15:00 ruumis ICT-627
  • Teisipäeval 21. aprillil 2015 kell 14:00-15:00 ruumis ICT-627
Erki Eessaar: VastuvõtuajastLisatud: 06.03.2015 13:18
06.03.2015 Teatasin varem, et esmaspäeval 9. märtsil jääb vastuvõtuaeg ühekordselt ära ja et see toimub teisipäeval 10. märtsil. Kahjuks sunnib elu veelkord seda aega muutma.

Seega toimub vastuvõtuaeg tegelikult esmaspäeval 9. mätsil 2015 kell 12:00-13:00 ICT-627. Esmaspäeval 9. märtsil kell 14 ja teisipäeval 10. märstil kell 14 vastuvõttu ei toimu.

Vabandan segaduse eest!

Erki Eessaar: Vastusvõtuaja ärajäämineLisatud: 19.02.2015 20:35
19.02.2015 23. veebruaril 2015 kell 14:00-15:00 jääb seoses terves ülikoolis tööaja ümberkorraldamisega minu vastuvõtuaeg ära.
Erki Eessaar: Hilinenud esitamisestLisatud: 17.01.2015 12:18
19.01.2015 Need, kes praegusest kuni semestri lõpuni oma projekti esitavad saavad kahjuks 10 miinuspunkti. Juhin Teie tähelepanu asjaolule, et hindamismudel näeb ka ette võimaluse teenida lisapunkte. Seega, näiteks, kui Teie projektis on kuus või rohkem korrektset, sisulist ja vajalikku funktsiooni/protseduuri (ei arvesta trigeri funktsioone) ning neli või rohkem korrektset, sisulist ja vajalikku trigerit, siis saate selle eest kokku 13 lisapunkti, mis hilinemisega kaotatud punktid juba kuhjaga kompenseerib. Samas rõhutan, et sellise hulga rutiinide tegemine ei ole kohustus, vaid kõigest võimalus.
Erki Eessaar: Esitamise tähtaegLisatud: 04.01.2015 13:46
04.01.2015 Tuletan meelde, et iseseisva töö esitamise tähtaeg on 11. jaanuar 2015 kell 23:59. Tööd saab esitada ka peale seda kuupäeva, kuid siis kaotate hilinemise eest punkte.
Erki Eessaar: PostgreSQL kontrollipäringudLisatud: 22.12.2014 14:24
22.12.2014 PostgreSQL andmebaaside kontrolliks (eeldusel, et andmebaas on apex.ttu.ee serveris) mõeldud päringute käivitamiseks on valminud uus liides, mida saab kasutada SIIN. Lisaks testidele saab seal ka päringuid ükshaaval käivitada.

Kui keegi seda kasutab ja leiab puuduseid/probleeme või on ettepanekuid, kuidas seda veel paremaks teha, siis kirjutage mulle palun selle kohta! Igasugune tagasiside on väga teretulnud.

Uue veebiliidese autor on Marko Vanaveski, kes teeb seda oma bakalaureusetööna.

Erki Eessaar: PostgreSQL 9.4Lisatud: 19.12.2014 20:57
19.12.2014 Semestri alguses lubasin, et võtame kasutusele PostgreSQL 9.4 Paraku tuli PostgreSQL 9.4 ametlikult välja alles 18. detsembril 2014. Seega jääb apex.ttu.ee serverisse PostgreSQL 9.3 vähemalt semestri lõpuni .

PostgreSQL 9.4 täiendab näiteks JSON tüüpi andmetega seotud funktsionaalsust ning nendega tehtavate operatsioonide jõudlust. Samuti tõstan täiendustest esile suurenenud võimalusi vaadete kaudu andmeid muuta ning muudatusi kontrollida.

Erki Eessaar: SissejuhatusestLisatud: 17.12.2014 10:23
17.12.2014 Palun Teil kirjutada sissejuhatuse lõppu, millises rakenduse failis/moodulis on kasutajanimi, mille abil rakendus loob ühenduse andmebaasisüsteemiga ja milline kasutajanimi see on. Oracle APEX korral ei pea seda tegema, sest APEX kasutab sisemist kasutajat.

Stiilinäide näiteprojektist: Andmebaasisüsteemiga ühenduse loomiseks kasutatav kasutajanimi (oppejoud_vastuvotud) on kirjutatud mooduli Refreshing algusesse (konstandi username väärtuseks).

Erki Eessaar: Rakendusest Lisatud: 16.12.2014 19:45
16.12.2014 Kui Teie rakendus on veebirakendus ja üles pandud serverisse või kui Teie rakendus on tehtud MS Accessis, siis mul selle vaatamisega probleeme ei ole.

Kui Teie rakendus on vaja installeerida kasutaja arvutisse, siis see on probleem, sest minu tööarvutisse uue tarkvara lisamine on õiguste piirangute tõttu aeganõudev ja takistatud. Seega, kui rakendus vajab kasutaja arvutis mingeid lisaprogramme pole kahjuks muud teha, kui peate tulema rakendust eksamisessiooni ajal vastuvõtuajal ette näitama. Oma projekti tulemuse saate teada alles pärast seda.

Ükskõik millises vahendis on rakendus tehtud - tähtajaks tuleb Maurusesse üles laadida selle rakenduse lähtekood (Oracle APEXi korral eksportimise tulemus). Muidu pole tõestatud, et rakendus oli õigeks ajaks valmis. MS Accessi puhul ei saa lähtekoodi saata - saadate rakenduse faili. Accessi puhul tuleb mulle saata *.mdb või *.accdb laiendiga fail, mitte *.mde või *.accde laiendiga fail.

Erki Eessaar: Delikaatsed isikuandmedLisatud: 16.12.2014 00:07
16.12.2014 Teemas 5 oli juttu isukuandmete kaitse seadusest ja sellest, et seadus sätestab, millised on delikaatsed isikuandmed. Riigi infosüsteemi haldussüsteemist RIHA on võimalik vaadata, millised riigi registrid sisaldavad milliseid delikaatseid isikuandmeid Valige "Riigi infosüsteem => Andmeobjektid => Andmeobjekti otsing".
Erki Eessaar: VeebirakendusLisatud: 13.12.2014 16:58
13.12.2014 apex.ttu.ee serveris on PHP olemas.

apex.ttu.ee serveris tuleb veebirakenduse failid paigutada kataloogi /usr/local/apache2/htdocs alamkataloogi.

Kui loote seal näiteks oma rakenduse jaoks kataloogi rakendus, siis rakenduse veebiaadress on: http://apex.ttu.ee/rakendus/

Erki Eessaar: Raamatud TTÜ raamatukogus erinevate andmemudelite kohtaLisatud: 11.12.2014 09:31
Erki Eessaar: ODBC draiverite installeerimine ja ODBC andmeühenduse seadistamineLisatud: 11.12.2014 01:33
11.12.2014 Oluline neile, kes teevad rakenduse MS Accessis ja ei ole ODBC andmeühendust veel oma arvutis tööle saanud. Täpsustasin kirjeldust. Lugege palun lisatud faili.
Erki Eessaar: Kuidas jõuab vastuvõtuaegade näiterakendusse sisseloginud kasutaja kasutajanimi ekraanivormidele?Lisatud: 09.12.2014 13:39
09.12.2014 Kasutaja sisestab kasutajanime sisselogimise vormi (Sissereg).

Moodulis Refreshing on deklareeritud globaalne muutuja sisseloginu.

See muutuja väärtustatakse VBA koodis, mis käivitub vormil Sissereg nupule Jätka vajutamisel (sündmus On Click)

Vormil nagu näiteks Loo_vastuvott on sündmusprotseduur On Activate, mis käivitub vormi aktiveerumisel ning mis kirjutab muutuja sisseloginu väärtuse vormil olevasse tekstivälja (Sisseloginud kasutaja).

Vormi Loo_vastuvott taga on kood, mis demonstreerib kuidas kutsuda välja andmebaasis loodud funktsiooni. Sellele antakse ühe argumendina ette sisseloginud kasutaja kasutajanimi.

Erki Eessaar: Rakenduse Javas tegemiseleLisatud: 07.12.2014 12:39
07.12.2014 Tean, et mõned Teist teevad oma iseseisva töö projekti rakenduse Javas. Teile lugemiseks:
  1. 10 tavalist viga, mida Java arendajad teevad SQLi kirjutamisel
  2. Veel 10 tavalist viga, mida Java arendajad teevad SQLi kirjutamisel
Erki Eessaar: Uus raamat raamatukogusLisatud: 30.11.2014 20:58
30.11.2014 TTÜ raamatukokku on saabunud kaks eksemplari raamatust

Burns, L. (2011). Building the agile database : how to build a successful application using agile without sacrificing data management. Westfield (N.J.) : Technics Publications.

See on hea raamat. Soovitan! Paljud seal kirjeldatavad põhimõtted on Teile andmebaaside ainetest tuttavad. Loodan, et selle raamatu lugemine annab Teile kinnitust ja julgustust, et nende jälgimine on mõistlik, võimalik ja kasulik ka tänapäeva moodsa agiilse (paindliku) süsteemiarenduse käigus.

Raamatus palju käsitlemist leidev loogiline andmemudel on sisuliselt sama kui andmebaaside ainetes käsitletud detailne kontseptuaalne andmemudel.

Erki Eessaar: Parooli soolamisestLisatud: 30.11.2014 19:59
30.11.2014 Harjutustunnis kerkis küsimus, kas soolatud parooli räsimisel tuleb sool panna parooli algusesse või lõppu.

Allikad, mida leidsin, väidavad, et pole vahet. Salted Password Hashing - Doing it Right kirjutab:

Should the salt come before or after the password? It doesn't matter, but pick one and stick with it for interoperability's sake. Having the salt come before the password seems to be more common.

Samal seisukohal ollakse ka selles StackOverflow arutelus.

Erki Eessaar: <font color=red><b><big>Eksam</b></font></big>Lisatud: 30.11.2014 15:33
30.11.2014 Teatele lisatud failis on info talvise põhieksamisessiooni ja lisaeksamisessiooni ajal toimuvate eksamite kohta.
Erki Eessaar: <font color=red><b><big>Iseseisva töö esitamine</font></b></big>Lisatud: 30.11.2014 15:33
30.11.2014 Iseseisva töö esitamise tähtaeg on 11. jaanuar 2015 (kaasa arvatud). Selleks, et jõuaksin töö üle vaadata, palun see esitada hiljemalt kolm päeva enne eksamit.

Iseseisva töö alguses PEAB olema peatükk "Sissejuhatus", kus on järgmised punktid (vaadake palun ka näidet vastuvõtuaegade näiteprojekti algusest).

  • Kui kasutate töös PostgreSQLi, siis PostgreSQL andmebaasi nimi - ma eeldan ja ootan, et andmebaas on pandud apex.ttu.ee serverisse.
  • Kui kasutate töös Oraclet, siis Oracle skeemi nimi (st Teie kasutajanimi C##TUD...) ning Teie Oracle parool - ma eeldan ja ootan, et kasutate apex.ttu.ee Oracle andmebaasi.
  • Veebirakenduse korral selle URL.
  • Kui teete rakenduse kasutades MS Accessi, siis millises MS Accessi versioonis on rakendus loodud. NB! Esitatav MS Accessi rakendus peab töötama ingliskeelse MS Access 2013 keskkonnas (kui teete oma rakenduse mõne muu MS Accessi versiooniga tuleks seda TTÜ arvutiklassis testida)!!
  • Kui teete veebirakenduse kasutades Oracle APEXit, siis ka tööruumi (workspace) nimi, rakenduse nimi ning samuti rakenduse URL.
  • Kui tegemist on kasutaja arvutisse pandava rakendusega, mis pole tehtud MS Accessis, siis selle täpne installeerimise juhend.
  • Loodud rakendusse sisselogimiseks vajalik kasutajanimi ja parool.
  • Kommentaar, millise kasutaja töökoha Te realiseerisite.
  • Kirjeldus selle kohta, kus ja millal pöördub Teie loodud rakendusprogramm andmebaasis loodud protseduuride/ funktsioonide poole.
  • Info selle kohta, millises rakenduse failis/moodulis on kasutajanimi, mille abil rakendus loob ühenduse andmebaasisüsteemiga ja milline kasutajanimi see on. Oracle APEX korral ei pea seda tegema, sest APEX kasutab sisemist kasutajat.
Nõutud sissejuhatuse või selle osade puudumine tähendab saadavate punktide arvu vähendamist!!! (vaadake hindamismudelit)

NB! Palun ODBC andmeühendust kasutava rakenduse puhul kasutada andmeühenduse spetsifikatsiooni (ingl data source) nimena PostgreSQL_yhendus. See on sama nimi, mis arvutiklassides.

Iseseisev töö tuleb esitada elektrooniliselt kasutades aine veebipõhist õppekeskkonda. Tuleb saata nii dokumentatsioon, CASE vahendi (näiteks Rational Rose) failid (mitte pildifailid) kui ka rakenduse failid (vajalikud on nii käivitatavad failid kui ka lähtekood!!). Kui teete tööd mitmekesi, siis peab dokumendi saatma üks üliõpilane! Iseseisva töö esitamiseks valige õppekeskkonna parempoolsest menüüst "Tudeng->Ülesanded" ning avanenud leheküljelt ülesanne "Iseseisva töö esitamine". Lugege enne failide saatmist ülesande tekst korralikult läbi ja järgige täpselt juhiseid!

Saadetavad iseseisva töö dokumendid tuleb zipiga kokku pakkida. Eraldi tuleks saata iseseisva töö dokument, CASE vahendiga koostatud mudelid ja rakenduse fail(id). Oracle APEXi kasutamise korral tuleks saata rakenduse importimisel saadav fail. Iseseisva töö dokument võib olla *.doc, *.docx või *.rtf (ärge palun pdf-e saatke).

Kui teete tööd mitmekesi, siis peab iseseisva töö failid saatma üks üliõpilane. Ühe saadetava faili suurus võib maksimaalselt olla umbes 1,5MB! Kui fail on suurem, võib failid kuhugi serverisse üles riputada ja saata õppejõule vaid veebiaadressi.

Peale faili saatmist kontrollige, kas faili saatmine õnnestus!!! Peale faili saatmist tekib leheküljele sellele failile viitav hüperlink. Klõpsake selle parempoolse hiire nupuga ja valige "Save Target As". Salvestage fail tagasi oma arvutisse. Kui see õnnestub ja faili saab seejärel avada, siis on ka saatmine õnnestunud.

Failide korrektne õppejõule saatmine on üliõpilase vastutus. Kui failid pole serverile jõudnud, siis tähendab see, et tööd pole esitatud. Töö loetakse esitatuks peale kõigi nõutud failide korrektset saatmist

Iseseisva töö punktisummad pannakse lehele, mille kaudu saadeti dokumendid.

  • 12. jaanuar 2015 – 18. jaanuar 2015 esitatud töö saab hilinemise eest 5 miinuspunkti
  • 19. jaanuar 2015 – 31. jaanuar 2015 esitatud töö saab hilinemise eest 10 miinuspunkti

Juhul, kui iseseisva töö rakendus on tehtud kasutades vahendeid, mis nõuavad täiendava tarkvara installeerimist õppejõu arvutisse või mõnel muul põhjusel õppejõu arvutis korrektselt ei tööta, siis võib osutuda vajalikuks rakenduse oma arvutist ette näitama tulemine (ingliskeelse MS Access abil tehtud rakenduse või veebirakenduse korral ei ole selline ette näitama tulemine vajalik). Rakendust saab näidata eksamisessiooni ajal, vastuvõtuaegadel ning selles tuleb eelnevalt õppejõuga kokku leppida. Kõik nõutud failid peavad olema ikkagi eelnevalt esitatud, et õppejõud saaks need üle vaadata. Kui töö failid on esitatud õigeaegselt, siis ei põhjusta selline hilisem näitamine punktide arvu vähendamist hilinemise eest.

Iseseisva töö hindamine toimub kasutades hindamismudelit, mis on kataloogis Kursuse tutvustus. Õppejõud täidab Exceli faili ja saadab selle autoritele (palun pange e-maili aadressid tiitellehele).

Tahaksin eriti juhtida tähelepanu järgmisele hindamismudeli punktile:

Dokumendis on tsitaadid, mis pole pandud jutumärkidesse ja viidatud. Selle eest saab 5 miinuspunkti.

TTÜ raamatukogu poolt pakutav juhendmaterjal kasutatud materjalidele viitamise kohta.

Kellele see tundub vähe, või kes arvab, et tänu suurele lisapunktide arvule võib ta esitada projekti hilinemisega ja kaotada punkte, siis neile tuletan meelde, et projekt peab ületama lävendi (31 punkti või rohkem) ja tundides saadud lisapunktid seal arvesse ei lähe. Lisapunktid aitavad Teil (võibolla märkimisväärselt) tulemust parandada, kui lävendid on ületatud.

Erki Eessaar: Teise kohtumise harjutustundLisatud: 25.11.2014 16:52
25.11.2014 Kui Teil on erisoove teemade osas, mida peaks teise kohtumise harjutustunnis harjutama, siis kirjutage sellest palun mulle.
Erki Eessaar: Rational Rose -skeemi nimiLisatud: 06.11.2014 14:53
06.11.2014 Ühel üliõpilaste grupil oli probleem Rational Rose andmebaasi disaini mudeli riknemisega. Probleem (vähemalt ajutiselt) kadus, kui mudelis eemaldati skeemi (schema) nimest ##.

Seega palun ärge igaks juhuks kasutage skeemi nimedes # märke. Näiteks skeemi nime C##TUD5 asemel kasutage nime TUD5.

Erki Eessaar: FILLFACTORLisatud: 03.11.2014 00:23
03.11.2014 Praktiliselt kellelgi, kes projekti PostgreSQLis teeb, polnud vaheülesande vastuses näidatud fillfactor parameetri väärtuse muutmist mõne tabeli korral. Miks nii?

Palun Teid! Lugege dokumente Iseseisva töö näited/ Samm-sammuline juhend ja tehke oma tööd selle järgi. Dokumendid täienevad seal jooksvalt.

Erki Eessaar: AskTomLisatud: 31.10.2014 19:33
31.10.2014 Üks hea koht Oracle kohta käivatele küsimustele vastuse saamiseks on Ask Tom lehekülg. Selle taga on Oracle ekspert Thomas Kyte, kes on kirjutanud ühed kõige paremad raamatud Oracle kohta nagu näiteks see. Sellel lehel esitavad inimesed üle maailma küsimusi Oracle kohta, neile vastatakse ning vastuste põhjal tekib sageli pikk diskussioon koos täiendavate (koodi)näidetega.

Lugege näiteks täpsustust Oracle andmepuhvri kohta. Võibolla ma ei seletanud seda teemat loengus piisavalt arusaadavalt.

Erki Eessaar: Regulaaravaldis ja tähedLisatud: 25.10.2014 19:59
25.10.2014

PostgreSQL

SELECT 'Õnne Pärl'~'^([a-zA-Z]|[[:space:]])+$' AS tulemus;
Tulemus: FALSE

SELECT 'Õnne Pärl'~'^([[:alpha:]]|[[:space:]])+$' AS tulemus;
Tulemus: TRUE

Oracle

DECLARE
result BOOLEAN;
BEGIN
result:=REGEXP_LIKE('Õnne Pärl', '^([a-zA-Z]|[[:space:]])+$');
IF (result=true) THEN
dbms_output.put_line('TRUE');
ELSE
dbms_output.put_line('FALSE');
END IF;
END;
/
Tulemus: FALSE

DECLARE
result BOOLEAN;
BEGIN
result:=REGEXP_LIKE('Õnne Pärl', '^([[:alpha:]]|[[:space:]])+$');
IF (result=true) THEN
dbms_output.put_line('TRUE');
ELSE
dbms_output.put_line('FALSE');
END IF;
END;
/
Tulemus: TRUE

Märkide klassid.

Erki Eessaar: Oracle identifikaatorite suuruse kontrollLisatud: 23.10.2014 00:54
23.10.2014 Teatavasti saavad Oracles enamik identifikaatoreid (nt tabelite ja kitsenduste nimed) olla maksimaalselt 30 baidi suurused. See veebipõhine vahend pakub võimaluse suurust kontrollida.
Erki Eessaar: KüsimustikLisatud: 21.10.2014 13:38
21.10.2014 Palun Teil võimalusel vastata hiljemalt 24.10.2014 SELLELE KÜSITLUSELE ootustest tööle ja tööandjatele.

Sellega aitate Te kaasa ühe üliõpilase magistritöö koostamisele ning ühtlasi aitate kaasa selle valdkonna kohta paremate teadmiste tekkimisele, mis pikas perspektiivis võiks ka ühiskonda paremaks muuta.

Erki Eessaar: Korduvad küsimusedLisatud: 18.10.2014 18:13
18.10.2014 Lisasin Abi => Korduvad küsimused alla kaks andmebaaside kavandamise kohta käivat korduvat küsimust ja nende vastused.
Erki Eessaar: Kitsenduste nimetamineLisatud: 18.10.2014 13:46
18.10.2014 Trööstiks kõigile, kellel on olnud raskusi kitsenduste nimetamisega.
Erki Eessaar: Süsteemi sisselogimine, paroolide talletamineLisatud: 17.10.2014 11:20
17.10.2014 Hea interaktiivne ülevaade selle kohta:
  1. miks tundlike andmetega infosüsteemis ei tohiks paroolid olla andmebaasis avatekstina,
  2. mida kujutab endast SQL süstimise (SQL injection) rünnak,
  3. miks MD5 ei sobi enam paroolide räsiväärtuste leidmiseks,
  4. miks on parooli räsiväärtuse leidmisel vaja kasutada soola ja pipart.

Kui plaanite hoida paroole andmebaasis, siis ei tohi need olla avatekstina, leidmiseks ei tohiks kasutada tavalist MD5 algoritmi ning tuleks kasutada soola.

Selles artiklis selgitatakse, mida kujutab endast "vikerk aare tabelil" põhinev rünnak paroolide räsiväärtuste vastu. Selle lugemine peaks aitama veel paremini mõista, miks on parooli räsiväärtuse leidmisel oluline kasutada soola!

Veel parem aga on andmebaasipõhine andmete turvalisuse tagamise lahendus, mille korral igale rakenduse kasutajale vastab andmebaasi kasutaja. See on näiteks realiseeritud siin.

Erki Eessaar: PostgreSQLLisatud: 12.10.2014 12:17
Erki Eessaar: JuhendLisatud: 09.10.2014 15:56
09.10.2014 Enne loogilise disaini vaheülesande vastuse mulle saatmist vaadake palun põhjalikult läbi failid "Andmebaasi diagrammi täiendamise alustamine" ja "CHECK kitsenduste ja indeksite kirjeldamine andmebaasi disaini mudelis" kataloogis Iseseisva töö näited/Samm-sammuline juhend ning kontrollige palun ise oma töö nende alusel üle.
Erki Eessaar: VaheülesandedLisatud: 09.10.2014 15:53
09.10.2014 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti, mis lähevad arvesse esmakordsel eksamihinde arvutamisel. Need punktid peegeldavad üliõpilase jooksva hindamise tulemusi. Lisapunktide saamiseks peab ülesande lahendus olema esitatud tähtajaks, selles peavad olema kõik nõutud osad, selles ei tohi olla sisulisi vigu ning hooletusvigade hulk peab olema minimaalne. Vastus tuleb laadida üles ülesannete lehe kaudu (eelistatud variant) või panna veebi üles ning saata Mauruse kaudu ainult link failile. Palun vältida failide mulle meilile saatmist!
  • Vaheülesannete eest saadud lisapunktid lähevad arvesse kõigil projekti tegijatel.
  • Lisapunktid lähevad arvesse ainult lisapunktide saamise semestril.

Vastuse saatmisel pole vaja saata kogu töö dokumentatsiooni - piisab ülesandes nõutud osast. Vastuse juures peab olema kirjas, kes on töö autorid (nimed, matrikli numbrid). Minu kommentaaride alusel parandatud vastust ei ole vaja uuesti üles laadida.

19. oktoober 2014 Tuleb esitada loogilise disaini täpsusega andmebaasi kirjeldus - andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

02. november 2014 Selle ülesande vastusena tuleb esitada:

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Juhul kui kasutate PostgreSQLi, siis soovitav oleks kasutada veergude kirjeldamisel domeene. Sellisel juhul tuleb esitada ka CREATE DOMAIN laused.
  • Arvujada generaatorite loomise laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused). PostgreSQL puhul võib ka kasutada SERIAL notatsiooni ning Oracle puhul identiteedi veerge. Siis pole eraldi arvujada generaatorite ja trigerite loomise lauseid vaja.

4. detsember 2014 Tuleb luua järgmised laused:

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause. Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause).

14. detsember 2014 Tuleb esitada esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis tuleb saata link. Koos rakendusega tuleb saata sisselogimiseks mõeldud kasutajanimi ja parool.

Erki Eessaar: Samm-sammuline juhendLisatud: 02.10.2014 15:33
02.10.2014 Lisasin kataloogi Iseseisva töö näited alamkataloogi Samm-sammuline juhend. Hakkan sellesse järk-järgult välja panema päevase õppe üliõpilaste poolt harjutustunnis kohapeal lahendatavaid ülesandeid, millest moodustub samm-sammuline juhend mõningate selle õppeaine projekti põhitulemuste loomise kohta.
Erki Eessaar: Andmebaasi testimiskeskne arendamineLisatud: 27.09.2014 12:48
27.09.2014 Mainisin statsionaarse õppe loengus raamatut:

Guernsey III, M., 2013. Test-Driven Database Development. Unlocking Agility. Addison-Wesley. 315 p.

Sellele raamatule lisa pakkuv veebileht on siin. Seal on koodinäited ja viited teemakohasele artiklile ning ettekandele.

Erki Eessaar: Enterprise ArchitectLisatud: 27.09.2014 12:46
27.09.2014 Kataloogis CASE: Enterprise Architect õppevideod on väljas õppevideod Enterprise Architecti kasutamise kohta - videod kõigi andmebaaside ainetes nõutud mudelite loomise kohta.

Samuti on täiendatud kataloogi esimest faili, kus on nüüd info kuidas migreerida Rational Rose abil tehtud mudelid Enterprise Architect abil tehtud projekti. Pean ütlema, et just andmebaasi tehnilise kavandamise seisukohalt on RR Data Modeler vahendis mitmed asjad mugavamad kui EAs. Seega pole üleminek kindlasti mitte kohustuslik.

Erki Eessaar: Enterprise Architect - täiendav infoLisatud: 24.09.2014 01:41
24.09.2014 Seni kuni wifi läbipääs korralikult tööle ei hakka, seni peab TTÜ majas Enterprise Architecti installeerimise failide allalaadimiseks ja litsentsi laenutamiseks oma sülearvuti kaabliga TTÜ võrku ühendama. Igas arvutiklassis peaks õppejõu laua juures olema ka üks vaba võrgukaabli ots, mis on tavaliselt õppejõu sülearvutile mõeldud. Seda otsa ei pea ära sikutama. Installeerimise failid võib ka arvutiklassi arvutisse tõmmata ning sealt mõnel muul viisil oma arvutisse ümber tõsta.
Erki Eessaar: Mõtteid projekti kohtaLisatud: 21.09.2014 14:19
21.09.2014 Minult on küsitud, kas minu soovitatav lähenemine andmebaaside projekteerimisele on olemuselt "monumentaalne" ning vastav kose mudelile. Tõmban selge joone minu poolt soovitatavate praktikate ning teiselt poolt andmebaaside kursuste ülesehituse ja nendes õppeainetes koostatava dokumentatsiooni hulga vahele.

Praktikaid nagu äriarhitektuuri kiire leidmine, kontseptuaalse andmemudeli mustripõhine loomine, kasutusjuhtude tuletamine olemitüüpide elutsüklite kirjeldustest, kontseptuaalsest andmemudelist teisendusreeglite abil loogilise andmemudeli genereerimine, loogilisest andmemudelist füüsilise andmemudeli genereerimine, füüsilisest andmemudelist koodi genereerimine, saab edukalt rakendada nii kose mudeli kui iteratiivse mudeli järgimise korral ja teha seda väga erinevates arendusmetoodikates (sealhulgas paindmetoodikad). Ma ei paku konkreetset metoodikat, vaid praktikaid, mida saab kasutada väga erinevates metoodikates.

"Andmebaasid I" ja "Andmebaasid II" ainetes kipub töö kulgema nii nagu läbiksite kummaski aines ühe iteratsiooni. Iteratsiooni sees kulgevad tegevused umbes nii nagu näeb ette kose mudel, selle vahega, et varasematesse etappidesse saab tagasi pöörduda ja nõuded võivad iteratsiooni jooksul täpsustuda. Rõhutan, see ei pea nii olema. Kui soovite, võite oma projekti viia läbi Scrumi või mõne muu paindmetoodika põhimõtetest lähtuvalt. See on projektimeeskonna sisene otsus.

Mis puudutab dokumentatsiooni hulka, siis jah, seda on ilmselt rohkem kui peate oma töökohal koostama. Põhjus on hariduslik - erinevaid mudeleid "läbikirjutades" saate nendest ettekujutuse ja saate ka parema ettekujutuse kavandatavast süsteemist. Kui infosüsteemi kavandamine ja realiseerimine on Teile suhteliselt uus asi, siis see on kindlasti kasulik. Tulevikus oma projekte tehes saate teha nendest mudelitest oma valiku. Mina soovitan Teil kindlasti leida äriarhitektuuri (allsüsteemid), luua kontseptuaalse- ja füüsilise (andmebaasisüsteemi-spetsiifilise) andmemudeli ning põhiolemitüüpide elutsüklite kirjeldused (seisundidiagrammid). Samuti soovitan vähemalt andmete modelleerimiseks kasutada CASE vahendit, kuna kontseptuaalsest andmemudelist füüsilise andmemudelini jõudmine ja füüsilisest andmemudelist andmebaasikeele lausete genereerimine on hästi arenenud ja see aitab reaalselt aega kokku hoida.

Erki Eessaar: Iseseisva töö registreerimineLisatud: 21.09.2014 12:27
21.09.2014 Tähtajaga 05. oktoober 2014 tuleb registreerida iseseisva töö teema, rakenduses realiseeritav töökoht, esialgne kasutatavate vahendite valik ja üliõpilased, kes seda tööd üheskoos teevad.

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

Ühte tööd võib teha koos kuni kolm inimest. Kui teete tööd mitmekesi, siis peab teema ja tegijate andmed registreerima ainult üks tegijatest. Kutsun üles kõiki, kes teevad projekti üksinda, koonduma ja tegema projekti kahekesi või kolmekesi.

Nimetan järgnevalt ka mõningaid tüüpilisi probleeme vastustes ja loodan, et Te väldite neid.

  1. Teisi andmebaasisüsteeme peale PostgreSQL ja Oracle iseseisva töö tegemiseks kasutada ei saa.
  2. Oraclet ja MS Accessi on raske koos kasutada ja seega ei sobi MS Access Oracle andmebaasi rakenduse tegemiseks.
  3. Oracle Application Express vahendi abil ei saa teha PostgreSQL andmebaasi kasutamiseks mõeldud veebirakendust.
  4. Rational Rose ei ole rakenduse tegemise vahend, vaid on modelleerimisvahend.
  5. Oracle SQL Developer ei ole rakenduse tegemise vahend, vaid on andmebaasi haldamise/programmeerimise vahend.
Erki Eessaar: Vastuvõtuaja ühekordne muudatusLisatud: 17.09.2014 11:15
17.09.2014 Reedel 26.09.2014 jääb minu vastuvõtt 14:00-15:00 erandkorras ära ja selle asemel toimub see samal päeval kell 16:00-17:00 ruumis ICT-627. Vabandan võimalike ebamugavuste eest!
Erki Eessaar: Lisaeksam OKTOOBRISLisatud: 16.09.2014 14:57
16.09.2014 Oktoobri lõpus saab selles aines teha lisaeksamit. See on mõeldud kõigile nendele kehtiva deklaratsiooniga üliõpilastele, kes on seda ainet juba mõnel varasemal semestril deklareerinud. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Enterprise ArchitectLisatud: 15.09.2014 16:57
15.09.2014 Kataloogis Praktika juhendid/CASE: Enterprise Architect õppevideod on fail, milles on kirjas info, kuidas üliõpilased saavad soovi korral Enterprise Architect CASE vahendi oma sülearvutitesse. Nii "Andmebaasid I" kui "Andmebaasid II" sobib kasutada ka Rational Rose CASE vahendit.

Uus 2014-09-17 lisas Tarmo Veskioja (tema koordineerib litsentside jagamist), et litsentsi laenamiseks peaks arvuti olema kaabliga TTÜ võrgus. Wifi abil võibolla ei tööta.

Erki Eessaar: Avatud ÜlikoolLisatud: 06.09.2014 14:31
06.09.2014 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [328] Andmebaasid II (IDU0230) ja Andmebaaside programmeerimine (IDU0120) (sügis 2014) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Juurdepääs serverileLisatud: 06.09.2014 14:30
06.09.2014 Saamaks juurdepääsu serverile apex.ttu.ee, tuleb täita esimene punkt ülesandest "Ülesanne 1", mis on kataloogis 2014/Harjutustunnid. Täitke palun see ülesanne tagantjärgi isegi sellisel juhul, kui saate tunnis õppejõult serverile juurdepääsu. Sellisel juhul saate kirja, kus on kirjas nii Teie kasutajakonto andmed (nii PostgreSQL kui ka Oracle jaoks) kui ka andmebaasisüsteemide kasutamise lühike juhend.
Erki Eessaar: Õppematerjalid lisaks õppekeskkonda välja pandud materjalideleLisatud: 06.09.2014 14:29
06.09.2014

1. TTÜ raamatukogu pakub juurdepääsu EBL : Ebook Library kataloogi kuuluvatele raamatutele (viidatud lehelt saate lugeda kuidas raamatutele ligi pääseda).

IT Akadeemia toel on järgnevad andmebaaside teemalised EBL e-raamatud TTÜ-le päriseks ostetud! Olen neid kõiki ise lugenud ja julgen soovitada! Leiate need raamatud kui keskkonda logimise järel sisestate otsingusse raamatu nime.

  • Lightstone, S.S., Teorey, T.J., Nadeau, T., 2010. Physical Database Design : the database professional's guide to exploiting indexes, views, storage, and more.
  • Molinaro, A., 2009. SQL Cookbook.
  • Celko, J., 2010. Joe Celko's SQL for Smarties : Advanced SQL Programming.

2. Sellest keskkonnast võib leida hulgaliselt kursuse teemasid käsitlevaid e-raamatuid (raamatud Oracle, PostgreSQL, andmebaaside (füüsilise) disaini kohta).

Erki Eessaar: PostgreSQL vs. MySQLLisatud: 06.09.2014 14:29
06.09.2014 Iseseisva töö projekti tegemiseks võib kasutada PostgreSQL andmebaasisüsteemi kui ei või kasutada MySQL andmebaasisüsteemi. Mõlemad on väga populaarsed andmebaasisüsteemid. Kindlasti tekib Teil küsimus, millised on PostgreSQL eelised võrreldes MySQLiga.

Internetis on väljas 2012. aasta juunis Rob Conery poolt Norwegian Developers Conference konverentsil peetud ettekande salvestus. Ettekande esimesed 15 minutit demonstreerivad väga ilmekalt MySQLi puuduseid. SIIN ja SIIN on videos välja toodud puuduste jätkuarutelu.

Soovitan vaadata kogu ettekannet, sest seal tutvustatakse mõningaid huvitavaid PostgreSQLi pakutavaid võimalusi.

  • Alates 14:30 Multiversioon konkurentsjuhtimine (selle kohta on ka üks eksami küsimus).
  • Alates 20:30 Tabelite loomine pärimise kaudu ja selle kasutamine suure tabeli sektsioonideks jagamiseks.
  • Alates 26:30 Foreign Data Wrapper (võimalus teha päringuid paljudest välistest andmeallikatest).
  • Alates 29:30 Andmetüübid (näitena käsitleti timestamp with timezone tüüpi, massiivitüüpe, liittüüpide loomise võimalust).
  • Alates 44:30 on kokkuvõtte PostgreSQLi eelistest - hind (PostgreSQL on tasuta; vaadake võrdluseks Oracle hinnapakkumist), jõudlus, salvestusruumi kokkuhoid, väljalasete sagedus, sobivus ettevõtte infosüsteemides kasutamiseks.

Kokkuvõttes tuleb tõdeda, et PostgreSQLi näol on tegemist andmebaasisüsteemiga, mis pakub Oracle ja Microsofti andmebaasisüsteemidele väärikat konkurentsi ning mida saab väga edukalt kasutada ka suurtes ettevõtte infosüsteemides ning riigi infosüsteemides.

PostgreSQLi kasutab näiteks Skype. Veel üheks PostgreSQLi heaks omaduseks on laiendatavus - SIIT leiate ülevaate laiendustest, mida Skype kasutab/arendab.

Erki Eessaar: TarkvaraLisatud: 06.09.2014 14:28
06.09.2014 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon. Milline draiver valida ja kuidas andmeühendust seadistada lugege palun teatele lisatud failist.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin. Kuna serveris on PostgreSQL (9.3), siis tuleb kasutada pgAdmin versiooni 1.18. Varasemad versioonid ei sobi.

Oracle andmebaasiga töötamiseks soovitan kasutada Oracle poolt pakutavat programmi Oracle SQL Developer (arvutiklassides on versioon 4.0; ülikooli serveriga ühenduse loomisel SID= orcl). Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

Juhul, kui teete iseseisvat tööd Oracle andmebaasisüsteemi põhjal, võib andmebaasi projekteerimiseks kasutada Oracle SQL Developer Data Modeler tarkvara (arvutiklassides on versioon 4.0). See vahend on palju võimalusterohkem kui Rational Rose. Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

apex.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

apex.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe või Notepad++.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 06.09.2014 14:28
06.09.2014

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle APEX): http://apex.ttu.ee:8000/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://apex.ttu.ee/andmebaas/

Application Express abil tehtud rakenduste näiteid:

  1. Töötajate andmebaas (rakenduse tegemiseks kulus umbes 30 minutit)
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  3. Seisundimuudatuste realiseerimise näide
  4. APEXiga kaasa tulev näiterakendus
    (kasutajanimi: testkasutaja
    parool: 1234)

PHP rakenduse näide:

  1. Teadetetahvel - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.

NB! apex.ttu.ee serveris tuleb PHP rakendus paigutada kataloogi /usr/local/apache2/htdocs alamkataloogi.
Kui loote seal näiteks oma rakenduse jaoks kataloogi rakendus, siis rakenduse veebiaadress on: http://apex.ttu.ee/rakendus/

Abivahendid:

  1. StarUML CASE vahendil põhinev lahendus, mis võimaldab StarUML abil koostada SQL-andmebaasi disaini mudeleid ja genereerida nendest PostgreSQLi jaoks mõeldud SQL koodi (kaasa arvatud mõningate keerukamate kitsenduste jõustamiseks vajalik kood). Idee on, et mudelis saab deklareerida kitsenduse vajaduse ning generaator oskab selle deklaratsiooni alusel koodi genereerida.
  2. apex.ttu.ee serveris olevate PostgreSQL andmebaaside kvaliteedi kontroll - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.
  3. Erinevad tarkvaravahendid PostgreSQL andmebaaside projekteerimiseks, programmeerimiseks ja haldamiseks. Nimekirjas on nii vaba tarkvara kui ka kommertstarkvara.
  4. Iseseisvas töös nõutud tehnilise arhitektuuri joonise võib esitada kui UML evitusskeemi (deployment diagram). Kataloogis Rational Rose õppevideod on video kuidas seda Rational Rose abil luua. Selle joonise võib aga ka koostada kasutades vaba tarkvara Archi, mis on mõeldud ettevõtete arhitektuuri modelleerimiseks.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (9.3) dokumentatsioon
  3. Oracle 12c Release 1 dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum
  7. Pistikprogrammid e pluginad, mida saab kasutada Oracle APEXI abil tehtud rakenduste funktsionaalsuse suurendamiseks.
  8. Mõned videod, mis demonstreerivad APEX 4.1 kasutamist.

Lisainfo:

  1. Suur hulk soovitusi ja näpunäiteid andmebaaside programmeerijatele
  2. Visioon, kuidas üles ehitada andmete haldamiseks mõeldud süsteeme
Erki Eessaar: Uus õppeaastaLisatud: 28.08.2014 19:50
01.09.2014 ALGAS 2014/2015 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 21.08.2014 12:55
21.08.2014 Augustis on sügissemestri eelnädalal võimalik teha lisaeksamit. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam JUUNISLisatud: 07.06.2014 13:58
07.06.2014 Kevadise lisaeksamisessiooni ajal toimub eksam õppeainetes "Andmebaasid II" ja "Andmebaaside programmeerimine". Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MAISLisatud: 25.04.2014 09:15
25.04.2014 Kevadise eksamisessiooni ajal toimub eksam õppeainetes "Andmebaasid II" ja "Andmebaaside programmeerimine". Sellest võivad osa võtta kõik kehtiva deklaratsiooniga üliõpilased. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MÄRTSISLisatud: 01.03.2014 12:19
01.03.2014 Märtsis toimub lisaeksam õppeainetes "Andmebaasid II" (IDU0230) ja "Andmebaaside programmeerimine" (IDU0120). Sellest võivad osa võtta kõik kehtiva deklaratsiooniga üliõpilased. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam JAANUARISLisatud: 22.01.2014 11:36
22.01.2014 Jaanuaris saab täiendava eksamisessiooni ajal teha lisaeksamit. Täpsem info on teatele lisatud failis.

Kellele on veel eksamil arvesse minemata lisapunkte - see on viimane võimalus need ära kasutada.

Uskuge mind, kui hakkate eksamiks valmistuma kevadel või hiljem, siis mäletate ainest üha vähem ja vähem ning valmistumine on aina raskem ja raskem.

Erki Eessaar: Hajustransaktsioonide kahefaasilise kinnitamise protokollLisatud: 14.01.2014 10:20
14.01.2014 Eksamiks valmistudes vaadake animatsioone teemas 12 käsitletud hajustransaktsioonide kahefaasilise kinnitamise protokolli kohta.
Erki Eessaar: Oracle APEX kiiremaksLisatud: 14.01.2014 00:58
14.01.2014 Võibolla olete märganud, et apex.ttu.ee serveris hakkas Oracl APEX programm kiiremini tööle. Seda aitas saavutada Oracle juhtparameetri shared_server väärtuse suurendamine 1-lt 20-le (siin viide).
Erki Eessaar: Eksamile registreerumineLisatud: 11.01.2014 00:56
11.01.2014 Kui keegi teist tahab tulla 15. jaanuari eksamile, siis pange ennast julgelt kohe ÕISis sellele eksamile kirja. Pole vaja oodata kuni ma Teie projekti üle vaatan. Eksamile registreerunute nimekirja järgi tean kelle projektid pean esimeses järjekorras üle vaatama.
Erki Eessaar: Uued andmebaaside teemalised raamatud TTÜ raamatukogusLisatud: 07.01.2014 01:05
07.01.2014 TTÜ raamatukokku jõudsid kaks eksemplari Pramod J Sadalage ja Martin Fowleri raamatust NoSQL distilled : a brief guide to the emerging world of polyglot persistence. See raamat annab väga hea tervikliku kõrgtaseme ülevaate NoSQL süsteemide maailmast ja selle erinevatest allhoovustest. Olen seda raamatut ise lugenud ja julgen soovitada!

TTÜ raamatukogu pakub juurdepääsu EBL : Ebook Library kataloogi kuuluvatele raamatutele (viidatud lehelt saate lugeda kuidas raamatutele ligi pääseda).

IT Akadeemia toel on järgnevad andmebaaside teemalised EBL e-raamatud TTÜ-le päriseks ostetud! Olen neid kõiki ise lugenud ja julgen soovitada! Leiate need raamatud kui keskkonda logimise järel sisestate otsingusse raamatu nime. Need raamatud on täienduseks nii "Andmebaasid I" kui ka "Andmebaasid II" õppeainete teemadele.

  • Date, C. J., 2011. SQL and Relational Theory : How to Write Accurate SQL Code.
  • Molinaro, A., 2009. SQL Cookbook.
  • Celko, J., 2010. Joe Celko's SQL for Smarties : Advanced SQL Programming.
  • Blaha, M., 2010. Patterns of Data Modeling.
  • Lightstone, S.S., Teorey, T.J., Nadeau, T., 2010. Physical Database Design : the database professional's guide to exploiting indexes, views, storage, and more.
Erki Eessaar: Andmete kasinusLisatud: 05.01.2014 02:54
05.01.2014 Mõtlemapanev artikkel andmete kasinusest vastandina kõikvõimalike andmete süüdimatule või siis väga salakavala ja kindla sihiga kogumisele.
Erki Eessaar: Oracle programmivigaLisatud: 26.12.2013 13:32
26.12.2013 Mitmed üliõpilased on juhtinud tähelepanu veale, millega nad on Oracle andmebaasis ootamatult kokku põrganud. Nimelt hakkab süsteem andmete tabelitesse lisamisel ootamatult väljastama veateateid:

ORA-30667: cannot drop NOT NULL constraint on a DEFAULT ON NULL column

Andmete lisamine tabelitesse ebaõnnestub. Siin on tegemist Oracle programmiveaga, millele juhitakse tähelepanu ka selles arutelus. Näib, et see viga on seotud identiteedi veeru defineerimise võimalusega, mis lisandus Oracle 12c.

apex.ttu.ee serveris ilmnenud vigade korral on aidanud see, kui probleemses skeemis käivitada prügikasti tühjendamise lause.

PURGE recyclebin;

Selle lause käivitamise õigus on ka kõigil üliõpilastel ja peaksite seda probleemi ilmnemisel esimese asjana proovima.

Täiendus 2013-12-27. Ilmneb, et mõnikord tuleb eelnimetatud probleemi tekkimisel skeemis A tühjendada prügikast skeemis B. Milline on skeem B on ebaselge. Näib, et abi on sellest kui sysdba tühjendab kõik prügikastid. Selleks peab ta andma käsu:

PURGE dba_recyclebin;

Üliõpilastel ei ole sysdba õiguseid.

Täiendus 2013-12-27 (2). Andsin sysdba õigustes käsu prügikast täiesti välja lülitada. See tähendab, et nüüd pole võimalik kustutatud objekti prügikastist taastada. Näis kas sellest on selle õnnetu programmivea tekkimise vältimisel abi. Lootkem parimat!

ALTER SYSTEM SET recyclebin = OFF DEFERRED;

Varase juurutaja (early adopter) valud ja vaevad. Sellised olukorrad on kindlasti oluliseks põhjuseks, miks ettevõtted sageli uue tarkvara versiooni kasutusele võtmisega viivitavad.

Erki Eessaar: LisapunktidLisatud: 17.12.2013 01:41
17.12.2013 Kataloogis 2013/Slaidid on välja pandud üliõpilaste kogutud lisapunktid. Kui Teie ja minu punktide arvestuses on erinevusi, siis andke palun sellest teada.

Juhin Teie tähelepanu, et kui olete saanud punkte ja tahate, et need ka lõpphinde arvutamisel arvesse läheks, siis peate eksami selle semestri jooksul ära tegema.

  • Lisapunktid lähevad arvesse üks kord eksamihinde arvutamisel – siis, kui teete esimest korda eksamit.
  • Kui semestri jooksul pole tehtud eksamit kus lisapunktid arvesse läheks, kaotavad need punktid semestri lõppedes kehtivuse.

Erki Eessaar: PostgreSQL port ja Accessi näiterakendusedLisatud: 16.12.2013 17:04
16.12.2013 Kui olete kasutanud minu poolt välja pandud Accessi näiterakendusi/malle väljapool TTÜ võrku, siis võibolla on juhtunud, et need ei hakanud tööle. Probleem võib olla selles, et kasutaja identifitseerimise/ühenduse värskendamise moodulis on viidatud vaikimisi PostgreSQL pordile 5432 kuid apex.ttu.ee serveri korral tuleks kasutada porti 7301.

Probleemi lahendamiseks laadige Mauruse õppekeskkonnast faili uus versioon (olen kõigis näidetes selle vea parandanud) või tehke ise pisike muudatus rakenduse koodis. Selleks avage Accessi rakenduses olev moodul (selle nimi võib olla Turvalisus, Refreshing vms). Mooduli alguses on defineeritud globaalse konstandina ühendusstring. Asendage selles ühendusstringis port 5432 pordiga 7301.

Enne:

Global Const connect_post = "DSN=" & dsn & ";DATABASE=" & database & ";SERVER=" & server & ";PORT=5432;"

Pärast:

Global Const connect_post = "DSN=" & dsn & ";DATABASE=" & database & ";SERVER=" & server & ";PORT=7301;"

Vabandan tekkinud probleemide eest!

Erki Eessaar: MS AccessistLisatud: 07.12.2013 23:25
07.12.2013 Väga paljud Teist tegid kevadel iseseisva töö prototüübi MS Accessis ning nii mõnigi Teist teeb ka sügisel iseseisva töö rakenduse MS Accessis. Järgnev peaks Teile huvi pakkuma.

Kataloogis Päevase õppe harjutusülesanded oleva faili Ülesanne 13 lõpus on juhend, kuidas parandada MS Accessis loodud rakenduse turvalisust. Sellisel viisil täiustatud rakenduse näite leiate kataloogi Päevase õppe harjutusülesanded/Lahendused failist Ülesande 13 lõpus esitatud juhendi alusel täiustatud MS Accessi fail..

Erki Eessaar: Kolmanda vaheülesande tulemusedLisatud: 06.12.2013 14:12
06.12.2013 Olen kõik kolmanda vaheülesande vastused üle vaadanud. Kommentaarid leiate sealt samast, kus vastuse üles laadisite.
Erki Eessaar: <b><font color=red><big>Andmete valideerimisest</b></font></big>Lisatud: 01.12.2013 13:31
01.12.2013 Viimases harjutustunnis oli meil juttu sellest, kas andmete andmebaasi tasemel valideerimine (eelnevalt defineeritud reeglitele vastavuse kontrollimine) on hea mõte või mitte. Sellega seoses on mul mõtteid, mida tahan teiega jagada.

Väide: Kui rakenduse tasemel andmeid valideeritakse, siis andmebaasi tasemel pole seda enam vaja teha, sest see on liiga keeruline.
Vastus: Kõik sõltub sellest kui oluliseks andmete korrektsust peetakse. Muidugi ei taga kontrollid, et andmed on alati sisuliselt õiged, kuid aitavad vähendada andmebaasi sattuvate ebaõigete andmete hulka. Kui kontroll realiseerida n rakenduses (mida on pidevalt vaja edasiarendada), mis on tehtud m firma poolt (igaühel oma CASE vahendid, dokumenteerimise standardid ja tavad - probleem: kuidas neile kitsenduste olemasolu kõige paremini kommunikeerida) kasutades y erinevat keelt ja kus on z vormi mille kaudu saab andmeid muuta ning kõigele lisaks on veel g skripti, mis laadivad andmebaasi regulaarselt uusi andmeid, siis kontrolli veelkordne teostamine andmebaasi tasemel ei tundugi enam nii suur täiendav pingutus - pealegi kui sellest tõuseb olulist täiendavat kasu.

Teemast hetkeks kõrvale kaldudes - deklaratiivsete reeglite jõustamine pole suurem pingutus kui Java koodi kirjutamine. See võib olla pingutus indiviididele, kes kahe tabeli ühendamise päringu kirjutamiseks peavad pool tundi googeldama. Siinkohal on abiks oma tööjõu parem valimine ja koolitamine. Elav klassik hr. Leo Võhandu on öelnud, et umbes 1/3-le inimestest on võimatu deklaratiivset, hulkade töötlemisel põhinevat keelt korralikult selgeks õpetada - nad ei saa sellest aru ja ei hakkagi kunagi korralikult aru saama. Õpetamise praktikuna võin seda väidet kinnitada.

Andmebaasi taseme kontrollidest pole võimalik meelega mööda hiilida või kogemata "mööda tuigerdada".

Ma ei ole kindlasti andmete rakenduse tasemel valideerimise vastu, sest see võimaldab anda kasutajale kiiremat ja selgemat tagasisidet ning vähendada võrguliiklust, sest leitud ebakorrektseid andmeid ei hakata üle võrgu saatma. Kuid kaitse (kui kaitstavat objekti tahetakse tõesti kogu hingest kaitsta) peaks olema mitmekihiline - kui üks kiht veab alt, siis on veel vähemalt üks kiht, mis löögi vastu võtab ja tagasi põrgatab. Autol panete uksed lukku, panete eraldi rooliluku panete kõigele lisaks veel signalisatsiooni peale. Mõni jätab isegi kurja koera autosse. Keegi ei tule selle pealegi, et seda oleks "liiga palju". Kui rakenduses x jäi vormile y kontroll peale panemata, siis testimisel tekib veateade ja kohe on selge, et vormi juures on jäänud midagi tegemata.

Lisaks andmete valideerimisele on veel põhjuseid, miks andmebaasi tasemel deklareeritud kitsendused osutuvad kasulikuks. Möönan, et järgnevate võimaluste kasutuselevõtu osas on tänapäeva tarkvarasüsteemidel veel palju ära teha.

  • Andmekäitluskeele lausete (päringud ja andmemuudatused) optimeerimine ja automaatne lihtsustamine. Eesmärgiks on saavutada lausete kiirem täitmine. Kitsendused annavad andmebaasisüsteemile infot andmebaasis olevate andmete tähenduse kohta ja selle info alusel saaks andmebaasisüsteem asendada nii mõnegi käivitatava lause oluliselt lihtsama kuid semantiliselt samaväärse lausega. Sellise semantilise teisendamise esimeseks pääsukeseks on tabelite elimineerimise teisendus, mida muuhulgas toetavad PostgreSQL ja Oracle.
  • Arendussüsteemides, mille puhul genereeritakse rakendus andmebaasi põhjal (nagu näiteks Oracle APEX), saaks põhimõtteliselt teha nii, et andmebaasi tasemel jõustatud ja süsteemikataloogis talletatud kitsenduste põhjal luuakse automaatselt rakenduse kood, mis samuti kitsenduse täidetust kontrollib. Näiteks APEX puhul võiks automaatselt tekkida tabeli alusel loodud lehega seotud Valideerimised (validations). Omaette keerukus tõuseb muidugi sellest, kuidas taolises olukorras kitsenduste muudatusi sünkroniseerida.
  • Kitsendused aitavad andmebaasisüsteemil mõista andmete tähendust ja aitavad seda teha ka arendajatel. Sisuliselt dokumenteerivad need andmetele esitatavaid nõudeid - see on eriti kasulik olukorras kus dokumentatsiooni peaaegu ei ole või on sellel lastud vananeda.
  • Samuti annavad kitsendused olulist infot, mille alusel otsida andmebaasi skeemist automaatselt mitmesuguseid disainivigu (näiteks erinevate SQL-andmebaasi disaini antimustrite esinemisi). Vigu saab otsida päringutega andmebaasi süsteemikataloogi põhjal.
Väide: Andmebaasis kontrollide realiseerimine on liiga keeruline.
Vastus: Tõsi - kui kasutada trigereid keerukamate reeglite kontrollimiseks, siis on nendesse lihtne teha vigu nii, et teatud olukorras laseb kontroll läbi ebakorrektseid andmeid. Samu vigu saab muide teha ka rakenduses. Deklaratiivsete kitsenduste puhul selliseid probleeme ei teki, sest ütlete süsteemile mida on vaja kaitsta ning süsteem ise valib parima algoritmi kuidas kontrolli läbi viia. See, et tänapäeva SQL-andmebaasisüsteemid ei võimalda luua üldiseid deklaratiivseid kitsendusi (CREATE ASSERTION) on minu hinnangul üks tänapäeva SQL-andmebaasisüsteemide suuremaid puuduseid. Abi on generaatorsüsteemidest nagu RuleGen.

Väide: Andmete valideerimine andmebaasi tasemel on halb, sest muudatuste sisseviimiseks peab andmebaasi töö peatama.
Vastus: Võimalused nagu näiteks Online Table Redefinition ja Edition-Based Redefinition aitavad seda probleemi leevendada. Tänapäeva andmebaasisüsteemid võimaldavad kitsendusi kiiresti sisse ja välja lülitada ning sama saab teha trigeritega. Olen nõus, et paljugi on veel vaja ära teha. Samas mõelge ka sellele, et kitsendus, mille jõustate andmebaasis jõustub kohe loomise järel ja rakendub kõigile muudatustele sõltumata sellest, millisest allikast (rakendusest, skriptist, administreerimise programmist) need pärinevad. Kas see kui jõustatava reegli muutumise tõttu tuleb korraga asendada kõik rakendused uue versiooniga on kuidagi olemuslikult lihtsam ja parem? Kas see kui erinevates sama baasi kasutavates rakendustes on realiseeritud erinevad versioonid andmete kontrolli reeglitest (üks rakendus leiab, et isikukood peab olema Eesti isikukood; teist rakendust on juba uuendatud ja see lubab Eesti ning Läti isikukoode) on olemuslikult hea? Toodi näide selle kohta, et on vaja hakata registreerima ka Läti ja Leedu isikukoodiga isikuid. Kena! Andmebaasist kitsenduse kustutamine või kitsenduse väljalülitamine võtab vaid hetke. Kas tõesti leiate, et sama asja tegemine m rakenduse z vormis ja lisaks veel g skriptis võtab sama vähe aega?!

Ma võin andmebaasis muuta tabelite struktuuri ja see, et mõne kitsenduse rakenduse tasemel kontroll seetõttu enam ei toimi tuleb välja alles testimisel. Samas andmebaasis on andmebaasiobjektide vahelised seosed andmebaasisüsteemi jälgimise all, info nende kohta on süsteemikataloogis ja a) süsteem ei lase mul teha struktuurimuudatusi, mis viivad mõne teise objekti ebakorrektsesse seisu või b) ma saan nende seoste kohta vähemalt süsteemikataloogist päringutega infot otsida.

Väide: Andmete valideerimine andmebaasi tasemel mõjub halvasti jõudlusele.
Vastus: Suure hulga andmete tabelisse laadimisel on sõltuvalt süsteemist võimalik kitsendusi ajutiselt välja lülitada ning laadimise lõppedes uuesti sisse lülitada. Kui Teil on ühe tabeli mitut rida või mitme tabeli ridu hõlmavad kontrollid (näiteks välisvõtme kitsenduse kontroll) siis selle rakenduse tasemel realiseerimine tähendab ikkagi päringuid baasi vastu, vajadusel andmeelementide lukustamist. Mille alusel arvatakse, et selline lahendus on kuidagi jõudluse poolest parem?!

Panin kataloogi Praktika juhendid lõputöö Ärireeglite realiseerimine PHP ja PostgreSQLi abil. Tsiteerin selle töö lõppjäreldusi: "Nende uuringute tulemuste põhjal jõuti järeldusele, et enamuse ärireegli tüüpide realiseerimise puhul on PostgreSQLi kasutamine realisatsiooniks mõistlikum, mis tähendab, et kood on seal lihtsam, kompaktsem ja muudatuste sisseviimisel mugavam. Ka süsteemi töökiirus ärireegli kontrolli läbiviimisel ja realiseerimisel oli suurem. Vigade parandus oli PostgreSQLi puhul tihtipeale kergem, kuid mõningatel juhtudel ei olnud mõlemad süsteemid võimelised arusaadavalt vea põhjust kuvama. Muudatuste sisseviimine on andmebaasi tasandil kergem selles osas, et siis ei pea muutmist vajavat kohta kaua otsima ning pole vaja ka rakendust toimingusse kaasata: kõik muudatused saab andmebaasis ära teha. Lisaks pakub andmebaas palju võimalusi ärireeglite realiseerimiseks, mida PHPs teha ei saa: vaated, domeenid, klassist klassi pärimine (disjoint), trigerid ja muud. Ainult realisatsiooni arendamise käigus kasutatud abiinfo maht oli mõlema realiseerimisviisi puhul piisav ning ka kood oli üldiselt arusaadav."

Lõpetuseks - tänapäeval on populaarsust kasvatamas ärireeglite mootorid. Nende kasutamisel on sama eesmärk, mis kitsenduste andmebaasis defineerimisel - võtta süsteemi tööd juhtivad reeglid tarkvarast välja ning muuta need reeglid tsentraalselt hallatavaks. Reeglite muutmine mõjutab kõiki nende reeglite alusel töötavaid rakendusi.

Kokkuvõttes ma jään enda juurde - kitsenduste andmebaasi tasemel jõustamine on kasulik. Alati on erandeid, aga need kinnitavad reeglit erandiga mitte kaetud juhtudel.

Erki Eessaar: <font color=red><b><big>Eksam</b></font></big>Lisatud: 01.12.2013 13:23
01.12.2013 Teatele lisatud failis on info talvise eksamisessiooni ajal toimuvate eksamite kohta.
Erki Eessaar: <font color=red><b><big>Iseseisva töö esitamine</big></b></font>Lisatud: 30.11.2013 20:52
30.11.2013 Iseseisva töö esitamise tähtaeg on 12. jaanuar 2014 (kaasa arvatud). Iseseisva töö alguses PEAB olema peatükk "Sissejuhatus", kus on järgmised punktid (vaadake palun ka näidet vastuvõtuaegade näiteprojekti algusest).
  • Kui kasutate töös PostgreSQLi, siis PostgreSQL andmebaasi nimi - ma eeldan ja ootan, et andmebaas on pandud apex.ttu.ee serverisse.
  • Kui kasutate töös Oraclet, siis Oracle skeemi nimi (st Teie kasutajanimi C##TUD...) ning Teie Oracle parool - ma eeldan ja ootan, et kasutate apex.ttu.ee Oracle andmebaasi.
  • Veebirakenduse korral selle URL.
  • Kui teete rakenduse kasutades MS Accessi, siis millises MS Accessi versioonis on rakendus loodud. NB! Esitatav MS Accessi rakendus peab töötama ingliskeelse MS Access 2013 keskkonnas (kui teete oma rakenduse mõne muu MS Accessi versiooniga tuleks seda TTÜ arvutiklassis testida)!!
  • Kui teete veebirakenduse kasutades Oracle APEXit, siis ka tööruumi (workspace) nimi, rakenduse nimi ning samuti rakenduse URL.
  • Kui tegemist on kasutaja arvutisse pandava rakendusega, mis pole tehtud MS Accessis, siis selle täpne installeerimise juhend.
  • Loodud rakendusse sisselogimiseks vajalik kasutajanimi ja parool.
  • Kommentaar, millise kasutaja töökoha Te realiseerisite.
  • Kirjeldus selle kohta, kus ja millal pöördub Teie loodud rakendusprogramm serveril asuvate protseduuride/ funktsioonide poole.
Nõutud sissejuhatuse või selle osade puudumine tähendab saadavate punktide arvu vähendamist!!!

NB! Palun ODBC andmeühendust kasutava rakenduse puhul kasutada andmeühenduse spetsifikatsiooni (ingl. k. data source) nimena PostgreSQL_yhendus. See on sama nimi, mis arvutiklassides.

Iseseisev töö tuleb esitada elektrooniliselt kasutades aine veebipõhist õppekeskkonda. Tuleb saata nii dokumentatsioon, CASE vahendi (näiteks Rational Rose) failid (mitte pildifailid) kui ka rakenduse failid (vajalikud on nii käivitatavad failid kui ka lähtekood). Kui teete tööd mitmekesi, siis peab dokumendi saatma üks üliõpilane! Iseseisva töö esitamiseks valige õppekeskkonna parempoolsest menüüst "Tudeng->Ülesanded" ning avanenud leheküljelt ülesanne "Iseseisva töö esitamine". Lugege enne failide saatmist ülesande tekst korralikult läbi ja järgige täpselt juhiseid!

Saadetavad iseseisva töö dokumendid tuleb zipiga kokku pakkida. Eraldi tuleks saata iseseisva töö dokument, CASE vahendiga koostatud mudelid ja rakenduse fail(id). Oracle APEXi kasutamise korral tuleks saata rakenduse importimisel saadav fail. Iseseisva töö dokument võib olla *.doc, *.docx või *.rtf (ärge palun pdf-e saatke).

Kui teete tööd mitmekesi, siis peab iseseisva töö failid saatma üks üliõpilane. Ühe saadetava faili suurus võib maksimaalselt olla umbes 1,5MB! Kui fail on suurem, võib failid kuhugi serverisse üles riputada ja saata õppejõule vaid veebiaadressi.

Peale faili saatmist kontrollige, kas faili saatmine õnnestus!!! Peale faili saatmist tekib leheküljele sellele failile viitav hüperlink. Klõpsake selle parempoolse hiire nupuga ja valige "Save Target As". Salvestage fail tagasi oma arvutisse. Kui see õnnestub ja faili saab seejärel avada, siis on ka saatmine õnnestunud.

Failide korrektne õppejõule saatmine on üliõpilase vastutus. Kui failid pole serverile jõudnud, siis tähendab see, et tööd pole esitatud. Töö loetakse esitatuks peale kõigi nõutud failide korrektset saatmist

Iseseisva töö punktisummad pannakse lehele, mille kaudu saadeti dokumendid.

  • 13. jaanuar 2014 – 19. jaanuar 2014 esitatud töö saab hilinemise eest 5 miinuspunkti
  • 20. jaanuar 2014 – 31. august 2014 esitatud töö saab hilinemise eest 10 miinuspunkti

Juhul, kui iseseisva töö rakendus on tehtud kasutades vahendeid, mis nõuavad täiendava tarkvara installeerimist õppejõu arvutisse või mõnel muul põhjusel õppejõu arvutis korrektselt ei tööta, siis võib osutuda vajalikuks rakenduse oma arvutist ette näitama tulemine (ingliskeelse MS Access abil tehtud rakenduse või veebirakenduse korral ei ole selline ette näitama tulemine vajalik). Rakendust saab näidata eksamisessiooni ajal ning selles tuleb eelnevalt õppejõuga kokku leppida. Kõik nõutud failid peavad olema ikkagi eelnevalt esitatud, et õppejõud saaks need üle vaadata. Kui töö failid on esitatud õigeaegselt, siis ei põhjusta selline hilisem näitamine punktide arvu vähendamist hilinemise eest.

Erki Eessaar: <b><font color=red><big>Mõned kommentaarid iseseisvate tööde kohta</font></b></big>Lisatud: 30.11.2013 18:39
30.11.2013
  1. Iseseisva töö projekti hinnatakse tervikuna - st arvestatakse ka strateegilise ja detailanalüüsi osa. Seega kui seal on vigu, siis need tuleb parandada ning samuti tuleb tagada nende töö osade kooskõla ülejäänud töö osadega.
  2. Kõik mudelid peavad olema loetavad dokumendi 100% suurenduse korral (st. ärge kasutage liiga väikest fonti või liiga suure elementide ja seoste hulgaga diagramme).
  3. Loogilise disaini tabelite definitsioonide koostamisel ärge unustage kirjeldada alternatiivvõtmeid. Nendest tulenevad andmebaasis hiljem UNIQUE kitsendused. Samuti tuleb alternatiivvõtmetesse kuuluvatele veergudele deklareerida NOT NULL kitsendused.
  4. Loogilise disaini andmebaasi diagrammil ning selle juurde käivates tabelite tekstikirjeldustes esitatav informatsioon peab langema kokku (samad võtmed, tüübid, väljapikkused jne.).
  5. Tehnilise prototüübi kirjelduse juures tuleb alajaotuses "Esmane prototüüp" kirjeldada eeldusaines "Andmebaasid I"/"Andmebaaside projekteerimine" koostatud prototüüpi.
  6. Vaadake palun, et kirjutate projekti õiged tarkvara versioonid (apex.ttu.ee serveris on PostgreSQL 9.3 ja Oracle 12c Enterprise Edition Release 1).
  7. Ärge unustage kasutada tabelite veergude vaikimisi väärtuseid (DEFAULT values). Need väärtused tuleb esitada juba loogilise andmebaasi disaini mudelis ning ka andmebaasis realiseerida.
  8. Kui tabel (näiteks Tellimus) on seotud seisundi klassifikaatorite tabeliga (näiteks Tellimuse_seisundi_liik), siis tuleb vastavale välisvõtme veerule deklareerida vaikimisi väärtus - selle seisundi kood, millesse registreeritav olem peale loomist esimesena läheb.
  9. Klassifikaatorite koodide genereerimiseks ei kasutata arvujada generaatoreid. Klassifikaatorite koodid on sisulise tähendusega väärtused, mis registreeritakse vastavate õigustega kasutajate poolt. Pange tähele, et Te peate klassifikaatorite väärtused (sealhulgas nende koodid) oma töös dokumenteerima.
  10. Kui klassifikaatori kood on täisarvu tüüpi, siis vastava veeru tüübina tuleks kasutada SMALLINT (eeldusel, et klassifikaatori väärtuste prognoositav hulk ei ületa 32767).
  11. Kõik kontseptuaalses andmemudelis kirjeldatud kitsendused tuleb andmebaasis jõustada (deklaratiivselt, kasutades trigereid või kasutades mõnda andmebaasisüsteemi-spetsiifilist võimalust).
  12. PostgreSQL andmebaasis tuleks tabelites, kus toimuvad sagedased olemasolevate ridade muutmised, määrata FILLFACTOR salvestusparameetri väärtuseks väiksem väärtus kui 100 (vaadake teemat nr. 4).
  13. Kui kasutate lahendust, mille kohaselt hoitakse kasutajate paroole andmebaasi tabelis, siis peab parool olema salvestatud räsiväärtusena, mitte avatekstina.
  14. Räsiväärtuse leidmiseks peab kasutama mõnda turvalisemat algoritmi kui MD5 (näiteks SHA-2 perekonna funktsioonid) ja peaks kasutama soola (näiteks juhuslikult leitud 32 märgi pikkune string).
  15. Rakendus peab andmebaasisüsteemiga suhtlema kui kasutaja, millel on minimaalne tööks vajalik hulk õiguseid (ei ole selliseid õiguseid, mida tööülesannete jaoks vaja ei lähe).
  16. Näiteprojektist või õppematerjalidest kopeeritud funktsioonid/protseduurid, kus pole tehtud muudatusi või on tehtud vaid kosmeetilisi muudatusi (muudetud identifikaatoreid), ei lähe mahuliste nõuete täidetuse hindamisel arvesse.
  17. "Teisest allikast võetud diagrammide, teksti, programmikoodi või muude vaimse töö tulemuste kasutamine muutmata või muudetud, aga äratuntavalt sarnasel kujul, ilma algallikale viitamata, on plagiaat. Algallikale viitamisel peab olema selge, milline osa tööst pärineb algallikast ja milline on töö autorite omapoolne panus. Teisest allikast võetud ja viidatud osi loetakse võrdseks tegemata tööga või osaliselt tehtud tööga, vastavalt autori omapoolsele panusele." (definitsioon hr. Ants Torimilt)
Erki Eessaar: Kasutajate autentimise realiseerimineLisatud: 23.11.2013 18:14
23.11.2013 Teie tehtavas iseseisvas töös tuleb realiseerida kasutajate autentimine, kui see on loogiliselt vajalik. Autentimist pole vaja vaid siis, kui loodavat süsteemi võivad vabalt kasutada kõik kasutajad ilma vajaduseta ennast identifitseerida.

Kuidas seda tehniliselt teostada? Võimalikud on vähemalt kaks varianti. Neid variante kirjeldatakse pikemalt teema nr. 5 materjalides (pika teksti dokumendis punkt 3.3.6 - lk. 37-40).

  1. Igale rakenduse kasutajale vastab andmebaasis loodud andmebaasi kasutaja. Sellisest andmebaasi turvalisuse tagamise mudelist räägitakse pikemalt siin. Seda lähenemist kasutab lihtne teadetetahvli süsteem. Sellesse süsteemi sisenemiseks tuleb kasutada oma apex.ttu.ee kasutajanime ja parooli (PostgreSQLis on loodud selline andmebaasi kasutaja). Samuti on see lähenemine kasutusel õpingukavade näiteprojektis, kui süsteem realiseeritakse PostgreSQL põhjal.

    Kui soovite rakenduse luua MS Accessis, siis kataloogis "Praktika juhendid" olevas failis Sisselogimise_naide_andmebaasi_kasutaja_ver3.accdb on realiseeritud sellisel viisil sisselogimise võimalus. Võite võtta selle faili oma rakenduse loomisel aluseks. Kui teete faili lahti, siis esmalt avanevas vormis kirjeldatakse, mida peate tegema, et seda faili enda süsteemi realiseerimiseks kasutada.

  2. Hoida kasutajate kasutajanimesid ja paroole andmebaasi tabelis. Selleks, et rakendus saaks andmebaasi poole pöörduda, tuleb luua üks rakendusele vastav andmebaasi kasutaja. Rakendusele vastavale kasutajale tuleb anda ainult sellised õigused, mida rakendusel on tööks vaja. Sellist lähenemist on kasutatud vastuvõtuaegade näiteprojektis.

Kui hoiate paroole andmebaasi tabelis, siis ei tohi paroole seal hoida avatekstina, vaid andmebaasis tuleb talletada parooli räsiväärtus. Õppekeskkonnas on väljas näited, kuidas seda PostgreSQL ja Oracle korral teha.

Räsiväärtuste leidmiseks mõeldud funktsioonidest on MD5 küll laialt levinud, kuid seda peetakse ebaturvaliseks ning õige oleks kasutada mõnda teist algoritmi (SHA-2 perekonna algoritmid). Sõnastikrünnete raskendamiseks tuleks räsiväärtuse arvutamisel kasutada soola. PostgreSQL ja Oracle jaoks välja pakutud lahendused arvestavad nende nõuetega.

  1. PostgreSQL: Soovitan kasutada PostgreSQL lisamoodulit pgcrypto. Vaadake selle kohta teema 5 pika teksti faili lk. 88-91. Vaadake vastuvõtuaegade näiteprojekti ning vastuvõtuaegade näiteprojekti rakendust.

    Kui soovite rakenduse luua MS Accessis, siis kataloogis "Praktika juhendid" olevas failis Sisselogimise_naide_kasutajate_tabel_ver3.accdb on realiseeritud sellisel viisil sisselogimise võimalus. Võite võtta selle faili oma rakenduse loomisel aluseks. Kui teete faili lahti, siis esmalt avanevas vormis kirjeldatakse, mida peate tegema, et seda faili enda süsteemi realiseerimiseks kasutada.

  2. Oracle: Kataloogis "Oracle APEX õppevideod (APEX 4.2 baasil)" on failis 15 näidatud, kuidas realiseerida parooli räsiväärtuse leidmine kasutades SHA-2 algoritmi. Sama kataloogi failis 14 on video, mis demonstreerib, kuidas muuta Oracle APEX abil loodud rakendust nii, et see kasutaks andmebaasis loodud kasutaja tuvastamise funktsiooni. Loodud APEXi rakendust saab proovida siin (kasutajanimi: testkasutaja parool: 1234).

Oracle lahenduse korral on loodud kasutajate tabelis eraldi veerg soola hoidmiseks. Miks mitte kasutada kasutanime soolana? Lugege selle kohta siit ja siit.

apex.ttu.ee serveris pole Teil Oracle andmebaasis õigust kasutajaid luua. Kui soovite oma iseseisva töö projekti jaoks rakendusele vastava kasutaja loomist, siis kirjutage sellest soovist palun õppejõule - kirjas peab olema loodava kasutaja kasutajanimi (luuakse üldine kasutaja ja selle nimi algab c##) ja parool. Loodud kasutaja nimi hakkab sisaldama Teie matriklinumbrit - kirjas peab sisalduma ka Teie matriklinumber. Õiguseid kasutajale peate ise jagama.

Erki Eessaar: Mõningaid viiteid seoses andmete turvalisuse tagamisegaLisatud: 23.11.2013 12:24
23.11.2013 Andmekaitse Inspektsiooni kodulehelt leiab hulgaliselt juhiseid eraisikutele eraelu kaitseks ning juhiseid ettevõtetele. Näiteks vaadake dokumente:
  1. Elektrooniliste kontaktandmete kasutamine otseturustuses (Peatükis 6 on soovitused, kuidas vältida spämmisaajate nimistusse sattumist).
  2. Isikukoodi kasutamise juhis (Isikukoodi ei pea rohkem varjama, kui inimese nime või muid mittedelikaatseid isikuandmeid. Kuid alati peab kaaluma, kas seda on vaja kasutada).
  3. Soovitused seoses kliendikaartide saamisel küsitavate isikuandmetega.
  4. Isikuandmete töötlemine töösuhetes.

Threatsaurus - hea kõrgtaseme ülevaade ohtudest, mis ähvaravad arvutisüsteeme.

Mõtlema panev artikkel paroolide kasutamisega seotud probleemidest.

Erki Eessaar: SeminarLisatud: 22.11.2013 17:04
22.11.2013 Soovitan seminarist osa võtta. Viide pilvandmetöötlusele (cloud), seob selle esinemise ka meie kursuse temaatikaga.

Departmental seminar:

Monday, November 25, at 14.00 in room ICT-507AB

Prof. Dr. J. Rod Franklin:

Event Prediction in the Cloud: Using agent based CEP to anticipate the future

Kühne+Nagel

With more than 63,000 employees at 1,000 locations in over 100 countries, the Kuehne + Nagel Group is one of the world's leading logistics companies. Its strong market position lies in the seafreight (Global no 1), airfreight (Global no 2), contract logistics (Global no 3) and overland businesses, with a clear focus on providing IT-based supply chain management services.

Kühne+Nagel Tallinn IT Center was established in August 2012. The Kühne+Centre is providing IT solutions and services to Group worldwide ranging from architecture, application design, Java development, testing, and infrastructure & application support. Over the past year, Kühne+Nagel has recruited almost 10 people each month, more than 115 people have been employed . On top IT Center capabilities, there will be new services added all the time and extensive growth planned in coming years.

Erki Eessaar: Süsteemi sisselogimine, paroolide talletamineLisatud: 14.11.2013 13:35
14.11.2013 Hea interaktiivne ülevaade selle kohta:
  1. miks tundlike andmetega infosüsteemis ei tohiks paroolid olla andmebaasis avatekstina,
  2. mida kujutab endast SQL süstimise (SQL injection) rünnak,
  3. miks MD5 ei sobi enam räsiväärtuste leidmiseks,
  4. miks on parooli räsiväärtuse leidmisel vaja kasutada soola ja pipart.

Kui plaanite hoida paroole andmebaasis, siis ei tohi need olla avatekstina, leidmiseks ei tohiks kasutada tavalist MD5 algoritmi ning tuleks kasutada soola.

Veel parem aga on andmebaasipõhine andmete turvalisuse tagamise lahendus, mille korral igale rakenduse kasutajale vastab andmebaasi kasutaja. See on näiteks realiseeritud siin.

Erki Eessaar: Funktsioon, protseduur, PL/SQLLisatud: 10.11.2013 12:36
10.11.2013 Teatavasti peab järgmises vahetulemuses olema tehtud ka üks protseduur/funktsioon. Palun Teil kõigil selle ülesande lahendamiseks lugeda dokumenti Iseseisva töö näited=>Seisundite haldamise mustrid=>Iseseisva töö tegemise mustripõhine juhend lk. 22. Sealt leiate koodinäited Oracle jaoks, mida otseselt oma projekti jaoks ümber "tõlkida". Trigeri näite leiate samast dokumendist lk. 32. PostgreSQLis ei saa luua pakette ning protseduuride asemel tuleb luua funktsioonid, kuid loodavate funktsioonide põhimõte on täpselt sama kui dokumendis kirjutatud. PostgreSQLi samal põhimõttel loodud funktsioonide näited leiate vastuvõtuaegade näiteprojekti dokumendist.

Oracles kasutatakse protseduuride/funktsioonide/trigeri protseduuride kirjutamiseks PL/SQL keelt. Teatele lisatud failis on viited mõningatele Internetis leiduvatele materjalidele/näidetele PL/SQL kasutamise kohta.

Erki Eessaar: PostgreSQLi pordidLisatud: 02.11.2013 00:01
02.11.2013 Kui soovite apex.ttu.ee serveril asuva PostgreSQL andmebaasi poole pöörduda TTÜ võrgust, siis võite kasutada porte 5432 (vaikimisi PostgreSQLi port) või 7301.

Kui soovite apex.ttu.ee serveril asuva PostgreSQL andmebaasi poole pöörduda väljastpoolt TTÜ võrku
(

  1. näiteks on Teie kodu/töökoha arvutis pgAdmin ning soovite selle abil töötada apex.ttu.ee serveris oleva PostgreSQL andmebaasiga,
  2. loote kodu/töökoha arvutis ODBC andmeühenduse spetsifikatsiooni, et kasutada apex.ttu.ee serveris olevat PostgreSQL andmebaasi,
  3. soovite veebirakenduse panna oma serverile ja kasutada apex.ttu.ee serveris olevat PostgreSQL andmebaasi
), siis peate kasutama porti 7301.
Erki Eessaar: VaheülesandedLisatud: 08.10.2013 01:33
08.10.2013 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti, mis lähevad arvesse esmakordsel eksamihinde arvutamisel. Need punktid peegeldavad üliõpilase jooksva hindamise tulemusi. Lisapunktide saamiseks peab ülesande lahendus olema esitatud tähtajaks, selles peavad olema kõik nõutud osad, selles ei tohi olla sisulisi vigu ning hooletusvigade hulk peab olema minimaalne. Vastus tuleb laadida üles ülesannete lehe kaudu (eelistatud variant) või panna veebi üles ning saata Mauruse kaudu ainult link failile. Palun vältida failide mulle meilile saatmist!
  • Vaheülesannete eest saadud lisapunktid lähevad arvesse kõigil projekti tegijatel.
  • Lisapunktid lähevad arvesse üks kord eksamihinde arvutamisel – siis, kui teete esimest korda eksamit.
  • Kui semestri jooksul pole tehtud eksamit kus lisapunktid arvesse läheks, kaotavad need punktid semestri lõppedes kehtivuse.

Vastuse saatmisel pole vaja saata kogu töö dokumentatsiooni - piisab ülesandes nõutud osast. Vastuse juures peab olema kirjas, kes on töö autorid (nimed, matrikli numbrid). Minu kommentaaride alusel parandatud vastust ei ole vaja uuesti üles laadida.

21. oktoober 2013 Tuleb esitada loogilise disaini täpsusega andmebaasi kirjeldus - andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

04. november 2013 Selle ülesande vastusena tuleb esitada:

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Juhul kui kasutate PostgreSQLi, siis soovitav oleks kasutada veergude kirjeldamisel domeene. Sellisel juhul tuleb esitada ka CREATE DOMAIN laused.
  • Arvujada generaatorite loomise laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused). PostgreSQL puhul võib ka kasutada SERIAL notatsiooni ning Oracle puhul identiteedi veerge. Siis pole eraldi arvujada generaatorite ja trigerite loomise lauseid vaja.

2. detsember 2013 Tuleb luua järgmised laused:

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause. Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause).

16. detsember 2013 Tuleb esitada esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis tuleb saata link. Koos rakendusega tuleb saata sisselogimiseks mõeldud kasutajanimi ja parool.

Erki Eessaar: Andmebaasid II projekti kaaslase otsingLisatud: 03.10.2013 23:08
03.10.2013 Kui keegi soovib projekti tegemiseks kaaslast, siis üliõpilane Andre Eistre otsib projekti, millega liituda. Huvi korral tuleb kirjutada aadressile: andre@jomiinteractive.com.
Erki Eessaar: e-raamatudLisatud: 03.10.2013 16:37
03.10.2013 Sellest keskkonnast võib leida hulgaliselt kursuse teemasid käsitlevaid e-raamatuid. Leidub nii raamatuid PostgreSQL kui ka Oracle kohta. Viimastest tõstaks esile Oracle süsteemide kokkuvõtlikku kirjeldust esitava raamatu ning Oracle PL/SQL retseptiraamatu.
Erki Eessaar: ORMi kasutamisestLisatud: 02.10.2013 23:44
02.10.2013 On kerkinud üles küsimus selle kohta, kas "Andmebaasid II" iseseisvas töös võib rakenduse prototüübi tegemisel kasutada mõnda ORM (Object-Relational Mappers) vahendit. Vastan, et see pole soovitav kuna tekib vastuolu projekti nõudega realiseerida andmebaas "paksu andmebaasi" põhimõtetest lähtuvalt. Lugege palun tähelepanelikult seda artiklit.

Alternatiivne lahendus on kasutada tabel-orienteeritud programmeerimist.

Erki Eessaar: PostgreSQL tarkvara ökosüsteemLisatud: 23.09.2013 12:08
23.09.2013 Erinevad tarkvaravahendid PostgreSQL andmebaaside projekteerimiseks, programmeerimiseks ja haldamiseks. Nimekirjas on nii vaba tarkvara kui ka kommertstarkvara.
Erki Eessaar: Iseseisva töö registreerimineLisatud: 22.09.2013 14:01
22.09.2013 Tähtajaga 07. oktoober 2013 tuleb registreerida iseseisva töö teema, rakenduses realiseeritav töökoht, esialgne kasutatavate vahendite valik ja üliõpilased, kes seda tööd üheskoos teevad.

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

Ühte tööd võib teha koos kuni 3 inimest. Kui teete tööd mitmekesi, siis peab teema ja tegijate andmed registreerima ainult üks tegijatest.

Nimetan järgnevalt ka mõningaid tüüpilisi probleeme vastustes ja loodan, et Te väldite neid.

  1. Teisi andmebaasisüsteeme peale PostgreSQL ja Oracle iseseisva töö tegemiseks kasutada ei saa.
  2. Oraclet ja MS Accessi on raske koos kasutada ja seega ei sobi MS Access Oracle andmebaasi rakenduse tegemiseks.
  3. Oracle Application Express vahendi abil ei saa teha PostgreSQL andmebaasi kasutamiseks mõeldud veebirakendust.
  4. Rational Rose ei ole rakenduse tegemise vahend, vaid on modelleerimisvahend.
  5. Oracle SQL Developer ei ole rakenduse tegemise vahend, vaid on andmebaasi haldamise/programmeerimise vahend.
Erki Eessaar: Tehnilise arhitektuuri kirjeldusLisatud: 22.09.2013 14:00
22.09.2013 Iseseisvas töös nõutud tehnilise arhitektuuri joonise võib esitada kui UML evitusskeemi (deployment diagram). Kataloogis Rational Rose õppevideod on video kuidas seda Rational Rose abil luua. Selle joonise võib aga ka koostada kasutades vaba tarkvara Archi, mis on mõeldud ettevõtete arhitektuuri modelleerimiseks.
Erki Eessaar: Lisaeksam NOVEMBRISLisatud: 17.09.2013 14:39
17.09.2013 Novembri alguses saab selles aines teha lisaeksamit. See on mõeldud kõigile nendele kehtiva deklaratsiooniga üliõpilastele, kes on seda ainet juba mõnel varasemal semestril deklareerinud. Tegemist on selle aine viimase eksamiga kus kehtivad vanad hindamiskriteeriumid.
Erki Eessaar: Avatud ÜlikoolLisatud: 12.09.2013 23:47
12.09.2013 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [309] Andmebaasid II (IDU0230) ja Andmebaaside programmeerimine (IDU0120) (sügis 2013) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Juurdepääs serverileLisatud: 12.09.2013 23:46
12.09.2013 Saamaks juurdepääsu serverile apex.ttu.ee, tuleb täita esimene punkt ülesandest "Ülesanne 1", mis on kataloogis Harjutustunnid. Täitke palun see ülesanne tagantjärgi isegi sellisel juhul, kui saate tunnis õppejõult serverile juurdepääsu. Sellisel juhul saate kirja, kus on kirjas nii Teie kasutajakonto andmed (nii PostgreSQL kui ka Oracle jaoks) kui ka andmebaasisüsteemide kasutamise lühike juhend.
Erki Eessaar: PostgreSQL vs MySQLLisatud: 12.09.2013 23:44
12.09.2013 Iseseisva töö projekti tegemiseks võib kasutada PostgreSQL andmebaasisüsteemi kui ei või kasutada MySQL andmebaasisüsteemi. Mõlemad on väga populaarsed andmebaasisüsteemid. Kindlasti tekib Teil küsimus, millised on PostgreSQL eelised võrreldes MySQLiga.

Internetis on väljas 2012. aasta juunis Rob Conery poolt Norwegian Developers Conference konverentsil peetud ettekande salvestus. Ettekande esimesed 15 minutit demonstreerivad väga ilmekalt MySQLi puuduseid. SIIN ja SIIN on videos välja toodud puuduste jätkuarutelu.

Soovitan vaadata kogu ettekannet, sest seal tutvustatakse mõningaid huvitavaid PostgreSQLi pakutavaid võimalusi.

  • Alates 14:30 Multiversioon konkurentsjuhtimine (selle kohta on ka üks eksami küsimus).
  • Alates 20:30 Tabelite loomine pärimise kaudu ja selle kasutamine suure tabeli sektsioonideks jagamiseks.
  • Alates 26:30 Foreign Data Wrapper (võimalus teha päringuid paljudest välistest andmeallikatest).
  • Alates 29:30 Andmetüübid (näitena käsitleti timestamp with timezone tüüpi, massiivitüüpe, liittüüpide loomise võimalust).
  • Alates 44:30 on kokkuvõtte PostgreSQLi eelistest - hind (PostgreSQL on tasuta; vaadake võrdluseks Oracle hinnapakkumist), jõudlus, salvestusruumi kokkuhoid, väljalasete sagedus, sobivus ettevõtte infosüsteemides kasutamiseks.

Kokkuvõttes tuleb tõdeda, et PostgreSQLi näol on tegemist andmebaasisüsteemiga, mis pakub Oracle ja Microsofti andmebaasisüsteemidele väärikat konkurentsi ning mida saab väga edukalt kasutada ka suurtes ettevõtte infosüsteemides ning riigi infosüsteemides.

PostgreSQLi kasutab näiteks Skype. Veel üheks PostgreSQLi heaks omaduseks on laiendatavus - SIIT leiate ülevaate laiendustest, mida Skype kasutab/arendab.

Erki Eessaar: Kuidas seadistada ODBC Data Source, kui kasutate Windows 7 64-bitist versiooni?Lisatud: 12.09.2013 23:43
12.09.2013 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks, kus kliendi rakendus on realiseeritud MS Access (2007, 2010, 2013) abil, läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni).

Installeerige draiverid. Kasutage ODBC Data Source loomiseks programmi "odbcad32", mis asub kataloogis "C:\Windows\SysWOW64". Lugege lisaks siit.

Erki Eessaar: TarkvaraLisatud: 12.09.2013 23:42
12.09.2013 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni). Kataloogis "Praktika juhendid/PostgreSQL + MS Access õppevideod (MS Access 2010 baasil)" on väljas video, kuidas luua ODBC Data Source.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin. Kuna serveris on PostgreSQL (9.3), siis tuleb kasutada pgAdmin versiooni 1.18. Varasemad versioonid ei sobi.

Oracle andmebaasiga töötamiseks soovitan kasutada Oracle poolt pakutavat programmi Oracle SQL Developer (arvutiklassides on versioon 4.0; ülikooli serveriga ühenduse loomisel SID= orcl). Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

Juhul, kui teete iseseisvat tööd Oracle andmebaasisüsteemi põhjal, võib andmebaasi projekteerimiseks kasutada Oracle SQL Developer Data Modeler tarkvara (arvutiklassides on versioon 4.0). See vahend on palju võimalusterohkem kui Rational Rose. Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

apex.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

apex.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 12.09.2013 23:42
12.09.2013

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle APEX): http://apex.ttu.ee:8000/apex/
  2. PostgreSQL phpPgAdmin: http://apex.ttu.ee/andmebaas/

Application Express abil tehtud rakenduste näiteid:

  1. Töötajate andmebaas (rakenduse tegemiseks kulus umbes 30 minutit)
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Koristajate andmebaas (See on loodud APEX 4.2 abil)
    (kasutajanimi: testkasutaja
    parool: 1234)
  3. Koristajate andmebaas (See on loodud APEX 4.1 abil)
    (kasutajanimi: testkasutaja
    parool: 1234)
  4. Koristajate andmebaas (See on loodud vanemas APEXi versioonis, kuid töötab ka uuemates versioonides)
    (kasutajanimi: testkasutaja
    parool: 1234)
  5. Seisundimuudatuste realiseerimise näide
  6. APEXiga kaasa tulev näiterakendus
    (kasutajanimi: testkasutaja
    parool: 1234)

PHP rakenduse näide:

  1. Teadetetahvel - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.

NB! apex.ttu.ee serveris tuleb PHP rakendus paigutada kataloogi /usr/local/apache2/htdocs alamkataloogi.
Kui loote seal näiteks oma rakenduse jaoks kataloogi rakendus, siis rakenduse veebiaadress on: http://apex.ttu.ee/rakendus/

Abivahendid:

  1. StarUML CASE vahendil põhinev lahendus, mis võimaldab StarUML abil koostada SQL-andmebaasi disaini mudeleid ja genereerida nendest PostgreSQLi jaoks mõeldud SQL koodi (kaasa arvatud mõningate keerukamate kitsenduste jõustamiseks vajalik kood). Idee on, et mudelis saab deklareerida kitsenduse vajaduse ning generaator oskab selle deklaratsiooni alusel koodi genereerida.
  2. apex.ttu.ee serveris olevate PostgreSQL andmebaaside kvaliteedi kontroll - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.
  3. Erinevad tarkvaravahendid PostgreSQL andmebaaside projekteerimiseks, programmeerimiseks ja haldamiseks. Nimekirjas on nii vaba tarkvara kui ka kommertstarkvara.
  4. Iseseisvas töös nõutud tehnilise arhitektuuri joonise võib esitada kui UML evitusskeemi (deployment diagram). Kataloogis Rational Rose õppevideod on video kuidas seda Rational Rose abil luua. Selle joonise võib aga ka koostada kasutades vaba tarkvara Archi, mis on mõeldud ettevõtete arhitektuuri modelleerimiseks.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (9.3) dokumentatsioon
  3. Oracle 12c Release 1 dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum
  7. Pistikprogrammid e. pluginad, mida saab kasutada Oracle APEXI abil tehtud rakenduste funktsionaalsuse suurendamiseks.
  8. Mõned videod, mis demonstreerivad APEX 4.1 kasutamist.

Lisainfo:

  1. Suur hulk soovitusi ja näpunäiteid andmebaaside programmeerijatele
  2. Visioon, kuidas üles ehitada andmete haldamiseks mõeldud süsteeme
Erki Eessaar: Uus õppeaastaLisatud: 31.08.2013 20:45
02.09.2013 ALGAS 2013/2014 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 21.08.2013 15:27
21.08.2013 Augustis saab sügissemestri eelnädalal teha lisaeksamit. Täpsem info on teatele lisatud failis.

NB! Alates 2013. aasta sügisest muutub oluliselt õppeainetes "Andmebaasid II" ja "Andmebaaside programmeerimine" hinde panemise algoritm. ÕISis on õppeaine IDU0230 kirjelduse juures uued hindamiskriteeriumid välja pandud (õppeaines IDU0120 on kriteeriumid samad). 2013/2014 õppeaasta sügissemestri eksamisessioonil toimub hinnete panek juba täielikult uute kriteeriumite alusel (ka nendele, kes selle aine on varem deklareerinud). Seega on Teil praegu võimalik valida, kas tahate teha eksamit vana moodi või uut moodi. Käesolev eksam toimub veel vanade kriteeriumite alusel (suuline eksam; lävend sõltub projekti suurusest). Uutes kriteeriumites nimetatud lisapunkte on võimalik koguda kõigil – ka nendel, kes on aine varem deklareerinud.

Erki Eessaar: Lisaeksam MAISLisatud: 26.04.2013 00:26
26.04.2013 Kevadise eksamisessiooni ajal toimub eksam õppeainetes "Andmebaasid II" ja "Andmebaaside programmeerimine". Sellest võivad osa võtta kõik kehtiva deklaratsiooniga üliõpilased. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Vastuvõtuaja muudatusLisatud: 19.04.2013 12:38
19.04.2013 Seoses sellega, et 1. mai on riigipüha, on teisipäeval 30. aprillil 2013 TTÜs lühendatud tööpäev. Sellest tulenevalt jääb minu vastuvõtuaeg teisipäeval 30. aprillil kell 14:00-15:00 ruumis ICT-628 ära. Vabandan võimalike ebamugavuste pärast!
Erki Eessaar: VastuvõtuajadLisatud: 18.03.2013 20:51
18.03.2013 26. märtsil 2013 kell 14:00-15:00 ja 28. märtsil 2013 kell 14:00-15:00 jäävad minu vastuvõtud kolimise tõttu ära.

Alates 2. aprillist 2013 toimuvad minu vastuvõtud ruumis ICT-628 (uus IT maja). Vastuvõttude aeg ei muutu.

Erki Eessaar: Lisaeksam kevadsemestri eelnädalalLisatud: 22.01.2013 12:43
22.01.2013 2012/2013 õppeaasta kevadsemestri eelnädalal saab lisaeksamit teha 23. jaanuaril 2013 kell 16:00 IT-409.

Üliõpilastel, kes deklareerisid selle õppeaine 2011. aasta sügisel, lõppes deklaratsioon koos talvise eksamisessiooni lõpuga ja nemad ei saa sellel ajal eksamit teha.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

ÕISis saab lisaeksamile registreeruda peale hinde sisestamist või üliõpilase mitteilmunuks märkimist - st. alates 22. jaanuari hilisõhtust!

Erki Eessaar: EksamLisatud: 20.01.2013 00:45
20.01.2013 Olen nüüdseks üle vaadanud kõik mulle esitatud projektid. Tulemused leiate Maurusest - sealt kus projekti üles laadisite.

Nendele, kes peavad oma arvutist rakendust demonstreerima, ei ole välja pandud lõplikku punktisummat. Saan seda teha peale rakenduse vaatamist.

NB!! Palun pange eksamile tulle soojalt riidesse, sest IT maja neljanda korruse koridoris on külm!

Erki Eessaar: Handling Growth with Postgres: 5 Tips From InstagramLisatud: 19.01.2013 13:33
19.01.2013 Populaarne sotsiaalvõrgustik ja fotode jagamise keskkond Instagram kasutab PostgreSQL andmebaasisüsteemi. Siit võite lugeda selle süsteemi arendajate soovitusi PostgreSQLi kasutavate süsteemide jõudluse parandamiseks.
Erki Eessaar: EksamLisatud: 16.01.2013 01:18
16.01.2013 Nagu sai kursuse alguses välja kuulutatud, peab iseseisva töö esitama hiljemalt 72 tundi enne eksami algust. Seega, kes soovib osaleda 21. jaanuari eksamil, peab oma töö esitama hiljemalt reede 18. jaanuar 2013 kell 16:00 tähtajaks ja mitte minutitki hiljem. Vastasel juhul ei jõua ma kahjuks Teie tööd õigeks ajaks üle vaadata.
Erki Eessaar: MaterjalidLisatud: 23.12.2012 13:05
23.12.2012 Olen välja pannud kõik loengute materjalid. Lisasin kataloogi 2012/Loenguteemade täistekstid dokumendi, milles viidatakse andmebaaside arengusuundadele ning märksõnadele, mida seoses sellega jälgida.
Erki Eessaar: Inside Amazon as it faces its busiest shopping periodLisatud: 18.12.2012 23:30
18.12.2012 Pühade-eelset vaatamist kõigile, aga eriti neile, kelle iseseisva töö teemaks on e-poe X tellimuste arvestus, tarnete arvestus või laoarvestus. Inside Amazon as it faces its busiest shopping period.
Erki Eessaar: PostgreSQL kui andmete integratsiooni keskkondLisatud: 18.12.2012 16:28
18.12.2012 Lisasin kataloogi 2012/Päevase õppe harjutusülesanded/Näited dokumendi "PostgreSQL kui andmete integratsiooni keskkond" näidetega selle kohta, kuidas PostgreSQLi saab kasutada erinevatest allikatest pärit andmete integreerimiseks (konsolideerimiseks) ning tulemuseks saadud andmete väljajagamiseks. See fail sisaldab koodinäiteid, mida saate hektor3 serveris oma PostgreSQL andmebaasis järgi proovida.
Erki Eessaar: Oracle VARCHAR2 ja NVARCHAR2 tüübidLisatud: 16.12.2012 17:01
16.12.2012 Harjutustunnis kerkis üles küsimus, mis vahe on Oracle tüüpidel VARCHAR2 ja NVARCHAR2. Koostasin selle kohta väikese ülevaate, mille panin kataloogi 2012/Päevase õppe harjutusülesanded/Näited dokumenti "Ülevaade Oracles kasutatavade tüüpide VARCHAR2 ja NVARCHAR2 erinevusest".

Tulenevalt konkreetses andmebaasis (hektor3 andmebaas) kasutatavatest märgistikest ning neile vastavates kodeeringutest saan ma nii VARCHAR2 kui ka NVARCHAR2 tüüpi veerus registreerida "eksootilisi" märke sisaldavaid stringe. Kuid nende tüüpide korral kasutatakse märkide kodeerimiseks erinevaid kodeeringuid. Juhul kui kasutatavateks märkideks on vaid Euroopas kasutatavad märgid, siis on salvestamise mõttes efektiivsem tüübile VARCHAR2 vastav kodeering ja ma peaksin stringe hoidma seda tüüpi veergudes. Juhul kui kasutatavateks märkideks on Aasias kasutatavad märgid, siis on salvestamise mõttes efektiivsem tüübile NVARCHAR2 vastav kodeering ja ma peaksin stringe hoidma seda tüüpi veergudes.

Täpsemalt lugege viidatud dokumendist. Seal on ka näiteid.

Erki Eessaar: Parameetrite nimed PostgreSQL funktsioonidesLisatud: 15.12.2012 20:43
15.12.2012 Loengus kerkis küsimus kas/kuidas lubab PostgreSQL kasutada funktsioonide puhul parameetrite nimesid. PostgreSQL (9.2) lubab anda funktsioonides parameetritele nimed ning kasutada neid nimesid nii funktsiooni kehandis kui ka funktsiooni poole pöördumisel. Panin selle kohta välja näite kataloogi 2012/Päevase õppe harjutusülesanded/Näited fail "Parameetrite nimede kasutamine PostgreSQL funktsioonides".
Erki Eessaar: Juurdepääs serverileLisatud: 12.12.2012 00:00
12.12.2012 Palun kõigil, kes ei ole seda veel teinud, täita viivitamatult esimene punkt ülesandest "Ülesanne 1", mis on kataloogis Harjutustunnid.. See annab Teile juurdepääsu serverile hektor3.ttu.ee. Ülesanne tuleb täita ka siis, kui Te saite esimesel kohtumisel AJUTISE ja OSALISE juurdepääsu sellele serverile. Ilma seda ülesannet täitmata ei saa Te teises harjutustunnis kaasa töötada.
Erki Eessaar: MS AccessistLisatud: 11.12.2012 23:57
11.12.2012 Väga paljud Teist tegid kevadel iseseisva töö prototüübi MS Accessis ning nii mõnigi Teist teeb ka sügisel iseseisva töö rakenduse MS Accessis. Järgnev peaks Teile huvi pakkuma.

Kataloogis 2012/Päevase õppe harjutusülesanded oleva faili Ülesanne 13 lõpus on juhend, kuidas parandada MS Accessis loodud rakenduse turvalisust. Sellisel viisil täiustatud rakenduse näite leiate sama kataloogi failist Ülesande 13 lõpus esitatud juhendi alusel täiustatud MS Accessi fail..

MS Accessis loodud rakenduse kasutamiseks ei pea kasutaja arvutis olema ilmtingimata installeeritud MS Accessi täisversioon. Piisab, kui kasutaja arvutis on installeeritud MS Accessi käituskeskkond (MS Access Runtime). Alates MS Access 2007 saab selle Microsofti kodulehelt tasuta alla laadida.

Detailne ülevaade MS Accessi käituskeskkonnast: http://www.hitechcoach.com/index.php?option=com_content&view=article&id=62

MS Access 2010 käituskeskkonna allalaadimine: http://www.microsoft.com/en-us/download/details.aspx?id=10910

MS Accessi käituskeskkonnast mõeldes võib tõmmata paralleele tasuta pakutava Adobe Reader programmiga, mille abil saab avada ja vaadata PDF faile. Samas ei saa selle programmi abil PDF faile luua ega muuta. Samal viisil võimaldab MS Accessi käituskeskkond kasutada ("vaadata") MS Accessi arenduskeskkonnas loodud rakendusi, kuid mitte neid rakendusi luua ega muuta.

Kui Teie arvutis on installeeritud MS Accessi täisversioon (arenduskeskkond), siis saate simuleerida rakenduse avamist käituskeskkonnas nii, et määrate MS Accessis tehtud rakendust sisaldava faili laiendiks accdr. Peale faili ümbernimetamist tehke failil avamiseks topeltklõps.

faili_nimi.mdb => faili_nimi.accdr
faili_nimi.mde => faili_nimi.accdr
faili_nimi.accdb => faili_nimi.accdr
faili_nimi.accde => faili_nimi.accdr

Kuidas muuta faili laiendit Windowsi keskkonnas? http://www.mediacollege.com/microsoft/windows/extension-change.html

Kui simuleerite MS Accessi täisversiooni (arenduskeskkonna) puhul käituskeskkonda, siis on tulemus käituskeskkonnale sarnane, aga mitte 100% ühesugune. Leidub funktsionaalsuseid, mis sellise simuleerimise korral töötavad, kuid tegelikus käituskeskkonnas ei tööta.

Arvestage ka sellega, et rakenduse käituskeskkonnas avamisel ei saa kasutada mitmeid MS Accessi täisversioonis realiseeritud süsteemi‑defineeritud funktsionaalsuseid (näiteks vormi alusel filtreerimine). Vastav funktsionaalsus tuleb sellisel juhul rakendusse sisse ehitada, mitte jääda lootma süsteemi-defineeritud võimalustele.

Erki Eessaar: Kergemat lugemistLisatud: 11.12.2012 16:04
11.12.2012 Siin on lõbusas toonis kuid tõsise sisuga ülevaade, kuidas info- või tarkvarasüsteeme (sealhulgas nende osaks olevaid andmebaase) arendatakse umbes 80%-l juhtudest.
Erki Eessaar: Oracle 12cLisatud: 11.12.2012 00:55
11.12.2012 Oracle 12c ei ole veel ilmunud, kuid sellest artiklist saate ülevaate mõnedest Oracle andmebaasisüsteemi uue versiooni uutest võimalustest.
Erki Eessaar: EksamLisatud: 04.12.2012 23:21
04.12.2012 Eksami ajad:
  • 10. jaanuar 2013 kell 16:00 IT-409
  • 17. jaanuar 2013 kell 16:00 IT-409
  • 21. jaanuar 2013 kell 16:00 IT-409

Iseseisev töö peab olema esitatud hiljemalt 72 tundi enne eksami algust (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Iseseisva töö võib laadida üles õppekeskkonda (Tudeng => Ülesanded => Iseseisva töö esitamine) või panna mingisse serverisse ja saata õppejõule link (Erki.Eessaar@ttu.ee). Töö failid võib saata e-mailile vaid siis, kui eelnimetatud kahte varianti ei saa mingil põhjusel kasutada.

NB!Eksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine). Eksamile registreerumine lõpeb kaks tundi enne eksami algust.

Palun jälgige registreerumisel väga tähelepanelikult, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja. Kaugõppe üliõpilased ei saa päevase õppe eksami ajal eksamit teha (ja vastupidi).

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 21, millest panen kokku 7 piletit.

Eksami küsimused ja vastused on kirjas kataloogis "Eksami küsimused ja vastused" olevas dokumendis. Samuti on küsimused kursuse tutvustuse slaididel (slaidid 42-46) ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2012/Slaidid") kuid julgustan kõiki ka vaatama loengute pikki tekste. Kõik slaidid on õppekeskkonda välja pandud.

NB! Eksamiruumi ukse taga on jahe. Pange ennast kindlasti soojalt riidesse.

Erki Eessaar: Iseseisva töö sissejuhatusLisatud: 04.12.2012 23:17
04.12.2012 Iseseisva töö alguses PEAB olema peatükk "Sissejuhatus", kus on järgmised punktid (vaadake palun ka näidet vastuvõtuaegade näiteprojekti algusest).
  • Kui kasutate töös PostgreSQLi, siis PostgreSQL andmebaasi nimi.
  • Kui kasutate töös Oraclet, siis Oracle skeemi nimi (st. Teie kasutajanimi TUD...) ning Teie Oracle parool.
  • Veebirakenduse korral selle URL.
  • Kui teete rakenduse kasutades MS Accessi, siis millises MS Accessi versioonis on rakendus loodud. NB! Esitatav MS Accessi rakendus peab töötama ingliskeelse MS Access 2010 keskkonnas (kui teete oma rakenduse mõne muu MS Accessi versiooniga tuleks seda TTÜ arvutiklassis testida)!!
  • Kui teete veebirakenduse kasutades Oracle APEXit, siis ka tööruumi (workspace) nimi, rakenduse nimi ning samuti rakenduse URL.
  • Kõik loodud rakendustesse sisselogimiseks vajalikud kasutajanimed ja paroolid.
  • Kui andmebaasid on loodud mõnes muus serverarvutis kui hektor3.ttu.ee, siis juhend, kuidas on võimalik neile andmebaasidele ligi pääseda.
  • Kommentaar, millise kasutaja töökoha Te realiseerisite PostgreSQL ja/või millise Oracle baasil.
  • Kirjeldus selle kohta, kus ja millal pöördub Teie loodud rakendusprogramm serveril asuvate protseduuride/ funktsioonide poole.
Nõutud sissejuhatuse või selle osade puudumine tähendab saadavate punktide arvu vähendamist!!!

NB! Palun MS Accessis tehtud rakenduse puhul kasutada andmeühenduse (ingl. k. data source) nimena PostgreSQL_yhendus. See on sama nimi, mis arvutiklassides.

Erki Eessaar: Mõned kommentaarid iseseisvate tööde kohtaLisatud: 02.12.2012 23:46
02.12.2012
  1. Iseseisva töö projekti hinnatakse tervikuna - st. arvestatakse ka strateegilise ja detailanalüüsi osa. Seega kui seal on vigu, siis need tuleb parandada ning samuti tuleb tagada nende töö osade kooskõla ülejäänud töö osadega.
  2. Kõik mudelid peavad olema loetavad dokumendi 100% suurenduse korral (st. ärge kasutage liiga väikest fonti või liiga suuri diagramme).
  3. Loogilise disaini tabelite definitsioonide koostamisel ärge unustage kirjeldada alternatiivvõtmeid. Nendest tulenevad andmebaasis hiljem UNIQUE kitsendused. Samuti tuleb alternatiivvõtmetesse kuuluvatele veergudele deklareerida NOT NULL kitsendused.
  4. Loogilise disaini andmebaasi diagrammil ning tabelite tekstikirjeldustes esitatav informatsioon peab langema kokku (samad võtmed, tüübid, väljapikkused jne.).
  5. Tehnilise prototüübi kirjelduse juures tuleb alajaotuses "Esmane prototüüp" kirjeldada eeldusaines "Andmebaasid I"/"Andmebaaside projekteerimine" koostatud prototüüpi.
  6. Vaadake palun, et kirjutate projekti õiged tarkvara versioonid (hektor3.ttu.ee serveris on PostgreSQL 9.2 ja Oracle 11g Enterprise Edition Release 2).
  7. Ärge unustage kasutada tabelite veergude vaikimisi väärtuseid (DEFAULT values). Need väärtused tuleb esitada juba loogilise andmebaasi disaini mudelis ning ka andmebaasis realiseerida.
  8. Kui tabel (näiteks Tellimus) on seotud seisundi klassifikaatorite tabeliga (näiteks Tellimuse_seisundi_liik), siis tuleb vastavale välisvõtme veerule deklareerida vaikimisi väärtus - selle seisundi kood, millesse registreeritav olem peale loomist esimesena läheb.
  9. Klassifikaatorite koodide genereerimiseks ei kasutata arvujada generaatoreid. Klassifikaatorite koodid on sisulise tähendusega väärtused, mis registreeritakse vastavate õigustega kasutajate poolt.
  10. Kui klassifikaatori kood on täisarvu tüüpi, siis vastava veeru tüübina tuleks kasutada SMALLINT (eeldusel, et klassifikaatori väärtuste prognoositav hulk ei ületa 32767).
  11. Kõik kontseptuaalses andmemudelis kirjeldatud kitsendused tuleb andmebaasis jõustada (deklaratiivselt, kasutades trigereid või kasutades mõnda andmebaasisüsteemi-spetsiifilist võimalust).
  12. PostgreSQL andmebaasis tuleks tabelites, kus toimuvad sagedased olemasolevate ridade muutmised, määrata FILLFACTOR salvestusparameetri väärtuseks väiksem väärtus kui 100 (vaadake teemat nr. 4).
  13. Kui kasutate lahendust, mille kohaselt hoitakse kasutajate paroole andmebaasi tabelis, siis peab parool olema salvestatud räsiväärtusena, mitte avatekstina.
  14. Räsiväärtuse leidmiseks peab kasutama mõnda turvalisemat algoritmi kui MD5 ja peaks kasutama soola.
  15. Rakendus peab andmebaasisüsteemiga suhtlema kui kasutaja, millel on minimaalne tööks vajalik hulk õiguseid (ei ole selliseid õiguseid, mida tööülesannete jaoks vaja ei lähe).
  16. Näiteprojektist või õppematerjalidest kopeeritud funktsioonid/protseduurid, kus pole tehtud muudatusi või on tehtud vaid kosmeetilisi muudatusi (muudetud identifikaatoreid), ei lähe mahuliste nõudmiste täidetuse hindamisel arvesse.
  17. "Teisest allikast võetud diagrammide, teksti, programmikoodi või muude vaimse töö tulemuste kasutamine muutmata või muudetud, aga äratuntavalt sarnasel kujul, ilma algallikale viitamata, on plagiaat. Algallikale viitamisel peab olema selge, milline osa tööst pärineb algallikast ja milline on töö autorite omapoolne panus. Teisest allikast võetud ja viidatud osi loetakse võrdseks tegemata tööga või osaliselt tehtud tööga, vastavalt autori omapoolsele panusele." (definitsioon hr. Ants Torimilt)
Erki Eessaar: Vastuvõtuaja ühekordne muudatusLisatud: 27.11.2012 12:13
27.11.2012 Kolmapäeval 28.11.2012 toimub vastuvõtt erandkorras kell 16:00-17:00, ruumis IT-409.

28.11.2012 kell 14:00 vastuvõttu ei toimu.

Vabandan kõigi ees, kellele selline muudatus võib probleeme valmistada!

Erki Eessaar: Viiteid seoses turvalisusegaLisatud: 24.11.2012 12:12
24.11.2012 Threatsaurus - hea kõrgtaseme ülevaade ohtudest, mis ähvaravad arvutisüsteeme.

Mõtlema panev artikkel paroolide kasutamisega seotud probleemidest.

Erki Eessaar: Raamat TTÜ raamatukogusLisatud: 22.11.2012 19:51
22.11.2012 TTÜ raamatukokku on saabunud kaks eksemplari raamatust: SQL antipatterns : avoiding the pitfalls of database programming. See on minu arvates väga hea raamat, kus mustrite formaadis kirjeldatakse nii SQL-andmebaaside disainis tehtavaid tüüpilisi vigu kui ka seda, milliseid lahendusi oleks õigem/parem kasutada. Siit näete infot selle kohta, kas need raamatud on raamatukogus kohal või mitte.
Erki Eessaar: Teise loengu slaididLisatud: 22.11.2012 19:43
22.11.2012 Kataloogis 2012/Slaidid on väljas nii esimese kui ka teise loengu slaidid. Palun vaadake need enne järgmist loengut läbi. Loengus tahaksin keskenduda just sellistele punktidele, mis on Teile jäänud ebaselgeks/arusaamatuks.

Samuti tuletan meelde, et kataloogis 2012/Slaidid sisaldab kõige esimene fail viiteid selle õppeaasta päevase õppe loengute lindistustele.

Erki Eessaar: hektor3 on uuesti töökorrasLisatud: 20.11.2012 20:18
20.11.2012 hektor3.ttu.ee serveri töö on taastatud. hektor3 virtuaalserver paikneb nüüd uues füüsilises serverarvutis.
  1. Serveri nimi ei ole muutunud.
  2. Kasutajakontod ja töövahendite/näidete aadressid ei ole muutunud.
  3. Serveri seaded, installeeritud tarkvara ja kasutajate õigused ei ole muutunud.
  4. Vanast serverist õnnestus üle tuua Linuxi kontod ja nende kodukataloogid, PostgreSQL andmebaasid, Apache /htdocs kataloogi sisu.
  5. Üle ei õnnestunud kahjuks tuua Oracle andmebaasi ja Oracle APEXi veebirakendusi. Seega tuleb Oracle andmebaasis andmebaasiobjektid uuesti luua.

Kui avastate, et mingi asi vanas serveris töötas, aga uues serveris ei tööta, siis palun andke mulle sellest kohe teada.

Vabandan veelkord kõigi tekkinud ebamugavuste/probleemide eest!

Erki Eessaar: hektor3Lisatud: 19.11.2012 10:44
19.11.2012 NB!!!Füüsilises serverarvutis, milles paikneb hektor3 virtuaalserver, riknes kõvaketas. Seoses sellega on vaja server ümber kolida uude füüsilisse serverarvutisse (peaks olema tehniliselt võimekam kui olemasolev). Kuna kõvaketta riknemise protsess oli pikaajaline, siis tehtud varukoopiatest (mis on küll teises füüsilises arvutis) ei õnnestu kahjuks serverit taastada.

Uues serverarvutis võtab näidete/õiguste taastamine natukene aega. Loodan, et Teil on olemas koopia kogu tehtud tööst, et saaksite selle alusel kiiresti oma töö taastada.

Vabandan tekkinud probleemide pärast!!!

Erki Eessaar: hektor3Lisatud: 18.11.2012 11:59
18.11.2012 Tehnilistel põhjustel ei ole võimalik hektor3.ttu.ee serverit kasutada vähemalt esmaspäeva (19.11.2012) hommikuni.

Vabandan ebamugavuste pärast!

Erki Eessaar: Kasutajate autentimise realiseerimineLisatud: 12.11.2012 20:55
12.11.2012 Teie tehtavas iseseisvas töös tuleb realiseerida kasutajate autentimine, kui see on loogiliselt vajalik. Autentimist pole vaja vaid siis, kui loodavat süsteemi võivad vabalt kasutada kõik kasutajad ilma vajaduseta ennast identifitseerida.

Kuidas seda tehniliselt teostada? Võimalikud on vähemalt kaks varianti. Neid variante kirjeldatakse pikemalt teema nr. 5 materjalides (pika teksti dokumendis punkt 3.3.6 - lk. 36-38).

  1. Igale rakenduse kasutajale vastab andmebaasis loodud andmebaasi kasutaja. Sellisest andmebaasi turvalisuse tagamise mudelist räägitakse pikemalt siin. Seda lähenemist kasutab lihtne teadetetahvli süsteem. Sellesse süsteemi sisenemiseks tuleb kasutada oma hektori kasutajanime ja parooli. Samuti on see lähenemine kasutusel õpingukavade näiteprojektis, kui süsteem realiseeritakse PostgreSQL põhjal.

    Kui soovite rakenduse luua MS Accessis, siis kataloogis "Praktika juhendid" olevas failis Sisselogimise_naide_andmebaasi_kasutaja.accdb on realiseeritud sellisel viisil sisselogimise võimalus. Võite võtta selle faili oma rakenduse loomisel aluseks. Kui teete faili lahti, siis esmalt avanevas vormis kirjeldatakse, mida peate tegema, et seda faili enda süsteemi realiseerimiseks kasutada.

  2. Hoida kasutajate kasutajanimesid ja paroole andmebaasi tabelis. Selleks, et rakendus saaks andmebaasi poole pöörduda, tuleb luua üks rakendusele vastav andmebaasi kasutaja. Rakendusele vastavale kasutajale tuleb anda ainult sellised õigused, mida rakendusel on tööks vaja. Sellist lähenemist on kasutatud vastuvõtuaegade näiteprojektis.

Kui hoiate paroole andmebaasi tabelis, siis ei tohi paroole seal hoida avatekstina, vaid andmebaasis tuleb talletada parooli räsiväärtus. Õppekeskkonnas on väljas näited, kuidas seda PostgreSQL ja Oracle korral teha.

Räsiväärtuste leidmiseks mõeldud funktsioonidest on MD5 küll laialt levinud, kuid seda peetakse ebaturvaliseks ning õige oleks kasutada mõnda teist algoritmi. Sõnastikrünnete vältimiseks tuleks räsiväärtuse arvutamisel kasutada soola. PostgreSQL ja Oracle jaoks välja pakutud lahendused arvestavad nende nõuetega.

  1. PostgreSQL: Soovitan kasutada PostgreSQL lisamoodulit pgcrypto. Vaadake selle kohta teema 5 pika teksti faili lk. 81-83. Vaadake vastuvõtuaegade näiteprojekti ning vastuvõtuaegade näiteprojekti rakendust.

    Kui soovite rakenduse luua MS Accessis, siis kataloogis "Praktika juhendid" olevas failis Sisselogimise_naide_kasutajate_tabel_ver2.accdb on realiseeritud sellisel viisil sisselogimise võimalus. Võite võtta selle faili oma rakenduse loomisel aluseks. Kui teete faili lahti, siis esmalt avanevas vormis kirjeldatakse, mida peate tegema, et seda faili enda süsteemi realiseerimiseks kasutada.

  2. Oracle: Kataloogis "Oracle APEX õppevideod (APEX 4.1 baasil)" on failis 16 näidatud, kuidas realiseerida parooli räsiväärtuse leidmine kasutades SHA-1 algoritmi (NB! varem oli seal kasutatud MD5 algoritmi, kuid asendasin selle SHA-1 kasutamisega. Seda peaksite ka Teie tegema). Failis 17 on video, mis demonstreerib, kuidas muuta Oracle APEX abil loodud rakendust nii, et see kasutaks andmebaasis loodud kasutaja tuvastamise funktsiooni. Loodud APEXi rakendust saab proovida siin (kasutajanimi: testkasutaja parool: 1234).

Oracle lahenduse korral on loodud kasutajate tabelis eraldi veerg soola hoidmiseks. Miks mitte kasutada kasutanime soolana? Lugege selle kohta siit ja siit.

Erki Eessaar: Mõningaid viiteid seoses andmete turvalisuse tagamisegaLisatud: 12.11.2012 20:55
12.11.2012 Andmekaitse Inspektsiooni kodulehelt leiab hulgaliselt juhiseid nii ettevõtetele seoses andmete töötlemisega ning eraisikutele seoses oma andmete kaitsmisega. Näiteks vaadake dokumente:
  1. Elektrooniliste kontaktandmete kasutamine otseturustuses (Peatükis 6 on soovitused, kuidas vältida spämmisaajate nimistusse sattumist).
  2. Isikukoodi kasutamise juhis (Isikukoodi ei pea rohkem varjama, kui inimese nime või muid mittedelikaatseid isikuandmeid. Kuid alati peab kaaluma, kas seda on vaja kasutada).
  3. Soovitused seoses kliendikaartide saamisel küsitavate isikuandmetega.
  4. Soovitused paroolikaitseks.
Erki Eessaar: SQL: A Comparative SurveyLisatud: 12.11.2012 20:55
12.11.2012 Internetist on võimalik tasuta alla laadida Hugh Darweni poolt kirjutatud raamat, milles võrreldakse SQLi tõeliselt relatsioonilise andmebaasikeelega (Tutorial D). Selline võrdlus aitab esile tuua SQLi nõrkusi ja tugevusi ning erinevusi relatsioonilisest andmemudelist. Tasuta pakkumisel on ka oma hind - raamatud sisaldavad reklaami. Raamatu autor Hugh Darwen on relatsiooniliste andmebaaside tunnustatud ekspert.

See raamat on täienduseks Hugh Darweni poolt kirjutatud raamatule relatsiooniliste andmebaaside kohta.

Erki Eessaar: VaheülesandedLisatud: 27.09.2012 12:47
27.09.2012 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti, mis lähevad arvesse iseseisva töö lõpliku punktisumma arvutamisel. Need punktid peegeldavad üliõpilase jooksva hindamise tulemusi. Lisapunktide saamiseks peab ülesande lahendus olema esitatud tähtajaks, selles peavad olema kõik nõutud osad, selles ei tohi olla sisulisi vigu ning hooletusvigade hulk peab olema minimaalne. Vastus tuleb laadida üles ülesannete lehe kaudu (eelistatud variant) või panna veebi üles ning saata mauruse kaudu ainult link failile.

Vastuse saatmisel pole vaja saata kogu töö dokumentatsiooni - piisab ülesandes nõutud osast. Vastuse juures peab olema kirjas, kes on töö autorid (nimed, matrikli numbrid). Minu kommentaaride alusel parandatud vastust ei ole vaja uuesti üles laadida.

22. oktoober 2012 Loogilise disaini täpsusega andmebaasi kirjeldus - andmebaasi diagramm ning domeenide, tabelite, veergude ja võtmete kirjeldused.

05. november 2012

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Juhul kui kasutate PostgreSQLi, siis soovitav oleks kasutada veergude kirjeldamisel domeene.
  • Arvujada generaatorite loomine.
  • Tabelite ja arvujada generaatorite sidumine (näiteks trigerite loomise laused). NB! PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

26. november 2012

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause. Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. Kui kasutate PostgreSQLi, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli.

10. detsember 2012 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Lisaeksam õppeainetes "Andmebaasid I"/"Andmebaaside projekteerimine"Lisatud: 26.09.2012 00:21
26.09.2012 Oktoobris saab teha lisaeksamit õppeainetes "Andmebaasid I" ja "Andmebaaside projekteerimine". Täpsemalt lugege palun õppeainete kodulehelt.
Erki Eessaar: PostgreSQL 9.2Lisatud: 13.09.2012 13:37
13.09.2012 10. septembril 2012 avaldati uus PostgreSQL väljalase - PostgreSQL 9.2. Lisaks paranenud skaleeruvusele ja jõudlusele pakub see arendajatele võimaluse kasutada vahemiku tüüpe (range types).

NB!! Hea uudis on, et hektor3.ttu.ee serveris on nüüdsest samuti PostgreSQL 9.2. Kõik Teile saadetud kasutajanimed/paroolid kehtivad endiselt.

Programmist PgAdmin tuleb installeerida versioon 1.16, mis toetab PostgreSQL versiooni 9.2.

Erki Eessaar: Seminar IT tudengitele "Mida tööandja minust tahab"Lisatud: 13.09.2012 13:34
13.09.2012 Head üliõpilased!

Ära maga maha võimalust valida välja enda tulevane tööandja ja saada aru IKT firmade hingeelust.

Ootame Teid teisipäeval, 2. oktoobril kell 17:00 vastavatud Tehnomeedikumi maja (Mäealuse 2/1, Tehnopol) II korruse saali tudengiüritusele Mida tööandaja minust tahab?.

Ürituse raames moodustavad Skype´i tegevjuht Tiit Paananen, Nortali tegevjuht Taavi Kotka, EMT tehnikadirektor Tiit Tammiste ja Ericsson Eesti personalijuht Sigrid Vilborn koos Tallinna Tehnikaülikooli, Tallinna Ülikooli ja IT Kolledži üliõpilastega ühise vestlusringi, et selgitada välja mida tööandjad kõrgkooli lõpetajatelt eelkõige ootavad ja kuidas nende värbamispoliitika praktikas toimib. Laval ei ole mitte ainult ettevõtjad, vaid ka esindajad teie endi seast, et küsitud saaksid ikka teile olulised küsimused.

Peamised küsimused, millele vestlusring vastuseid otsib, on järgnevad:

  1. Mida ootab tööandja kõrgkooli lõpetavalt tudengilt?
  2. Kuidas pääseb noor spetsialist mainekasse IKT ettevõttesse tööle?
  3. Milline on silmapaistvate Eesti IKT firmade värbamispoliitika?
  4. Mida ettevõtjad hindavad töötajas kõige enam?
  5. Keda soovivad ettevõtted palgata?
  6. Kas raha mängib tööjõuturul võtmerolli?

Interaktiivset vestlusringi, kus oma osa etendavad ka kõik saalis istuvad tudengid omapoolsete küsimuste ja kommenteeridega, modereerib Indrek Petersoo.

Üritusele järgneb vabas vormis suhtlemine koos söögi ja joogiga, mille käigus saavad tudengid otse ettevõtete esindajatelt neid huvitavaid küsimusi küsida.

Oodatud on IKT erialade tudengid. Registreeru üritusele SIIN.

Lisainfo www.itl.ee kodulehe kalendrist.

Erki Eessaar: PostgreSQL vs MySQLLisatud: 10.09.2012 17:14
10.09.2012 Esimeses loengus kerkis üles küsimus, millised on PostgreSQL eelised võrreldes MySQLiga.

Internetis on väljas 2012. aasta juunis Rob Conery poolt Norwegian Developers Conference konverentsil peetud ettekande salvestus. Ettekande esimesed 15 minutit demonstreerivad väga ilmekalt MySQLi puuduseid. SIIN ja SIIN on videos välja toodud puuduste jätkuarutelu.

Soovitan vaadata kogu ettekannet, sest seal tutvustatakse mõningaid huvitavaid PostgreSQLi pakutavaid võimalusi.

  • Alates 14:30 Multiversioon konkurentsjuhtimine (selle kohta on ka üks eksami küsimus).
  • Alates 20:30 Tabelite loomine pärimise kaudu ja selle kasutamine suure tabeli sektsioonideks jagamiseks.
  • Alates 26:30 Foreign Data Wrapper (võimalus teha päringuid paljudest välistest andmeallikatest).
  • Alates 29:30 Andmetüübid (näitena käsitleti timestamp with timezone tüüpi, massiivitüüpe, liittüüpide loomise võimalust).
  • Alates 44:30 on kokkuvõtte PostgreSQLi eelistest - hind (PostgreSQL on tasuta; vaadake võrdluseks Oracle hinnapakkumist), jõudlus, salvestusruumi kokkuhoid, väljalasete sagedus, sobivus ettevõtte infosüsteemides kasutamiseks.

Kokkuvõttes tuleb tõdeda, et PostgreSQLi näol on tegemist andmebaasisüsteemiga, mis pakub Oracle ja Microsofti andmebaasisüsteemidele väärikat konkurentsi ning mida saab väga edukalt kasutada ka suurtes ettevõtte infosüsteemides ning riigi infosüsteemides.

PostgreSQLi kasutab näiteks Skype. Veel üheks PostgreSQLi heaks omaduseks on laiendatavus - SIIT leiate ülevaate laiendustest, mida Skype kasutab/arendab.

Erki Eessaar: Juurdepääs serverileLisatud: 31.08.2012 12:58
03.09.2012 Saamaks juurdepääsu serverile hektor3.ttu.ee, tuleb täita esimene punkt ülesandest "Ülesanne 1", mis on kataloogis Harjutustunnid. Täitke palun see ülesanne tagantjärgi isegi sellisel juhul, kui saate tunnis õppejõult serverile juurdepääsu. Sellisel juhul saate kirja, kus on kirjas nii Teie kasutajakonto andmed (nii PostgreSQL kui ka Oracle jaoks) kui ka andmebaasisüsteemide kasutamise lühike juhend.
Erki Eessaar: Avatud ÜlikoolLisatud: 31.08.2012 12:58
03.09.2012 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [290] Andmebaasid II (IDU0230) ja Andmebaaside programmeerimine (IDU0120) (sügis 2012) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Aine deklareerimine õige koodigaLisatud: 31.08.2012 12:56
03.09.2012 Vaadake palun, et deklareerite oma õppekavasse kuuluva (õige koodiga) aine.

Uute õppekavade (IABB02/09, IAPB02/09, IASM02/09) järgi õppijad peavad deklareerima õppeaine Andmebaasid II (IDU0230).

Õppeaine Andmebaaside programmeerimine (IDU0120) peavad deklareerima üliõpilased, kes õpivad vanade õppekavade (IABB02, IAPB02, IASM02) järgi.

Õppeaine Andmebaasid II (IDU0230) sisu/korraldus/nõudmised on täpselt samad, kui õppeaines Andmebaaside programmeerimine (IDU0120).
Erki Eessaar: Kuidas seadistada ODBC Data Source, kui kasutate Windows 7 64-bitist versiooni?Lisatud: 31.08.2012 12:55
03.09.2012 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks, kus kliendi rakendus on realiseeritud MS Access (2007, 2010) abil, läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni).

Installeerige draiverid. Kasutage ODBC Data Source loomiseks programmi "odbcad32", mis asub kataloogis "C:\Windows\SysWOW64". Lugege lisaks siit.

Erki Eessaar: TarkvaraLisatud: 31.08.2012 12:54
03.09.2012 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni). Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin.

Oracle andmebaasiga töötamiseks soovitan kasutada Oracle poolt pakutavat programmi Oracle SQL Developer (SID= orcl). Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

Juhul, kui teete iseseisvat tööd Oracle andmebaasisüsteemi põhjal, võib andmebaasi projekteerimiseks kasutada Oracle SQL Developer Data Modeler tarkvara. See vahend on palju võimalusterohkem kui Rational Rose. Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

hektor3.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

hektor3.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 31.08.2012 12:54
03.09.2012

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle Apex): http://hektor3.ttu.ee:8080/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://hektor3.ttu.ee/andmebaas/

Application Express abil tehtud rakenduste näiteid:

  1. Töötajate andmebaas (rakenduse tegemiseks kulus umbes 30 minutit)
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Koristajate andmebaas (See on loodud vanemas APEXi versioonis, kuid töötab ka uuemates versioonides)
    (kasutajanimi: testkasutaja
    parool: 1234)
  3. Seisundimuudatuste realiseerimise näide
  4. APEXiga kaasa tulev näiterakendus
    (kasutajanimi: testkasutaja
    parool: 1234)
  5. UUS! Koristajate andmebaas (See on loodud APEX 4.1 abil)
    (kasutajanimi: testkasutaja
    parool: 1234)

PHP rakenduse näide:

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

NB! hektor3 serveris tuleb PHP rakendus paigutada kataloogi /usr/local/apache2/htdocs alamkataloogi.
Kui loote seal näiteks oma rakenduse jaoks kataloogi rakendus, siis rakenduse veebiaadress on: http://hektor3.ttu.ee/rakendus/

Abivahendid:

  1. StarUML CASE vahendil põhinev lahendus, mis võimaldab StarUML abil koostada SQL-andmebaasi disaini mudeleid ja genereerida nendest PostgreSQLi jaoks mõeldud SQL koodi (kaasa arvatud mõningate keerukamate kitsenduste jõustamiseks vajalik kood). Idee on, et mudelis saab deklareerida kitsenduse vajaduse ning generaator oskab selle deklaratsiooni alusel koodi genereerida.
  2. Hektor3 serveris olevate PostgreSQL andmebaaside kvaliteedi kontroll - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (9.2) dokumentatsioon
  3. Oracle 11g Release 2 dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum
  7. Pistikprogrammid e. pluginad, mida saab kasutada Oracle APEXI abil tehtud rakenduste funktsionaalsuse suurendamiseks.
  8. UUS! Mõned videod, mis demonstreerivad APEX 4.1 kasutamist.

Lisainfo:

  1. Suur hulk soovitusi ja näpunäiteid andmebaaside programmeerijatele
  2. Visioon, kuidas üles ehitada andmete haldamiseks mõeldud süsteeme
Erki Eessaar: Uus õppeaastaLisatud: 31.08.2012 12:53
03.09.2012 ALGAS 2012/2013 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 14.08.2012 12:41
14.08.2012 Augustis saab sügissemestri eelnädalal teha lisaeksamit. Täpsem info on teatele lisatud failis.
Erki Eessaar: Lisaeksam MAISLisatud: 29.04.2012 21:02
29.04.2012 Kevadise eksamisessiooni ajal toimub eksam õppeainetes "Andmebaasid II" ja "Andmebaaside programmeerimine". Sellest võivad osa võtta kõik kehtiva deklaratsiooniga üliõpilased. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MÄRTSISLisatud: 21.02.2012 12:28
21.02.2012 Märtsis toimub lisaeksam õppeainetes "Andmebaasid II" (IDU0230) ja "Andmebaaside programmeerimine" (IDU0120). Lisaeksam toimub 22. märtsil 2012 kell 16:00 ruumis IT-409.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerimine). Registreerimine lõpeb kaks tundi enne eksami algust.

Registreerimisel jälgige, et Te valite kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Iseseisev töö peab olema esitatud hiljemalt 17. märtsil 2012. Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: Lisaeksam kevadsemestrilLisatud: 28.01.2012 20:10
28.01.2012 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis, siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: Lisaeksam kevadsemestri eelnädalalLisatud: 14.01.2012 13:04
14.01.2012 2011/2012 õppeaasta kevadsemestri eelnädalal saab lisaeksamit teha 24. jaanuaril 2012 kell 16:30 IT-409.

Üliõpilastel, kes deklareerisid selle õppeaine 2010. aasta sügisel lõpeb deklaratsioon koos talvise eksamisessiooni lõpuga ja nemad ei saa sellel ajal eksamit teha.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

ÕISis saab lisaeksamile registreeruda peale hinde sisestamist või üliõpilase mitteilmunuks märkimist - st. loodetavasti hiljemalt 21. jaanuarist või 22. jaanuarist 2012!

Iseseisev töö peab olema esitatud 72 tundi enne eksami algust (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: TransRelatsiooniline mudelLisatud: 08.01.2012 18:33
08.01.2012 Käesoleva kursuse käigus oleme uurinud, kuidas tänapäeva SQL-andmebaasisüsteemid sisemiselt toimivad (failid, plokid, indeksid, lausete optimeerimine jne.). Raamatus Go Faster! - The TransRelational™ Approach to DBMS Implementation, mida saab tasuta alla laadida, pakutakse välja uudsed lahendused, kuidas organiseerida andmebaasides (sealhulgas relatsioonilistes andmebaasides ja SQL-andmebaasides) andmed sisemisel tasemel nii, et päringute ja andmemuudatuste töökiirus oleks senisest dramaatiliselt parem.
Erki Eessaar: EksamiküsimusedLisatud: 21.12.2011 00:42
21.12.2011 Lisaisin kataloogi Slaidid lõppu kaks faili. Ühes on eksamiküsimused ilma vastusteta ja teises on eksamiküsimused koos vastustega. Võite viimast dokumenti võtta kui lühikokkuvõtet õppeainest ja veel ühte materjali, mille alusel eksamiks õppida.
Erki Eessaar: Iseseisva töö sissejuhatusLisatud: 15.12.2011 21:03
15.12.2011 Iseseisva töö alguses PEAB olema peatükk "Sissejuhatus", kus on järgmised punktid (vaadake palun ka näidet vastuvõtuaegade näiteprojekti algusest).
  • Kui kasutate töös PostgreSQLi, siis PostgreSQL andmebaasi nimi.
  • Kui kasutate töös Oraclet, siis Oracle skeemi nimi (st. Teie kasutajanimi TUD...) ning Teie Oracle parool.
  • Veebirakenduse korral selle URL.
  • Kui teete rakenduse kasutades MS Accessi, siis millises MS Accessi versioonis on rakendus loodud. NB! Esitatav MS Accessi rakendus peab töötama MS Access 2007 keskkonnas (kui teete oma rakenduse mõne muu MS Accessi versiooniga tuleks seda TTÜ arvutiklassis testida)!!
  • Kui teete veebirakenduse kasutades Oracle APEXit, siis ka tööruumi (workspace) nimi ja rakenduse nimi.
  • Kõik loodud rakendustesse sisselogimiseks vajalikud kasutajanimed ja paroolid.
  • Kui andmebaasid on loodud mõnes muus serverarvutis kui hektor8.ttu.ee, siis juhend, kuidas on võimalik neile andmebaasidele ligi pääseda.
  • Kommentaar, millise kasutaja töökoha Te realiseerisite PostgreSQL ja/või millise Oracle baasil.
  • Kirjeldus selle kohta, kus ja millal pöördub Teie loodud rakendusprogramm serveril asuvate protseduuride/ funktsioonide poole.

NB! Palun MS Accessis tehtud rakenduse puhul kasutada andmeühenduse (ingl. k. data source) nimena PostgreSQL_yhendus. See on sama nimi, mis arvutiklassides.

Erki Eessaar: hektor8Lisatud: 11.12.2011 16:43
11.12.2011 Seoses tehniliste probleemidega ei tööta 11. detsembri õhtul hektor8 server. Loodetavasti saab 12. detsembri hommikuks server tööle. Vabandan ebamugavuste pärast.

Seoses sellega pikendatakse neljanda vaheülesande esitamise tähtaega 13. detsembri õhtuni kell 23:59.

Täiendus 12.12.2011 - hektor8 server on jälle töökorras.

Erki Eessaar: Veel ühe vastuvõtuaja muutusLisatud: 10.12.2011 12:34
10.12.2011 Esmaspäeval 19. detsembril 2011 muutub õppejõu poolt välja kuulutatud vastuvõtuaeg. 19. detsembril 2011 toimub vastuvõtuaeg kell 11:00-12:00 ruumis IT-409.

19. detsembril 2011 kell 14:00-15:00 vastuvõtuaega ei toimu!! Vabandan segaduse eest!

Erki Eessaar: Vastuvõtuaja ühekordne muutusLisatud: 05.12.2011 16:11
05.12.2011 Teisipäeval 13. detsembril 2011 muutub seoses õppejõu magistritööde kaitsmiskomisjonis osalemisega ühekordselt vastuvõtuaeg - vastuvõtuaeg toimub kell 15:30-16:30 ruumis IT-409. Kell 10:00-11:00 vastuvõtuaega ei toimu.
Erki Eessaar: EksamLisatud: 03.12.2011 16:55
04.12.2011 Eksami ajad:
  • 12. jaanuar 2012 kell 16:00 IT-409
  • 19. jaanuar 2012 kell 16:00 IT-409

Iseseisev töö peab olema esitatud hiljemalt 72 tundi enne eksami algust (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Iseseisva töö võib laadida üles õppekeskkonda (Tudeng => Ülesanded => Iseseisva töö esitamine) või panna mingisse serverisse ja saata õppejõule link (Erki.Eessaar@ttu.ee). Töö failid võib saata e-mailile vaid siis, kui eelnimetatud kahte varianti ei saa mingil põhjusel kasutada.

NB!Eksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine). Eksamile registreerumine lõpeb kaks tundi enne eksami algust.

Palun jälgige registreerumisel väga tähelepanelikult, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja. Kaugõppe üliõpilased ei saa päevase õppe eksami ajal eksamit teha (ja vastupidi).

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 21, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel (slaidid 35-39) ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2011/Slaidid") kuid julgustan kõiki ka vaatama loengute pikki tekste. Kõik slaidid on õppekeskkonda välja pandud.

NB! Eksamiruumi ukse taga on jahe. Pange ennast kindlasti soojalt riidesse.

Erki Eessaar: Mõned kommentaarid iseseisvate tööde kohtaLisatud: 13.11.2011 21:04
  1. Iseseisva töö projekti hinnatakse tervikuna - st. arvestatakse ka strateegilise ja detailanalüüsi osa. Seega kui seal on vigu, siis need tuleb parandada ning samuti tuleb tagada nende töö osade kooskõla ülejäänud töö osadega.
  2. Kõik mudelid peavad olema loetavad dokumendi 100% suurenduse korral (st. ärge kasutage liiga väikest fonti või liiga suuri diagramme).
  3. Loogilise disaini tabelite definitsioonide koostamisel ärge unustage kirjeldada alternatiivvõtmeid. Nendest tulenevad andmebaasis hiljem UNIQUE kitsendused.
  4. Loogilise disaini andmebaasi diagrammil ning tabelite tekstikirjeldustes esitatav informatsioon peab langema kokku (samad võtmed, tüübid, väljapikkused jne.).
  5. Tehnilise prototüübi kirjelduse juures tuleb alajaotuses "Esmane prototüüp" kirjeldada eeldusaines "Andmebaasid I"/"Andmebaaside projekteerimine" koostatud prototüüpi.
  6. Vaadake, et kirjutate projekti õiged tarkvara versioonid (hektor8.ttu.ee serveris on PostgreSQL 9.0 ja Oracle 11g Enterprise Edition Release 1).
  7. Ärge unustage kasutada tabelite veergude vaikimisi väärtuseid (DEFAULT values). Need väärtused tuleb esitada juba loogilise andmebaasi disaini mudelis ning ka andmebaasis realiseerida.
  8. Klassifikaatorite koodide genereerimiseks ei tohiks kasutada arvujada generaatoreid. Need väärtused lisatakse vastavate õigustega kasutajate poolt.
  9. Kui klassifikaatori kood on täisarvu tüüpi, siis vastava veeru tüübina tuleks kasutada SMALLINT (eeldusel, et klassifikaatori väärtuste prognoositav hulk ei ületa 32767).
  10. Kõik kontseptuaalses andmemudelis kirjeldatud kitsendused tuleb andmebaasis jõustada (deklaratiivselt või kasutades trigereid).
  11. PostgreSQL andmebaasis tuleks tabelites, kus toimuvad sagedased olemasolevate ridade muutmised, määrata FILLFACTOR salvestusparameetri väärtuseks väiksem väärtus kui 100 (vaadake teemat nr. 4).
  12. Näiteprojektist või õppematerjalidest kopeeritud funktsioonid/protseduurid, kus pole tehtud muudatusi või on tehtud vaid kosmeetilisi muudatusi (muudetud identifikaatoreid), ei lähe mahuliste nõudmiste täidetuse hindamisel arvesse.
  13. "Teisest allikast võetud diagrammide, teksti, programmikoodi või muude vaimse töö tulemuste kasutamine muutmata või muudetud, aga äratuntavalt sarnasel kujul, ilma algallikale viitamata, on plagiaat. Algallikale viitamisel peab olema selge, milline osa tööst pärineb algallikast ja milline on töö autorite omapoolne panus. Teisest allikast võetud ja viidatud osi loetakse võrdseks tegemata tööga või osaliselt tehtud tööga, vastavalt autori omapoolsele panusele." (definitsioon hr. Ants Torimilt)
Erki Eessaar: IBM Global Student Study Lisatud: 13.11.2011 14:05
13.11.2011 Paljud teist kasutavad oma iseseisva töö tegemiseks IBMi poolt arendatavat Rational Rose tarkvara.

IBM viib läbi rahvusvahelist uuringut, millest palub osa võtta oma tarkvara kasutavatel üliõpilastel. Soovijad saavad SIIN vastata selle uuringu küsimustele.

Erki Eessaar: Lisaeksam NOVEMBERLisatud: 10.11.2011 17:45
10.11.2011 Novembris saab teha lisaeksamit õppeaines "Andmebaaside programmeerimine" (IDU0120). Osaleda võivad ka aine sellel semestril uuesti deklareerinud, kes on ainet eelmistel semestritel õppinud ja tahaksid eksami kohe ära teha. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Oracle SQL DeveloperLisatud: 05.11.2011 17:17
05.11.2011 Lisasin kataloogi "Praktika juhendid" faili "Oracle_SQL_Developer_installeerimine.pdf", mis kirjeldab, kuidas oma arvutisse Oracle SQL Developer programm installeerida ning selle kasutamist alustada.
Erki Eessaar: Juudepääsu küsimine serverileLisatud: 29.10.2011 16:31
29.10.2011 Palun kõigil, kes seda ei ole veel teinud, täita "Ülesanne 1" (täpsemalt selle esimene punkt) kataloogist Harjutustunnid. Seda läheb vaja, et saada juurdepääs hektor8 serveris olevatele andmebaasisüsteemidele.

Teise kohtumise harjutustunnis tutvume Oracle andmebaasisüsteemi kasutamisega.

Erki Eessaar: VaheülesandedLisatud: 29.10.2011 12:09
29.10.2011 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti, mis lähevad arvesse iseseisva töö lõpliku punktisumma arvutamisel. Need punktid peegeldavad üliõpilase jooksva hindamise tulemusi. Lisapunktide saamiseks peab ülesande lahendus olema esitatud tähtajaks, selles peavad olema kõik nõutud osad, selles ei tohi olla sisulisi vigu ning hooletusvigade hulk peab olema minimaalne. Vastus tuleb laadida üles ülesannete lehe kaudu (eelistatud variant) või saata meiliga.

7. november 2011 Loogilise disaini täpsusega andmebaasi kirjeldus - andmebaasi diagramm ning domeenide, tabelite, veergude ja võtmete kirjeldused.

21. november 2011

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Juhul kui kasutate PostgreSQLi, siis soovitav oleks kasutada veergude kirjeldamisel domeene.
  • Arvujada generaatorite loomine.
  • Tabelite ja arvujada generaatorite sidumine (näiteks trigerite loomise laused). NB! PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

5. detsember 2011

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause. Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. Kui kasutate PostgreSQLi, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli.

12. detsember 2011 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Teise loengu slaididLisatud: 25.10.2011 13:24
24.10.2011 Kataloogi 2011/Slaidid on lisatud teise loengu slaidid.
Erki Eessaar: Animatsioon tabeli ja arvujada generaatori sidumise kohtaLisatud: 15.10.2011 11:25
15.10.2011 Vaadake siit animatsiooni (Oracle näitel), kuidas seotakse trigeri abil tabel ja arvujada generaator.
Erki Eessaar: Animatsioonid vaadete kohtaLisatud: 15.10.2011 11:25
15.10.2011 Vaadake siit animatsioone vaadete kasutamise kohta Oracle andmebaasis.
Erki Eessaar: Elioni praktikakohadLisatud: 22.09.2011 17:03
22.09.2011 Teatele lisatud kirjas on Elioni praktikakohtade info.
Erki Eessaar: Lisaeksam õppeainetes "Andmebaasid I"/"Andmebaaside projekteerimine"Lisatud: 15.09.2011 16:22
15.09.2011 Oktoobris saab teha lisaeksamit õppeainetes "Andmebaasid I"/"Andmebaaside projekteerimine". Täpsem info on õppeaine kodulehel.
Erki Eessaar: Konsultatsiooniaja muudatusLisatud: 13.09.2011 15:06
13.09.2011 Erandkorras toimub esmaspäeval 19. septembril 2011 minu konsultatsioon kell 16:00-17:00 ruumis IT-409.

Kell 14:00-15:00 konsultatsiooniaeg jääb sellel päeval ära.

Erki Eessaar: Kuidas seadistada ODBC Data Source, kui kasutate Windows 7 64-bitist versiooni?Lisatud: 13.09.2011 13:00
13.09.2011 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks, kus kliendi rakendus on realiseeritud MS Access 2007 abil, läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni).

Installeerige draiverid. Kasutage ODBC Data Source loomiseks programmi "odbcad32", mis asub kataloogis "C:\Windows\SysWOW64". Lugege lisaks siit.

Erki Eessaar: SQL disainimustridLisatud: 13.09.2011 12:08
13.09.2011 Lisasin kataloogi "Praktika juhendid" faili, kus esitatakse disainimustrid, mille alusel võib realiseerida SQL andmebaasides üldistusseoseid. Võite kasutada neid mustreid, et leida lahendus oma iseseisva töö disainiprobleemidele. See dokument on tegelikult bakalaureusetöö. Seega vaadake seda tööd ka kui näidet kõrgetasemelisest bakalaureusetööst.
Erki Eessaar: Juurdepääs serverileLisatud: 06.09.2011 12:33
06.09.2011 Saamaks juurdepääsu serverile hektor8.ttu.ee tuleb täita "Ülesanne 1" kataloogist Harjutustunnid. Täitke palun see ülesanne tagantjärgi isegi sellisel juhul, kui saate tunnis õppejõult serverile juurdepääsu. Sellisel juhul saate kirja, kus on kirjas nii Teie kasutajakonto andmed kui ka juhend andmebaasisüsteemide kasutamiseks.
Erki Eessaar: Avatud ÜlikoolLisatud: 06.09.2011 12:32
06.09.2011 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [269] Andmebaasid II (IDU0230) ja Andmebaaside programmeerimine (IDU0120) (sügis 2011) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Aine deklareerimine õige koodigaLisatud: 31.08.2011 13:31
29.08.2011 Vaadake, et deklareerite oma õppekavasse kuuluva (õige koodiga) aine.

Uute õppekavade (IABB02/09, IAPB02/09, IASM02/09) järgi õppijad peavad deklareerima õppeaine Andmebaasid II (IDU0230).

Õppeaine Andmebaaside programmeerimine (IDU0120) peavad deklareerima üliõpilased, kes õpivad vanade õppekavade (IABB02, IAPB02, IASM02) järgi. Vajadusel konsulteerige õppejõuga!

Õppeaine Andmebaasid II (IDU0230) sisu/korraldus/nõudmised on täpselt samad, kui õppeaines Andmebaaside programmeerimine (IDU0120).
Erki Eessaar: TarkvaraLisatud: 31.08.2011 13:31
29.08.2011 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon (ärge valige 64-bitist versiooni). Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin III.

Oracle andmebaasiga töötamiseks soovitan kasutada Oracle poolt pakutavat programmi Oracle SQL Developer (SID= orcl). Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

Juhul, kui teete iseseisvat tööd Oracle andmebaasisüsteemi põhjal, võib andmebaasi projekteerimiseks kasutada Oracle SQL Developer Data Modeler tarkvara. See vahend on palju võimalusterohkem kui Rational Rose. Tarkvara on tasuta, kuid selle allalaadimiseks tuleb ennast registreerida.

hektor8.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

hektor8.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 31.08.2011 13:30
29.08.2011

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle Apex): http://hektor8.ttu.ee:7500/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://hektor8.ttu.ee/andmebaas/index.php

Application Express abil tehtud rakenduste näiteid:

  1. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Töötajate andmebaas
    (kasutajanimi: Teile antud Oracle kasutajanimi
    parool: Teile antud Oracle parool)
  3. Apexiga kaasa tulev näiterakendus (parool: ylikool)

PHP rakenduse näide

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (9.0) dokumentatsioon
  3. Oracle 11g Release 1 dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum

Lisainfo:

  1. Suur hulk soovitusi ja näpunäiteid andmebaaside programmeerijatele
  2. Visioon, kuidas üles ehitada andmete haldamiseks mõeldud süsteeme
Erki Eessaar: Uus õppeaastaLisatud: 28.08.2011 20:13
29.08.2011 ALGAS 2011/2012 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 15.08.2011 17:57
15.08.2011 Augustis saab sügissemestri eelnädalal teha lisaeksamit. Täpsem info on teatele lisatud failis.
Erki Eessaar: Lisaeksam MAILisatud: 30.04.2011 17:57
30.04.2011 Kevadise eksamisessiooni ajal toimub lisaeksam õppeaines "Andmebaaside programmeerimine". Sellest võivad osa võtta kõik kehtiva deklaratsiooniga üliõpilased. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MÄRTSLisatud: 23.02.2011 12:30
23.02.2011 Lisaeksam toimub 23. märtsil 2011 kell 16:30 ruumis IT-409.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Iseseisev töö peab olema esitatud hiljemalt 19. märtsil 2011. Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: Vastuvõtuaja muutusLisatud: 17.02.2011 15:53
17.02.2011 Seoses õppetöö ümberkorraldamine neljandal õppenädalal jääb ära vastuvõtuaeg reedel 25.02.2011 kell 14:00-15:00.

Soovijad võivad selle asemel tulla vastuvõtuajale esmaspäeval 21.02.2011 kell 16:00-17:00 ruumis IT-409. Samuti on vastuvõtuaeg teisipäeval 22.02.2011 kell 12:00-13:00 ruumis IT-409.

Erki Eessaar: Lisaeksam kevadsemestrilLisatud: 27.01.2011 01:40
27.01.2011 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis, siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: Lisaeksam kevadsemestri eelnädalalLisatud: 22.01.2011 12:47
22.01.2011 2010/2011 õppeaasta kevadsemestri eelnädalal saab lisaeksamit teha 26. jaanuaril 2011 kell 16:30 IT-409.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Iseseisev töö peab olema esitatud 72 tundi enne eksami algust (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: Eksamile registreerumineLisatud: 11.01.2011 19:01
11.01.2011 Tehnilistel põhjustel ei ole võimalik ÕISis 13. jaanuari ja 19. jaanuari eksamitele registreeruda. Kõik juba tehtud registreerimised on alles ja kehtivad - uuesti registreerima ei pea. ÕISi kaudu saab registreerumise tühistada, kui peaks vaja olema.

Kui keegi soovib veel 13. jaanuari või 19. jaanuari eksamile registreeruda, siis saatke mulle palun selle kohta kiri: eessaar@staff.ttu.ee
Vabu kohti on!

Vabandan segaduse ja ebamugavuse pärast!!

Erki Eessaar: EksamLisatud: 04.12.2010 12:08
04.12.2010 Eksami ajad:
  • 13. jaanuar 2011 kell 16:30 IT-409,
  • 19. jaanuar 2011 kell 16:30 IT-409.

Iseseisev töö peab olema esitatud hiljemalt 72 tundi enne eksami algust (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Iseseisva töö võib laadida üles õppekeskkonda (Tudeng => Ülesanded => Iseseisva töö esitamine) või panna mingisse serverisse ja saata õppejõule link (eessaar_ät_staff.ttu.ee). Töö failid võib saata e-mailile vaid siis, kui eelnimetatud kahte varianti ei saa mingil põhjusel kasutada.

NB!Eksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 21, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel (slaidid 25-29) ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2010/Slaidid") kuid julgustan kõiki ka vaatama loengute pikki tekste. Kõik slaidid on õppekeskkonda välja pandud.

NB! Eksamiruumi ukse taga on jahe. Pange ennast soojalt riidesse.

Erki Eessaar: Teise loengu slaididLisatud: 11.11.2010 15:30
11.11.2010 Kataloogi 2010/Slaidid on lisatud teise loengu slaidid.
Erki Eessaar: VaheülesandedLisatud: 10.10.2010 12:32
10.10.2010 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti, mis lähevad arvesse iseseisva töö lõpliku punktisumma arvutamisel. Need punktid peegeldavad üliõpilase jooksva hindamise tulemusi. Lisapunktide saamiseks peab ülesande lahendus olema esitatud tähtajaks, selles peavad olema kõik nõutud osad, selles ei tohi olla sisulisi vigu ning hooletusvigade hulk peab olema minimaalne. Vastus tuleb laadida üles ülesannete lehe kaudu (eelistatud variant) või saata meiliga.

8. november 2010 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

22. november 2010

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine (näiteks trigerite loomise laused). NB! PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

6. detsember 2010

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause. Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

13. detsember 2010 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Avatud ÜlikoolLisatud: 09.10.2010 13:26
09.10.2010 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [253] Andmebaaside programmeerimine (IDU0120) (sügis 2010) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Juurdepääs serverileLisatud: 09.10.2010 13:26
09.10.2010 Saamaks juurdepääsu serverile hektor8.ttu.ee tuleb täita "Ülesanne 1" kataloogist Harjutustunnid.
Erki Eessaar: TarkvaraLisatud: 03.09.2010 12:08
30.08.2010 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige hilisem versioon. Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source. NB! Windowsi 64-bitise versiooni korral tuleks kasutada 64-bitiseid draivereid.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin III.

Oracle andmebaasiga töötamiseks võib kasutada Oracle poolt tasuta pakutavat programmi SQL Developer (SID= orcl).

hektor8.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

hektor8.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 03.09.2010 12:08
30.08.2010

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle Apex): http://hektor8.ttu.ee:7500/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://hektor8.ttu.ee/andmebaas/index.php

Application Express abil tehtud rakenduste näiteid:

  1. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Töötajate andmebaas
    (kasutajanimi: Teile antud Oracle kasutajanimi
    parool: Teile antud Oracle parool)
  3. Apexiga kaasa tulev näiterakendus (parool: ylikool)

PHP rakenduse näide

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (8.3) dokumentatsioon
  3. Oracle 11g dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
  5. Oracle Application Express
  6. Oracle Application Express foorum
Erki Eessaar: Uus õppeaastaLisatud: 03.09.2010 12:07
30.08.2010 ALGAS 2010/2011 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 12.08.2010 11:46
12.08.2010 Augustis saab sügissemestri eelnädalal teha lisaeksamit. Täpsem info on teatele lisatud failis.
Erki Eessaar: Lisaeksam JUUNISLisatud: 04.05.2010 16:34
05.05.2010 Juunis, kevadise eksamisessiooni ajal, toimub lisaeksam. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MÄRTSISLisatud: 18.02.2010 13:18
18.02.2010 Lisaeksam toimub 18. märts 2010 kell 16:30 IT409.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Iseseisev töö peab olema esitatud hiljemalt 15. märts 2010 kell 15:00 (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: Lisaeksam kevadsemestrilLisatud: 04.02.2010 23:23
04.02.2010 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: Lisaeksam eelnädalalLisatud: 14.01.2010 13:04
14.01.2010 2009/2010 õppeaasta kevadsemestri eelnädalal saab lisaeksamit teha 27. jaanuar 2010 kell 16:30 IT409.

NB!Lisaeksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Iseseisev töö peab olema esitatud hiljemalt kolm päeva enne eksamit (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Erki Eessaar: Tüüpvead rutiinidesLisatud: 26.12.2009 17:03
26.12.2009 Nii PostgreSQL kui Oracle rutiinides tehakse sageli vigu (ka iseseisvates töödes). Lisasin kataloogi Harjutustunnid faili, kus neid vigu kirjeldatakse ning demonstreeritakse paremat lahendust.
Erki Eessaar: EksamLisatud: 04.12.2009 00:05
04.12.2009 Eksami ajad:
  • 14. jaanuar 2010 kell 16:30 IT409
  • 20. jaanuar 2010 kell 16:30 IT409

Iseseisev töö peab olema esitatud hiljemalt kolm päeva enne eksamit (range tähtaeg!). Kui võimalik, siis esitage palun oma töö veelgi varem!

Iseseisva töö võib laadida üles õppekeskkonda (Tudeng => Ülesanded => Iseseisva töö esitamine) või panna mingisse serverisse ja saata õppejõule link (eessaar_ät_staff.ttu.ee). Töö failid võib saata e-mailile vaid siis, kui eelnimetatud kahte varianti ei saa mingil põhjusel kasutada.

NB!Eksamile tuleb ennast registreerida. Registreerunud üliõpilastele tellitakse eksamileht ja vaid eksamilehega üliõpilased saavad teha eksamit. Vastavalt TTÜ õppetegevuse eeskirjale toimub eksamile registreerumine läbi õppeinfosüsteemi (Sooritused => Teadmiste kontrollidele registreerumine).

Registreerumisel jälgige, et Te valite ühe kaugõppe eksamiaja, mitte päevase õppe eksamiaja.

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 20, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2009/Slaidid") kuid julgustan kõiki ka vaatama loengute pikki tekste. Kõik slaidid on õppekeskkonda välja pandud.

Erki Eessaar: Andmete otsimise meetodite animatsioonidLisatud: 28.11.2009 18:54
28.11.2009 Vaadake animatsioone, mis tutvustavad andmete otsimise meetodeid andmebaasisüsteemis Oracle.
Erki Eessaar: Loeng/harjutusLisatud: 19.11.2009 16:24
19.11.2009 Tuletan meelde, et 20. novembril toimub loeng ja harjutus õppeaines "IDU0110 Organisatsiooni digitaalstrateegia ja äriprotsesside modelleerimine".

Andmebaaside programmeerimise teine loeng ja harjutus olid ära 10. oktoobril.

Erki Eessaar: ElektrikatkestusLisatud: 12.11.2009 23:42
12.11.2009 Seoses Eesti Energia poolt teostavate hooldustöödega on IT majas elektrivoolu katkestus laupäeval 14.11.2009 kell 9.00 - 18.00.

Seoses sellega ei saa nimetatud ajal kasutada Mauruse ja Hektor8 serverit.

Erki Eessaar: Loengute slaididLisatud: 17.10.2009 13:55
17.10.2009 Kataloogis "2009=>Slaidid" on väljas esimese ja teise loengu slaidid.
Erki Eessaar: VaheülesandedLisatud: 17.10.2009 13:53
17.10.2009 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti eksamiks. Vastus tule laadida üles ülesannete lehe kaudu või saata meiliga.

9. november 2009 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

23. november 2009

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused) NB!PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

7. detsember 2009

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause.
  • Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

14. detsember 2009 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Tunniplaani muutus!Lisatud: 08.10.2009 20:19
Kahjuks on hr. Enn Õunapuu haige ja seetõttu jäävad laupäeval, 10. oktoobril 2009, ära tema tunnid:
- 12.00-13.30, IDU0110, Organisatsiooni digitaalstrateegia ja äriprotsesside model. – prof. E.Õunapuu, Loeng, IT-137A
- 14.00-15.30, IDU0110, Organisatsiooni digitaalstrateegia ja äriprotsesside model. – prof. E.Õunapuu, Praktikum, IT-111

NB!!! Selle asemel toimub 10. oktoobril 2009 "Andmebaaside programmeerimine" (IDU0120) teine kohtumine - loeng ja praktikum:
- 10. oktoober 2009 kell 12.00-13.30, IDU0120, Andmebaaside programmeerimine – dots. E.Eessaar, Loeng, IT-137A
- 10. oktoober 2009 kell 14.00-15.30, IDU0120, Andmebaaside programmeerimine – dots. E.Eessaar, Praktikum, IT-111

"Andmebaaside programmeerimine" ja "Organisatsiooni digitaalstrateegia ja äriprotsesside modelleerimine" teine kohtumine vahetasid tunniplaanis oma kohad.

See tähendab, et reedel, 20. novembril, kui tunniplaani järgi on "Andmebaaside programmeerimine" tunnid, neid tunde ei toimu. Nende tundide asemel toimuvad siis "Organisatsiooni digitaalstrateegia ja äriprotsesside modelleerimine" tunnid. Võimalik, et hr. Õunapuu soovib neid ärajäänud tunde mingil teisel ajal läbi viia - siis võtab ta Teiega ise ühendust.

Erki Eessaar: Juurdepääs serverileLisatud: 28.09.2009 21:04
28.09.2009 Palun täitke esimesel võimalusel "Ülesanne 1" kataloogist Harjutustunnid. Vastasel juhul puudub Teil juurdepääs Oracle andmebaasisüsteemile ja Te ei saa ka järgmises harjutustunnis kaasa töötada.
Erki Eessaar: Avatud ÜlikoolLisatud: 26.09.2009 13:22
26.09.2009 Kui Te EI OLE TTÜ äriinfotehnoloogia eriala kaugõppe üliõpilane, kuid olete selle aine deklareerinud Avatud Ülikooli kaudu, siis.
  • Võite soovi korral külastada kaugõppe loenguid/harjutusi. Soovitan siiski leida aega külastada päevase õppe loenguid/harjutusi.
  • NB! Hinde saate vastavalt TTÜ päevase õppe üliõpilastele kehtivatele reeglitele (vastavalt nendele esitatavatele tähtaegadele, nõudmistele ning ajagraafikule). Selleks, peate ennast registreerima ka päevase õppe koduleheküljel - [232] Andmebaaside programmeerimine (IDU0120) (sügis 2009) ning viima ennast nende nõudmistega kurssi.
Erki Eessaar: Juurdepääs serverileLisatud: 04.09.2009 12:16
04.09.2009 Saamaks juurdepääsu serverile hektor8.ttu.ee tuleb täita "Ülesanne 1" kataloogist Harjutustunnid.
Erki Eessaar: TarkvaraLisatud: 04.09.2009 12:16
04.09.2009 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige suurema numbriga versioon. Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin III.

Oracle andmebaasiga töötamiseks võib kasutada Oracle poolt tasuta pakutavat programmi SQL Developer (SID= orcl).

hektor8.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

hektor8.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit PostgreSQL jaoks ja SQL Maestro koodigeneraatorit Oracle jaoks.

Erki Eessaar: Üliõpilase töökeskkondLisatud: 01.09.2009 14:35
01.09.2009

Üliõpilaste töökeskkond:

  1. Oracle Application Express (Oracle Apex): http://hektor8.ttu.ee:7500/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://hektor8.ttu.ee/andmebaas/index.php

Application Express abil tehtud rakenduste näiteid:

  1. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Töötajate andmebaas
    (kasutajanimi: Teile antud Oracle kasutajanimi
    parool: Teile antud Oracle parool)
  3. Apexiga kaasa tulev näiterakendus (parool: ylikool)

PHP rakenduse näide

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (8.3) dokumentatsioon
  3. Oracle 11g dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Application Express kasutamise kohta.
  5. Application Express
  6. Application Express kasutamise juhendid (HOWTO)
  7. Application Express foorum
Erki Eessaar: Uus õppeaastaLisatud: 01.09.2009 14:33
01.09.2009 ALGAS 2009/2010 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 11.08.2009 15:04
11.08.2009 Augustis on sügissemestri eelnädalal võimalik teha lisaeksamit. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Mauruse tehnilised probleemidLisatud: 27.05.2009 16:41
27.05.2009 Vabandan vahepeal tekkinud Mauruse tehniliste probleemide pärast. Nüüd peaks olema kõik korras.

Kui olete ajavahemikul 27. mai - 28. mai laadinud Maurusesse faile, siis tehke seda uuesti, sest Teie saadetud failid on kaotsi läinud.

Erki Eessaar: Lisaeksam JUUNISLisatud: 05.05.2009 11:59
05.05.2009 Juunis, kevadise eksamisessiooni ajal, toimub lisaeksam. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam MÄRTSISLisatud: 11.02.2009 14:05
11.02.2009 Märtsis toimub lisaeksam. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam kevadsemestrilLisatud: 28.01.2009 19:17
28.01.2009 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: hektor8.ttu.eeLisatud: 24.01.2009 02:10
23.01.2008 Kevadsemestril ei ole võimalik enam kasutada hektor4.ttu.ee serverit. Kellel on serveris materjale millest tal ei ole koopiat, siis võtke need viivitamatult ära.

Iseseisva töö teostamiseks saab kasutada hektor8.ttu.ee serverit. Oracle ja Application Express kasutamiseks mõeldud kasutajanimed/paroolid on seal samasugused kui hektor4 serveris.

NB! Kui soovite kevadsemestril kasutada hektor8 serveris PostgreSQL andmebaasisüsteemi ja/või laadida serverisse rakenduste jaoks vajalikke faile, siis saatke õppejõule vastava palvega kiri (subject: IDU0120 parool). Selles kirjas peab olema Teie eesnimi, perenimi, matrikli number, rühm ning parool, mida soovite hektor8 serverisse logimiseks kasutada.

Erki Eessaar: Lisaeksam - JAANUARISLisatud: 17.01.2009 17:16
17.01.2009 Kevadsemestri eelnädalal toimub lisaeksam. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: LisapunktidLisatud: 20.12.2008 01:58
19.12.2008 Kataloogis Harjutustunnid on välja pandud iseseisva töö eest saadavate lisapunktide aruanne. Kui olen teinud arvestamisel vigu, siis andke palun teada.
Erki Eessaar: EksamLisatud: 04.12.2008 17:17
04.12.2008 Eksami ajad:
  • 15. jaanuar 2009 kell 16:30 IT409
  • 21. jaanuar 2009 kell 16:30 IT409

Iseseisev töö peab olema esitatud hiljemalt kolm päeva enne eksamit. Iseseisva töö võib saata õppejõu e-mailile (eessaar_ät_staff.ttu.ee) või laadida üles õppekeskkonda.

NB!Eksamile tuleb ennast registreerida. Registreeruda saab ainult antud keskkonnas paikneva teadmiste kontrollile registreerimise lehe kaudu! Selleks tuleb aine pealehel valida alajaotus Üldist/Teadmiste kontroll. Kui sellist alajaotist pole näha, siis tuleb kõigepealt valida Üldist/Indeks. Seejärel tuleb valida sobiv teadmiste kontrolli aeg. Tuleb vajutada hüperlingile "registreeri". Seejärel avaneb vorm kus Te saate oma valikus veelkord veenduda.

Kui teete lisaeksamit, siis tuleb kirjutada märkuste välja "Lisaeksam".

Lisaeksami tegija ei pea tellima ise eksamilehte, sest uues õppeinfosüsteemis teeb seda õppejõud.

Väga tähtis! - Registreerumiseks peate Te vormil vajutama nupule "Registreerin". Alles siis olete Te registreeritud. Valitud aja juurde peab tekkima punase värviga teade "Olete registreeritud!" ja võimalus registreerimine kustutada.

Registreerimise saab kustutada samal lehel kus saab registreerida. Kui Te otsustate mingil põhjusel mitte eksamile tulla, siis kustutage oma registreerumine, et Teie asemel saaks tulla keegi teine!

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 20, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2008/Slaidid"). Kõik slaidid on õppekeskkonda välja pandud. Loengute täistekstidega tutvumine ei ole kohustuslik.

Erki Eessaar: Uus serverLisatud: 17.10.2008 14:42
NB! Oracle Application Expressi on nüüd võimalik kasutada uuel serveril - hektor8.ttu.ee.

Täpsem informatsioon on kataloogis "Kursuse korraldus" failis "Uus server".

Erki Eessaar: VaheülesandedLisatud: 10.10.2008 16:19
10.10.2008 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti eksamiks. Vastus tule laadida üles ülesannete lehe kaudu või saata meiliga.

10. november 2008 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

24. november 2008

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused) NB!PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

8. detsember 2008

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause.
  • Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

15. detsember 2008 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Vastuvõtuaja muutusLisatud: 29.09.2008 13:14
Teisipäeval 30. septembril 2008 on minu vastuvõtuaeg erandkorras kell 13:30-14:30 IT409.
Erki Eessaar: Esimene harjutustundLisatud: 13.09.2008 15:37
13.09.2008 Esimeses harjutustunnis alustame PostgreSQL andmebaasisüsteemiga, kuid kui jääb aega, siis tuleb juttu ka Oracle andmebaasisüsteemist.
Erki Eessaar: Üliõpilase töökeskkondLisatud: 13.09.2008 15:35
12.09.2008

Üliõpilaste töökeskkond:

  1. Oracle Application Express (serveril hektor4.ttu.ee): http://hektor4.ttu.ee:7500/apex/apex_login
  2. PostgreSQL phpPgAdmin: http://hektor4.ttu.ee/andmebaas/index.php
  3. Oracle Application Express (serveril hektor8.ttu.ee): http://hektor8.ttu.ee:7500/apex/apex_login

Application Express abil tehtud rakenduste näiteid:

  1. Koristajate andmebaas
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Töötajate andmebaas
    (kasutajanimi: Teile antud Oracle kasutajanimi
    parool: Teile antud Oracle parool)
  3. Apexiga kaasa tulev näiterakendus (parool: ylikool)

PHP rakenduse näide

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (8.3) dokumentatsioon
  3. Oracle 11g dokumentatsioon
  4. Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Application Express kasutamise kohta.
  5. Application Express
  6. Application Express (vana nimega HTMLDB) kasutamise juhendid (HOWTO)
  7. Application Express (vana nimega HTMLDB) foorum
Erki Eessaar: Juurdepääs serverileLisatud: 13.09.2008 03:18
12.09.2008 Saamaks juurdepääsu serverile täitke Ülesanne 1 kataloogis "2008/Harjutustunnid".
Erki Eessaar: TarkvaraLisatud: 04.09.2008 17:23
03.09.2008 PostgreSQL andmebaasisüsteemi kasutava kahekihilise klient-server süsteemi loomiseks läheb vaja PostgreSQL ODBC draivereid. Valige kõige suurema numbriga versioon. Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source.

PostgreSQL andmebaasiga töötamiseks võib kasutada tasuta pakutavat programmi pgAdmin III.

Oracle andmebaasiga töötamiseks võib kasutada Oracle poolt tasuta pakutavat programmi SQL Developer (SID= orcl).

hektor4.ttu.ee serveriga SSH ühenduse loomiseks võib kasutada programmi PuTTY. Samuti võib mitte-kommerts otstarbel kasutada SSH Secure Shell klienti versiooni 3.2.

hektor4.ttu.ee serverisse failide ülekandmiseks ja sealt failide allalaadimiseks võib kasutada programmi WinSCP.

Programmikoodiga töötamiseks sobib hästi tekstiredaktor SciTe.

PHP rakenduste genereerimiseks võib kasutada SQL Maestro koodigeneraatorit.

Erki Eessaar: Arvutiklassi paroolLisatud: 02.09.2008 10:19
02.09.2008 Aadressil http://elrond.tud.ttu.ee/ on kirjas, kuidas saada parool, millega arvutiklassis arvutisse logida.
Erki Eessaar: Uus õppeaastaLisatud: 02.09.2008 10:19
02.09.2008 ALGAS 2008/2009 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: Lisaeksam AUGUSTISLisatud: 14.08.2008 23:22
14.08.2008 Augustis on sügissemestri eelnädalal võimalik teha lisaeksamit. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Lisaeksam kevadsemestri eksamisessiooni ajalLisatud: 28.04.2008 02:03
27.04.2008 Kevadsemestri eksamisessiooni ajal on võimalik sooritada lisaeksamit 27. mail 2008 kell 15:00 ja kell 17:00. Võtke vähemalt 3 päeva enne eksamit kontakti, kui soovite sellel ajal eksamit teha.
Erki Eessaar: Lisaeksam kevadsemestrilLisatud: 26.01.2008 17:55
26.01.2008 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: Lisaeksam kevadsemestri eelnädalalLisatud: 10.01.2008 18:02
10.01.2008 Kevadsemestri eelnädalal saab teha lisaeksamit õppeaines "Andmebaaside projekteerimine". Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Iseseisva töö esitamise tähtaegLisatud: 10.01.2008 18:01
10.01.2008 Tuletan meelde õppeaine laiendatud ainekaardil olevat infot "Iseseisva töö esitamise tähtaeg on vähemalt kolm päeva enne eksamit." Ootan iseseisvat tööd hiljemalt 14. jaanuaril kell 12:00 (loomulikult võib esitada töö varem). 15. jaanuar ja 16. jaanuar on mul terve päev eksamid ja kui esitate töö tähtajast hiljem ei ole mul võimalik seda eksami ajaks läbi vaadata. Ilma iseseisva töö esitamiseta ja selle eest saadud punktide määramiseta ei ole võimalik suulist eksamit teha.
Erki Eessaar: Projekti esitamineLisatud: 18.12.2007 01:37
17.12.2007 Esitatavas projekti dokumendis peab olema ka kevadel tehtud projekti osa.
Erki Eessaar: EksamLisatud: 04.12.2007 21:59
04.12.2007 Eksami ajad:
  1. 9. jaanuar 2008 kell 16:30 ruumis IT409
  2. 16. jaanuar 2008 kell 16:30 ruumis IT409

Iseseisev töö peab olema esitatud hiljemalt kaks päeva enne eksamit. Iseseisva töö võib saata õppejõu e-mailile (eessaar_ät_staff.ttu.ee).

NB!Eksamile tuleb ennast registreerida. Registreeruda saab ainult antud keskkonnas paikneva teadmiste kontrollile registreerimise lehe kaudu! Selleks tuleb aine pealehel valida alajaotus Üldist/Teadmiste kontroll. Kui sellist alajaotist pole näha, siis tuleb kõigepealt valida Üldist/Indeks. Seejärel tuleb valida sobiv teadmiste kontrolli aeg. Tuleb vajutada hüperlingile "registreeri". Seejärel avaneb vorm kus Te saate oma valikus veelkord veenduda. Märkuste välja pole vaja midagi kirjutada. Väga tähtis! - Registreerumiseks peate Te vormil vajutama nupule "Registreerin". Alles siis olete Te registreeritud. Valitud aja juurde peab tekkima punase värviga teade "Olete registreeritud!" ja võimalus registreerimine kustutada.

Registreerimise saab kustutada samal lehel kus saab registreerida. Kui Te otsustate mingil põhjusel mitte kontrolltööle tulla, siis kustutage oma registreerumine, et Teie asemel saaks tulla keegi teine!

NB!Lisaeksami tegijad peaksid lisaks eksami tegemiseks tellima eksamilehe. Ilma eksamileheta ei saa eksamit teha (TTÜ reegel)!

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 20, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2007/Slaidid"). Kõik slaidid on õppekeskkonda välja pandud. Loengute täistekstidega tutvumine ei ole kohustuslik.

Erki Eessaar: VaheülesandedLisatud: 27.10.2007 23:26
27.10.2007 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti eksamiks. Vastus tule laadida üles ülesannete lehe kaudu või saata meiliga.

12. november 2007 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

03. detsember 2007

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Soovitav oleks kasutada veergude kirjeldamisel domeene.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused) NB!PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

10. detsember 2007

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause.
  • Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

17. detsember 2007 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: SlaididLisatud: 19.10.2007 18:54
19.10.2007 Kataloogis 2007/Slaidid on nii esimese kui teise loengu slaidid. Kui soovite, et loengus pöörata põhjalikumat tähelepanu mingile kindlale alateemale, siis võiksite sellest enne loengut kirja teel teada anda.
Erki Eessaar: VastuvõtuajadLisatud: 08.10.2007 13:45
08.10.2007

Vastuvõtuajad, mis peaksid toimuma 9. oktoober 2007 ja 10. oktoober 2007 jäävad ära! Ärajäänud aegade asemel on vastuvõtt:

  • 8. oktoober 2007 kell 16:00-17:00 IT409
  • 15. oktoober 2007 kell 16:00-17:00 IT409
Erki Eessaar: Juurdepääs serverileLisatud: 13.09.2007 15:01
12.09.2007 Täitke nii kiiresti kui võimalik ülesanne 1, et saada juurdepääs harjutamiseks ja iseseisvaks tööks mõeldud serverile. See ülesanne on kataloogis "2007/Harjutustunnid".
Erki Eessaar: Olulised lingidLisatud: 13.09.2007 15:01
12.09.2007

Üliõpilaste töökeskkond:

  1. Oracle iSQL*Plus: http://hektor.ttu.ee:5560/isqlplus/
  2. Oracle HTML DB: http://hektor.ttu.ee:7777/pls/htmldb/htmldb_login
  3. PostgreSQL phpPgAdmin: http://hektor.ttu.ee/andmebaas/index.php

HTMLDB abil tehtud rakenduste näiteid:

  1. Koristamiste andmebaasi näide 1 (ise ehitatud)
    (kasutajanimi: testkasutaja
    parool: 1234)
  2. Koristamiste andmebaasi näide 2 (HTML DB versiooniga 1.6 genereeritud)
    (kasutajanimi: testkasutaja
    parool: 1234)
  3. HTML DB-ga kaasa tulev näiterakendus (parool: ylikool)
  4. Kollektsioonide kasutamise näide
    (kasutajanimi: testkasutaja
    parool: 1234)
  5. Esimeses harjutustunnis genereeritud näide
    (kasutajanimi: testkasutaja
    parool: 1234)

PHP rakenduse näide

  1. Teadetetahvel - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli.
  2. PHP koodigeneraatoriga genereeritud PHP rakenduse näide - sisselogimiseks on vaja kasutada Hektori kasutajanime ja parooli. Sellise rakenduse eest maksimumpunkte ei saa.

Dokumentatsioon:

  1. Tigu lahkamas, ehk ekskursioon UNIXi maailma
  2. PostgreSQL (v. 8.1) dokumentatsioon
  3. Oracle 10g dokumentatsioon
  4. Application Express (vana nimega HTMLDB)
  5. Application Express (vana nimega HTMLDB) kasutamise juhendid (HOWTO)
  6. Application Express (vana nimega HTMLDB) foorum
Erki Eessaar: Lisatud: 13.09.2007 15:00
12.09.2007 ALGAS 2007/2008 ÕPPEAASTA SÜGISSEMESTER
Erki Eessaar: LisaeksamLisatud: 07.08.2007 20:40
07.08.2007 Kui plaanite eelnädalal eksamit teha (vt. eelmine teade), siis oleksin tänulik, kui sellest võimalikult vara teada annaksite.

Iseseisvat tööd näidata ja eksamit teha on võimalik ka 21. august - 24. august. Kirjutage ja lepime aja kokku.

Erki Eessaar: LisaeksamLisatud: 06.07.2007 15:14
07.07.2007 Sügissemestri eelnädalal saab teha lisaeksamit. Täpsemalt lugege teatele lisatud failist. Eksamit saab teha ka sügissemestri õppetöö ajal. Selleks tuleb esitada mulle oma iseseisev töö ja leppida kokku eksami tegemise aeg.

NB! Kuna 28.august - 01. september olen välislähetuses, siis eelnädala eksam ja konsultatsioon saab toimuda ainult 27. augustil. Konsultatsiooni on võimalik saada ja iseseisvat tööd ette näidata ka 21. august - 24. august - soovijad peaksid kirjutama, et aeg kokku leppida.

Erki Eessaar: LisaeksamLisatud: 21.02.2007 15:12
21.02.2007 Lisaeksamit saab sooritada kogu õppetöö perioodi jooksul. Kui saate iseseisva töö valmis siis võtke kontakti - lepime kokku lisaeksami aja.
Erki Eessaar: LisaeksamLisatud: 15.01.2007 16:27
15.01.2007 Kevadesemestri eelnädalal on lisaeksam. Täpsemalt lugege teatele lisatud failist.
Erki Eessaar: Iseseisva töö esitamineLisatud: 15.01.2007 16:15
15.01.2007 Kes soovivad teha eksamit 17. jaanuar 2007 võivad esitada oma projekti kuni 16. jaanuar 2007 kell 22:00.
Erki Eessaar: EksamLisatud: 30.11.2006 21:39
30.11.2006 Eksami ajad:
  1. 10. jaanuar 2007 kell 17:00 ruumis IT409
  2. 17. jaanuar 2007 kell 17:00 ruumis IT409

Iseseisev töö peab olema esitatud hiljemalt kaks päeva enne eksamit. Iseseisva töö võib saata õppejõu e-mailile (eessaar_ät_staff.ttu.ee). Palun saata hiljemalt eksamipäeva hommikul kella 12:00-ks õppejõule meil selle kohta, et tulete õhtul eksamile - siis tean palju inimesi oodata.

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 20, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "2006/Loenuteemade täistekstid/Slaidid"). Kõik slaidid on õppekeskkonda välja pandud. Loengute täistekstidega tutvumine ei ole kohustuslik.

Erki Eessaar: HTMLDBLisatud: 24.11.2006 00:36
23.11.2006 Kataloogis "2006/Päevase õppe harjutusülesanded" dokumendis Harjutus_IDU0120_10_2006_HTML_DB_koos_kommentaaridega.sql on välja pandud koodilõigud, mida kasutatakse HTMLDB näitevideotes.
Erki Eessaar: VaheülesandedLisatud: 28.10.2006 17:06
28.10.2006 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti eksamiks. Vastuse võib saata õppejõu meilile: eessaar_ät_staff.ttu.ee

13. november 2006 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

04. detsember 2006

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Soovitav oleks kasutada veergude kirjeldamisel domeene.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused) NB!PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

11. detsember 2006

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause.
  • Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

18. detsember 2006 Esimene versioon andmebaasi kasutavast rakendusest. Kui teete veebirakenduse, siis võib saata lingi.

Erki Eessaar: Teooria slaididLisatud: 19.10.2006 18:06
19.10.2006 Kataloogis "2006/Slaidid" on välja pandud teooria osa kõik slaidid (1 ja 2 osa). Oleks väga meeldiv, kui Te need enne järgmisesse loengusse tulekut üle vaataksite. Võite ka kirjutada, kui soovite, et ma loengul mõnest osast täpsemalt räägiksin.

Kuna 2006-10-28 toimub semestri sees meie teine ja viimane kohtumine, siis on sellel võimalik ka esitada küsimusi mis on tekkinud iseseisva töö tegemisel ning näidata ette, mida Te olete juba teinud.

Erki Eessaar: ODBC draiveridLisatud: 22.09.2006 14:27
22.09.2006 ODBC draivereid PostgreSQL jaoks saab alla laadida SIIT. Valige kõige suurema numbriga versioon.

Kataloogis "Praktika juhendid/PostgreSQL ja Accessi õppevideod" on väljas video, kuidas luua ODBC Data Source.

Erki Eessaar: Juurdepääs serverileLisatud: 11.09.2006 15:37
11.09.2006 Täitke nii kiiresti kui võimalik ülesanne 1, et saada juurdepääs harjutamiseks ja iseseisvaks tööks mõeldud serverile. See ülesanne on kataloogis "2006/Harjutustunnid".
Erki Eessaar: RegistreerumineLisatud: 11.09.2006 15:36
11.09.2006 Leheküljele ligipääsemiseks tuleb ennast registreerida.
  • Kui kasutate http://maurus.ttu.ee lehekülge esmakordselt, siis valige menüüst "Üldist" alt "Ainele registreerumine". Täitke vorm ja vajutage nupule "Registreeri".
  • Kui juba olete õpikeskkonnas mingile ainele registreerunud, siis siis valige peamenüüst Üldist=>Minu konto ja registreerige endale lisaks aine: "Andmebaaside programmeerimine (IDU0120) (sügis 2005, 2006) (KAUGÕPE)".
Registreerumise järel peate ootama kuni õppejõud teie juurdepääsu õiguse kinnitab.
Erki Eessaar: LisaeksamLisatud: 21.08.2006 12:58
21.08.2006 Sügissemestri eelnädalal saab teha lisaeksamit. Täpsemalt lugege teatele lisatud failist. Eksamit saab teha ka sügissemestri õppetöö ajal. Selleks tuleb esitada mulle oma iseseisev töö ja leppida kokku eksami tegemise aeg.
Erki Eessaar: Uus serverLisatud: 29.03.2006 15:16
29.03.2006 2006. aasta kevadel on kasutusel uus server imbi.ld.ttu.ee. Serverit hektor.ttu.ee kevadel kasutada ei saa. Serveris Imbi on praegusel hetkel installeeritud Oracle 10g Enterprise Edition ja PostgreSQL 8.0.3.

Praegusel hetkel pole seal HTML-DB-d, aga seda proovitakse sinna installeerida.

Kui soovite seda serverit kevadel aine sooritamiseks kasutada, siis peate minult küsima juurdepääsu. Kirjutage eessaar_ät_staff.ttu.ee. Kirjas peab olema Teie nimi, matrikli number, rühm ja serverisse logimiseks mõeldud parool.

Erki Eessaar: KonsultatsiooniaegLisatud: 26.02.2006 20:25
26.02.2006 28.02.2006 kell 14:00-15:00 toimub konsultatsiooniaeg erandkorras ruumis IT-213D.
Erki Eessaar: Konsutlatsiooniaja ärajäämineLisatud: 10.02.2006 18:53
10.02.2006 Seoses õppejõu välislähetusega ei toimu Erki Eessaare konsultatsiooni teisipäeval 14. veebruaril kell 14:00-15:00.
Erki Eessaar: EksamLisatud: 13.12.2005 18:23
13.12.2005 Eksam toimub 10. jaanuar 2005 kell 17:00 ruumis IT409. Iseseisev töö peab olema esitatud hiljemalt 9. jaanuari keskpäevaks. Iseseisva töö võib saata õppejõu e-mailile. Kui eksami aeg ei sobi siis kirjutage, et saaks leppida kokku mõne teise aja.

Eksam on suuline. Eksamil võidakse esitada küsimusi iseseisva töö kohta, millest sõltub kas töö saab arvestatud või mitte. Eksam annab kuni 40 punkti. Eksamipiletil on kolm küsimust (10+15+15 punkti). Eksamiküsimusi on 21, millest panen kokku 7 piletit.

Eksami küsimused on kirjas kursuse tutvustuse slaididel ja loengu slaididel. Eksami edukaks sooritamiseks piisab loengu slaididega tutvumisest (Kataloog: "Loenuteemade täistekstid/Slaidid"). Kõik 3 slaidide komplekti on õppekeskkonda välja pandud. Loengute täistekstidega tutvumine ei ole kohustuslik (ka kõik täistekstid on praeguseks välja pandud).

Erki Eessaar: Konsultatsiooniaja muutusLisatud: 04.12.2005 22:06
04.12.2005 Reedel 09. detsember 2005 on konsultatsiooniaeg erandkorras kell 11:30-12:30 (mitte 12:00-13:00 nagu tavaliselt) ruumis IT409.

Lisaks on täiendav konsultatsiooniaeg 08.12.2005 kell 12:00-13:00 ruumis IT409.

Erki Eessaar: Rational Rose Data ModelerLisatud: 28.11.2005 16:12
28.11.2005 Probleem: Laadisin zaurus.ttu.ee serverist Rational Rose programmi installatsioonifaili (fail C82V8ML.zip). Kui tegin installi siis selgus, et seal sees ei ole data modeleri.

Lahendus: Aitab .NET Framework redistributable installeerimine (ver. 1.1). Selles saab Microsofti kodulehelt tasuta alla laadida. Installeerige enne .NET ja siis Rational.

Erki Eessaar: PHPLisatud: 23.11.2005 17:34
23.11.2005 Hektori serveris PHP rakenduse loomiseks tuleb luua alamkataloog kataloogis: /usr/local/apache2/htdocs/
Loodud alamkataloogi tuleb paigutada oma PHP failid.

Aadressil http://hektor.ttu.ee/messages/ on näiterakendus. Sisselogimiseks kasutajanimi: Hektori kasutajanimi ja parool: Hektori parool

See on näide, kuidas PHP-s realiseerida süsteemi sisselogimine kasutades andmebaasi kasutaja (loodud CREATE USER abil) kasutajanime ja parooli. Samuti demonstreeritakse, kuidas pöörduda PHP koodis funktsioonide ja vaadete poole. Kokkupakitud PHP failid on kataloogis Harjutustunnid.

Erki Eessaar: VaheüesandedLisatud: 23.10.2005 02:19
22.10.2005 Iga vaheülesande õigeaegne ja korrektne lahendamine annab 4 lisapunkti eksamiks. Vastuse võib saata õppejõu meilile: eessaar_ät_staff.ttu.ee

7. november 2005 Loogilise disaini täpsusega andmebaasi kirjeldus – andmebaasi diagramm ja domeenide, tabelite, veergude ja võtmete kirjeldused.

28. november 2005

  • CREATE TABLE laused. Peavad olema loodud tabelite ja veergudega seotud kitsendused. Soovitav oleks kasutada veergude kirjeldamisel domeene.
  • CREATE SEQUENCE laused.
  • Tabelite ja arvujada generaatorite sidumine. (Näiteks trigerite loomise laused) NB!PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja ei pea arvujada generaatori objekte ise looma.

5. detsember 2005

  • Vähemalt üks vaate loomise lause.
  • Vähemalt üks funktsiooni või protseduuri loomise lause.
  • Lisatingimus on, et funktsioon ega protseduur ei tohi olla seotud trigeriga.
  • Vähemalt üks trigeri loomise lause. (Kui kasutate PostgreSQL, siis ka trigeri poolt välja kutsutava funktsiooni loomise lause. PostgreSQL puhul võib trigeri asemel esitada ka reegli).

12. detsember 2005 Esimene versioon andmebaasi kasutavast rakendusest.

Erki Eessaar: Harjutustundide järelhüüdLisatud: 23.10.2005 02:06
22.10.2005 Kataloogis "Harjutustunnid" on täiendatud versioonid harjutustunni materjalidest.

Muuhulgas on Accessi põhiseid rakendusi täiendatud nii, et veaolukorra tekitamisel andmebaasis talletatud funktsioonis kuvatakse veateade ka kasutajale. Selleks tuleb deklareerida vea objekt ning pöörduda selle poole veahalduse protseduuris.

Dim objErr As ADODB.Error

'ADO Error objekt sisaldab andmepöörduse operatsiooni poolt
'põhjustatud vea kirjeldust
'Andmepöördus on pöördumine andmete lugemiseks või kirjutamiseks
'ADO genereerib iga tekkinud vea kohta ühe Error objekti
'Tuleb käsitleda kõiki kollektsiooni kuuluvaid ADO Error objekte
'Vea kohta informatsiooni saamiseks tuleb viidata kindlale ühendusele
'Vaadake ka: http://www.w3schools.com/ado/ado_ref_error.asp

For Each objErr In Cn.Errors
MsgBox objErr.Description, vbCritical, "Viga koodiga " & objErr.SQLState
Next

Erki Eessaar: Päevase õppe harjutusülesandedLisatud: 30.09.2005 14:50
30.09.2005. Kataloogi "Harjutustunnid" on lisatud alamkataloog "Päevase õppe harjutusülesanded". Seal on harjutusülesanded, mida lahendavad päevase õppe üliõpilased. Huvi korral võiksite neid ülesandeid täita, et Oracle ja PostgreSQL paremini selgeks saada.
Erki Eessaar: Olulised viidadLisatud: 25.09.2005 16:38
25.09.2005 Oluliste viitade all on nüüd viiteid erinevatele Internetist kättesaadavatele infomaterjalidele.
Erki Eessaar: Ülesanne 1Lisatud: 07.09.2005 17:23
07.09.2005 Täitke nii kiiresti kui võimalik ülesanne 1, et saada juurdepääs harjutamiseks ja iseseisvaks tööks mõeldud serverile. See ülesanne on kataloogis "Harjutustunnid".
Erki Eessaar: Iseseisva tööna tehtud rakenduste näitedLisatud: 24.08.2005 15:51
Järgnevad rakendused on loodud eelmisel õppeaastal (päevase õppe) üliõpilaste poolt selle sama õppeaine raames. Andmebaas on loodud Oracle's ja rakendus on loodud HTML DB arendusvahendi abil.

Muusikaplaatide pood koos muusikaandmebaasiga
Autorid: Ago Luberg ja Ivor Lõõbas
Kasutajanimi: roobert
Parool: roobert

Interneti raamatupoe kliendi töökoht
Autorid: Krista Einola, Krete Jalakas
Kasutajanimi: testkasutaja
Parool: 1234

Filmide teabebaasi administraatori töökoht
Autorid: Martti Remmelgas ja Aivo Niine
Kasutajanimi: admin
Parool: admin

Erki Eessaar: Juurdepääs leheleLisatud: 21.08.2005 14:13
23.08.2005 Õppekeskkonnas paiknevatele õppeaine materjalidele ligipääsemiseks tuleb ennast registreerida. Kui kasutate Mauruse õppekeskkonda esmakordselt, siis valige menüüst "Üldist" alt "Ainele registreerumine". Täitke vorm ja vajutage nupule "Registreeri".

Kui te juba olete õppekeskkonnas mingile ainele registreerunud ja link selle õppeaine kodulehele on Mauruse pealehel nähtav, siis logige sellesse ainesse sisse ning valige "Tudeng" -> "Oma andmed". Seejärel lisage "Andmebaaside programmeerimine (IDU0120) (sügis 2005) (KAUGÕPE)" enda õppeainete nimekirja. Ärge unustage vajutada "registreeri ainele".

Kui olete mõnel eelmisel aastal registreerinud õppeaine "Andmebaaside programmeerimise" leheküljel, siis peate uuesti registreeruma. Tegemist on lehekülje uue versiooniga.

Registreerumise järel peate ootama kuni õppejõud teie registreerimise kinnitab. Senikaua pole teil võimalik süsteemi siseneda.

Kasutajanime ja parooli sisestamisel pidage meeles, et süsteem eristab suuri ja väikesi tähti.

Kui Te peaks kunagi unustama oma kasutajanime/parooli siis palun ärge registreeruge uuesti vaid pöörduge õppejõu poole.