Andmebaasid MTAT.03.264 2015 kevad Anne Villems (loengud, 5. rühm) Vambola Leping (1. ja 2. rühm) Merlin Saulep (3. ja 7. rühm) Ljubov Jaanuska (4. rühm) Taavi Duvin (6. rühm) Tiina Kuura (8.rühm)
Andmebaasid MTAT.03.2642015 kevad
Anne Villems (loengud, 5. rühm)
Vambola Leping (1. ja 2. rühm)
Merlin Saulep (3. ja 7. rühm)
Ljubov Jaanuska (4. rühm)
Taavi Duvin (6. rühm)
Tiina Kuura (8.rühm)
Kes on registreerimata või ootelehel?
• Peale loengut, palun jääge kohale, koostame tabeli.
Kel on läbitud aine Andmebaasid MTAT.03.105 (3eap)?
• Saadan ringi paberi, kirjutage:
nimi, mis aastal läbisite.
Kursuse põhiandmed
• Aine: Andmebaasid MTAT.03.264, 6 eap
• Loengud: K, 10.15, Liivi 2-111 + vajadusel Adobe Connect
• Praktikumid: N 12.15: 1. rühm Liivi 2- 004; 3. rühm Liivi 2-207;
6.rühm Liivi2-206; 8.rühm Liivi2- 224
R 10.15: 2. rühm Liivi2-004; 4. rühm Liivi 2 – 207
5. rühm Liivi 2- 202; 7.rühm Liivi 2 - 206
• Loetakse kuuendat korda
Organisatoorsed küsimused
• 16 loengut;
• 16 praktikumi;– Läbivad andmebaaside Ope ja Edu (või XXX)
ehitamine;
– Mõned teooria toetuspraktikumid;
• Suurem kodutöö („Oma Suur Projekt“ e. OSP) 2-3 liikmelistes rühmades;
• Kolm testi Moodle keskkonnas;
• Kirjalik eksam juunis.
Hindamine – vt. õpijuhis Moodle’sJrk Max Min
1. Loengud 18 (16 + 2boonus) 6
2. Praktikumid 27 (1x5; 4 edu; 15 SQL (ope); 3 boonus
11
3. Testid 15 (5+5+5) 8
4. Oma Suur Projekt(rühmas)
15 (2 + 10 OSP +3 SQL (OSP)
6
5. Eksam (kohustuslik) 30 15
Eksamile pääseb, kui on semestri jooksul korjatud minimaalselt 36 punkti.
E: 51-60p, D: 61-70p, C: 71-80p, B: 81-90p, A: >90p
Kokku 105 min. 31 + 15 = 46
Riigipühad
• 24. veebruari ja 14.aprillil õppetööd ei toimu
• Nende päevade praktikumid on üle viidud kolmapäevale, 2 päeva varem.
Kas saite süsteemist aru?
• Pole vaja momendil vastata.
• Täpsemalt on kirjeldatud Moodle’s, õpijuhises
• Saate oma arusaamist testida Moodles, esimese loengu juures olevas testis.
• Testi eduka sooritamise eest saab ühe loengute lisapunkti .
Moodle ja courses.cs.ut.ee
• Kõik materjalid tekivad ka courses.cs.ut.ee lehele
• Kõik tegevused (kodutööde esitamised, testid, küsimused-vastused jne) toimuvad Moodle’s.
• Kõik materjalid lisatakse ka Moodle’sse, s.t. ei ole vaja kahes süsteemis elada.
• Lisaks on Moodle’s olemas terminite sõnastik, mille selgitusi järjest täiendatakse.
Reeglid MTAT.03.105 läbinuile• MTAT.03.105 katab ca 30% käesolevast
kursusest
• Osalege Ope trigerite praktikumis (9.nädal) ja kõigis mitte-SQL praktikumides.
• Ope ja edu asemele tuleb esimese 9 nädala jooksul teha uus ülesanne „Arvuti“.
Asume nüüd aine MTAT.03.264 „Andmebaasid“ juurde
Kuidas saab selle loengu punkti?
1. Auditooriumis: naabriga koos pange paberile kirja kümmekond terminit sellest loengust, mis teie arvates peaks olema antud aine sõnastikus koos lühiselgitusega (näiteks: andmebaasi juhtimissüsteem ) Nimed!
2. Vaadake, kas teie terminid on juba sõnastikus. Kui selgitused on segased – jätke kommentaar. Kui selged – tõmmake termin oma lehe peal maha.
1.Miks on vaja andmebaase?
• ÕIS-eelne seis meie teaduskonnas.– Informatsioon ainetest
– Registreerimine ainetele
– Lõpudiplomi hinnetelehed
• Pangandus ilma automaatide, internetipanga ja arvutiteta.
• Elu ilma Facebooki, Flicker’i ja Google’ta
• Ainult paberil ilmuvad ajalehed.
• Pileteid ei saa Interneti kaudu osta jne.
2. Mis on andmebaas
• Andmebaasi juhtimissüsteemi tarkvara
– Oracle, MySQL, Access, PostgreS, Sybase jne.
– Teevad suured firmad
• Andmetega täidetud andmebaasid
– ÕIS, kaupluste müügisüsteem kassadega jne.
Andmebaasi (AB) arhitektuur
….
Füüsiline andmebaas
Kontseptuaalne andmebaas e. mudel e. AB kirjeldus
Vaade kasutaja-grupile 1
Vaade kasutaja-grupile 2
Vaade kasutaja-grupile N
DB
MS
3 taset
• Meie kursus algab kontseptuaalse mudeli ehitamise oskuse omandamisest
• Vaadetega tegeleme praktikumis. Vaatesse saab võtta ainult neid andmeid, mis on andmebaasis olemas.
• Füüsilisel tasandil kasutatakse võtteid kursusest „Algoritmid ja andmestruktuurid“: B-puud, paisktabelid, ahelad, tasakaalustatud puud jne.
Lihtne näide
Matrikkel Eesnimi Perenimi
A034 Toomas Tubli
B187 Ulvi Usin
A729 Liisu Laisk
Kood Nimetus Punkte
MTAT.03.105 Andmebaasid 3
MTAT.03.100 Programmeerimine 6
Matrikli
_nr
Aine_kood Kuupäev
A034 MTAT.03.100 02.09.2016
B187 MTAT.03.105 05.09.2016
B187 MTAT.03.100 06.09.2016
A729 MTAT.03.100 07.09.2016
1
N
1 N
AB kirjeldus
Andmed (tabelid) andmebaasis
Andmebaasi juhtimissüsteem ABJS
Võimaldab :
• Efektiivset (s.t. ilma täisläbivaatuseta),
• usaldusväärset,
• mugavat,
• mitme kasutaja samaaegset
• suuremahuliste püsiandmete salvestamist ja kasutamist.
… andmebaasi juhtimissüteem (2)Andmed:
• Mahukad – terabaitides
• Püsivad – andmed pole otseselt seotud konkreetsete programmidega, elavad oma elu
• Turvaline (safe) – riistvara, tarkvara, kasutaja vead
• Mugav – iga kasutaja näeb andmeid sellisel kujul, nagu vaja, kasutajal pole vaja programmeerida
• Efektiivne – tuhandeid päringuid sekundis
• Usaldusväärsus – vastab reaalse elu seisundile
ABJS vahendid
• Andmekirjeldamise vahendid – DDL
• Andmete lisamine / eemaldamine / parandamine – DML
• Andmete kiire kättesaamine – DML
• Tihti mõlemad osad integreeritud üheks keeleks:
– näide – SQL e. Structured Query Language
ABJS omadused
Peab tagama:
• Andmete säilimine
• Mitu kasutajat
• Andmekaitse
• Katma kasutaja eest hajususe
• Efektiivne mäluhaldus
• Päringute optimeerimine
ABJS klassid
• Info omapära järgi – täisteksti dokumendid, piltide andmebaasid, struktuurse info (tabelid-tunnused), jne.
• Andmemudeli järgi – DDL vahendite abil (relatsioonilised, Objekt-orienteeritud, hierarhilised jne.).
• Tsentraalsed vs. hajusad
Inimesed
• ABJS’e arendavad inimesed vastavates firmades
• Andmebaasi koostaja (designer) - infosüsteemi loojad
• Andmebaasi administraator – teab, kuidas andmed tegelikult andmebaasis on
• Rakenduste loojad – rakendusprogrammeerijad
• Kasutajad – neid palju, erinevates gruppides, erinevate õigustega
Terminoloogia
• Olem – reaalselt eksisteeriv ja identifitseeritav asi või nähtus (tudeng, aine, eksam, jne.)
• Olemi klass v. tüüp – kogum sarnaseid olemite eksemplare
• Võti – tunnus(ed), mille abil saab identifitseerida olemi eksemplari
• Seosed olemitüüpide vahel
Seosed
Mitu eksemplari saavad seoses osaleda:
• 1:N seos – näide: tudeng – registreerimine
• N:M seos – näide: ostjad – tooted
• 1:1 seos – tudeng – bakalaureusetöö, kapten -laev
Andmebaaside loomise protsess
1. Probleem – ülesande püstitus
2. Nõuete analüüs (lisamaterjal)
3. Andmebaasi skeemi loomine
4. Vaadete loomine
5. Andmehõive
6. Rakenduste loomine
7. Andmebaasi kasutamine, administreerimine ja arendamine
Andmed vs. informatsioon
Andmed
• Kontekstita, organiseerimata faktid
• Näide: tudengi testitulemus arvuna.
• Sõna andmed tuleb ladina „datum“ – see, mis on antud
• Andmebaasis hoitakse andmeid
Informatsioon
• Kontekstiga, organiseeritud, töödeldud, andmetest saadud tulemused.
• Näide: Kursuse keskmine testitulemus.
• Informatsioon on interpreteeritud andmed.
• Heade päringutega saab andmetest informatsiooni
Metaandmed
• Andmed andmete kohta e. andmekirjeldused
• Andmebaasi aluseks on andmemudel e. andmete kirjeldus.
Andmebaaside teke
Muutused: palju seotud ülesandeid, samad andmed paljudele ülesannetele.
Oli: On:Andmed A jaoks Andmed B jaoks
Programm A Programm B
Andmed C jaoks
Programm C Arvuti Andmed
RakendusRakendus
Rakendus
Rakendus
Loengu lõpp