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
Andmebaas on korrastatud andmete kogum, mis võimaldab andmeid tõhusalt salvestada, otsida, muuta ja hallata. Andmeid saab andmebaasis korraldada erineval viisil. Näiteks relatsioonilistes andmebaasides hoitakse andmeid tabelites, mis koosnevad ridadest ja veergudest. Teist tüüpi andmebaasides võidakse andmeid esitada näiteks võti–väärtus paaride, dokumentide või graafidena.
Lihtsa tabelikujulise andmekogumi näitena võime ette kujutada õpetaja hinnete tabelit. Iga rida tähistab ühte õpilast ning veergudes on õpilase nimi ja erinevate tööde tulemused. Õpilase tuvastamiseks võiks kasutada nime, kuid tegelikus andmebaasis kasutatakse tavaliselt unikaalset identifikaatorit, sest mitmel õpilasel võib olla sama nimi. Semestri jooksul toimuvate kontrolltööde ja tunnikontrollide tulemused saab lisada tabelisse nii, et erinevate tööde hinded paiknevad eraldi veergudes.
Andmebaasides saab talletada väga erinevat tüüpi infot. Lisaks tekstile ja arvudele võivad andmebaasis olla näiteks kuupäevad, asukohad või viited piltidele ja videotele. Andmetega võivad kaasneda ka metaandmed ehk andmed andmete kohta. Näiteks filmi metaandmeteks võivad olla filmi pealkiri, žanr, ilmumisaasta ja režissöör.
Tänapäeval peame andmebaasidest rääkides silmas peamiselt digitaalselt hallatavaid andmekogumeid. Digitaalsete andmebaaside haldamiseks kasutatakse andmebaasihaldussüsteeme ehk DBMS-e (ingl Database Management System), mis võimaldavad andmeid lisada, muuta, kustutada ja otsida ning korraldada andmetele juurdepääsu. Tuntud andmebaasihaldussüsteemid on näiteks MySQL, PostgreSQL, MongoDB ja Oracle Database. Relatsiooniliste andmebaasidega töötamiseks kasutatakse enamasti SQL-i (Structured Query Language), mille abil saab muu hulgas määrata andmebaasi struktuuri ning andmeid lisada, muuta, kustutada ja pärida.
DBMS võimaldab näiteks järgmist:
- 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äsk loob tabeli nimega Hinded. Tabel koosneb veerust Nimi, kuhu saab sisestada kuni 100 märgi pikkuse teksti ja mille väärtus on kohustuslik, ning veergudest Kontrolltöö_1 ning Kontrolltöö_2, mis eeldavad sisendiks täisarvu. Lihtsuse huvides kasutame siin näidet, kus erinevate kontrolltööde tulemused on eraldi veergudes. Suuremas infosüsteemis korraldataks õpilaste, tööde ja tulemuste andmed tavaliselt mitmesse omavahel seotud tabelisse. - Andmete töötlemine. Pärast andmebaasi struktuuri määramist saame sinna andmeid lisada. Järgmine SQL-käsk lisab tabelisse uue rea õpilase Malle Maasika 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 kasutab enamik ettevõtteid oma tegevuses digitaalseid andmebaase või teenuseid, mille taustal töötavad andmebaasid. 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, võivad hakkama saada ka ilma eraldi digitaalse andmebaasita. Paljudel juhtudel on andmebaaside kasutamine ettevõtte töö korraldamiseks siiski väga oluline. 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 kiiresti kasvamas internetis ja infosüsteemides hoitavate andmete hulk. Seda tohutut andmete hulka oleks keeruline kasutada, kui seda ei korraldataks ja hallataks. Andmebaasid on üks peamisi vahendeid andmete korrastamiseks ja kasutamiseks. 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 > |