Teated ja oluline info
Aine uus kodulehekülg koos aktuaalse informatsiooniga asub http://maurus.ttu.ee/aine_index.php?aine=328
Kellele on veel eksamil arvesse minemata lisapunkte - see on viimane võimalus need ära kasutada. Ka üks-kaks punkti võib osutuda piisavaks, et hinnet parandada!!
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.
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.
Täpsemalt lugege selle lingi tagant.
Vaadake ka kataloogist Lõputööd hästi kirjutatud andmebaaside-teemaliste lõputööde näiteid.
Kataloogist Loengud/Teemad, mille kohta ei tule eksamiküsimusi leiate dokumendi, milles viidatakse andmebaaside arengusuundadele ning märksõnadele, mida seoses sellega jälgida.
Võite julgelt registreerida ÕISis just sellele eksamiajale, mis Teile sobib - isegi siis, kui ma pole Teie tööd veel jõudnud üle vaadata. ÕISis registreerimine annab mulle infot, mis järjekorras töid üle vaadata.
Tegin ÕISis vea ja tänu sellele ei saanud enam registreeruda 7. jaanuari eksamile. Nüüd on see viga kõrvaldatud ja on võimalik 7. jaanuari eksamile registreeruda.
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.
Materjalid, mille põhjal tulevad eksami küsimused (loengute ja harjutuste materjalid) on kõik juba välja pandud. Soovin kõigile meeleolukat pühadeaega!
Eksamil peate tundma nii PostgreSQLi kui Oraclet. Väga soovitan läbi töötada kõigi harjutustunni ülesannete lahendused, panna need laused käima ja vaadata, et saate kõigest aru. Kes ei taha minu materjale lugeda saab ülevaate Oracle põhimõtetest järgmisest dokumendist: Oracle Database Concepts 12c Release 1.
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!
Eksamisessiooni sees on soovi korral võimalik eksamit mitu korda teha vaid nendel üliõpilastel, kellel on täidetud kõik järgmised tingimused:
- deklaratsioon kehtib kolm semestrit,
- deklaratsioon lõpeb käesoleval semestril,
- üliõpilasel on veel kasutamata eksami tegemiste kordi (eksamit saab teha kuni kolm korda),
- lisaeksamile on veel vabu kohti.
Üliõpilastel, kelle deklaratsioon kehtib kolm semestrit kuid ei lõpe käesoleval semestril või kelle deklaratsioon kehtib ainult ühe semestri, on lisaeksami tegemise võimalus eksamisessioonile järgneval täiendava eksamisessiooni nädalal.
Kataloogis Harjutustunnid oleva faili Ülesanne 13 lõpus on juhend, kuidas parandada MS Accessis loodud rakenduse turvalisust. Sellisel viisil täiustatud rakenduse näite leiate kataloogi Harjutustunnid/Lahendused failist Ülesande 13 lõpus esitatud juhendi alusel täiustatud MS Accessi fail..
NB! Ärge registreerige ennast palun kaugõppe eksamiaegadele (õhtul kell 16:00) - nendel aegadel päevase õppe üliõpilased eksamit teha ei saa!!!
- 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.
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.
- 22. detsember 2013 – 28. detsember 2013 (kaasa arvatud) esitatud töö saab hilinemise eest 5 miinuspunkti
- 29. detsember 2013 – 31. august 2014 (kaasa arvatud) 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öö 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.
- 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).
- 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.
- Loogilise disaini andmebaasi diagrammil ning selle juurde käivates tabelite tekstikirjeldustes esitatav informatsioon peab langema kokku (samad võtmed, tüübid, väljapikkused jne.).
- Tehnilise prototüübi kirjelduse juures tuleb alajaotuses "Esmane prototüüp" kirjeldada eeldusaines "Andmebaasid I"/"Andmebaaside projekteerimine" koostatud prototüüpi.
- Vaadake palun, et kirjutate projekti õiged tarkvara versioonid (apex.ttu.ee serveris on PostgreSQL 9.3 ja Oracle 12c Enterprise Edition Release 1).
- Ärge unustage kasutada tabelite veergude vaikimisi väärtuseid (DEFAULT values). Need väärtused tuleb esitada juba loogilise andmebaasi disaini mudelis ning ka andmebaasis realiseerida.
- 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.
- 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.
- 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).
- Kõik kontseptuaalses andmemudelis kirjeldatud kitsendused tuleb andmebaasis jõustada (deklaratiivselt, kasutades trigereid või kasutades mõnda andmebaasisüsteemi-spetsiifilist võimalust).
- 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).
- Kui kasutate lahendust, mille kohaselt hoitakse kasutajate paroole andmebaasi tabelis, siis peab parool olema salvestatud räsiväärtusena, mitte avatekstina.
- 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).
- 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).
- 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.
- "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)
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).
- 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.
- 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.
- 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.
- 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.
- Elektrooniliste kontaktandmete kasutamine otseturustuses (Peatükis 6 on soovitused, kuidas vältida spämmisaajate nimistusse sattumist).
- 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).
- Soovitused seoses kliendikaartide saamisel küsitavate isikuandmetega.
- Isikuandmete töötlemine töösuhetes.
Threatsaurus - hea kõrgtaseme ülevaade ohtudest, mis ähvaravad arvutisüsteeme.
Mõtlema panev artikkel paroolide kasutamisega seotud probleemidest.
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.
- miks tundlike andmetega infosüsteemis ei tohiks paroolid olla andmebaasis avatekstina,
- mida kujutab endast SQL süstimise (SQL injection) rünnak,
- miks MD5 ei sobi enam räsiväärtuste leidmiseks,
- 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.
Oracles kasutatakse protseduuride/funktsioonide/trigeri protseduuride kirjutamiseks PL/SQL keelt. Paraku ei jõua ma sellest keelest enne vahetulemuste ülevaatamist rääkida. Teatele lisatud failis on viited mõningatele Internetis leiduvatele materjalidele/näidetele PL/SQL kasutamise kohta.
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.
Kui soovite apex.ttu.ee serveril asuva PostgreSQL andmebaasi poole pöörduda väljastpoolt TTÜ võrku
(
- näiteks on Teie kodu/töökoha arvutis pgAdmin ning soovite selle abil töötada apex.ttu.ee serveris oleva PostgreSQL andmebaasiga,
- loote kodu/töökoha arvutis ODBC andmeühenduse spetsifikatsiooni, et kasutada apex.ttu.ee serveris olevat PostgreSQL andmebaasi,
- soovite veebirakenduse panna oma serverile ja kasutada apex.ttu.ee serveris olevat PostgreSQL andmebaasi
Nendes näidetes kutsutakse välja PostgreSQLis loodud funktsioon, mis registreerib uue teate. Kui teates sisaldub sõna "ebameeldiv", siis teadet ei registreerita. Täiendasin teadete registreerimise funktsiooni, et peatada sellised teated, milles on sõna "ebameeldiv" maskeeritud - näiteks kirjutatud "e.b.a.m.eeldi.v".
Lisasin kataloogi Lõputööd/Tarkvarasüsteemide võrdlemine lõputöö, kus on välja selgitatud, millised veebipõhised UML CASE-vahendid võiksid asendada töölauapõhist vananenud programmi IBM Rational Rose, mida kasutatakse enamikes Tallinna Tehnikaülikoolis õpetatavates infosüsteemide ja andmebaasi ainetes. Võrreldavad vahendid on Cacoo, Creately, MxGraph ja WWW SQL Designer.
Kui realiseeritav rakendus hakkab paiknema kasutaja arvutis (näiteks MS Accessis tehtud rakendus), siis valige palun realiseerimiseks selline töökoht, mille puhul taoline lahendus võiks realistlikult kõne alla tulla. E-poe näitel pole selline rakendus võimalik kliendi töökoha realiseerimiseks kuid on võimalik tellimuste halduri töökoha realiseerimiseks.
Olen praeguseks hetkeks saanud juba kaks vastust, mis selle nõude vastu eksivad.
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.
- Teisi andmebaasisüsteeme peale PostgreSQL ja Oracle iseseisva töö tegemiseks kasutada ei saa.
- Oraclet ja MS Accessi on raske koos kasutada ja seega ei sobi MS Access Oracle andmebaasi rakenduse tegemiseks.
- Oracle Application Express vahendi abil ei saa teha PostgreSQL andmebaasi kasutamiseks mõeldud veebirakendust.
- Rational Rose ei ole rakenduse tegemise vahend, vaid on modelleerimisvahend.
- Oracle SQL Developer ei ole rakenduse tegemise vahend, vaid on andmebaasi haldamise/programmeerimise vahend.
Üliõpilaste töökeskkond:
- Oracle Application Express (Oracle APEX): http://apex.ttu.ee:8000/apex/
- PostgreSQL phpPgAdmin: http://apex.ttu.ee/andmebaas/
Application Express abil tehtud rakenduste näiteid:
- Töötajate andmebaas (rakenduse tegemiseks kulus umbes 30 minutit)
(kasutajanimi: testkasutaja
parool: 1234) - Koristajate andmebaas (See on loodud APEX 4.2 abil)
(kasutajanimi: testkasutaja
parool: 1234) - Koristajate andmebaas (See on loodud APEX 4.1 abil)
(kasutajanimi: testkasutaja
parool: 1234) - Koristajate andmebaas (See on loodud vanemas APEXi versioonis, kuid töötab ka uuemates versioonides)
(kasutajanimi: testkasutaja
parool: 1234) - Seisundimuudatuste realiseerimise näide
- APEXiga kaasa tulev näiterakendus
(kasutajanimi: testkasutaja
parool: 1234)
PHP rakenduse näide:
- 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:
- 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.
- apex.ttu.ee serveris olevate PostgreSQL andmebaaside kvaliteedi kontroll - sisselogimiseks on vaja kasutada apex.ttu.ee PostgreSQL kasutajanime ja parooli.
- Erinevad tarkvaravahendid PostgreSQL andmebaaside projekteerimiseks, programmeerimiseks ja haldamiseks. Nimekirjas on nii vaba tarkvara kui ka kommertstarkvara.
- 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:
- Tigu lahkamas, ehk ekskursioon UNIXi maailma
- PostgreSQL (9.3) dokumentatsioon
- Oracle 12c Release 1 dokumentatsioon
- Ask Tom on koht kust leiab vastuseid paljudele küsimustele Oracle kohta. Ühtlasi on see keskkond näide Oracle Application Express kasutamise kohta.
- Oracle Application Express
- Oracle Application Express foorum
- Pistikprogrammid e. pluginad, mida saab kasutada Oracle APEXI abil tehtud rakenduste funktsionaalsuse suurendamiseks.
- Mõned videod, mis demonstreerivad APEX 4.1 kasutamist.
Lisainfo:
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.
Installeerige draiverid. Kasutage ODBC Data Source loomiseks programmi "odbcad32", mis asub kataloogis "C:\Windows\SysWOW64". Lugege lisaks siit.
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.
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/02, IAPB02/02, IASM02/02) järgi.
- 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 2013)" Ärge unustage vajutada "registreeri ainele".