Sissejuhatus Objekt-Orienteeritud (O-O) andmebaasidesse ja ülevaade andmemudelite ajaloost.

Size: px
Start display at page:

Download "Sissejuhatus Objekt-Orienteeritud (O-O) andmebaasidesse ja ülevaade andmemudelite ajaloost."

Transcription

1 Sissejuhatus Objekt-Orienteeritud (O-O) andmebaasidesse ja ülevaade andmemudelite ajaloost. Mõisted: O-O andmebaaside kohustuslikud omadused; OID, O-O paradigma mõisted O-O andmebaasides (kapseldamine, peitmine, signatuur, meetod, polümorfism). Andmebaaside loomise metoodika võimalused. Oskused: suudab jälgida O-O andmebaasikirjeldust, saades ette keele kirjelduse 1. Miks on veel üht mudeli vaja? Seni oleme vaadelnud kahte andmemudelit, mis on andmebaasisüsteemi aluseks või nende projekteerimise vahendiks - kõige lähemalt tutvusime relatsioonilise mudeliga, aga käsitlesime ka graafilise mudeli kahte vormi (E-R mudel ja UML klassimudel). Ajalooliselt pakuvad huvi ka hierarhiline ja võrkmudel. Mitmed mudelid on olnud konkreetsete andmebaasi juhtimissüsteemide loomise aluseks. Kuid igal neist on omad puudused. Seepärast ei ole uute mudelite loomine sugugi lõppenud. Eriti viimasel ajal, kui andmebaasid on kujunenud mitmete uute ülesannete lahendamise vahenditeks: CAD/CAM (ingl.k. Computer Aided Design / Computer Aided Manufacturing) süsteemid, graafilist infot sisaldavad andmebaasid, väga spetsiifilise kujuga andmete andmebaasid (näiteks DNA_järjestused), multimeedia andmebaasid, mitmesugused repositooriumid (näiteks õpiobjektide oma), mitmest andmebaasist koosnevad teaduslikud süsteemid jne. Need uued valdkonnad nõuavad modelleerimise vahendeid, mis erinevad traditsioonilistest majandusvaldkonnas kasutatavate andmebaaside vahenditest - viimase kasutusvaldkonna jaoks aga andmebaasid tekkisidki. Üheks mudeliks, mis on välja pakutud just neid uusi keerulisemaid rakendusi silmas pidades on objekt - orienteeritud (O-O) andmemudelid ja neil baseeruvad O-O andmebaasisüsteemid. Võtmeküsimuseks selles mudelis on vahendid, mida ta annab keeruliste objektide ehitamiseks ja operatsioonid, mida andmebaasi looja saab osaliselt ise disainida. Traditsiooniliselt on andmete struktureerimise vahendid andmebaasi juhtimissüsteemi sisse ehitatud, andmetega manipuleerimine aga mitte, andmetega manipuleerimise jaoks on loodud ABJS välised spetsiaalsed keeled nagu näiteks SQL. O-O andmebaaside üheks erinevuseks on ka võimalus kirjeldada osa andmete käitumisest meetoditega andmebaasi juhtimissüsteemi tasandil. 2. O-O andmemudelite kohustuslikud omadused 1995.a. avaldatud O-O andmebaaside manifest loetleb kohustuslikke omadusi, mis peavad igas O-O mudeli nimele pretendeerival süsteemil kohustuslikult olemas olema: o/manifesto.html 1. vahendid keerulise struktuuriga objektide ehitamiseks (korteežid, hulgad, massiivid, multihulgad (ingl.k. bags), jne.); kuitahes suure sügavusega, 2. objekti süsteemisisene identifikatsioon, 3. kapseldamine (ingl.k. encapsulation) objekti füüsiline realisatsioon on objekti siseasi, mis välja ei paista, 4. tüübid ja klassid, nende hierarhia, 5. pärimine, üledeklareerimine need toetavad taaskasutamist, 1

2 6. arvutuslik täielikkus - mistahes algoritm peab olema väljendatav. NB! SQL ei ole selles mõttes täielik, on vaid Codd i mõttes täielik(võrreldes relatsioonalgebra ja relatsioonarvutusega). Seda nõuet on võimalik saavutada, sidudes andmebaasisüsteemi universaalsete programmeerimiskeeltega nagu Java või Python. 7. laiendatavus andmetüüpe peab olema võimalik juurde tekitada nii, et pole vahet vanade ja uute tüüpide kasutamisel. Konstruktorite hulk (korteežid, hulgad, massiivid jne.) ei pea olema laiendatav. 8. alalisus andmed peavad elama oma elu, sõltumata programmidest (AB loomulik omadus, aga uudis O-O programmeerimiskeeltele), 9. mälu haldamise vahendid pole nähtavad kasutajale, on sisemine vahend. 10. multikasutus, andmete taastamine 11. mistahes päringule peab olema võimalik vastata (võib võtta palju aega). 2. Kust hankida lisateavet O-O andmebaaside kohta? Sõltub, millist lisateavet. Esimene küsimus: kus on konkreetsed O-O andmebaasijuhtimissüsteemid? O-O mudelil baseeruvad mitmed eksperimentaalsed andmebaasisüsteemid, aga on olemas ka kommerts-realisatsioone. Eksperimentaalsed ja/või vabavaralised: Orion (MCC, Texas), OpenOODB (TI), IRIS (HP), ODE (Bell), ENCORE (Brown Univ.), Cerebrum, Databeans, Eloquera, GOODS (Generic Object Oriented Database System), Magma Object Database, MyOODB, Db4o jpt. Kommertssüsteemid: ONTOS DB, Caché, GemStone/Opal, Objectivity, Versant, ObjectStore, O2, IBM San Francisco, JADE, Matisse jpt.. Suur O-O andmebaaside analüüs on aadressil: Oriented%20Database%20Mgmt%20Systems%20Revisited%20-%20SOAR.pdf (Ei avane otse viitest, aga kui kopeerida sama aadress brauseri aadressväljale, siis avaneb) Konkreetsete süsteemide saidid: Caché - reklaamib ennast, kui maailma kiireim O-O andmebaasisüsteem, mis töötab kiiremini kui relatsiooniline andmebaas. GemStone Mis on O-O andmebaasid? O-O mudel kasutab palju O-O programmeerimise kontseptsioone (O-O andmebaasid on O-O programmeerimise ja andmebaaside kontseptsioonide abielu ). O-O programmeerimisel on üsna pikk ajalugu. Esimesed kontseptsioonid, mida tänapäeval tunnustatakse kindlalt O-O paradigmasse kuuluvaks ilmusid Simula keeles 60-nendate lõpus (klassid, abstraktsed andmetüübid, mille realisatsioon on varjatud). Täielikult O-O paradigmale üles ehitatud keel, SmallTalk, ilmus 70-ndatel. Sealt edasi on palju arendatud nn. hübriidseid O-O keeli, kus O-O vahendid majutatakse juba olemasolevasse (mitte O-O ) keelde. Parim näide: C++. Nagu andmebaasid üldse, nii ka O-O andmebaasid on loodud selleks, et anda objektidele, mis programmeerimisekeeltes elavad vaid programmi töötamise ajal, elu ka väljaspool programmi; võimaldavad neid jagada mitme programmi poolt (kas 2

3 samal ajal, või järjekorras). O-O andmebaasidele on loodud liides ühe või enama O-O programmeerimiskeelega, et need saaksid kasutada permanentselt või ajutiselt andmebaasis säilitatud objekte. Üks O-O andmebaaside ülesanne on luua side reaalelus eksisteerivate ja ABs olevate objektide vahel. Kui andmed ühe ja sama objekti kohta paiknevad ABs erinevates relatsioonides, mis kasutavad erinevaid võtmeid, pole meil vahendeid aru saamaks, et tegu sama reaalse objekti andmetega. O-O mudelis aga seotakse objektiga sisemine objekti identifikaator (süsteemi poolt genereeritud) ja see seob teda reaalse objektiga. Teine O-O mudeli omapära on see, et O-O mudeli objekt võib olla suvalise keerukusega (pole piiratud 1NF normaalkujus relatsiooniga, kus vähegi keerulisema objekti andmed on laiali paljudes relatsioonides). Lisaks võib objekt sisaldada nn. seisundi muutujaid, mis välisele kasutajale pole nähtavad. Need muutujad võivad olla kuitahes keerulise struktuuriga. Üks põhilisi mõisteid O-O ABs on klasside hierarhia. See annab võimaluse kasutada kord loodud andmetüüpe (koos nende jaoks defineeritud operatsioonidega) järjest uute ja uute andmetüüpide loomisel. Uue andmebaasi loomist pole vaja alustada päris nullist. Vastav ingliskeelne termin: reusability, eesti keeles taaskasutatavus. Kuna eksisteerib kapseldamise (ingl.k. encapsulation) mehhanism, siis O-O andmemudeli algaastail tekkis raskusi andmetevaheliste sidemete realiseerimisega. Ei olnud vahendeid seoste esitamiseks nii, et ka kasutajad neid näeksid - kõik tuli peita operatsioonidesse (meetoditesse). Nüüd kasutavad paljud süsteemid viiteid (ingl.k. references), paigutades viidatava objekti unikaalse identifikaatori otse andmetena viitavasse objekti sisse. Paljud süsteemid lubavad objektist hoida mitut eksemplari, näiteks vanu koopiaid uuendatud objektidest (näiteks elektroonsete instrumentide disaini ajas muutuv täiendamine, kus muudetakse komponente jne.). O-O andmebaasid peaks paremini kui teised võimaldama ka andmebaasi skeemi evolutsiooni. O-O omaduste hulka kuulub ka operatsioonide polümorfism, mis väljendub selles, et samanimelist operatsiooni saab rakendada eri tüüpi objektidele, kus ta on eri moodi defineeritud. Näiteks mingite kujundite pindala leidmise operatsioon rakendab ruudu ja ringi puhul eri algoritmi. 4. O-O andmebaaside põhikontseptsioonid Vaatame neid punktis 3 käsitletud O-O andmebaaside kontseptsioone lähemalt. 4.1 Objekti identifikatsioon O-O andmebaas annab unikaalse identifikaatori igale objektile, mis andmebaasi pannakse. Selleks tekitab süsteem lisatunnuse objekti andmetele, mida nimetatakse OID - Object IDentifier. Seda tunnust kasutaja ei näe, kuid süsteem ise kasutab seda objekti identifitseerimiseks ja objektidevaheliste seoste käsitlemiseks. OID ei ole muudetav. Kogu objekti eluaja vältel on OID ühe ja sama väärtusega - see lihtsustab tema sidumist reaalsuses eksisteeriva objektiga. On soovitatav, et üht OID väärtust kasutatakse kogu AB elu ajal üks kord, s.t. reaalse objekti kadumise järel ei anta sama 3

4 OID d teisele objektile. OID ei tohi sõltuda mingi(te) atribuu/di(tide) väärtusest, sest viimased võivad muutuda. Samuti ei tohi OID olla otseselt seotud objekti füüsilise paiknemisega - AB reorganiseerimisel viimane muutub (kuid mõned süsteemid viimast võtet siiski kasutavad). Mõned süsteemid nõuavad, et üleüldse kõik, mis on ABs, oleks esitatud objektina, ka arvud, stringid jne. Viimasel juhul on igal neist ka oma OID! Näit. Vanus 50 ja kaal 50 saab salvestada erinevate OID dega - teatud juhtudel on see kasulik. Selline üdini objektlik lähenemine on küll üsna huvitav teoreetilisest vaatekohast, kuid praktikas tülikas - kogu see OID de loomise mehhanism muutub väga tülikaks. Seega enamus O-O AB-sid eristab objekte ja väärtusi ja salvestab viimaseid ilma OID deta. 4.2 Objekti struktuur O-O vahendid lubavad keeruliste objektide eksemplare ehitada juba olemasolevatest objektidest, kasutades tüübi konstruktoreid. Süsteemis on tavaliselt olemas elementaarväärtused: täisarvud, sümbolid, stringid, loogilised väärtused jne. On konstruktorid, mis olemaolevatest objektidest ja väärtustest lubavad uusi konstrueerida. Tüüpilisemad: aatom, korteež (tuple), hulk (set), ka list, massiiv (array) jne. Loomulikult saab vastavaid konstruktsioone kasutada üksteise sees kuitahes keerulise struktuuriga objektide loomiseks. Ainult atomaarsed väärtused on kohe objekti enda eksemplari sees, kõik teised esitatakse läbi vastavate objektide OID de. Et hoida ära OID de eskalatsiooni, lubatakse tavaliselt samade konstruktsioonidega keeruliste väärtuste loomist. Viimased on väärtused ja seega ei oma OID d. 4.3 Tüübikonstruktorid O-O andmekirjelduskeeles (OODDL- Object-Oriented Data Description Language) saab eeltoodud konstruktoreid kasutada mingi rakenduse jaoks vajalike objektide loomiseks, aga neid saab kasutada ka andmebaasis olevate andmete kirjelduse s.o. andmebaasi skeemi loomiseks. 4.4 Operatsioonid (meetodid) Operatsioonid on O-O paradigma järgi kapseldatud objektidesse. Mitte-O-O andmebaasides on põhilised operatsioonid rakendatavad kõikidele objektidele ja andmete struktuur oli nähtav kõigile kasutajatele, kellel seda vaja oli teada (vaated!, programmid). Näiteks relatsioonilises mudelis saab operatsioone select, insert, delete jne. rakendada mistahes relatsioonile ja nende semantika oli kõigi puhul sama. O-O paradigmast tulenevat info peitmist (ingl.k. hiding) ja kapseldamist (encapsulation) saab rakendada ka andmebaaside puhul. Peamine idee: defineerida objekti tüübi käitumine vastavalt operatsioonidele, mida saab väljastpoolt rakendada antud tüüpi objektidele. Andmete struktuur, eriti see, kuidas ta realiseeritud on, jääb peidetuks objekti sisse, andmeid kasutada saab ainult nende antud objektitüübi jaoks defineeritud operatsioonide kaudu. Selleks on kasutaja jaoks defineeritud objekti liides (interface), mis defineerib iga operatsiooni parameetrid. Selliselt defineeritud liidest nimetatakse operatsiooni signatuuriks. Operatsiooni realisatsiooni (mis on kasutaja eest peidetud) nimetatakse meetodiks. Meetod käivitatakse, saates objektile teate (ingl.k. message). Meetodi käivitamisel võib see omakorda saata teateid teistele objektidele. Erinevalt tavalisest O-O programmeerimisest, on nõue täielikust kapseldamisest liiga range. Siin jagatakse objekti struktuur nähtavaks ja peidetud osaks (nähtavateks ja peidetud atribuutideks). Nähtavatele osadele saab juurde kõrgema taseme 4

5 operatsioonidega või otse kõrgtaseme päringukeelt kasutades. Peidetud osa on kättesaadav parajasti objekti oma operatsioonidega. Enamus O-O AB süsteeme kasutab kõrgtaseme päringukeeli ja mitmed on laiendanud SQL i selleks otstarbeks. Enamusel juhtudest on andmete modifitseerimise operatsioonid kapseldatud, sellega saab anda neile operatsioonidele objektitüübist sõltuva semantika. Andmebaasis rakendatavad kitsendused andmetele (ingl.k. integrity constraints) on O-O AB-s realiseeritud just modifitseerimisprogrammide kapseldamise teel. Terminit klass kasutatakse OOABs objekti tüübi definitsiooni kohta, kus objekti tüüp on defineeritud koos oma operatsioonidega. Tüüpiliseks klassiga seotud operatsiooniks on objekti loomise operatsioon ja objekti hävitamise operatsioon. Eraldi operatsioonid on andmete modifitseerimiseks. Konkreetsete operatsioonide realisatsioonid kirjutatakse tavaliselt mingis O-O programmeerimiskeeles ja neid hoitakse eraldi objektide kirjeldustest ja objektidest endist. Mitte kõik objektid pole loodud selleks, et neid alaliselt andmebaasis hoida - ajutised objektid luuakse programmi töö käigus ja nad kaovad, kui programm lõpetab oma töö. Alalised AB objektid säilitatakse andmebaasis ja nad ei kao programmi töö lõppemisega. Selleks antakse objektile alaline nimi (mille kaudu teised programmid ta kätte saavad) või tehakse objekt kättesaadavaks (ingl.k. reachable) mõne teise objekti kaudu. Def. Objekt B on kättesaadav objektist A, kui leidub tee objektide graafis objektist A objektini B. Kui mingi objekt tehakse alaliseks, siis kõik temaga seotud (tema kaudu kättesaadavad) objektid muutuvad ka alalisteks. Klassikalises andmebaasis on kõik objektid (relatsiooni korteežid relatsioonis) alalised. O-O mudelis klassi definitsioon annab ainult objekti tüübi kirjelduse (ja operatsioonid). Kasutaja peab eraldi defineerima veel alaliste seda tüüpi objektide hulga. Näiteks: tüüp Tudeng ja alaline hulk set (Tudeng). Viimase väärtuseks on viidad alalistele objektidele tüüpi Tudeng. Sama objektitüübi definitsiooni abil saab vajadusel luua mitu alalist objektihulka (näiteks erinevate teaduskondade tudengid erinevate hulkadena). 4.5 Klasside hierarhia Nagu O-O süsteemides ikka, saab ka O-O AB-des tekitada klasside hierarhiaid ja pärida omadusi. Kui on vaja luua uus objektitüüp, mis sarnane mõne juba eksisteerivaga, pole seda vaja looma hakata tühjast kohast. Saab luua uue tüübi kui olemasoleva klassi alamklassi. Reeglina pärib alamklass kõik oma ülemklassi tunnused ja talle saab juurde defineerida uusi, ainult talle spetsiifilisi atribuute ja operatsioone. Osa O-O andmebaasisüsteeme lubab olemasolevaid asju ka ümber nimetada ja ümber defineerida. Näiteks ülemklassi Kujund baasil, kus on defineeritud atribuut Pindala, saab alamklassidena defineerida klassid Ring, Ruut jne., andes igale erineva meetodi atribuudi Pindala (mis on päritud ülemklassist) arvutamiseks. NB! klasside defineerimine ei tekita iseenesest mingeid AB objekte! Selleks on vaja nad vastavate meetoditega luua ja kuulutada alalisteks (siduda alalise objektiga). Kui luuakse ja paigutatakse alaliselt andmebaasi näiteks konkreetne ruut, siis ta kuulub nii klassi Ruut kui Kujund. Seega: iga klassi liige kuulub ka selle klassi ülemklassi liikmete hulka. Osades O-O andmebaasides on loodud nn. süsteemne klass (tavaliselt nimega Root või Object), kuhu kuuluvad kõik süsteemis säilitatavad objektid ja mis 5

6 seega on kõigi teiste klasside ülemklass. Klassifitseerimine läheb siis sealt edasi alamklasside kaupa. Leidub ka nn. tüübituid O-O süteeme (näiteks SmallTalk), kus objekte säilitatakse vaatamata nende tüübile. 5. Uued objektitüübid O-O andmebaasides 5.1. Struktureerimata andmed Üks põhjus O-O andmebaaside sünniks oli eelnevate andmemudelite võimetus käsitleda suuri struktureerimata andmekogumeid nagu mahukad täistekstid, pildid jne. On küll loodud spetsialiseeritud andmebaasisüsteeme ühe sellise tüübiga töötamiseks, näiteks täisteksti andmebaasid, aga vajati kombineeritud andmebaasi, kus oleksid koos nii struktureeritud andmed (nagu tüüpilistes majandusülesannetes) ja struktureerimata mahukad andmed. Tavaliselt, kui teistes mudelites isegi olid vahendid selliste suurte struktureerimata objektide säilitamiseks, ei võimaldatud andmebaasi süsteemi poolt isegi mitte nende selekteerimise operatsiooni, kuna selekteerimisvahendid süsteemides olid sisseehitatud (SQL!) ja mitte kohaldatud seda tüüpi andmetele. Tänu oma O-O andmemudelile suudavad O-O andmebaasid haarata iga objektitüübi spetsiifilisi operatsioone (näiteks piltide võrdlemise operatsioone) ja selle abil ka seda tüüpi andmeid koos teistega töödelda. Näiteks saab pildi tüüpi andmetele defineerida kujundite äratundmise operatsiooni ja selle abil päringukeeles andmeid O-O andmebaasist hankida. Kuna O-O andmebaas võimaldab kasutajal omal uusi operatsioone defineerida, nimetatakse O-O andmemudelit laiendatavate tüüpidega (extensible type) andmemudeliks. 5.2 Struktureeritud keerulised andmed Kasutatakse kaht tüüpi pärimist. Omanikusemantika (ingl.k. ownership semantics) rakendub, kui objekt sisaldab teisi objekte ja need on kui tema objekti osa, peidetud selle objekti sisse. Teine tüüp - viitesemantika (ingl.k. reference semantics) rakendub, kui objekti komponendid on iseseisvad objektid, millele antud objektist on viit (ingl.k. reference). Näiteks Osakonna kirjes on olemas Osakonna Juhataja, mis omakorda on alaline AB objekt tüüpi Isik. Esimest tüüpi andmeid saab kätte ainult läbi omaniku, teist tüüpi andmeid saab ka viitajast sõltumatult käsitleda. Selleks, et antud objektist, mis viitab teisele objektile, seda objekti kätte saada, tuleb kasutada selle teise objekti jaoks defineeritud meetodeid. Kustutamisel: kui omanik kustutatakse, eemaldatakse ka tema sees olevad komponentobjektid. Viidatavaid objekte ei kustutata. Viidatavad objektid võivad olla viidatud ka teiste objektide poolt, omaniku objektid kuuluvad täielikult omanikule. 5.3 Polümorfism Operatsioonide polümorfism on samuti üks O-O paradigma klassikalisi omadusi. See on omadus, kus üks operatsioon omab kaht või enamat realisatsiooni, sõltuvalt objekti tüübist, millele teda rakendatakse. Me oleme harjunud, et programmeerimiskeeltes operatsioon + teab ise, kas teha täisarvude liitmise operatsioon või reaalarvude oma (vms.), sõltuvalt argumentide tüüpidest, vajadusel ka teisendusi teostades. Kujundi pindala arvutamisel rakendatakse alamtüübiga määratud programmi. Isegi kui kujundi puhul on võimalik anda mingi üldine algoritm näiteks polügooni (mida nii ruut kui kolmnurk jt. ka on) algoritm, siis alamklassi vastav meetod määrab üle ülemklassi vastava meetodi. Siit tuleb ka nn. sidumisaja probleem. Enamustes tüübiga keeltes saab Pindala operatsiooni poole pöördumise siduda konkreetse programmiga 6

7 transleerimise ajal, tüübita keeltes, nagu SmallTalk tuleb seda teha täitmise ajal (hiline/varajane sidumine). 5.4 Mitmene ja valikuline pärimine Mitmene pärimine toimub siis, kui alamklass omab kahte või enamat ülemklassi. Enamus O-O andmebaase lubavad seda. Siis alamklass pärib oma atribuudid ja meetodid kahest (erinevast) ülemklassist. Mida teha siis, kui seal on samanimelised, aga erinevad operatsioonid? Üks võimalikke lahendeid on see, kui süsteem saab sellisest olukorrast aru ja sel hetkel, kui vastav klassi kirjeldus tekitatakse, laseb kasutajal (vastava mitmese pärivusega klassi loojal) ise otsustada, kumba neist kahest erinevast operatsioonist rakendada. Teine võimalus on lasta süsteemil ise vaikimisprintsiibiga asi otsustada. Kolmas võimalus - keelata sellised alamklassid ära. Osa süsteeme kasutab seda kolmandat võimalust s.t. ei luba mitmest pärimist üldse. Leidub ka teisi lahendusi. Üks neist on lubada alamtüübil valikuliselt pärida (ingl.k. selective inheritance) oma ülemuselt. Tavaliselt kasutatakse siis EXEPT-lauset, näitamaks, milliseid atribuute ja operatsioone ei ole vaja pärida. See viimane meetod on enam levinud tehisintellekti kui AB süsteemides. 5.5 Versioonid Versioonid on objektide omadus omada enam kui üht koopiat oma eksemplarist. Vajalik näiteks inseneridele-konstruktoritele, aga ka näiteks programmeerijatele siis, kui enam kui üks inimene töötab antud toote (programmi) kallal. Kummalegi luuakse oma eksemplar, kus nad muutusi teevad, mingil hetkel on vaja need aga ühte ja samasse objektieksemplari kokku panna, seega luua veel kolmas koopia. Selliseid muutjaid võib olla muidugi enam kui kaks. Kui objekte hoitakse AB-s siis AB süsteem tavaliselt annab vahendid erinevate versioonide hoidmiseks AB-s, kokkupanemine jäetakse aga mitte AB vahenditele, vaid konkreetsele rakendusprogrammile. Viimane teab andmete semantikat. Osades süsteemides on olemas vahendid objektieksemplari kahe versioon võrdlemiseks, et aidata leida ühitamatuid kohti muutustes, teised hoiavad spetsiaalseid versioonigraafe, mis näitavad versioonide omavahelisi seoseid. Kui sellised objektieksemplaride versioonide esitamise vahendid on süsteemis olemas, on kohe vaja ka muid uusi vahendeid. Versioonidega objektid on tavaliselt osad suuremast, neid hõlmavast objektist. Viimase jaoks hoitakse siis nn. konfiguratsiooni - ühe versiooni (parajasti käibelolevat) eksemplari igast alamobjektist. 6. Näiteid O-O andmebaasisüsteemidest 6.1 Süsteem O2 Andmete defineerimiseks on O2 süsteemis atomaarsed andmetüübid (Boolean, Char, integer, real, string, bits jne.) ja konstruktorid (tuple, list, set, unique set). Set lubab dublikaate. Klassi definitsioon koosneb kahest osast: objekti tüübi kirjeldusest ja meetoditest. Mõisted väärtus (value) ja objekt on erinevad. Väärtus esindab iseennast ja ei kuulu klassi. Objekt kuulub klassi ja omab tüüpi ja käitumist, mis on määratud klassi meetoditega. Igal objektil on unikaalne identifikaator (OID) ja seisund (mis ei sisalda OID d!). O2 kasutab keelt O2C nii andmete defineerimiseks kui objektide loomiseks. Objektid saavad olla nii alalised kui ajutised. Ajutised objektid muutuvad alaliseks ainult siis, kui nad saavad osaks mingist alalisest objektist. Pärimisel saab kasutada rename lauset, defineerimaks ümber atribuute ja 7

8 meetodeid. Meetodite ümberdefineerimise puhul nad kõigepealt nimetatakse ümber rename lausega ja siis defineeritakse uus meetod. Rakendusprogramme saab kirjutada nii O2 omades keeltes: päringukeeleks loodud O2SQL ja programmeerimiskeeles O2C. Saab aga kasutada ka traditsioonilisi O-O keeli nagu C++. Süsteemis on olemas kasutajaliidese generaator O2Look, programmeerimist hõlbustav O2Tools. 6.2 Ullmanni ODL (Object Definition Language) ODL on J.Ullmanni poolt loodud keel, mis on CORBA osaks oleva IDL (Interactive Data Language), kui O-O programmeerimiskeelte standardiks kujunenud keele, laiendiks. Ta on otseselt teisendatav andmete kirjelduseks keeltes C++ ja SmallTalk. Viimased on tavaliselt O-OAB andmete manipuleerimiskeelteks. Seni me vaatasime andmebaaside loomist järgmise skeemi järgi: Vajadus E-R/UML mudel relatsiooniline ABJS Nüüd on mitu võimalust sellesse skeemi lisada O-O lähenemisstiili: Vajadus ODL E-R O-O AB relatsiooniline AB Seega saame O-O paradigmat kasutada kas ainult modelleerimise etapil, minnes üle relatsioonilisele süsteemile rakenduses, või nii modelleerimise kui realisatsioonietapil, ehitades O-O süsteemi. Viimasel juhul O-O mudel teisendatakse automaatselt O-O andmebaasikirjelduseks. Näide. (kohandatud allikast [2, lk.34]). Ülesande püstitus: olgu meil vaja koostada andmebaas filmidest, neis esinenud filmistaaridest ja filme valmistanud stuudiotest, kus iga filmi kohta on muude andmete seas andmed ka selles filmis osalevate staaride kohta ja vastupidi iga staari kohta saab leida, millistes filmides ta on esinenud. elementaarsed tüübid: integer float character string boolean enumeration Viimane tüüp seab arvudele 0, 1, vastavusse etteantud nimekirja literaale Näit: enumeration {Humaniora, Socialia, Medicina, Realia} seab need literaalid vastavusse arvudega 0, 1, 2, 3. Vahendid struktuursete tüüpide ehitamiseks: 1. Set kui T on andmetüüp, siis uue tüübi set <T> väärtuseks on T väärtuste mistahes lõplik alamhulk nendest andmetest tüüpi T; 2. Bag sama, mis set, aga korduvate elementidega; 8

9 3. List vt. String kui list < char >, näide: (1,2,1) ja (2,1,1) kui kaks eksemplari tüübist bag on samad, listina aga mitte. 4. Array <T, n> - massiiv n elemendist, kõik tüüpi T, näit. Array <char,10>; saab pöörduda indeksiga; 5. Struct nimi {T1 F1, T2 F2,, Tn Fn} kirjeldab struktuuri, mille esimene väli on nimega F1 tüüpi T1, teine väli nimega F2 on tüüpi T2 jne. Näiteks Struct Kursus {string nimi, string kood, int punkte, enumeration {sügis, kevad } loetakse} Objektid ehitatakse võtmesõnaga interface. Näiteks: interface Movie {attribute string title, attribute integer year}; Seoste loomiseks: Relationship lause. Seoseid luuakse vaadatuna ühe objektitüübi seisukohast. Teisest otsast vaadatuna, tuleb kasutada lisalauset inverse. Vaatame näidet. 1) interface Movie { 2) attribute string title; 3) attribute integer year; 4) attribute integer length; 5) attribute enum Film {color, blackandwhite} filmtype; 6) relationship Set <Star> stars inverse Star::starredIn; 7) relationship Studio ownedby inverse Studio::owns; }; 8) interface Star { 9) attribute string name; 10) attribute Struct Addr {string street, string city} address; 11) relationship Set <Movie> starredin inverse Movie::stars; }; 12) interface Studio { 13) attribute string name; 14) attribute string address ; 15) relationship Set <Movie> owns inverse Movie :: ownedby; }; NB! Star ja Movie vaheline seos on mitu-mitmele (mõlemalt poolt Set konstruktoriga). Seos Movie-Studio on mitu-ühele (ühelt poolt Set konstruktoriga) Kui kummasgi otsast pole kasutatud Set konstruktorit, siis on tegu 1-1 seosega. Alamklassid keeles ODL Olgu meil näiteks klass Movie defineeritud nii, nagu eelmises näites. Kui me tahame sellele klassile moodustada alamklassi joonisfilm (ingl.k. cartoon), kus muude 9

10 tunnuste seas on sellele alamklassile omane tunnus hääl, mis annab seose näitlejatega, kelle hääl esineb antud joonisfilmis. Interface Cartoon: Movie { Relationship Set <Star> voices; } Nüüd on objektitüübil Cartoon need neli atribuuti, mis ta päris objektilt Movie, 2 seost pärituna objektilt Movie ja lisaks oma seos voices. Võtmed Võtmed deklareeritakse lauses interface, kasutades võtmesõna key või keys, millele sulgudes järgneb tunnuste loetelu. Näide: interface Movie (key (title, year)) { Üheatribuudilise võtme puhul võib sisemised sulud ära jätta: interface Tudeng (key matrikli_number) { Toetatakse ka mitut võtit ühe objekti puhul, sel juhul eraldatakse erinevad võtmed komaga. interface Tudeng (key matrikli_number, (perekonnanimi, eesnimi, sünnikuupäev)) Võtmed võivad ka puududa. Süsteem identifitseerib objekti OID järgi, seda isegi siis, kui kahe objekti kõikide tunnuste väärtused langevad kokku. Reeglid: 1. Atribuut on kas elementaarne või ehitatud elementaarsetest kasutades vahendeid struktuursete tüüpide ehitamiseks. 2. Seoseid (relationship) saab tekitada teise (või sama) objektitüübiga, kasutada saab ka konstruktoreid (set, bag, list, array). 3. Objektitüüp ei saa olla atribuudiks. 4. Elementaarsed atribuuditüübid ei saa olla seoses. 5. Struktuuri (struct) ei saa kasutada seose defineerimisel. 7. O-O ja relatsioonilisel mudelil põhinevate andmebaaside suhted Käesolevaks on O-O andmebaasid haaranud erivajadustega süsteemide turu: e- kaubandus, uue tehnoloogia loomise insenerivahendite ülesanded, turvateenistus ja spetsiaalsed meditsiiniülesanded. Hierarhilise ja võrkmudeli kõrvale relatsioonilise mudeli tekkimisel (70-ndatel) arutati ca 10 aastat kes keda välja tõrjub. Nagu me nüüd teame, lõppes see relatsioonilise andmemudeli võiduga ja võidu põhiliseks tagatiseks oli tema kasutajasõbralik keel andmete käsitlemiseks. Praegu on valitsevateks andmemudeliteks relatsiooniline ja objekt-orienteeritud mudel, aga ei räägita sellest, kes kelle turult välja tõrjub. Selle asemel on nad turu segmendid omavahel ära jagatud. Esimese, suurema osa moodustavad suure mahuga mitte väga keeruliste andmetega ülesanded (nagu enamus klassikalisi operatiivarvestuse ülesandeid) nende vajadusi rahuldavad hästi relatsioonilised andmebaasid. Keskmise andmemahuga, aga keerulise struktuuriga andmetega ülesandeid rahuldab paremini O-O tüüpi andmebaasisüsteem. Aga O-O mudeli arengu tunnuseks on mitmete standardiseerimis-organisatsioonide tekkimine: Object Management Group OMG ( ), Object Database Management Group ODMG (lühikirjeldus ), ja X3H7 ( viimane on üks X3 tehnilisi komiteesid 10

11 tegelemaks O-O ABJS standarditega nagu O-O andmemudel ja SQL-keele O-O laiendused. Ja O-O andmemudelite käsitluse lõpetuseks lõik ODBMS FAQ-st ( Q. Will ODBMSs replace RDBMSs? A. That is highly unlikely. Someone once told me that, "Data tends to stick where it lands." There are many applications built on existing RDBMSs. It's difficult, if not impossible, to move off those databases. That would be unrealistic. Where you primarily see ODBMSs is in new development. In these cases, someone has figured out how to use high performance on complex data to meet a business need. And you often see ODBMSs working side by side with RDBMSs. Mõtle! 1. Millised erinevused on graafilise (E-R või UML klassimudeli) ja O-O andmemudelil? 2. Kuidas teisendada O-O mudel relatsiooniliseks? 8. Andmemudelitest üldiselt Oleme seni lähemalt vaadanud relatsioonilist ja objekt-orienteeritud andmemudeleid andmebaaside loomiseks. Andmemudeleid on andmebaaside pika ajaloo vältel (kuuekümnendatest tänaseni) välja töötatud mitmeid, nad on pidevas arengus - täiendatakse olemasolevaid (näiteks luuakse uusi normaalkujusid relatsioonilise mudeli jaoks), luuakse uusi mudeleid, mis paremini vastavad reaalsete ülesannete vajadustele, vastavad infotehnoloogia ja tarkvaratootmise arengutasemele. Olemasolevate ja uute mudelite baasil realiseeritakse konkreetseid andmebaasi juhtimissüsteeme. Andmemudel on abstraktne mõiste, mis hõlmab neid vahendeid, mis on vaadeldavas paradigmas olemas andmete struktuuri kujutamiseks ja andmetega mitmesuguste operatsioonide tegemiseks. Andmemudel koosneb kahest osast: A. Vahendid andmete kirjeldamiseks B. Operatsioonid nende andmetega manipuleerimiseks. Mudeleid on loodud väga palju ja kerkib küsimus, kas on olemas üks, parim mudel. Kahjuks peab kohe vastama, et nn. parimat pole olemas, maailm on keeruline, sealt käsiteldavate osade kirjeldamiseks ja selle osaga manipuleerimiseks loodud vahenditel on kõigil omad head ja vead. Haritud inimene lihtsalt tunneb neid ja suudab teha teadlikke valikuid. Mudeleid saab võrrelda omavahel väga mitmest seisukohast lähtudes. 1. Eesmärk. Enamus mudeleid ehitatud konkreetse andmebaasisüsteemi andmete kirjeldamiseks ja nendega manipuleerimiseks; mudeli omadused kajastavad vastava keele omadusi. Aga näiteks graafilised mudelid (nagu E-R mudel ja UML klassimudel) on loodud hoopis kontseptuaalse taseme kirjeldamiseks ja nad pole otseselt seotud mitte ühegi AB keelega. Neil puudub operatsioonide osa täiesti ja on alust väita, et nende näol polegi tegemist andmemudeliga. Enamus mudeleid 11

12 on loodud operatiivsete andmete haldamiseks, osa aga arhiveeritud andmete kasutamiseks muutuste trendide leidmiseks, andmekaevandamiseks. 2. Objektile või tunnusele orienteeritud mudel. Esimesed mudelid (hierarhiline, võrkmudel) olid objekti mõistele orienteeritud, põhiliseks käsitluselemendiks oli olem, mingi objekt. Relatsiooniline mudel on tunnusele orienteeritud, olem pole põhimõiste, olemeid identifitseeritakse kaudselt, tunnuste kaudu. Uuemad, objektorienteeritud mudelid annavad jälle vahendid olemi identifitseerimiseks. Ka E-R mudel nõuab olemitüübi identifikatsiooni. 3. Andmeliiasus. Kõik mudelid aitavad kasutajal hoiduda salvestamast üht ja sama fakti mitmekordselt. Üldiselt käsitlevad objektorienteeritud mudelid liiasust paremini. Relatsioonilises mudelis on selle jaoks välja arendatud spetsiaalne normaliseerimise teooria, mis aitab andmeskeemi konstrueerida minimaalse andmeliiasusega. Relatsioonilise mudeli seoste kujutamine (tunnus ühes failis on välisvõti teises) sisaldab endas andmeliiasust, seega pole relatsioonilises mudelis andmeliiasust päriselt likvideerida võimalik. 4. N-M seoste käsitlemine. Andmebaasi efektiivsuse määrab suures osas see, kuidas n:m seoseid esitletakse. Näiteks: seos tudengite ja ainete vahel on tüüpiline n-m seos (iga tudeng kuulab palju aineid, iga ainet kuulab palju tudengeid). Andmebaas peab vastama ühtmoodi efektiivselt (ilma täisläbivaatuseta!) küsimusele: kes kuulavad antud ainet, kui ka küsimusele, milliseid aineid kuulab antud tudeng. Esimesed süsteemid andmebaaside loomiseks tekkisid 60-ndatel aastatel, tõuke selleks andis otsejuurdepääsuga mäluseadmete loomine ja arvutite välismälu mahu tõus. Sel ajal hakati tõsiselt mõtlema kontoritöö automatiseerimisele ja andmebaasisüsteemid tekkisidki vahendina operatiivandmete haldamiseks. Selleks ajaks oli turule ilmunud mitmeid süsteeme aruannete genereerimise toetamiseks (ingl.k. report generation) - ka need süsteemid on andmebaasisüsteemide üheks tõukejõuks. Järgnevalt vaatame kahte ajalooliselt olulist andmemudelit. 9. Ajaloolised märkmed. Hierarhiline mudel Ajalooliselt esimene andmebaasisüsteem oli hierarhilise mudeliga. See mudel on ajalooliselt esimene (loodud 60-ndate keskel) seetõttu, et lihtsamate ülesannete, mida tol aja lahendati, andmed on oma olemuselt tihti hierarhilise struktuuriga: kaadriülesandes vastab andmete struktuur administratiivsele hierarhiale; pangas osakond-klient-käibedokumendid hierarhiale, haigla voodikohtade arvestus haigla osakond palat hierarhiale jne. Andmebaasi kirjeldus hierarhilise andmebaasi korral: Valdkond Realia Andmed: üliõpilane Kask a35543 eksam algebra B 12

13 Hierarhilise andmebaasi manipuleemiskeel on kirje- ja puu-orienteeritud, andes elementaaroperatsioonid puus liikumiseks. Find käskudega leitakse mingi kirje andmebaasis, get käsuga tõstetakse see kasutajaprogrammi töövälja. On ka käsud andmete lisamiseks andmebaasi ja olemasolevate andmete modifitseerimiseks. Andmebaasi manipuleerimiskeel on tavaliselt mingi programmeerimiskeel (näiteks Cobol, Fortran), millele on lisatud protseduurid andmebaasiga tööks. Manipuleerimise ideoloogia: üks kirje korraga. Tsüklid andmete leidmiseks ja nendega töötamiseks koostas programmeerija oma rakendusprogrammis. Kui lisaks lihtsatele, hierarhilise andmestruktuuriga üksikülesannetele hakati lahendama ka keerulisemaid, mitme kasutaja ülesandeid ja tekkis vajadus mittehierarhiliste seoste järele, täiendati olemasolevat süsteemi nn. virtuaalse kirje mõistega. tudeng Õppejõud eksam eksam Tuntuim hierarhiline süsteem on IMS - Information Management System. Loodud Rockwell kompanii poolt 60-ndate keskel, üle võetud IBM poolt 1967 (kasutati Apollo projekti haldamiseks), areneb tegelikult IBM toel edukalt veel siiamaani. Ainult hierarhiliste struktuuride kasutamine loob süsteemile aura ülilihtsusest, mis tegelikkuses osutub aga keeruliseks tegevuseks reaalsuse kirjeldamiseks olemasolevate kitsaste vahenditega, vrdl. kahvliga maakaevamisega. Hierarhilised süsteemid on praktiliselt väljatõrjutud relatsiooniliste ja O-O poolt, aga kuna IMS baasil jõuti realiseerida tuhandeid olulisi rakendusi, püsis ta elus väga pikka aega pärast oma ideoloogilist surma. Tegelikult puudub abstraktse hierarhilise mudeli mõiste hierarhiliseks loetakse süsteemis IMS kasutatud andmemudelit. Aga leidub palju vähemlevinud varaseid andmebaasisüsteeme, mille mudel oli põhistruktuurilt samuti hierarhiline (näit. Moskvas 70-ndatel arendatud INES). 10. Ajaloolised märkmed. Võrkmudel Erinevalt hierarhilisest mudelist, kus mudel tuletatakse ühe konkreetse süsteemi (IMS) omadustest, on võrkmudel loodud abstraktse mudelina, millele siis on hiljem tehtud konkreetseid realisatsioone. Selle mudeli töötas välja CODASYL (COnference on DAta SYstem Languages) DBTG (Data Base Task Group) 1971.a. Tööd alustati List Processing Task Force nime all juba 1965.a., uus nimi 1967.a.. Kuna CODASYL on ka programmeerimiskeele COBOL autor, siis algul vaadati asja COBOLi laiendusena. Esimene ametlik dokument 1968 COBOL extension to handle data bases. Samal ajal arendas IBM programmeerimiskeelt PL/1 ja sundis DBTG i ka selle oma plaanidesse sisse võtma. Põhidokument sai valmis 1971a., täiendatud parandatud aruanded tekkis kuni 1981.a.-ni. Kommertsiaalsed süsteemid, mis baseeruvad võrkmudelil: IDS/2(Honeywell), DMS (Univac), IDMS (Intergrated Database Management System, Cullinane, hiljem ümber nimetatud Cullinet), UDS (Universal Data Structure, Siemens, ka IBM ja ICL arvutitel). 13

14 10.1 Andmestruktuurid võrkmudelis. Põhimõisted: kirje tüüp (record type) ja komplekti tüüp (set type). Kirje tüüp võib olla üsna keeruline, vastates üldiselt tolleaegsete programmeerimiskeelte (Cobol, PL/1) ettekujutusele kirjest. S.t. kirje sees on olemas väljade hierarhiline struktuur (näiteks kuupäev),vektorid (korduvad elemendid), korduvad grupid ja lisaks nn. aktuaalsetele väljadele (kus säilitatakse andmete väärtusi) on lubatud ka virtuaalsed väljad (millede väärtus arvutatakse vastava elemendi poole pöördudes, kasutades etteantud protseduuri või AB päringut). Virtuaalsete väljade näited: vanus (arvutatakse protseduuri poolt, kasutades andme-elementi sünnikuupäev ja süsteemset muutujat tänane kuupäev); alluvate arv (kasutatakse andmebaasi päringut). Komplekti tüüp on võrkmudeli põhistruktuur. Kirjeldab 1-n seost kahe või enama kirjetüübi vahel. Sellisel seosel on alati: nimi, omaniku kirjetüüp ja alluva(te) kirjetüüp(/bid). Kasutatakse ka graafilist nn. Bachman i diagrammi: Näide: üldine konkreetne Kirje tasemel: arsti Matem.-inf. omanik teaduskond... alluv seosenimi üliõpilane õpib Kask Kuusk Jõgi Komplekt määrab muu seas ka juurdepääsu kirjetele ja ka alluvate järjestuse. Seepärast eksisteerivad ka nn. singulaarsed komplektid, mille omanikuks on ühe tühja fiktiivse kirje eksemplariga nn. süsteem. Komplekti tüüpide kasutamisel pole piire: üks kirjetüüp võib olla omanikuks kuitahes paljudele komplektidele ja samas ka alluvaks piiramatule arvule komplektidele. On lubatud ka rekursiivsed seosed. Eraldi probleem on n-m seoste kujutamine. Kuna lubatud on ainult 1-n seosed, siis tuleb n-m seos lammutada ja esitada kahe 1-n seose abil, tuues sisse fiktiivse, tihti ilma andmeväljadeta, seosekirje. Näide. töötaja - projekt, mis on n-m seos, saab esitada järgmiselt: töötaja töötab projekt t-t p-t Joonistage sellele skeemile vastav kirje tasemel skeem kolme projektiga ja nelja töötajaga, kellest igaüks osalevad parajasti kahes projektis. Võrkmudeli andmekirjelduskeeles on palju elemente, mis määravad mitte niivõrd komplektide tüüpe, kui andmemanipuleerimiskeele semantika. 14

15 Näide. insertion is manual/automatic komplekti liikme kirjelduses näitab, kas liikme saab lisada ilma teda kohe komplekti lülitamata (manual), või tuleb koos lisamisega anda ka andmed omaniku määramiseks, et saaks automaatselt komplekti lülitada. Näiteks tudengite immatrikuleerimisel peaks lisamine olema automaatne, sest tudeng võetakse vastu konkreetsesse teaduskonda, ilma teaduskonnata tudengeid pole olemas. retention is optional/mandatory/fixed komplekti liikme kirjelduses näitab, mida teha liikmetega, kui omaniku eksemplar eemaldatakse ja kas teda saab töö käigus teise omanikuga siduda (disconnect, connect käsud) Võrkmudeli andmemanipuleerimiskeel (Data Manipulation Language DML). Võrkmudelis on andmemanipuleerimiskeel protseduur-orienteeritud keel ühe kirje kaupa tööks. Kogu töö ajal on olemas hulk indikaatorid: aktiivne kirje igas kirjetüübis, aktiivne kirje komplekti tüübis jne. Käsud: FIND, GET, STORE, ERASE, MODIFY, CONNECT, DISCONNECT. Need käsud realiseeritakse programmeerimiskeele (Cobol, PL/1, Fortran jne.) protseduuridena. 11. Kokkuvõte Ajalooliselt tekkisid mudelid selles järjestuses: 16) Hierarhiline mudel 60ndate keskel (mudel tuletatud ühest konkreetsest süsteemist IMS - - Information Management System). 17) Võrkmudel 70ndate algul (mudel loodud CODASYL DBTG poolt abstraktsena, palju realisatsioone). 18) Relatsiooniline mudel teoreetiliselt: 70ndate algul (Codd i artiklid), realisatsioonid alates 70ndate lõpust. 19) Objekt-orienteeritud teoreetilised alused 80-ndate keskel, kui selgus, et tol ajal massiliselt levinud relatsioonilised süsteemid ei suuda korralikult hallata multimeedia andmeid jms., reaalselt turule 90-ndatel, peale seda, kui O-O paradigma muutus programmeerimises valdavaks. 20) Viimase kahe, relatsioonilise ja O-O mudeli baasil on tekkinud Objekt- Relatsiooniline mudel, mis püüab tuua O-O omadusi relatsioonilisse süsteemi kasutajaliidesesse. Lisaks neile üldtuntud mudelitele on loodud hulgaliselt muid: näit. binaarsetel relatsioonidel põhinev binaarne mudel, semantiline mudel, kus eriline rõhk on vahenditel andmete omavaheliste seoste ja kitsenduste kirjeldamiseks, loogiline mudel, mis on mõjutatud programmeerimiskeele Prolog poolt ja palju teisi. Kogu see ligi 50-aastane areng on toimunud arvutite endi ja nende välismäluseadmete kiire arengu taustal, viimased 20 aastat mõjustatuna ka Interneti arengust. Andmebaasisüsteemid ise olid mitmesuguste andmetele juurdepääsu meetodite arengu initsiaatoriteks. Läbi aegade on kogu aeg kasvanud andmebaasides hoitavate andmete maht. Kui esimese relatsioonilise mudeliga andmebaasisüsteemi kohta on teada, et teda testiti andmehulgaga, mille maht oli 8 MB, siis kaasaegsete suurimate andmebaaside mahtu mõõdetakse juba terabaitides. CERN kavandas 2005a. andmebaasi, mille info maht oleks Eksabaitides. On aeg omandada Mega (10 6 ), Giga (10 9 ) ja Tera (10 12 ) kõrval ka järgmised mahuühikud: Petabait = baiti, Eksabait = 1000 petabaiti = baiti. 15

16 90-nde keskel muutus aktuaalseks veebi ja andmebaasi koostöö. Andmebaaside kasutusvaldkond kasvas eksponentsiaalselt. Selle mõjul tekivad paljud vahendid, mis võimaldavad andmebaase veebiga siduda (Active Server Pages, Front Page, Java Servlets, JDBC, Enterprise Java Beans, ColdFusion, Dream Weaver, Oracle Developer 2000 jne.). Sellest valdkonnast on meie teaduskonnas olnud mitmeid kursusi nii külalislektoriga kui ilma. Ühe asutuse tööks kasutatud andmebaasisüsteemid on läbi aegade kogu aeg muutunud ja operatiivandmete haldamise ülesande kõrvalproduktina on tekkinud suured heterogeensed arhiivid, kuhu on ladestatud aastakümnete info antud organisatsiooni tegevuse kohta. Kaasaegse infotöötluse võimete jaoks kujutavad need kullauku, kust saab organisatsiooni arengu planeerimiseks vajalikku üldinformatsiooni ja otseselt mittenähtavaid seaduspärasusi avastada spetsiaalsete meetoditega. Seda viimast nimetatakse andmekaevandamiseks (ingl.k. data mining) ja ühes järgnevatest loengutest tutvume andmekaevandamisega: kuidas on andmekaevandamine seotud andmebaasidega ja milliste probleemidega ta tegeleb. Kuigi tundub, et SQL on muutunud andmebaaside valdkonnas prevaleerivaks keeleks ja ilma SQL-ta pole töö andmebaasidega üldse võimalik, siis viimasel ajal kogub pooldajaid NoSQL nimeline uue generatsiooni andmebaaside liikumine. Üheks selle liikumise taganttõukajaks on vajadus käsitleda XML (extensible Markup Language) tüüpi dokumentide andmeid. NoSQL andmebaase iseloomustab väga suurte andmemahtude juures ülikiire andmete kättesaamise kiirus, normaliseerimata ja strukturiseerimata andmete kasutamine, JOIN tüüpi operatsioonide vältimine. Lisamaterjal: 1. A Short Database History 2. J. D. Ullman, J. Widom, A First Course in Database Systems. Prentice Hall International, Inc., 1997,pp

Arvude edastamine raadiosides. 1. Numbrite edastamine Numbrite edastamisel kasutatakse järgmist hääldust, rõhutades allajoonitud silpi.

Arvude edastamine raadiosides. 1. Numbrite edastamine Numbrite edastamisel kasutatakse järgmist hääldust, rõhutades allajoonitud silpi. Majandus- ja kommunikatsiooniministri 8.03.2011. a määruse nr 20 Lennunduse raadioside reeglid lisa 2 Arvude edastamine raadiosides 1. Numbrite edastamine Numbrite edastamisel kasutatakse järgmist hääldust,

More information

Algoritmide koostamise strateegiad

Algoritmide koostamise strateegiad Algoritmide koostamise strateegiad Algoritmide koostamise strateegiad (algorithmic paradigmas) on üldised põhimõtted sellest, kuidas konstrueerida tulemuslikke algoritme probleemide lahendamiseks. Miks

More information

Marie Skłodowska-Curie individuaalgrandid. Tartu, 10. mai 2016 Kristin Kraav

Marie Skłodowska-Curie individuaalgrandid. Tartu, 10. mai 2016 Kristin Kraav Marie Skłodowska-Curie individuaalgrandid Tartu, 10. mai 2016 Kristin Kraav kristin.kraav@etag.ee Tänane kava 9:30 12:30 töötame taotluse struktuuriga 12:30 13:30 lõunapaus 13:30 14:30 Kommunikatsioon

More information

IRZ0190 Kanalikodeerimine telekommunikatsioonis. Julia Berdnikova julia.berdnikova [ät] ttu.ee Sander Ulp sander.ulp [ät] ttu.ee

IRZ0190 Kanalikodeerimine telekommunikatsioonis. Julia Berdnikova julia.berdnikova [ät] ttu.ee Sander Ulp sander.ulp [ät] ttu.ee IRZ0190 Kanalikodeerimine telekommunikatsioonis Julia Berdnikova julia.berdnikova [ät] ttu.ee Sander Ulp sander.ulp [ät] ttu.ee 1 IRZ0190 Kanalikodeerimine telekommunikatsioonis Nädalatunnid: 2L+1P+1H

More information

Hillar Põldmaa 20. september 2010

Hillar Põldmaa 20. september 2010 SF programm Infoühiskonna teadlikkuse tõstmine Hillar Põldmaa 20. september 2010 Koolitused ja infopäevad toimuvad Euroopa Liidu struktuurifondide programmi Infoühiskonna teadlikkuse tõstmine raames, mida

More information

Licence to learn. Karel Zova , Olustvere

Licence to learn. Karel Zova , Olustvere Licence to learn Karel Zova 7.11.2013, Olustvere Autoriõigused Tekivad teose loomisel Autoril pole kohustust registreerida, märkida vms Autorsuse presumptsioon Jagunevad isiklikeks ja varalisteks Autoriõigused

More information

7. Kanalikiht II. Side IRT3930 Ivo Müürsepp

7. Kanalikiht II. Side IRT3930 Ivo Müürsepp 7. Kanalikiht II Side IRT393 Ivo Müürsepp CSMA/CD Kuula, kas keegi teine edastab (meedium vaba?). Kui meedium on vaba, siis edasta kaader. Kui meedium ei ole vaba, siis kuula edasi. Alusta kaadri edastamist

More information

Survey Pro 4.8 GPS/GNSS juhend

Survey Pro 4.8 GPS/GNSS juhend GPS/GNSS liikuvjaama mõõtmise alustamine Select RTK Rover: vali liikuvjaama seade. Select Networks: vali kasutatav püsijaam või võrk (eelnevalt seadistatud). Ühenda GNSS seadme ja võrguga. Antenna Type:

More information

Swiss Manager. Kuremaa, Sten Kasela

Swiss Manager. Kuremaa, Sten Kasela Swiss Manager Kuremaa, 2016. Sten Kasela Üldist http://swiss-manager.at FIDE ametlik programm Šveits : 1500 osalejat ja 23 vooru Ringsüsteem : 150 vooru Võistkondlik ringsüsteem: 1500 osalejat ja 50 võistkonda

More information

Dota 2 Workshop Tools õppematerjal kohandatud mängude loomiseks

Dota 2 Workshop Tools õppematerjal kohandatud mängude loomiseks Tallinna Ülikool Digitehnoloogiate Instituut Dota 2 Workshop Tools õppematerjal kohandatud mängude loomiseks Bakalaureusetöö Autor: Sander Leetus Juhendaja: Jaagup Kippar Autor:...... 2017 Juhendaja:......

More information

Mängud on rohkem nagu juhtnöörid ja ideed, mida ette võtta projekti raames oma klassis.

Mängud on rohkem nagu juhtnöörid ja ideed, mida ette võtta projekti raames oma klassis. Kallis õpetaja, Siit leiad mõned ideed mängude ja ülesannete kohta õpilaste jaoks, kes osalevad kevad käes projektis. Need on koostatud nii, et saaksite kontollida õpilaste teadmisi. Mängud on rohkem nagu

More information

Rakenduste loomine programmi GameMaker abil

Rakenduste loomine programmi GameMaker abil Tallinna Ülikool Informaatika Instituut Rakenduste loomine programmi GameMaker abil Bakalaureusetöö Autor: Martin Kadarik Juhendaja: Andrus Rinde Autor:...... 2012 Juhendaja:...... 2012 Instituudi direktor:......

More information

Arvutimängude loomise võimalusi läbi Steam'i platvormi

Arvutimängude loomise võimalusi läbi Steam'i platvormi Tallinna Ülikool Digitehnoloogiate instituut Arvutimängude loomise võimalusi läbi Steam'i platvormi Seminaritöö Autor: Sander Eerik Sandrak Juhendaja: Martin Sillaots Autor:...... 2016 Juhendaja:......

More information

Presenter SNP6000. Register your product and get support at ET Kasutusjuhend

Presenter SNP6000. Register your product and get support at  ET Kasutusjuhend Register your product and get support at www.philips.com/welcome Presenter SNP6000 ET Kasutusjuhend 1 a b c d e 2 3 4 Federal Communication Commission Interference Statement This equipment has been tested

More information

EESTI VABARIIK Republic of Estonia VARUSTUSE LOETELU RECORD OF EQUIPMENT

EESTI VABARIIK Republic of Estonia VARUSTUSE LOETELU RECORD OF EQUIPMENT Majandus- ja kommunikatsiooniministri 9. märtsi 2005. a määrus nr 30 Kohalikus rannasõidus sõitvate reisilaevade klassid, sõidupiirkonnad, ohutusnõuded ja ohutuse tunnistuse vorm Lisa 2 [RT I, 20.09.2013,

More information

TARTU SUVI, juuni 2018

TARTU SUVI, juuni 2018 1. KOHT Eesti Rahva Muuseum, Muuseumi tee 2, Tartu 2. REGISTREERIMINE & AJAKAVA TARTU SUVI, 9. - 10. juuni 2018 Eraldi kiir- ja välkturniir Juhend Eelregistreerimine kuni 6. juunini 2018. Eelregistreerimine

More information

Self-teaching Gomoku player using composite patterns with adaptive scores and the implemented playing framework

Self-teaching Gomoku player using composite patterns with adaptive scores and the implemented playing framework TALLINN UNIVERSITY OF TECHNOLOGY Information Technology Department of Computer Science Chair of Network Software Self-teaching Gomoku player using composite patterns with adaptive scores and the implemented

More information

Peegel universum ja ilmneva käitumise haldamine

Peegel universum ja ilmneva käitumise haldamine Peegel universum ja ilmneva käitumise haldamine Leo Mõtus Proaktiivtehnoloogiate uurimislabor Tallinna Tehnikaülikool 1 Peegel universum Sünteetiline analüüsi Platoni ettekujutus universumist, millega

More information

Patsiendidoosi hindamine ja kvaliteedimııtmised radioloogia kvaliteedis steemi osana. I Patsiendidoosi hindamine

Patsiendidoosi hindamine ja kvaliteedimııtmised radioloogia kvaliteedis steemi osana. I Patsiendidoosi hindamine Patsiendidoosi hindamine ja kvaliteedimııtmised radioloogia kvaliteedis steemi osana I Patsiendidoosi hindamine Kalle Kepler Tartu likool, BMTK Kalle.Kepler@ut.ee Kvaliteedis steemi rakendamine meditsiiniradioloogias

More information

OpenAIRE2020 uuel perioodil uue hooga

OpenAIRE2020 uuel perioodil uue hooga Elena Sipria-Mironov TÜ raamatukogu OpenAIRE2020 uuel perioodil uue hooga Mäluasutuste talveseminar, 3. 4. märts 2015, Otepää Mis on OpenAIRE? E-taristu EL poolt rahastatud teadustulemuste hoidmiseks ja

More information

Haridustehnoloogia innovatsioonivõrgus2ke ja kogukondade näited. Mar$n Sillaots #5

Haridustehnoloogia innovatsioonivõrgus2ke ja kogukondade näited. Mar$n Sillaots #5 Haridustehnoloogia innovatsioonivõrgus2ke ja kogukondade näited Mar$n Sillaots 09.10.2016 #5 ? Mis vahe on võrgus$kul ja kogukonnal? Milline võrgus$k või kogukond on innovaa$line? Näited SEGAN EDRENE

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-ISO 5223:2013 TERAVILJA SÕELAD Test sieves for cereals (ISO 5223:1995+ISO 5223:1995/Amd 1:1999) EVS-ISO 5223:2013 EESTI STANDARDI EESSÕNA NATIONAL FOREWORD See Eesti standard EVS-ISO

More information

HDR (High Dynamic Range) fototöötlusprogrammide võrdlus

HDR (High Dynamic Range) fototöötlusprogrammide võrdlus Tallinna Ülikool Informaatika Instituut HDR (High Dynamic Range) fototöötlusprogrammide võrdlus Seminaritöö Autor: Tiina Mõniste Juhendaja: Kalle Kivi Tallinn 2011 Sisukord Sisukord... 2 Sissejuhatus...

More information

Internetiturundus sotsiaalmeedia abil koeratoit.ee näitel

Internetiturundus sotsiaalmeedia abil koeratoit.ee näitel Tallinna Ülikool Informaatika Instituut Internetiturundus sotsiaalmeedia abil koeratoit.ee näitel Bakalaureusetöö Autor: Tatjana Melnikova Juhendaja: Mart Laanpere Autor:...... 2011 Juhendaja:...... 2011

More information

Influence of modification methods on colour properties of a linen fabric dyed with direct dyes

Influence of modification methods on colour properties of a linen fabric dyed with direct dyes Proceedings of the Estonian Academy of Sciences, 4017, 66, 2, Proceedings of the Estonian Academy of Sciences, 2018, 67, 2, 131 137 https://doi.org/10.3176/proc.2018.2.03 Available online at www.eap.ee/proceedings

More information

TARTU ÜLIKOOL LOODUS- JA TEHNOLOOGIATEADUSKOND Tehnoloogiainstituut Arvutitehnika eriala

TARTU ÜLIKOOL LOODUS- JA TEHNOLOOGIATEADUSKOND Tehnoloogiainstituut Arvutitehnika eriala TARTU ÜLIKOOL LOODUS- JA TEHNOLOOGIATEADUSKOND Tehnoloogiainstituut Arvutitehnika eriala Tõnis Terasmaa NÕUDED ROBOTMANNEKEENIDE FOTOSTUUDIO TEHNILISE TOE TARKVARALE Bakalaureusetöö (12 EAP) Juhendaja:

More information

ETTEVÕTTE ÄRIPROTSESSIDE EFEKTIIVSUSE TÕSTMINE KLIENDISUHETE HALDUSE LAHENDUSE JUURUTAMISE ABIL

ETTEVÕTTE ÄRIPROTSESSIDE EFEKTIIVSUSE TÕSTMINE KLIENDISUHETE HALDUSE LAHENDUSE JUURUTAMISE ABIL TARTU ÜLIKOOL Majandusteaduskond Juhtimise ja turunduse instituut Majandusprotsesside juhtimise ja infosüsteemide lektoraat Dissertatsioon magister artium kraadi taotlemiseks majandusteaduses Nr 118 Toomas

More information

SISSEJUHATUS ANDMEKAEVANDAMISE OLEMUS

SISSEJUHATUS ANDMEKAEVANDAMISE OLEMUS SISSEJUHATUS Andmete maht, mida oleks vaja t66delda, kasvab pidevalt. Kummekond aastat tagasi peeti utoopiliseks analuusitavaks andmemahuks gigabaite. Tanaseks haldavad paljud rahvusvahelised korporatsioonid

More information

Suure dünaamilise ulatusega (HDR) fotograafia. Õppematerjal

Suure dünaamilise ulatusega (HDR) fotograafia. Õppematerjal Tallinna Ülikool Informaatika Instituut Suure dünaamilise ulatusega (HDR) fotograafia. Õppematerjal Bakalaureusetöö Autor: Tiina Mõniste Juhendaja: Kalle Kivi Autor:.... 2012 Juhendaja:.... 2012 Instituudi

More information

1. SAGEDUSMODULAATOR. Raadiotehnika laboratoorium RAADIO- JA SIDETEHNIKA INSTITUUT

1. SAGEDUSMODULAATOR. Raadiotehnika laboratoorium RAADIO- JA SIDETEHNIKA INSTITUUT 1. SAGEDUSMODULAATOR Raadiotehnika laboratoorium RAADIO- JA SIDETEHNIKA INSTITUUT Tallinn 2015 Infoedastusseadmete IRO 0050 laboratoorne töö Sagedusmodulaator Valminud Eesti Infotehnoloogia Sihtasutuse

More information

HAJUSANDMETEGA ÜLESANNETE ROLL FÜÜSIKAÕPPE EFEKTIIVSUSE TÕSTMISEL

HAJUSANDMETEGA ÜLESANNETE ROLL FÜÜSIKAÕPPE EFEKTIIVSUSE TÕSTMISEL HAJUSANDMETEGA ÜLESANNETE ROLL FÜÜSIKAÕPPE EFEKTIIVSUSE TÕSTMISEL Sissejuhatus Üldteada on fakt, et viimasel ajal on täppisteaduste populaarsus langenud nii Eestis kui ka mujal maailmas. Olukorda on aidanud

More information

REGISTRIPÕHISE RAHVA JA ELURUUMIDE LOENDUSE TARBIJAKÜSITLUS

REGISTRIPÕHISE RAHVA JA ELURUUMIDE LOENDUSE TARBIJAKÜSITLUS REGISTRIPÕHISE RAHVA JA ELURUUMIDE LOENDUSE TARBIJAKÜSITLUS Ene-Margit Tiit Statistikaamet Kellele ja milleks on rahvaloendust tarvis? Missuguseid rahvaloenduse tulemusi on seni kõige aktiivsemalt kasutatud?

More information

LIBATEADUSE ANATOOMIAST JA TAKSONOOMIAST

LIBATEADUSE ANATOOMIAST JA TAKSONOOMIAST LIBATEADUSE ANATOOMIAST JA TAKSONOOMIAST SISSEJUHATUS See oli 29-ndal juulil 1865; Nephtali André oli lõpetanud oma ülikooliõpingud ja oli merereisul. Prantsusmaa ja Alžiiri vahel lagedal merel kuuleb

More information

EESTI STANDARD EVS-ISO :2007

EESTI STANDARD EVS-ISO :2007 EESTI STANDARD EVS-ISO 12642-1:2007 TRÜKITEHNOLOOGIA Sisendandmed neljavärvitrüki kirjeldamiseks Osa 1: Lähteandmete pakett (ISO 12642:1996+AC:2005) Graphic technology Input data for characterization of

More information

EESTI INFOTEHNLOOGIA KOLLEDŽ

EESTI INFOTEHNLOOGIA KOLLEDŽ EESTI INFOTEHNLOOGIA KOLLEDŽ Allan Vein REAALAINETE ÕPET TOETAVA ROBOOTIKAPLATVORMI LOOMINE Diplomitöö INFOTEHNOLOOGIA SÜSTEEMIDE ADMINISTREERIMISE ÕPPEKAVA Juhendaja: M. Ernits Tallinn 2010 AUTORIDEKLARATSIOON

More information

Axial defect imaging in a pipe using synthetically focused guided waves

Axial defect imaging in a pipe using synthetically focused guided waves Estonian Journal of Engineering, 2011, 17, 1, 66 75 doi: 10.3176/eng.2011.1.07 Axial defect imaging in a pipe using synthetically focused guided waves Madis Ratassepp a, Sam Fletcher b and Aleksander Klauson

More information

DIGITAALSE KIRJANDUSE DEFINEERIMISEST JA PERIODISEERIMISEST

DIGITAALSE KIRJANDUSE DEFINEERIMISEST JA PERIODISEERIMISEST DIGITAALSE KIRJANDUSE DEFINEERIMISEST JA PERIODISEERIMISEST Piret Viires Tallinna Ülikool Ülevaade. Artiklis käsitletakse digitaalse kirjanduse seoseid digihumanitaariaga, erinevaid definitsioone ja periodiseerimist.

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN 61580-6:2013 Methods of measurement for waveguides -- Part 6: Return loss on waveguide and waveguide assemblies EESTI STANDARDI EESSÕNA NATIONAL FOREWORD See Eesti standard EVS-EN

More information

Leader-follower System for Unmanned Ground Vehicle

Leader-follower System for Unmanned Ground Vehicle UNIVERSITY OF TARTU Institute of Computer Science Computer Science Curriculum Kristjan Jansons Leader-follower System for Unmanned Ground Vehicle Master s Thesis (30 ECTS) Supervisor: Tambet Matiisen,

More information

EESTI AKREDITEERIMISKESKUS

EESTI AKREDITEERIMISKESKUS Leht Page 1 (8) EESTI AKREDITEERIMISKESKUS LISA I AS Metrosert akrediteerimistunnistusele I050 ANNEX I to accreditation certificate I050 of Metrosert Ltd 1. Akrediteerimisulatus siseriikliku esma- ja kordustaatluse

More information

About Quality and Using of IKONOS Satellite Image in Estonia

About Quality and Using of IKONOS Satellite Image in Estonia About Quality and Using of IKONOS Satellite Image in Estonia Ave KARGAJA, Ina MELNIKOVA, Natalja LIBA, Tarmo KALL and Taavi VEERMETS Estonia Key words: satellite image, geometric quality, geometric accuracy,

More information

Tartu Ülikool Sotsiaalteaduste valdkond Haridusteaduste instituut Koolieelse lasteasutuse õpetaja õppekava. Gretel Kant

Tartu Ülikool Sotsiaalteaduste valdkond Haridusteaduste instituut Koolieelse lasteasutuse õpetaja õppekava. Gretel Kant Tartu Ülikool Sotsiaalteaduste valdkond Haridusteaduste instituut Koolieelse lasteasutuse õpetaja õppekava Gretel Kant 3-AASTASTE EESTI LASTE TUNNETUSTEGEVUSE ARENGU HINDAMINE JELENA STREBELEVA METOODIKA

More information

1. Eelmise aasta lõpus võttis India Kongressipartei (Rahvuskongressi) juhtimise üle aastal sündinud Rahul Mis on mehe perekonnanimi?

1. Eelmise aasta lõpus võttis India Kongressipartei (Rahvuskongressi) juhtimise üle aastal sündinud Rahul Mis on mehe perekonnanimi? 1 1. Eelmise aasta lõpus võttis India Kongressipartei (Rahvuskongressi) juhtimise üle 1970. aastal sündinud Rahul Mis on mehe perekonnanimi? 2. Mis nime kannab see loominguline kollektiiv, kes eelmise

More information

Control a Robot via VEP Using Emotiv EPOC

Control a Robot via VEP Using Emotiv EPOC UNIVERSITY OF TARTU FACULTY OF MATHEMATICS AND COMPUTER SCIENCE Institute of Computer Science Computer Science Curriculum Anti Ingel Control a Robot via VEP Using Emotiv EPOC Bachelor s Thesis (9 ECTS)

More information

Bakalaureusetöö. Tööandja brändi loomine Outokumpu Stainless Turbular Products AS-i näitel. Tartu Ülikool 2009

Bakalaureusetöö. Tööandja brändi loomine Outokumpu Stainless Turbular Products AS-i näitel. Tartu Ülikool 2009 Tartu Ülikool 2009 Bakalaureusetöö Tööandja brändi loomine Outokumpu Stainless Turbular Products AS-i näitel Autor: Rauno Mõrd Juhendaja: Margit Keller, PhD Tartu 2009 SISUKORD SISUKORD...1 SISSEJUHATUS...3

More information

Tema tumedad ained. Teine raamat INGLITE TORN. Inglise keelest tõlkinud Eve Laur

Tema tumedad ained. Teine raamat INGLITE TORN. Inglise keelest tõlkinud Eve Laur Tema tumedad ained Teine raamat INGLITE TORN Inglise keelest tõlkinud Eve Laur Originaal: THE SUBTLE KNIFE HIS DARK MATERIALS by PHILIP PULLMAN THE SUBTLE KNIFE Copyright 1997 by Philip Pullman Cover image

More information

Originaali tiitel: 1001 Inventions That Changed the World

Originaali tiitel: 1001 Inventions That Changed the World Originaali tiitel: 1001 Inventions That Changed the World A Quintessence Book Esmatrükk Suurbritannias 2009. aastal Cassell Illustrated Octopus Publishing Group Limited 2 4 Heron Quays, London E14 4JP

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN ISO 8015:2011 Toote geomeetrilised spetsifikatsioonid (GPS). Alused. Käsitlusviisid, põhimõtted ja reeglid Geometrical product specifications (GPS) - Fundamentals - Concepts, principles

More information

GPS MOODULI REALISATSIOON JA ANALÜÜS SIRFSTAR IV KIIBI BAASIL Bakalaureuse lõputöö

GPS MOODULI REALISATSIOON JA ANALÜÜS SIRFSTAR IV KIIBI BAASIL Bakalaureuse lõputöö TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Thomas Johann Seebecki elektroonikainstituut Siduselektroonika teaduslaboratoorium Kristjan Lužkov GPS MOODULI REALISATSIOON JA ANALÜÜS SIRFSTAR IV KIIBI

More information

Arvutimängu tegelase loomine kasutades 3D modelleerimistarkvara Blender

Arvutimängu tegelase loomine kasutades 3D modelleerimistarkvara Blender Tallinna Ülikool Informaatika Instituut Arvutimängu tegelase loomine kasutades 3D modelleerimistarkvara Blender Bakalaureusetöö Autor: Heindrig Paabut Juhendaja: Martin Sillaots Autor:...,,...,,2015 Juhendaja:...,,...,,2015

More information

Lisamaterjal juhendajale... 80

Lisamaterjal juhendajale... 80 1 Sisukord Materjalide metoodiline ülesehitus... 3 Materjalid koos lisamaterjaliga juhendajale... 5 Estronaudi treeningkursus Missioon X... 5 Õpilase materjal... 5 Lisamaterjal juhendajale... 15 Lisatundide

More information

Austame autorite õigusi

Austame autorite õigusi Piret Joalaid: Seadus kaitseb automaatselt kõiki teoseid, ka neid, mille autorit pole märgitud. Austame autorite õigusi P i r e t J o a l a i d Ristiku põhikooli eesti keele ja kirjanduse vanemõpetaja,

More information

ILLUMINATUS! ESIMENE OSA. Silm püramiidis

ILLUMINATUS! ESIMENE OSA. Silm püramiidis ILLUMINATUS! ESIMENE OSA Silm püramiidis Robert Shea, Robert Anton Wilson ILLUMINATUS! ESIMENE OSA.. Silm puramiidis Tallinn 2008 Robert Shea, Robert Anton Wilson The Illuminatus! Trilogy The Eye in the

More information

Originaali tiitel: David Nicholls One Day First published in 2009

Originaali tiitel: David Nicholls One Day First published in 2009 1 Originaali tiitel: David Nicholls One Day First published in 2009 Toimetanud Kirsti Sinissaar Copyright David Nicholls 2009 Tõlge eesti keelde. Triin Tael, 2011 ISBN 978-9985-3-2377-9 Kirjastus Varrak

More information

Innovation, product development and patents at universities

Innovation, product development and patents at universities Estonian Journal of Engineering, 213, 19, 1, 4 17 doi: 1.3176/eng.213.1.2 a Innovation, product development and patents at universities Raul Kartus a and Ants Kukrus b Estonian Patent Office, Toompuiestee

More information

Roman Kulašenkov. Panoraamröntgenseadmete tunnussuurused ja patsiendidoos

Roman Kulašenkov. Panoraamröntgenseadmete tunnussuurused ja patsiendidoos TARTU ÜLIKOOL LOODUS- JA TÄPPISTEADUSTE VALDKOND Füüsika Instituut Roman Kulašenkov Panoraamröntgenseadmete tunnussuurused ja patsiendidoos Füüsika õppekava bakalaureusetöö (12 EAP) Juhendaja(d): Kalle

More information

Fotokogu säilitamine muuseumis

Fotokogu säilitamine muuseumis EESTI KUNSTIAKADEEMIA Kunstikultuuri teaduskond Muinsuskaitse ja restaureerimise osakond Merilis Sähka Fotokogu säilitamine muuseumis MAGISTRITÖÖ Juhendaja: Kurmo Konsa, PhD Konsultant: Jüri Karm Tallinn

More information

UUT KASVU FINANTSEERITAKSE MEELELDI. ühingujuhtimisest? Rahastamisvõimalus arenguhüppeks. ``Millal rääkida kriisikooli AJAKIRI JUHILE JA OMANIKULE

UUT KASVU FINANTSEERITAKSE MEELELDI. ühingujuhtimisest? Rahastamisvõimalus arenguhüppeks. ``Millal rääkida kriisikooli AJAKIRI JUHILE JA OMANIKULE AJAKIRI JUHILE JA OMANIKULE SÜGIS 2010 (17) `` Mis kasu on heast ühingujuhtimisest? `` Rahastamisvõimalus arenguhüppeks ``Pilk Eesti riskikapitalistide portfelli ``Millal rääkida kriisikooli lõpetamisest?

More information

Ood matemaatikale. Kuid matemaatika nii lugupeetav maine ei kehti vist, kui ta on kooliaine.

Ood matemaatikale. Kuid matemaatika nii lugupeetav maine ei kehti vist, kui ta on kooliaine. 1.Kahe Euroopa Liidu riigi kõrgeim mäetipp kannab täpselt sama nime. Ja mitte tõlkes (näiteks Suur Munamägi vs Great Egg Hill), vaid ka kirjapildis on sama. Mis riikidega on tegemist? 2. Kui kellelgi peaks

More information

Tartu Ülikool. Maailma keelte ja kultuuride kolledž. Anneli Alle

Tartu Ülikool. Maailma keelte ja kultuuride kolledž. Anneli Alle Tartu Ülikool Maailma keelte ja kultuuride kolledž Anneli Alle KULTUURISPETSIIFILISTE ELEMENTIDE TÕLKIMISEST TELEFILMI MEISTER JA MARGARITA SUBTIITRITES Magistritöö Juhendaja Sirje Kupp-Sazonov, PhD TARTU

More information

1 / ÕNNELIKUS ABIELUS NAINE VÕI KAS ON SEKSI PÄRAST SURMA?

1 / ÕNNELIKUS ABIELUS NAINE VÕI KAS ON SEKSI PÄRAST SURMA? 1 / ÕNNELIKUS ABIELUS NAINE VÕI KAS ON SEKSI PÄRAST SURMA? Tavaliselt hoian ma kiusatusest eemale seni, kuni ei suuda enam sellele vastu panna. Mae West (varastatud Oscar Wilde ilt) ERICA JONG Tavatsesin

More information

EESTI STANDARD EVS-EN :1999

EESTI STANDARD EVS-EN :1999 EEST STANDARD EVS-EN 25183-1:1999 Kontaktpunktkeevitus. Elektroodide üleminekupuksid, pistikkoonused 1:10. Osa 1: Kooniline kinnitus, koonus 1:10. Resistance spot welding - Electrode adaptors, male taper

More information

TARTU ÜLIKOOL FILOSOOFIATEADUSKOND FILOSOOFIA JA SEMIOOTIKA INSTITUUT. Jakob Laulik RICHARD RORTY JA HANS-GEORG GADAMER: JÄRJEPIDEVUS VÕI KATKESTUS?

TARTU ÜLIKOOL FILOSOOFIATEADUSKOND FILOSOOFIA JA SEMIOOTIKA INSTITUUT. Jakob Laulik RICHARD RORTY JA HANS-GEORG GADAMER: JÄRJEPIDEVUS VÕI KATKESTUS? TARTU ÜLIKOOL FILOSOOFIATEADUSKOND FILOSOOFIA JA SEMIOOTIKA INSTITUUT Jakob Laulik RICHARD RORTY JA HANS-GEORG GADAMER: JÄRJEPIDEVUS VÕI KATKESTUS? Magistritöö Juhendaja: Andrus Tool (PhD) TARTU 2015 Laulik,

More information

Kolmest tänavusest aasta linnust kaks hiireviu ja taliviu on Eesti Looduse tutvustusringi juba läbinud. Järg on jõudnud viimase, herilaseviu kätte.

Kolmest tänavusest aasta linnust kaks hiireviu ja taliviu on Eesti Looduse tutvustusringi juba läbinud. Järg on jõudnud viimase, herilaseviu kätte. Herilaseviu eriline suvitaja Kolmest tänavusest aasta linnust kaks hiireviu ja taliviu on Eesti Looduse tutvustusringi juba läbinud. Järg on jõudnud viimase, herilaseviu kätte. Olavi Vainu, Ülo Väli Oskar

More information

Materjal: Slaidid 40 41

Materjal:   Slaidid 40 41 Eksamiküsimuste vastused aines Tarkvaratehnika (MTAT.03.094) Aeg: 15. jaanuar 2008, 09:00 13:00 Küsimused 1. (4 p.) Küsimus: Nimetage väledate (agile) metoodikate põhilised väärtused (neli) ning tehnikad

More information

HSP HemiSPherical Project Manager ver: 1.3.3

HSP HemiSPherical Project Manager ver: 1.3.3 Poolsfääripiltide töötlemise programmi HSP HemiSPherical Project Manager ver: 1.3.3 kasutusjuhend Mait Lang Tõravere 15.11.2014 Sisukord Sissejuhatus...3 Litsentsi- ja kasutustingimused...4 Poolsfääripildid

More information

Components. your own design Inside Small World, you will discover: boards, one for each of the four possible player configurations.

Components. your own design Inside Small World, you will discover: boards, one for each of the four possible player configurations. 5:33 Page 2 2-5players le Ages Vanusele 8+ 40-80 40-80 mutit For 2-5 8 above mutes Mängu osad Compents eriduse märki; lisaks G 20 20 erevat Unique badges, plus üksbadge tühi märk endapower veel blank for

More information

4. Millist nime kandis Londoni olümpiamängudel ainus purjeklass, kus purjetati kolmekesi?

4. Millist nime kandis Londoni olümpiamängudel ainus purjeklass, kus purjetati kolmekesi? 1 EESTI SPORDIKILVA MEISTRIVÕISTLUSED 2012/13 RAKVERE ETAPP INDIVIDUAALMÄNG Küsimused: Andres Pulver, Illar Tõnisson 1. Michael Phelps joob selles Louis Vuittoni reklaamis teed koos daamiga, kes jälgis

More information

LEGO Mindstorms EV3 robotiehitus Design Engineering Projects

LEGO Mindstorms EV3 robotiehitus Design Engineering Projects LEGO Mindstorms EV3 robotiehitus Design Engineering Projects Jaanuar 2015, Lasteveeb OÜ Käesolev õppevahend on litsentseeritud Creative Commons 3.0 Eesti litsentsiga (autorile viitamine, mitteäriline eesmärk,

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN 62153-4-7:2016 METALL-SIDEKAABLITE KATSETUSMEETODID. OSA 4-7: ELEKTROMAGNETILINE ÜHILDUVUS. SAGEDUSELE KUNI 3 GHz JA ÜLE SELLE ETTE NÄHTUD LIIDESTE JA KOOSTETE ÜLEKANDEIMPEDANTSI

More information

Capital investments and financing structure: Are R&D companies different?

Capital investments and financing structure: Are R&D companies different? TUT Economic Research Series Department of Economics and Finance Tallinn University of Technology tutecon.eu Capital investments and financing structure: Are R&D companies different? Kadri Männasoo, Heili

More information

THE ROLE OF INFORMATION AND COMMUNICATION TECHNOLOGY FOR SMART CITY DEVELOPMENT IN CHINA

THE ROLE OF INFORMATION AND COMMUNICATION TECHNOLOGY FOR SMART CITY DEVELOPMENT IN CHINA TALLINN UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Sihou Zhang IVGM 144949 THE ROLE OF INFORMATION AND COMMUNICATION TECHNOLOGY FOR SMART CITY DEVELOPMENT IN CHINA Master s thesis Supervisor:

More information

Fotofiltri restauratiivne nostalgia Aap Tepper. Restorative Nostalgia of Photo Filters Aap Tepper

Fotofiltri restauratiivne nostalgia Aap Tepper. Restorative Nostalgia of Photo Filters Aap Tepper Fotofiltri restauratiivne nostalgia Aap Tepper Minu magistriprojekt on loomingulise väljundiga uurimistöö, mille keskne teema on nostalgiliste omadustega fotofilter digitaalfotograafias. Käesolev projekt

More information

EESTI KIRJANDUSMUUSEUMI AASTARAAMAT 2009

EESTI KIRJANDUSMUUSEUMI AASTARAAMAT 2009 U N I V E R S U M I T U U D I S T A D E S P A A R S A M M U K E S T X X V I EESTI KIRJANDUSMUUSEUMI AASTARAAMAT 2009 1 2 U N I V E R S U M I T U U D I S T A D E S P A A R S A M M U K E S T X X V I E E

More information

Tartu Ülikool Loodus- ja täppisteaduste valdkond Tehnoloogiainstituut. Sander Sõritsa. Nutikodu lahenduse baaskomponentide loomine

Tartu Ülikool Loodus- ja täppisteaduste valdkond Tehnoloogiainstituut. Sander Sõritsa. Nutikodu lahenduse baaskomponentide loomine Tartu Ülikool Loodus- ja täppisteaduste valdkond Tehnoloogiainstituut Sander Sõritsa Nutikodu lahenduse baaskomponentide loomine Bakalaureusetöö (12 EAP) Arvutitehnika eriala Juhendajad: MSc Urmas Tamm

More information

TALLINNA PEDAGOOGIKAÜLIKOOL. GPS Global Positioning System

TALLINNA PEDAGOOGIKAÜLIKOOL. GPS Global Positioning System TALLINNA PEDAGOOGIKAÜLIKOOL Matemaatika-loodusteaduskond Informaatika osakond Kelly Erin-Uussaar GPS Global Positioning System Proseminaritöö Juhendaja: Kalle Tabur Tallinn 2003 1 Sisukord Sisukord...2

More information

Eesti Vabariigi Rahandusministeerium

Eesti Vabariigi Rahandusministeerium Eesti Vabariigi Rahandusministeerium Hindamisaruanne Riikliku Arengukava rakendussüsteemi ja selle toimivuse hindamine 7. juuli 2006 pwc Sisukord Aruandes kasutatud peamised lühendid... 3 Lühikokkuvõte

More information

RTK GNSS MÕÕTMISTE STABIILSUS JA TÄPSUS ERINEVATES PÜSIJAAMADE VÕRKUDES

RTK GNSS MÕÕTMISTE STABIILSUS JA TÄPSUS ERINEVATES PÜSIJAAMADE VÕRKUDES EESTI MAAÜLIKOOL Metsandus- ja maaehitusinstituut Karel Kõre RTK GNSS MÕÕTMISTE STABIILSUS JA TÄPSUS ERINEVATES PÜSIJAAMADE VÕRKUDES RTK GNSS NETWORK MEASUREMENT STABILITY AND ACCURACY IN DIFFERENT REAL

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN 12758:2011 Klaas ehituses. Klaasing ja õhuheli isolatsioon. Toote kirjeldused ja omaduste määramine Glass in building - Glazing and airborne sound insulation - Product s and determination

More information

Õppekava kuraatorid, kontaktid: Marek Tamm Piret Viires Terje Väljataga

Õppekava kuraatorid, kontaktid: Marek Tamm Piret Viires Terje Väljataga Põhiüksus: Humanitaarteaduste instituut Digitehnoloogiate instituut Kõrvaleriala nimetus eesti keeles DIGIHUMANITAARIA Kõrvaleriala nimetus inglise keeles DIGITAL HUMANITIES (kinnitatud 9. märtsil 2017

More information

Fotode kirjeldamisest ja sõnastikest

Fotode kirjeldamisest ja sõnastikest ERMi aastaraamat 52, lk 98 113 Fotode kirjeldamisest ja sõnastikest Jüri Karm Silmatorkav on nimetuste puudus. võib tähele panna erisuguste mõistete segunemist. leidub samadele asjadele ja mõistetele mõnikord

More information

Ernest Hemingway VANAMEES JA MERI

Ernest Hemingway VANAMEES JA MERI Ernest Hemingway VANAMEES JA MERI Inglise keelest tõlkinud Enn Soosaar TALLINN KIRJASTUS «EESTI RAAMAT» 1985 T (Ameerika) H4S Originaali tiitel: Ernest Hemingway THE OLD MAN AND THE SEA Charles Scribner's

More information

Võimatu geomeetria sõlmepõhises maailmas

Võimatu geomeetria sõlmepõhises maailmas TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Ivo Voika Võimatu geomeetria sõlmepõhises maailmas Bakalaureusetöö (6 EAP) Juhendaja: Raimond-Hendrik Tunnel, MSc Tartu 2017 Võimatu geomeetria

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN 15302:2008 Raudteealased rakendused. Meetodid koonilisuse ekvivalendi määramiseks Railway applications - Method for determining the equivalent conicity EESTI STANDARDI EESSÕNA NATIONAL

More information

Paigaldusjuhend (i) FuranFlex. Versioon

Paigaldusjuhend (i) FuranFlex. Versioon Paigaldusjuhend (i) FuranFlex PAIGALDUSJUHEND 1. KASUTUSOTSTARVE... 2 2. JUHENDI HÕLMAVUS... 3 3. VIITED... 3 4. TEHNILINE KIRJELDUS... 3 4.1 TÖÖVAHENDID JA -MATERJALID... 3 4.2 TÖÖ KORRALDAMINE... 4 4.3

More information

INNOVATSIOONI ESINEMINE TEENUSTES AS SAMREIS EESTI NÄITEL

INNOVATSIOONI ESINEMINE TEENUSTES AS SAMREIS EESTI NÄITEL TARTU ÜLIKOOL Majandusteaduskond Rahvamajanduse instituut Piret Hanson INNOVATSIOONI ESINEMINE TEENUSTES AS SAMREIS EESTI NÄITEL Bakalaureusetöö Juhendaja: lektor Diana Eerma Tartu 2012 Soovitan suunata

More information

Prantslane, inglane ja sakslane avangardi ning popi vahel

Prantslane, inglane ja sakslane avangardi ning popi vahel Prantslane, inglane ja sakslane avangardi ning popi vahel 29 Prantslane, inglane ja sakslane avangardi ning popi vahel Kapitalism, skisofreenia ja hübriidne identiteet Anders Härm & Hanno Soans But I am

More information

ANTONIO MUÑOZ MOLINA. Talv Lissabonis

ANTONIO MUÑOZ MOLINA. Talv Lissabonis ANTONIO MUÑOZ MOLINA Talv Lissabonis TALV LISSABONIS ANTONIO MUÑOZ MOLINA Talv Lissabonis Hispaania keelest tõlkinud Triin Lõbus Originaal: EL INVIERNO EN LISBOA Copyright 1987, Antonio Muñoz Molina All

More information

EESTI STANDARD EVS-EN :2016

EESTI STANDARD EVS-EN :2016 EESTI STANDARD EVS-EN 15048-1:2016 Avaldatud eesti keeles: mai 2017 Jõustunud Eesti standardina: august 2016 METALLKONSTRUKTSIOONIDE EELPINGESTAMATA POLTLIITED Osa 1: Üldnõuded Non-preloaded structural

More information

EESTI STANDARD EVS-EN ISO :1999

EESTI STANDARD EVS-EN ISO :1999 EESTI STANDARD EVS-EN ISO 8826-1:1999 Tehnilised joonised. Veerelaagrid. Osa 1: Üldine lihtsustatud kujutamine Technical drawings - Rolling bearings - Part 1: General simplified representation EESTI STANDARDIKESKUS

More information

This document is a preview generated by EVS. Textiles - Tests for colour fastness - Part E02: Colour fastness to sea water (ISO 105-E02:2013)

This document is a preview generated by EVS. Textiles - Tests for colour fastness - Part E02: Colour fastness to sea water (ISO 105-E02:2013) EESTI STANDARD EVS-EN ISO 105-E02:2013 Textiles - Tests for colour fastness - Part E02: Colour fastness to sea water (ISO 105-E02:2013) EESTI STANDARDI EESSÕNA NATIONAL FOREWORD See Eesti standard EVS-EN

More information

This document is a preview generated by EVS

This document is a preview generated by EVS EESTI STANDARD EVS-EN 61023:2002 Maritime navigation and radiocommunication equipment and systems - Marine speed and distance measuring equipment (SDME) - Performance requirements - Methods of testing

More information

See dokument on EVS-i poolt loodud eelvaade

See dokument on EVS-i poolt loodud eelvaade EESTI STANDARD EVS-EN 62106:2010 Avaldatud eesti keeles: jaanuar 2011 Jõustunud Eesti standardina: veebruar 2010 Raadioandmeedastussüsteemi (RDS) spetsifikatsioon VHF/FM raadioringhäälingule raadiosagedusvahemikus

More information

Kuidas me tahaksime elada: haiguste ja vananemise transhumanistlik käsitlus

Kuidas me tahaksime elada: haiguste ja vananemise transhumanistlik käsitlus Kuidas me tahaksime elada: haiguste ja vananemise transhumanistlik käsitlus Kurmo Konsa Teesid: Inimühiskond põhineb suuresti pidevalt väljatöötavatel uutel tööriistadel ja tehnoloogiatel. Inimese enda

More information

2. Maarjamaalastena peaksime teadma, et neitsi

2. Maarjamaalastena peaksime teadma, et neitsi 1 Jüri-TÜMKi mälumäng 10. detsembril 2008 I pakett: religioon ja meditsiin 1. Sellel pildil näete assüüria jumalaid Enkit ja Enlilit, kes on enda ette põrmu paisanud kolmanda. Missugune jumal nende ees

More information

Religioossed motiivid Rooma päevikus ja Hingede öös. Võrdlevaid tähelepanekuid

Religioossed motiivid Rooma päevikus ja Hingede öös. Võrdlevaid tähelepanekuid DOI: 10.7592/methis.v10i13.1303 Religioossed motiivid Rooma päevikus ja Hingede öös. Võrdlevaid tähelepanekuid Maarja Vaino Märksõnad: Karl Ristikivi, religioossed aspektid, kirjanduslugu, poeetika Sissejuhatus.

More information

Eesti digitaalhumanitaaria A o 2013 IT-rakendused humanitaarteadustes Projektide tutvustused Digital Humanities in Estonia A o 2013: IT Applications

Eesti digitaalhumanitaaria A o 2013 IT-rakendused humanitaarteadustes Projektide tutvustused Digital Humanities in Estonia A o 2013: IT Applications Eesti digitaalhumanitaaria A o 2013 IT-rakendused humanitaarteadustes Projektide tutvustused Digital Humanities in Estonia A o 2013: IT Applications in Humanities Project Synopses Saateks Digitaalhumanitaaria

More information

Kõik küsimused, mis puudutavad Excel i kasutamist (eelkõige Excel i statistikat) võib saata aadressil ANDMETE TEISENDAMINE

Kõik küsimused, mis puudutavad Excel i kasutamist (eelkõige Excel i statistikat) võib saata aadressil ANDMETE TEISENDAMINE Kõik küsimused, mis puudutavad Excel i kasutamist (eelkõige Excel i statistikat) võib saata aadressil tiit@zbi.ee Korrutamine, liitmine, lahutamine, jagamine: =A1*A2 =A1+A2+7 =(A1+A2)/A3 jne. ANDMETE TEISENDAMINE

More information

FOTOKAAMERATE JA TARKVARADE VÕRDLUS LÄHIFOTOGRAMM-MEETRILISTE 3D MUDELITE LOOMISEL

FOTOKAAMERATE JA TARKVARADE VÕRDLUS LÄHIFOTOGRAMM-MEETRILISTE 3D MUDELITE LOOMISEL EESTI MAAÜLIKOOL Metsandus- ja maaehitusinstituut Kärt Metsoja FOTOKAAMERATE JA TARKVARADE VÕRDLUS LÄHIFOTOGRAMM-MEETRILISTE 3D MUDELITE LOOMISEL MAKING 3D MODELS USING CLOSE-RANGE PHOTOGRAMMETRY: COMPARISON

More information

Sindi Gümnaasium. Lisete Reidma 7. a klass ALPAKADE VILL KÄSITÖÖMEISTRITE TÖÖLAUAL Loovtöö. Juhendaja: Eedi Lelov

Sindi Gümnaasium. Lisete Reidma 7. a klass ALPAKADE VILL KÄSITÖÖMEISTRITE TÖÖLAUAL Loovtöö. Juhendaja: Eedi Lelov Sindi Gümnaasium Lisete Reidma 7. a klass ALPAKADE VILL KÄSITÖÖMEISTRITE TÖÖLAUAL Loovtöö Juhendaja: Eedi Lelov Sindi 2018 SISUKORD SISSEJUHATUS 3 1. ALPAKAD 4 1.1 Alpakade välimus, iseloom 4 1.2 Alpakade

More information