Teated ja oluline info
Aine uus kodulehekülg koos aktuaalse informatsiooniga asub http://maurus.ttu.ee/aine_index.php?aine=182
2006/2007 õppeaasta sügissemestri õppetöö ajal saab samuti teha eksamit. Selleks tuleb võtta õppejõuga ühendust ja leppida kokku sobiv aeg.
, siis probleemi lahendamiseks järgige seda juhist
Oracle iSQL*Plus: http://hektor.ttu.ee:5560/isqlplus/
Oracle HTML DB: http://hektor.ttu.ee:7777/pls/htmldb/htmldb_login
HTMLDB puhul WORKSPACE ja USERNAME=> Oracle kasutajanimi
PASSWORD => Oracle parool
PostgreSQL phpPgAdmin: http://imbi.ld.ttu.ee/phpPgAdmin/index.php
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.
2006. aasta kevadel toimub eksam kahel korral. Üks eksamiaeg on millalgi vahemikus 5-8 õppenädal (aeg veel täpsustub, ilmselt märtsi keskel). Teine eksamiaeg on kevadsemestri eksamisessiooni ajal.
2005 sügissemestril saadud miinuspunktid iseseisva töö hilinenud esitamise eest ei lähe arvesse 2006 kevadsemestril või 2006 sügissemestril tehtud eksamil. Aga kui Te siis otsustate projekti parandada ja jälle esitamisega hiljaks jääte, saate uuesti miinuspunkte. 2006 kevadsemestri eelnädalal toimuval lisaeksamil lähevad 2005 sügissemestril projekti hilinenud esitamise eest saadud miinuspunktid arvesse.
Eksamilehe tellimiseks tuleb astuda läbi ruumist IT409 ja panna ennast õppejõu juures kirja. Avatud Ülikooli kaudu õppijad peaksid pöörduma eksamilehe tellimiseks otse sinna.
Iseseisvat tööd võib loomulikult endiselt esitada. Tänase päeva seisuga läheb hilinemise eest maha 5 punkti. Alates 27.12.2005 läheb hilinemise eest maha 10 punkti. Iga järgneva nädalaga lisandub 5 miinuspunkti.
Lisaks on täiendav konsultatsiooniaeg 08.12.2005 kell 12:00-13:00 ruumis IT409.
- Kui kasutate töös PostgreSQL'i, siis PostgreSQL andmebaasi nimi.
- Kui kasutate töös Oraclet, siis Oracle skeemi nimi (st. Teie kasutajanimi TUD...) ning Teie Oracle parool.
- Veebirakenduse korral, selle aadress.
- Kõik loodud rakendustesse sisselogimiseks vajalikud kasutajanimed ja paroolid.
- Kui andmebaasid on loodud mõnes muus serverarvutis kui hektor.ttu.ee, siis juhend kuidas on võimalik neile ligi pääseda.
- Kommentaar, millise kasutaja töökoha Te realiseerisite PostgreSQL ja/või millise Oracle baasil.
- Kirjeldus selle kohta, kus kohas pöördub Teie loodud rakendusprogramm serveril asuvate protseduuride/ funktsioonide poole.
Iseseisev töö tuleb esitada elektrooniliselt, kasutades aine veebipõhist õppekeskkonda. Tuleb saata nii dokumentatsioon, Rational Rose fail kui ka rakenduse failid (vajalik on 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, Rational Rose programmiga koostatud mudelid ja rakenduse fail(id). Iseseisva töö dokument võib olla *.doc, *.rtf või *.pdf formaadis.
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 siis võib selle teha mitmeks väiksemaks failiks. Samuti 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. NB! Saadetava zip faili faili nimi ei tohi mingil juhul sisaldada tühikut või "õ","ä","ö" ja "ü" tähti. Siis need failid serverile ei jõua.
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
Viimasel õppenädala 12.12.2005 - 16.12.2005 (või soovi korral ka mõnel varasemal nädalal) võib harjutustunnis oma iseseisva töö ette näidata ja kohe punktid ja kommentaari teada saada.
Iseseisva töö punktisummad pannakse lehele, mille kaudu saadeti dokumendid. Eksamil võidakse üliõpilasele esitada küsimusi tema iseseisva töö kohta. See võib mõjutada saadavate punktide arvu (suurendada/vähendada). Üliõpilane peab tundma KOGU enda nimel esitatud iseseisvat tööd! See tähendab, et grupitöö korral peab ta oskama detailselt selgitada ka neid töö osasid, mida tööjaotuse korras tegi mõni teine üliõpilane!
Eksamile pääsemiseks on registreerimine kohustuslik! Sellel semestril õppeaine deklareerinud saavad ennast eksamile registreerida 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 teadmiste kontrolli aeg. Tuleb vajutada hüperlingile "registreeri". Seejärel avaneb vorm, kus saate oma valikus veelkord veenduda. (Väga tähtis!) Registreerumiseks peate vormil vajutama nupule "Registreerin". Alles siis olete registreeritud. Valitud aja juurde peab tekima punase värviga teade "Olete registreeritud!" ja võimalus registreerimine kustutada.
Samalt lehelt saate ka oma registreerimise kustutada. Kui otsustate mingil põhjusel mitte tulla, siis kustutage oma registreerumine, et Teie asemel saaks tulla keegi teine!
NB!Üliõpilased, kes on deklareerinud õppeaine "Andmebaaside programmeerimine" või "Andmebaasisüsteemid" mõnel eelmisel semestril peavad enne eksamit mõnel õppejõu konsultatsiooniajal tulema läbi ruumist IT409 ja registreerima ennast seal eksamile kirjalikult. Ilma kirjalikult registreerimata ei saa tellida eksamilehte ja ilma eksamileheta ei saa teha eksamit.
NB!Juhul kui õpite Avatud Ülikooli kaudu ja tulete lisaeksamile, siis peate Avatud Ülikoolist endale ise eksamilehe tellima.
IGAL JUHUL TULEB ENNAST REGISTREERIDA KA LÄBI INTERNETI, ET PANNA ENDALE KOHT KINNI.
Lahendus: Aitab .NET Framework redistributable installeerimine (ver. 1.1). Selles saab Microsofti kodulehelt tasuta alla laadida. Installeerige enne .NET ja siis Rational.
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.
- Andmebaasi diagramm (või üldse mistahes diagramm) on loetamatu. Diagramm peaks olema loetav ka ilma lehekülje suurendamiseta. Vajadusel tuleks diagramm jagada mitmeks osaks.
- Andmebaasi diagrammi pilt ning järgnev spetsifikatsioon/SQL laused pole kooskõlas.
- Andmebaasi diagramm pole kooskõlas olemi-suhte diagrammiga. Tekkinud on üleliigsed veerud, kuna olemi-suhte diagrammi koostamisel pole mittevajalike seoseid teadmusbaasist kustutatud.
- Kasutate andmebaasi objektide nimedes täpitähti (õ,ä,ö,ü).
- Andmebaasis hoitakse paroole lahtise tekstina. Andmebaasi võiks näiteks salvestada parooli md5 funktsiooni abil saadava räsiväärtuse. Oracles võib kasutada ka andmebaasisüsteemi sisse ehitatud krüpteerimise funktsionaalsust.
- Tabelitel pole kõiki vajalikke kitsendusi - pikkus ja hind võivad olla negatiivsed arvud, klassifikaatori tabelis pole nimetused unikaalsed, kasutajanimi pole unikaalne jne. Pole leitud ja jõustatud tabelite alternatiivvõtmeid. Alternatiivvõtme jõustamiseks peab iga selles osalev veerg olema NOT NULL ja veerule/veergudele peab olema määratud unikaalsuse kitsendus.
- Vale andmetüübi kasutamine. Näiteks isikukood - täisarv, kuigi isikukoode ei korrutata vaid leitakse neist alamstringe. Klassifikaatori tabeli võtmeveerud on tüüpi INTEGER, kuigi võimalik ridade arv tabelis ei ületa paarsada. Sobivam oleks andmetüüp SMALLINT jne.
- ON UPDATE CASCADE kasutamine selliste välisvõtmete juures, mis loovad seose surrogaatvõtmega (süsteemi genereeritud unikaalne number). Surrogaatvõtme väärtus ei oma kasutajale tähendust ja seega ei pea ta seda ka muutma.
- ON DELETE CASCADE kasutamine selliste välisvõtmete juures mis ei realiseeri kompositsiooniseost (diagrammil täidetud romb). Näiteks tellimuse rida on osa ühest kindlast tellimusest ja tuleb koos tellimusega kustutada. Tellimuse liigi (klassifikaator) kustutamine ei peaks õnnestuma, kui leidub seotud tellimusi.
- Klassifikaatori koodi määramine surrogaatvõtmeks. Tegelikult on need koodid Teil dokumenteeritud ja süsteem ei peaks vastavatesse veergudesse ise väärtuseid genereerima.
Oletame et on tabelid:
Tellimuse_seisund(tellimuse_seisund_id, nimetus)
Primary Key(tellimuse_seisund_id)
Alternate Key (nimetus)
Tellimus(tellimus_id, summa, kuupäev, tellimuse_seisund_id)
Primary Key(tellimus_id)
Foreign Key (tellimuse_seisund_id) References Tellimuse_seisund(tellimuse_seisund_id)
Triger võiks olla seotud tabeliga Tellimus ning kontrollida tellimuse seisundi muutmisel, kas taoline seisundi muutus on legaalne ning mittelegaalset muudatust mitte lubada. Näiteks seisundis "koostamisel" olev tellimus saab minna seisundisse "loodud" või selle võib kustutada. Seisundisse "loodud" saab tellimus minna vaid siis, kui tellimusega on seotud mõni tellimuse rida ja kauba kogus sellel on suurem kui 0. Seisundist "loodud" saab tellimus minna seisundisse "kinnitatud" või "tühistatud", aga mitte seisundisse "koostamisel" või "arhiveeritud". Seisundis "loodud" olevat tellimust ei tohi kustutada.
Sellise lahenduse probleem on, et lubatud seisundi muutused on programmi sisse kodeeritud. Äriprotsesside muutumisel tuleb programmi muuta. Paindlikum lahendus oleks lubatud seisundimuutuste kirjeldamine andmebaasis. Triger loeb neid kontrolli läbiviimisel. Sellisel juhul pole vaja seisundidiagrammi muutumisel hakata programmi ümber kirjutama vaid administraator peab muutma andmebaasis seisundimuudatuste kirjeldusi.
Tehtud peavad vähemalt olema:
- Loogilise disaini dokumentatsioon.
- Tehnilise arhitektuuri kirjeldus.
- Andmemahtude hinnang.
- Ühes andmebaasisüsteemis loodava andmebaasi jaoks (St. kui teete nii Oracles kui ka PostgreSQL peab esitama vaid ühe süsteemi jaoks mõeldud laused):
- CREATE TABLE laused. Peavad olema loodud kõik tabelitega seotud kitsendused, sealhulgas sellised kitsendused, kus kasutatakse regulaaravaldisi.
- CREATE SEQUENCE laused ning tabelite ja arvujada generaatorite sidumine. (PostgreSQL puhul võib kasutada SERIAL andmetüüpi ja pole vaja eraldi arvujada generaatoreid luua).
- Vähemalt üks vaade.
- Vähemalt üks funktsioon või protseduur.
Kui iseseisva töö vahetulemust ei näidata 9-ndal või 10-ndal õppenädalal ette, siis saab üliõpilane 10 miinuspunkti. Pidage meeles, et iseseisva töö esitamise tähtaeg on juba
12. detsember 2005.
Lisaks teade, et oktoobri esimesel poolel toimub lisaeksam õppeaines "Andmebaaside projekteerimine". Lugege täpsemalt õppeaine kodulehelt.
Iseseisva töö registreerimiseks valige õppekeskkonna parempoolsest 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 mitmekekesi, siis peab teema ja tegijate andmed registreerima ainult üks tegijatest.
3 aastase bakalaureuse õppekava järgi õppijad peaksid deklareerima õppeaine "Andmebaaside programmeerimine" (IDU0120).
4 aastase bakalaureuse või diplomi õppekava järgi õppijad peaksid deklareerima õppeaine "Andmebaasisüsteemid" (IDU3430).
Sisu poolest on need ained ühesugused.
Muusikaplaatide pood koos muusikaandmebaasiga
Autorid: Ago Luberg ja Ivor Lõõbas
Kasutajanimi: roobert
Parool: roobert
Interneti raamatupoe kliendi töökoht
Autorid: Krista Einola ja Krete Jalakas
Kasutajanimi: testkasutaja
Parool: 1234
Filmide teabebaasi administraatori töökoht
Autorid: Martti Remmelgas ja Aivo Niine
Kasutajanimi: admin
Parool: admin
- Esmaspäev 10.00 IT-109 | Erki Eessaar | Harjutus | Rühma IABB51 poolrühm a
- Esmaspäev 14.00 IT-109 | Erki Eessaar | Harjutus | Rühma IABB51 poolrühm b
- Neljapäev 10.00 IT-109 | Erki Eessaar | Harjutus | Rühma IAPB53 poolrühm a
- Neljapäev 14.00 IT-213H | Erki Eessaar | Harjutus | Rühm IABB52
- Reede 10.00 IT-109 | Erki Eessaar | Harjutus | Rühma IAPB53 poolrühm b
Poolrühmadeks jagamine toimub esimeses harjutustunnis.
Üliõpilaste töökeskkond:
- Oracle iSQL*Plus: http://hektor.ttu.ee:5560/isqlplus/
- Oracle HTML DB: http://hektor.ttu.ee:7777/pls/htmldb/htmldb_login
- PostgreSQL phpPgAdmin: http://hektor.ttu.ee/phpPgAdmin/index.php
- Oracle HTML DB: http://hektor.ttu.ee:7777/pls/htmldb/htmldb_login
HTML DB näiterakendused (sisselogimiseks
kasutajanimi: testkasutaja2
parool:1234
)
- Koristamiste andmebaasi näide 1 (ise ehitatud)
- Koristamiste andmebaasi näide 2 (HTML DB poolt genereeritud)
- HTML DB-ga kaasa tulev näiterakendus
- Issue Tracker - veel üks näide
Dokumentatsioon:
- PostgreSQL (v. 8.0) dokumentatsioon: http://www.postgresql.org/docs/8.0/interactive/index.html
- Oracle 10g dokumentatsioon: http://www.oracle.com/pls/db10g/portal.portal_demo3?selected=1
- Näide HTML DB abil rakenduse koostamise kohta
- HTML DB kasutamise juhendid (HOWTO) http://www.oracle.com/technology/products/database/htmldb/howtos/index.html
Kui Te juba olete õpikeskkonnas mingile õppeainele registreerunud (näiteks kevadel toimunud õppeaine "Andmebaaside projekteerimine" kodulehel), siis logige selle õppeaine leheküljele sisse ning valige "Tudeng" -> "Oma andmed". Seejärel lisage "Andmebaaside programmeerimine (IDU0120) ja Andmebaasisüsteemid (IDU3430) (sügis 2005)" enda õppeainete nimekirja. Ärge unustage vajutada "registreeri ainele".
Kui kasutate õppekeskkonda esmakordselt, siis valige menüüst "Üldist" alt "Ainele registreerumine". Täitke vorm ja vajutage nupule "Registreeri".
Registreerumise järel peate ootama kuni õppejõud teid aktuaalseks märgib. Senikaua pole teil võimalik õppeaine koduleheküljele siseneda.
NB! Kui Teil läheb kunagi meelest kasutajanimi ja/või parool, siis palun ärge registreerige uuesti, vaid saatke õppejõule selle kohta kiri (eessaar{ät}staff.ttu.ee) või tulge küsima.