Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi informaatika didaktika töörühm
< eelmine | 3. OSA sisukord | järgmine > |
3.3 Silmaring. Andmebaasid
Andmebaasideks nimetatakse struktureeritud ehk korrastatud andmete kogumeid. Andmebaasid ise võivad olla struktureeritud või struktureerimata. Kõige lihtsamal kujul saame andmebaasiks pidada andmete hulka, mis on jagatud paaridesse, kus ühte elementi nimetatakse võtmeks ja teist elementi väärtuseks. Näiteks võime ette kujutada paberilehte, kuhu õpetaja on kontrolltöö järel kirjutanud õpilaste tulemused. Sel juhul oleks võtmeteks õpilaste nimed ning väärtusteks nende hinded. Nimed paberil saavad olla järjestatud tähestikuliselt, et õpilane leiaks oma hinde kiiremini üles. Semestri jooksul võib aga toimuda mitmeid kontrolltöid ja tunnikontrolle. Õpetaja saab lisada samale paberile kõikide tööde hinded, eristades erinevaid kontrolltöid ja tunnikontrolle tulpade abil. Niiviisi saame me tabeli, mis koosneb ridadest – iga rida tähistamas ühte õpilast ja tema hindeid – ning tulpadest – iga tulp tähistamas ühte kindlat tööd.
Andmebaasidena saame käsitleda ka üksikuid faile arvutis. Näiteks koosneb filmifail kaadritest, mis on järjestatud vastavalt ajahetkele filmis, mil neid kaadreid kuvatakse. Lisaks võib filmifail sisaldada metaandmeid (andmeid andmete kohta), ehk lisainformatsiooni filmi kohta nagu žanr, ilmumise aasta, režissöör jne.
Tänapäevases arvutite keskses maailmas peame me andmebaasidest rääkides silmas peamiselt andmekogumeid, mis asuvad arvuti salvestusseadmel. Digitaalsete andmebaaside haldamiseks on loodud erinevaid rakendusi, mis võimaldavad kasutajatel andmebaasi andmeid lisada, sealt andmeid kustutada, otsida jne. Tuntuimad andmebaaside haldamise programmid ehk DBMS-id (ingl Database Management System) on MySQL, PostgreSQL, MongoDB ja Oracle. Andmebaaside haldamiseks kasutatakse spetsiaalseid arvutikeeli, millest levinuim on juba varasemalt tutvustatud SQL.
DBMS võimaldab järgnevat:
- Andmebaasi struktuuri määramine. See on esimene samm andmebaasi loomisel. Määratakse andmete tüübid (tegemist võib olla tekstiga, arvuga, kuupäevaga jne), andmete omavahelised seosed, andmete kuuluvus, kas andmeelemendi mingi omadus ehk parameeter on kohustuslik või mitte ja muu. Eelnevalt mainitud hinnete tabeli saame luua järgneva käsuga SQL keeles:
CREATE TABLE Hinded (Nimi varchar(100) NOT NULL, Kontrolltöö_1 int, Kontrolltöö_2 int)
Käsklus loob tabeli nimega Hinded. Tabel koosneb tulbast Nimi, mis on kohustuslik ning eeldab kuni 100 tähte pikka teksti, ning tulpadest Kontrolltöö_1 ning Kontrolltöö_2, mis eeldavad sisendiks täisarvu. - Andmete töötlemine. Olles määranud andmete struktuuri, saame nüüd andmebaasi andmeid sisestada. Järgnev SQL käsklus lisab tabelisse uue rea õpilase Malle Maasikas kontrolltööde tulemustega:
INSERT INTO Hinded (Nimi, Kontrolltöö_1, Kontrolltöö_2) VALUES (‘Malle Maasikas’, 30, 45)
- Andmete pärimine/otsimine. Saame loodud tabelist otsida andmeid, sisestades, mis informatsiooni me otsime, ning mis tingimustele tagastatavad andmed vastama peavad. Järgnev SQL käsk tagastab kõikide õpilaste nimed, kes said teises kontrolltöös rohkem kui 40 punkti:
SELECT Nimi FROM Hinded WHERE Kontrolltöö_2 > 40
- Liigipääsu kontroll andmetele. Saame määrata, mis tegevusteks on erinevatel kasutajatel õigused. Näiteks hinnete tabeli puhul oleks mõistlik, kui iga õpilane näeks vaid iseenda hindeid ning ei saaks neid muuta, samas kui õpetaja või klassijuhataja saaksid ligipääsu kõikide õpilaste hinnetele.
Lisaülesanne: SQL-päringute kirjutamist saab harjutada siin. Erineva raskustasemega ülesandeid saab valida, vajutades lehekülje üleval vasakul nurgas olevat nuppu. Käsu jooksutamiseks tuleb vajutada nuppu või kasutada ctrl + enter klahvikombinatsiooni.
ANDMEBAASID PRAKTIKAS
Tänapäeval suudavad ilma digitaalsete andmebaasideta opereerida vaid kõige väiksemad ettevõtted. Näiteks tillukesed pagariärid, kes võtavad vastu ainult sularaha ning kellel on kliente piisavalt vähe, et kõik müügitehingud on võimalik märkmikusse käsitsi kirja panna. Muudel juhtudel on korraliku andmebaasi loomine ettevõttele hädavajalik. Andmebaasid leiavad kasutust näiteks veebipoodides nagu eBay või Amazon, seejuures saame nende andmeid kirjeldada objektidena (toode, müüja, ostja, kuller, laotöötaja) ning nende objektide vaheliste relatsioonide või tegevustena. Näiteks müüja paneb müüki toote. Ostja tellib toote. Müüja teavitab ostjat edukast tellimusest. Laotöötaja pakendab toote. Kuller transpordib toote ostjale.
Elame maailmas, kus järjest enam teenuseid on kolimas arvutisse ning seetõttu on eksponentsiaalselt kasvamas internetis asuva informatsiooni ehk andmete hulk. See tohutu andmete hulk oleks aga väärtusetu, kui see ei oleks organiseeritud andmebaaside abil. Seega pakub andmete haldamine palju häid karjäärivõimalusi. Näiteks on võimalik saada andmebaasi arhitektiks, kelle ülesanne on disainida kergesti kasutatavaid ning tõhusaid andmebaase. Samuti saab õppida tarkvara arendajaks, kelle ülesanne on luua rakendusi ning liideseid, mis andmebaasidega suhtlevad. Tööd leidub ka andmeteadlastele ja analüütikutele, kes püüavad andmeid analüüsida ning tuvastada huvipakkuvaid mustreid. Näiteks aktsiahindade ennustamine või poes müüdavate toodete nõudluse ennustamine vastavalt aastaajale.
Siin saate rohkem tutvuda erinevate IT ametite ülevaatega.
ALLIKAD
- https://et.wikipedia.org/wiki/Andmebaas
- https://www.sql-practice.com/
- https://startit.ee/it/ametiprofiilid/
Materjali koostas Karolina Samasev. Täiendatud ja kohendatud kursuse korraldajate poolt.
< eelmine | 3. OSA sisukord | järgmine > |