Andmebaasid I (IDU0220) (kevad 2017)

Aine tutvustus

Olulised kuupäevad

TähtaegKirjeldus
10.02.2017Iseseisva töö teema registreerimine
27.02.2017-03.03.2017Esimene vabatahtlik lisapunktide test
03.04.2017-07.04.2017Teine vabatahtlik lisapunktide test
08.04.2017Pannakse paika lävend, mille ületamisel saab SQL kontrolltöö automaatselt hindeks 5
13.03.2017-13.04.2017SQLi harjutamine harjutustundides
18.04.2017Tähtaeg andmaks teada oma mitteosalemisest 12nda nädala kontrolltööl. See annab võimaluse kasutada A4 abimaterjalide lehte 16nda nädala järeltööl.
17.04.2017-21.04.2017SQL kontrolltöö
23.04.2017Iseseisva töö esitamine
19.05.2017Kui saate iseseisva töö ees arvestuse deklareerimise semestril ning hiljemalt sellel kuupäeval, siis annab see eksamiks 10 lisapunkti.
17.05.2017-19.05.2017SQL kontrolltöö esimene järeltöö
29.05.2017SQL kontrolltöö teine järeltöö
10.06.2017Põhieksamisessiooni eksamilehtede kinnitamine ja mitteilmunud üliõpilaste mitteilmunuks märkimine. Peale seda saavad nad hakata registreeruma lisaeksamile.
12.06.2017SQL kontrolltöö kolmas järeltöö
24.04.2017-13.06.2017Iseseisvate tööde ülevaatamise periood
13.06.2017Kõige viimane päev, kui 2016/2017 õppeaasta kevadsemestril saab näidata iseseisvat tööd
14.06.2017Lisaeksamisessiooni lisaeksam

Lehe algusesse

Aine kirjeldus

Andmebaasid I Andmebaasid I (IDU0220)

Eesmärk: Anda teadmisi relatsiooniliste- ja SQL-andmebaaside põhimõtetest ning teadmisi ja oskuseid andmebaasikeelest SQL ning tehingutöötluse SQL-andmebaaside projekteerimisest.

Õpiväljundid:

  • 1. Teab relatsioonilist andmemudelit.
  • 2. Teab andmebaasikeele SQL kasutusvõimalusi ja puudusi.
  • 3. Teab tehingutöötluseks mõeldud SQL-andmebaaside kontseptuaalse, loogilise ja füüsilise projekteerimise meetodeid.
  • 4. Teab algtasemel andmebaasisüsteemide ülesehtitust ja funktsionaalsust.
  • 5. Oskab tükeldada andmekeskset tehingutöötlusele orienteeritud infosüsteemi allsüsteemideks.
  • 6. Oskab projekteerida tehingutöötlusele orienteeritud SQL-andmebaasi ning koostada süsteemi prototüüpi, kasutades selleks UML keelt, CASE vahendit ja vabalt valitud andmebaasisüsteemi/rakenduse loomise vahendit.
  • 7. Oskab kasutada SQL andmebaasikeelt päringute ja andmemuudatuste läbiviimiseks andmebaasis ning andmebaasi struktuuri (tabelite) ja käitumise (tabelitega seotud deklaratiivsete kitsenduste) loomiseks.

Hindamiskriteeriumid:

  • Õpiväljundite 2, 7 kontrollimine - Kontrolltöö; eksamieeldus (hindest 60%).
    • Harjutustundides 2, 6-11 toimub SQL ülesannete lahendamine, mis annab lisapunkte SQL kontrolltööle. Kõik punktide arvuga teatud lävendi ületanud üliõpilased saavad kontrolltöö hindeks automaatselt 5. Lävend sõltub kursuse tasemest ja määratakse kindlaks 11ndal õppenädalal.
  • Õpiväljundite 3, 5, 6 kontrollimine - Iseseisev töö - andmebaasi projekteerimine ja prototüüpimine; eksamieeldus.
    • Hinnet mõjutab see juhul kui saate iseseisva töö eest arvestuse deklareerimise semestril, kuid enne semestri eksamisessiooni algust - siis saate eksamile juurde 10 punkti.
  • Kõikide õpiväljundite kontrollimine - Teoreetiliste ja praktiliste küsimustega kirjalik (veebipõhine) test e eksam (hindest 40%).
    • Viiendal õppenädalal harjutustunnis toimuv lisapunktide test võimaldab eksamile juurde saada kuni 10 punkti.
    • Kümnendal õppenädalal harjutustunnis toimuv lisapunktide test võimaldab eksamile juurde saada kuni 10 punkti.

Märkused: Eksami küsimustele vastamise eest saadav võimalik maksimaalne punktisumma on 100. Eksamile on võimalik kaasa võtta kuni 30 lisapunkti. Lisapunktid lähevad arvesse ainult saamise semestril.

Lävendi ületamiseks on vajalik saada iseseisva töö eest arvestus ning nii kontrolltöö kui ka eksami eest vähemalt hinne 1.

Teemad: Andmebaas. Andmebaasisüsteem. Andmemudelid. Relatsiooniline andmemudel. Relatsioonialgebra. SQL andmebaasikeel ja selle abil loodavad andmebaasiobjektid. Tehingutöötluseks mõeldud SQL-andmebaasi projekteerimise võimalik metoodika. Strateegiline analüüs. Detailanalüüs. Olemi-suhte diagrammid ja nende loomine UMLi abil. Andmete modelleerimise mustrid. Normaliseerimine. Denormaliseerimine. Transaktsioonilise SQL-andmebaasi loogiline ja füüsiline disain. CASE vahendi kasutamine SQL-andmebaasi projekteerimiseks. Harjutustundides kasutatakse töölaua andmebaasisüsteemi MS Access.

Siit võite vaadata teemade mõistekaarte

Märkus: Selle õppeaine edukaks läbimiseks ei ole mitte mingit kohustust ega vajadust ühtegi järgnevatest allikatest lehitseda ega lugeda. Õppeaine edukaks sooritamiseks on piisav, kui õppida sellel kodulehel olevate materjalide alusel.

Siiski pakun välja kursuse põhiteemade kaupa ühe võimaliku kombinatsiooni raamatutest, mida sügavama huvi korral lugeda:

  • SQL: Head First SQL või SQL Queries for Mere Mortals.

    Siit saab downloads saki alt "SQL Queries for Mere Mortals" raamatu jaoks näidistabelitega andmebaasid, mis sisaldavad ka Queridena ära salvestatud ülesannete lahendusi.

    Suur tänu üliõpilasele, kes "SQL Queries for Mere Mortals" raamatut soovitas. Ta kirjutas: "Tekst on konkreetne, seletused tõhusad. Õpikut pole koormatud lisainfot sisaldavate artiklitega nagu mõnedel ingliskeelsetel õpikutel standardiks (nõnda on lihtsam tekstile keskenduda). Iga SQL süntaksiga tegeleva peatüki lõppu paigutatud ülesanded aitavad materjali kinnistada. Parima tulemuse jaoks võiks tudeng ka Sample Statements sektsioonides püstitatud ülesandeid lahendada üritada (enne ülesannete juurde asumist). Pärast Access'is SQL Server Compatible Syntax'i kasutuselevõttu võivad mõned näidisandmebaasides valmis kirjutatud päringud vajada ümber kirjutamist, kuid see vast pole mitte kellegi jaoks üle jõu."

    Minult on küsitud Head First sarja ja Head First SQL raamatu kohta. Oskan öelda, et see raamat on kirjutatud omapärase stiilis ning huumorit kasutades. Leian, et seda saab SQLiga esmatutvuse tegemiseks väga edukalt kasutada. Näiteks lk 44 on hea kirjeldus NULLi olemusest.

    Samas on raamatus ka ebatäpseid väiteid. Näiteks väide "A database is a container that holds tables and other SQL structures related to those tables" jätab lugejale vale mulje, et tabelid on ainsad võimalikud andmebaaside ehitusplokid. Tegelikult see nii ei ole ja on palju erinevaid andmemudeleid, mis pakuvad kasutamiseks erinevaid andmebaaside ehitusplokke. Õigem oleks öelda "A SQL database is a container that holds tables and other SQL structures related to those tables".

  • Relatsiooniline mudel: Database in Depth või An Introduction to Relational Database Theory
  • Tehingutöötluse SQL-andmebaaside kavandamine: Andmebaaside projekteerimine ja SQL Antipatterns (Kellele meeldib raamatut peos hoida, see leiab antimustrite raamatu ka TTÜ raamatukogust.).

Lisaks, kui tahate meelde tuletada käesoleva aine eelduseid, siis lugege raamatut UMLi kontsentraat. 3. redaktsioon. Objektmodelleerimise standardkeele UML2.0 lühijuhend.

Eraldi tõstan esile ja soovitan raamatut Building the agile database : how to build a successful application using agile without sacrificing data management. Kui seda andmebaaside kursuste ajal või järel loete, siis peaksid paljud seal kirjeldatavad põhimõtted Teile andmebaaside ainetest tuttavad olema. Loodan, et selle raamatu lugemine annab Teile kinnitust ja julgustust, et nende jälgimine on mõistlik, võimalik ja kasulik ka tänapäeva moodsa agiilse (paindliku) süsteemiarenduse käigus.

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

Rõhutan, et see on ainult üks, kuid sugugi mitte ainus võimalik kombinatsioon. Häid raamatuid on hulgaliselt ja paljud nendest on ka Teile kättesaadavad.

Õppejõud: dotsent Erki Eessaar
e-meil: Erki.Eessaar(ät)ttu.ee

Lehe algusesse