Optimiseerimine JVM-il on lubatud lugemis- ja kirjutamisoperatsioone ümber korralda oma äranägemise järgi – ta ei pea neid teostama programmeerija antud järjekorras volatile Volatile võtmesõnaga tähistatud välja kõik lugemise ja kirjutamise operatsioonid toimuvad otse mälus, mitte lõime koopia peal Volatile muutuja kirjutamist/lugemist ei tohi JVM optimiseerida operatsioonide ümberkorraldamisega Atomaarsus Kui kaks lõime kasutavad sama muutujat, siis atomaarne operatsioon tähendab, et kõik ühe lõime poolt selle operatsiooni käigus tehtavad asjad tehakse järjest Nt counteri realiseerimisel pole vaja atomaarset muutujat sünkroniseerida Operatsioonid long ja double tüüpidega ei ole atomaarsed (isegi mitte read ja write) Vajalik sünkroniseerimine! java.util.concurrent.atomic Objektid, mis toetavad atomaarseid operatsioone ilma sünkroniseerimiseta
· Data Definition Language andmekirjelduskeel. · Data Manipulation Language andmekäitluskeel. 2. Andmebaasisüsteem peab omama kataloogi, mis sisaldab andmebaasi objektide kirjeldust ja mis on kasutajatele kättesaadav. 3. Andmebaasisüsteem peab tagama transaktsioonide läbiviimise. Transaktsioon on loogilise töö ühik, mis hõlmab ühte või mitut käsku (nt. SQL lauset). Transaktsiooni omadused: · Atomaarsus: andmetes tehakse kõik transaktsioonis määratud muudatused või ei tehta ühtegi. · Terviklikkus: Transaktsiooni tehtud muudatused ei tohi viia andmebaasi ebakorrektsesse seisundisse. Transaktsiooni täitmise järel peavad kõik andmetega seotud kitsendused olema täidetud. · Isolatsioon: Paralleelselt toimuvate transaktsioonide korral ei tohi kasutajad näha teiste kasutaja algatatud transaktsioonide poolikuid Kestvus: Peale transaktsiooni lõppu peab
̃ low coupling, korge ̃ kokkukuuluvus – high cohesion) • Milline on koige olulisem dokument, mille alusel leitakse andmebaasiserveris talletatud rutiinid, mis tuleks andmebaasis luua? (andmebaasioperatsioonide lepingud) • Millised on transaktsiooni neli pohilist omadust? (ACID – atomaarsus, terviklikkus, isoleeritus, kestvus/jatkuvus) ̈ • Milliste kaskudega toimub SQLis transaktsioonide kinnitamine ja tuhistamine? ̈ (COMMIT ja ROLLBACK) Teema 14 • Millistele tingimustele vastavad tabelid on koige paremad denormaliseerimise kandidaadid? (andmeid kusitakse sageli, muudatusi tehakse harva) ̈
mitmele andmebaasile. Andmebaasisüsteem != andmebaas Mõned nõuded andmebaasisüsteemile Andmebaasisüsteem võimaldab kasutada andmebaasikeelt Andmebaasikeel põhineb mingil andmemudelil Andmebaasikeele alamkeeled Andmekirjelduskeel (DDL) Andmekäitluskeel (DML) Andmekontrolli keel (mõnikord loetakse andmekirjelduskeele osaks) (DCL) Transaktsioonide e. tehingute läbiviimise võimalus Omadused: atomaarsus, terviklikkus, isoleeritus, kestvus Andmete mitme kasutaja poolt üheaegse kasutamise võimalus Andmetele juurdepääsu võimaldamine ainult selleks volitatud kasutajatele Andmete varundamise/taastamise võimaldamine Süsteemikataloog Andmebaasisüsteemi kolmekihiline arhitektuur: Erinevates andmebaasi tasemetes on erinevat tüüpi objektid, mida andmebaasisüsteem peab võimaldama kasutada.
Milline lause kirjeldab kõige paremini andmekaevandamist (data mining)? Peidetud mallide (patterns) ja seoste leidmine andmebaasis Teie osakond loob klientide kaebuste andmebaasi. Osakonna nr (OsakNr) ja kliendinumber (KliendiNr) on vajalikud, et kaebus üheselt määrata. Millisel normaalkujul on esitatud andmebaas? Esimene normaalkuju Milline järgnevatest iseloomustab turvalist andmete transaktsioonide tagamist? Atomaarsus (Atomicity) Toodud EPL koodilõik peaks trükkima esimesed viis positiivset paaritut arvu, kuid kood sisaldab olulist viga. Milline variant kõrvaldab selle vea? Eemaldada viimane printf("i=", i); Milline järgnevatest lausetest on iseloomulik objekt-orienteeritud disainile? Otsustada, milliseid klasse vaja on. Jaotada toimingud klasside vahel. Teha üldised omadused kasutatavaks päriluse kaudu. Virtuaalmasina interpretaatori (Java and C++) kasutamine annab mitmeid eeliseid
Oracle) loomiseks ja neile vastutuste jagamiseks? Tegemist on üldiste hea tarkvara disaini printsiipidega (madal sõltuvus low coupling, kõrge kokkukuuluvus high cohesion). Milline on kõige olulisem dokument, mille alusel leitakse andmebaasiserveris talletatud rutiinid, mis tuleks andmebaasis luua? Andmebaasioperatsioonide lepingud. Millised on transaktsiooni neli põhilist omadust? ACID atomaarsus, terviklikkus, isoleeritus, kestvus/jätkuvus. Milliste käskudega toimub SQLis transaktsioonide kinnitamine ja tühistamine? COMMIT ja ROLLBACK. Millistele tingimustele vastavad tabelid on kõige paremad denormaliseerimise kandidaadid? Andmeid küsitakse sageli, muudatusi tehakse harva. Milliseid tegevusi tehakse andmetabelite denormaliseerimise käigus ja mis on selle tulemus