3. Kasutatava tarkvara võrdlus andmeohje aspektist Selle peatüki materjali põhiosa omandatakse praktiliste tööde käigus, samuti on selle kohta olemas ulatuslik ja mitmekesine eestikeelne kirjandus. Seetõttu siin pigem osutatakse, millele tähelepanu pöörata. Tuleb rõhutada, et detailides erinevad üksikud programmiversioonid üksteisest. Enamgi veel, sõltuvalt programmide häälestusest konkreetse kasutaja vajadustele, mallist (template) ja kasutuses olevaist pluginaist (add-in, plug-in) võivad erineda isegi sama versiooni eksemplarid erinevates arvutites või samas arvutis eri aegadel. 3.1 Lameda andmebaasi kasutamine MS Excel-i näitel. Ei tohi ära unustada, et arvutiga saab ka arvutada. Mugavaimad vahendid lihtsamate ja keerukamate arvutuste kirjeldamiseks, vajalike andmete koondamiseks, hoidmiseks ja arvutustulemuste mugavaks esitamiseks on tabelarvutussüsteemid. Tabeltöötlusele kulub umbes 1/3 kogu personalarvutite tööajast. Selliseid programme on mitmeid. Üheks esimeseks, kaheksakümnendate aastate kogu PC-tarkvara turu liidriks oli Lotus 1-2-3. Praegu on selleks Excel, Microsofti kontoritarkvara hulgas kõige tuntum ja populaarsem. Excel on arusaadav ja kasutatav ka algajale. Vilunud kasutajale pakub ta äärmiselt mugavaid võimalusi ja paindlikke lahendusi. Spetsialisti käes aga muudab ta sageli ülearuseks mitmedki programmeerimis- ja andmetöötlusvahendid. Enamik kasutajaist tunneb ja kasutab vaid murdosa Excelis olemasolevaid võimalusi ja sageli raisatakse hulk aega tööle, mis võtaks oskuslikul kasutamisel vaid mõne minuti. Kuigi Exceli tabeleid kasutatakse peamiselt arvutusteks tuleb küllalt sageli - eriti suurte tabelite puhul - ette ülesandeid, kus meil on vaja kasutada Exceli kui andmebaasisüsteemi võimalusi, selleks et vajalikke andmeid leida ja kasutada. Seni kuni me suudame oma andmed mahutada lameda andmemudeli raamidesse ning kirjete (tabeli ridade arv) ei ületa mõndkümmet tuhandet, on Excel parim vahend andmete haldamiseks. 3.1.1 Tabeltöötlusprogrammi üldine ülesehitus Exceli faili nimetatakse tööraamatuks (workbook), mis koosneb töölehtedest (worksheet). Viimased on tabelid, mis koosnevad nummerdatud ridadest ja tähtedega tähistatud veergudest. Rea ja veeru lõikekohas asub pesa e. lahter (cell), mille aadress koosneb veeru tähisest ja rea numbrist (näit. AA4). Lahtrites asuvad teatud tüüpi andmed, näiteks arvud, tekst, kuupäevad. lahtri või lahtriteblokiga võib olla seotud diagramm või mõni muu objekt (joonis, pilt, makro). Tabelites teevad põhitöö tabeli pesadesse sisestatud III.1
valemid, mille alusel arvutatakse lahtris oleva andmeelemendi väärtus (lahtri sisu). Arvutustes kasutatakse: konstante, teiste lahtrite sisu, funktsioone. Teistele lahtritele viitamine käib absoluutsete ja suhteliste aadressidega. Suhteline aadress (kirjutatakse näiteks B55) määratleb tabeli lahtrite omavahelist asendit ja muutub tabeli töötluse käigus. See võimaldab mugavat valemite kopeerimist Absoluutne aadress (vastavale koordinaadile kirjutatakse ette märk $, näiteks $B$55) määratleb tabeli lahtrite absoluutset asendit ja see ei muutu tabeli töötluse käigus. Absoluutne aadress võimaldab lahtri väärtuse kui konstandi kasutamist. Tuleb olla küllalt tähelepanelik, et neid aadresse segi ei aja! 3.1.2 Andmetabeli struktuur, sellele esitatavad nõuded Excel andmebaasifunktsioonid töötavad ainult sel juhul, kui töölehel olev andmestik moodustab andmetabeli - Exceli terminoloogias loetelu (list). Selleks peab: tabeli esimene rida sisaldama andmeväljade nimed lubataval kujul peavad asuma ühes lahtris, koosnema tähtedest, numbritest, tühikust või märgist '_', 1 tabelis ei tohi olla korduvaid andmeväljade nimesid; soovitav on mitte kasutada täpitähti, eriti võivad probleeme põhjustada ž, Ž, š, Š, Õ, õ, sest mõned tarkvarajupid ei loe neid tähtedeks; tabeli kõikide ridade struktuur peab olema ühesugune; tabel peab olema pidev (täiesti tühje ridu ei tohi olla). Kui andmetabel vastab esitatud nõuetele, siis suudab Excel mitmed andmeoperatsioonid teha automaatselt, sealhulgas tabeli omaduste automaatne redigeerimine uute ridade lisamisel. 3.1.3 Kasutatavad andmetüübid Vaikimisi kasutab Excel nn. üldist andmetüüpi (General), mille puhul lahtri sisu tõlgendatakse sisestamisel vastavalt programmi seadistusele antud hetkel. See on mõnes mõttes väga mugav ja mõnes mõttes väga tülikas - kui arvuti "arvab" valesti. Valearvamust saab muuta tüübi otsese määramisega. 1 Mitmed vanemad versioonid ja teised programmid ei luba tühikut ja pikemat väljanime kui 10 märki - seda peab silmas pidama eriti siis, kui tahetakse oma andmetabelit eksportida näiteks DBF-faili!) III.2
Näiteid: Sisestades tabelisse oma arvates arvu kaks koma neli kujul 2,4 ja püüdes sellele hiljem juurde liita teises lahtris olevat arvu 3, selgub treile, et Excel keeldub neid kokku liitmast. Põhjus on selles, et kümnendkoha eraldajaks on parajasti seatud ameerikapäraselt punkt ja 2,4 tõlgendatakse mitte arvuna, vaid kolme sümboli ( 2,, ja 4 ) jadana, millega aritmeetilisi tehteid teha ei saa. Teinekord tahate targem olla ja sisestate 2.4, arvuti aga teisendab selle automaatselt kujule 2-Apr, arvates, et tegemist on kuupäevaga. Selgub, et see arvuti on häälestatud eestipäraselt. Sisestades tabelisse teise kohta arvu 35 teisendub see hoopiski kujule 3,5 Põhjuseks on tingimus, et igas arvus loetakse viimane number automaatselt kümnendkohaks. Andmetüübid jagunevad kategooriateks (number, tekst, vääring, aeg, protsent jm.) ning tüüpideks. Viimatimainitud sõnaga tähistatakse tegelikult esitusformaati (näiteks kas kuupäev kujul '21-04-01' või '21. aprill' vm.). Oluline on tähele panna, et Exceli arvukäsitlus erineb näiteks Accessi või XBase'i omast, mis eriti andmete ekspordil nõuab tähelepanu. Olemas on ka andmekategooria 'Special', mis võimaldab tüübina määratleda telefoninumbreid, zip-koodi jms. Lõpuks kategooria 'Custom' lubab defineerida kasutajale vajalikke tüüpe, näiteks meil praktikumiülesandes aega kujul "h:mm:ss,s". 3.1.4 OLE Objects Linking and Embedding - objektide linkimine ja manustamine - on Microsofti tehnoloogia ühe rakenduse andmete lisamiseks teise rakenduse dokumenti. Sellisel viisil saab kasutada Excelis (või Accessis või PowerPointis või...) näiteks pilte, helindeid, videoklippe vms. - kõike, mida saab Excelis vaadelda objektina. Tavalisel objekti kopeerimisel side originaali ja koopia vahel katkeb, originaal ja koopia hakkavad elama "eraldi elu", samuti "ei tea" koopia midagi oma emaprogrammist. Objekti manustamisel pannakse tema koopia antud rakendusse nii, et see "teab" oma emaprogrammi ja on kasutatav (redigeeritav) selle vahendusel, kuid originaal ja koopia elavad "eraldi elu" - ühes tehtud muudatused ei kajastu teises. Objektide linkimisel koopiat ei tehta, antud rakendusse pannakse üksnes viit objektile. Kõik objektiga tehtavad muudatused "on näha" kõigis linki kasutavates rakendustes, kuid vajalik on pidev juurdepääs nii originaalile kui ka lähterakendusele. 3.1.5 Valemite koostamine Valemi tunnuseks on '=' märk lahtri alguses. Valemis kasutatakse: konstante viiteid lahtritele blokkide nimesid III.3
tehtemärke funktsioone Lubatud tehted on järgmised: liitmine (+) lahutamine (-) korrutamine (*) jagamine (/) astendamine (ˆ) ühendamine (&) Astendamise märgi saab eestikeelsel klaviatuuril, kui valida: CTRL-Alt-Ä, tühik =2*2&3*3 49 = kodu & loom koduloom 3.1.6 Funktsioonid Alul tuleks kasutada valemitarka (FunctionWizard), mis võimaldab valemeid sisestada interaktiivselt. 2 Eraldi nupu alt on võimalik seada summat. 3.1.7 Andmetabeli loomine Soovitav on enne aktuaalset andmete sisestamist määratleda andmetabeli struktuur, siis toetab ka arvuti mitmete vahenditega tabeli loomist. 3.1.8 Tekstikujuliste andmete import Andmetabelisse on võimalik andmeid importida välistest andmebaasidest (eeskätt Access-ist ja XBase-ist). Seda saab teha nii faili kaupa, kui kasutades päringuliideseid (... Query), mis võimaldavad välisandmebaasidest valida teatud andmeid. Kolmandaks võimaluseks on nõustaja, mis lubab struktureerida Excelisse tõmmatud tekstikujulist tabelit. 3.1.9 Andmete sortimine ja filtreerimine Tuleb tähele panna, et lõppkasutaja jaoks Excel ei indekseeri vaid sorteerib, seega mõnel juhul võib originaaljärjestus kergesti kaduma minna. Sortimine toimub lihtsaimal juhul selle tabeli välja alusel, mis on aktiivne. Tuleb vajutada vastavat (kasvav/kahanev) nuppu. Menüüst valitav Data/Sort... võimaldab sortida mitmel väljal ja muid täiendavaid tingimusi arvestades. Sortimise tulemused saab kirjutada ka eraldi tabelina. Mugavaks andmete filtreerimisviisiks on Autofilter. Iga andmeveeru autofilter on sõltumatu teiste ridade autofiltritest, seega iga lisatud autofilter toimib täiendava piiranguna. 2 Funktsioonide sisust annab ülevaate ka vastav eestikeelne raamat: Sarv, Henn. Excel 7.0 ( 95) Funktsioonid. - Tallinn: IT Koolitus,1996, 218 lk. III.4
3.1.10 Keerukas (advanced) filter Keerukamad filtreerimistingimused tuleb esitada päringutena. Kasutatakse QBE päringukeelt. Päringud kirjutatakse samuti kuhugi tööleh(ted)ele. Keerukad päringud on vajalikud eriti siis, kui filtreerimisel on vaja arvestada andmeväljade vahelisi seoseid (näiteks: leia read, kus veeru C väärtus on suurem kui A ja B veeru väärtuste summa). 3.1.11 Kokkuvõtted Andmetabelites on võimalik teha vahekokkuvõtteid. Selleks tuleb read vajalikul viisil järjestada vastavalt sellele, milliste gruppide lõikes vahekokkuvõtteid soovitakse. Seejärel valida. Data/Subtotals... 3.1.12 Liigendtabelid Liigendtabel (Pivot Table) on suurtest andmehulkadest ülevaadete koostamise efektiivne vahend, mis võimaldab luua risttabeleid (objektide jaotus valitud tunnuste alusel, näiteks kui üliõpilaste andmetabelis on lõputööde juhendajad ja lõputööde hinded, siis risttabel hinnete jaotusest juhendajate vahel) ja neid paindlikult liigendada. 3.1.13 Andmete kasutamine graafikute ja teemakaartide loomiseks (MicroSoft Map) Graafikutüüpe on Excelis päris palju (vanemas versioonis 14 tüüpi, pluss nende paljud variatsioonid) ja tuleb muudkui juurde. Vaja on leida oma mõttele ja andmetele adekvaatne vorm. Alustada on hea joonisetargaga. DataMap (Office 97-s kannab ta nime Microsoft Map) on üks Exceli lisandmoodulitest, mis on olemas alates versioonist 7 ja mis tuleb eraldi installeerida. Aluseks on tuntud geoinformatsioonisüsteem MapInfo, mille ruumiandmete visualiseerimiseks DataMap ongi. Seda võib mõista nii, et kontuurkaardid peavad olema varem MapInfos valmis tehtud ja Excelisse installeeritud, neid värvida (ja kartodiagramme teha) saab aga oma andmete põhjal. Eestikeelne DataMapi lühitutvustus on toodud ka EGCD Kaardi-Jutsi taseme vastavas allosas Microsoft Map (vt. http://www.geo. ut.ee/kooligeo/egcd/opik/juts/juts.html). III.5
3.2 Andmete kasutamine tekstitöötlusprogrammis MS Word 3.2.1 Paar sõna programmist MS Word on küllap kõige sagedamini kasutatav arvutiprogramm. Algajate sagedaseks veaks on see, et nad ei tunne ei arvuti, ei operatsioonisüsteemi ega ka Wordi töö üldisi põhimõtteid ning seetõttu kipub see, mida nemad tahavad teha, ja see, mida "arvuti tahab teha", minema mitte ühes suunas, vaid pigem vastakuti. Peamisi konfliktikohti võiks välja tuua kolm: tekstile lähenetakse "masinakirjutaja vaatevinklist", püüdes iga asja kui erandit igal konkreetsel juhul käsitsi jäigalt paika panna, samal ajal kui programm ootab reegleid, kuidas käituda üht või teist liiki teksti osadega, ja määratlemist, millega on ühel või teisel juhul tegemist; tekstist - programmi arusaama kohaselt - suvaliste juppide kustutamine või teisaldamine ajab dokumendi struktuuri sassi, nii et mõnikord on isegi kogenud kasutajal raskusi aru saada, miks Word mõne pisiasja tõttu (näiteks ühe tühja rea kustutamine) kogu dokumendi "segi keerab"; mujalt (teisest arvutist või teise tekstitoimetiga loodud) pärinevate tekstide impordil asendatakse puuduvad asjad "millegi muuga" - see asendamine on sageli raskesti kontrollitav (Options/Compatibility all on vaid väike osa) ja nii mõnigi kord tuleb halbade üllatuste vältimiseks üle tuua üksnes "puhas tekst". Kokkuvõtlikult võib öelda nii: Word on väga hea ja lihtne programm, kui Te kasutate seda vaid ühes (oma) arvutis uute tekstide loomisel ja lasete tal kõike teha vaiketingimustega ("nii nagu on kombeks"). 3.2.2 Tekstidokumendi struktuur Tekstidokumendil on Wordis oma kindel struktuur. Kui kasutaja seda järgib, siis on töö toimetiga kõige efektiivsem. Samad struktuuriosad peaksid olema vormistatud ühtmoodi - ühes stiilis. Stiilide sisu on kirjas dokumendimallis (kuid kuidas programm nende mallidega käitub, on väga kergesti muudetav) ja määratakse vorminduspaneeli (Formatting) vastavast aknast (asub tavaliselt ülal vasakul). Peamised struktuuriosad on: pealkirjad nende defineerimine võimaldab automaatselt koostada sisukorda ja töötada liigendusvaates (Outline View); probleeme võib tekkida numereerimisstiilide segiminekutega; kas saadu vastab soovitusele, saab kontrollida, lülitades sisse dokumendi plaani (View/Document Map); III.6
päised ja jalused saab lisada mitmesuguseid asju (vt. käesolev konspekt), kuid segadusi võib tekkida sektsioonide vahetumisel; sektsioonid dokument jaguneb sektsioonideks (section), mis võimaldab kasutada eri sektsioonides erinevat vormingut; sektsioon on programmi jaoks kõige tähtsam tekstiliigendus üksus, kuid pahatihti kasutaja, eriti algaja, ei taju sektsioonide olemasolu, sest teatud tingimustes tekivad nad "ise" ja teatud dokumendiosade kustutamisel muutub allesjäänu vorming (tüüpiline on, et kui sektsioonid paiknevad järjekorras 1-2-3, siis 2. sektsiooni kustutamisel omandab kogu allesjäänud tekst 3. sektsiooni vormingu); sisukord ja indeks need tuleks lasta genereerida programmil endal; esmakordne moodustamine on tülikas, kuid edaspidi kajastatakse kõik muudatused automaatselt; tabelid need on versioonist versiooni keerukamaks muutuvate vahenditega loodavad tekstidokumendi allosad, mille kohta eriti kehtib eelmises alljaotuses toodu parandamiste, kopeerimiste jms. võib esialgse tabeli kiiresti väga sassi ajada; soovitav on tabeleid muuta võimalikult vähe ja ainult süsteemsete vahenditega; vana parandamise asemel on sageli lihtsam teha uus; pildid, tekstikastid, OLE jm. objektid põhiprobleemid tekivad küljendamisel, palju sõltub sellest, kuhu ja kuidas on objekt ankurdatud; tuleb tähele panna, millal on linkimine, millal manustamine, millal kopeerimine; kopeerimise puhul oleneb programmi käitumine kopeeritava objekti failiformaadist, mõnikord saab sobivat tulemust valida Paste Special... abil. Näiteks ülaloleva illustratiivse näite puhul, kus lähteallikas on tavaline rasterpilt, tuleks valida lollikindel väljundseadmest sõltumatu bittraster, sest objektiks olek ei anna võimalusi juurde, küll aga võib tekitada segadusi. Kui valida kõrvaküljendusvariant "teksti vahele paigutatuna ( ), siis vaadeldakse pilti kui ühte tähte; joonised (drawings) graafikaelemendid, mis luuakse Wordi enda vahenditega ja mis ei ole teksti osad, vaid "ujuvad" omaette kihtidel (ees- ja tagajooniste kihil); küll saab neid aga teksti osade külge ankurdada; III.7
nende omavahelise laialivalgumise vältimiseks on väga oluline koostisosade grupeerimine; arvukalt on olemas nn. lõikepilte (clip art), mida saab kasutada oma jooniste tegemisel; andmeväljad need on tekstis olevad programmikäsud, mille sisu arvutatakse (uuendatakse) dokumendi väljastamisel (või vastava korraldusega), näiteks leheküljenumbrid, kuupäevad; võimaldavad väljastada muutuvat teksti, mille sisu sõltub etteantud tingimustest. 3.2.3 Dokumendimallid kui kasutajavaated Dokumendimall on nii toorikdokument (sisaldab stiilid, lehekülje parameetrid, põhimõtteliselt ka piiramatu hulga tekstielemente, k.a. pildid, raamid jms.), kuid sisaldab ka kasutajakeskkonna: makrod, nupuribad, klahvikombinatsioonid, muudatused menüüs, automaattekstid. Vaikimisi kasutatav on normal.dot, kuid kasutaja võib luua ja salvestada ka oma kasutajavaateid, näiteks "palvekiri", "uusaastatervitus", "loengukonspekt"; suur hulk, kuigi ameerikalikke, on neid ka Wordi endaga kaasas. Kui kustutada ära normal.dot, siis käivitamisel genereerib Word selle uuesti, kasutades talle sisseprogrammeeritud vaikeväärtusi; see on lihtsaim viis vabaneda makroviirustest. 3.2.4 Andmetabelid - kas koostada, linkida või manustada Sõltub eesmärgist. Kui väljund peaks olema paberile trükitud klaarkoopia, eriti kui trükkijaks on keegi kusagil mujal, peaks eelistama koostamist. Linkimine. Microsofti trend on selles suunas, et üha enam integreerida erinevaid vaatamisvahendeid, eriti Windows Explorer ja Internet Explorer omavahel ja teiste Office'i programmidega kokku segada. Samas arvutis ja eriti sama kasutaja keskkonnas töötab see päris kenasti, sellise arvutiklassi tingimustes nagu meie 332 tuleb sellest aga üksnes häda ja viletsust. Manustamine annab põhiplussina võimaluse tabelit Exceli vahenditega toimetada (ka Word ise lubab arvutada, EPMÜ mehed teevad isegi projektsiooniarvutusi), mis on oluline siis, kui meil on tabelis sõltuvaid lahtreid. 3.2.5 Automatiseeritud kirjakooste Üks praktikas küllalt sageli kasutamist leidev tekstitoimeti ja andmebaasi "koostöö" on suure hulga kirjade III.8
koostamine (kirjakooste), misjuures osa kirja sisust (ja tavaliselt ka aadressid) võetakse automaatselt andmebaasist. Kirja peale kleebitavate aadresside trükkimine (aadressmärgi kooste) ongi teine laiemalt kasutatav rakendus. Mõnikord trükitakse aadressid ka otse ümbrikele (ümbrikukooste). Üldnimena kasutatakse mõnikord mõistet hulgipostitus, kuigi arvuti muidugi midagi posti ei pane. Ülesanne on põhimõtteliselt lahendatav ka näiteks MS Accessi väljatrükivormidega. Kirjakooste jaoks on tarvis koostada kaks dokumenti tüüpkiri ja koostebaas. 3.2.6 Koostebaasi loomine ja kasutamine Koostebaasiks võib olla nii Wordi kui Exceli andmetabel või mistahes MS Office'i poolt aktsepteeritav lame andmebaas, mille eesmärgiks on sisaldada andmeid iga kirja jaoks vajalike tekstide indentifitseerimiseks (näiteks kirjad koostatakse ainult nendele isikutele, kelle puhul väli SALDO on negatiivne) ja tavaliselt ka suurt hulka vajalikke andmeid (võlglase nimi, aadress, võla suurus jm.). 3.2.7 Tüüpkiri (kasutajavaade) ja selle koosteväljad Tüüpkiri on Wordis koostatav spetsiaalne kirjakooste alusdokument, mis sisaldab lisaks tavalisele tekstile (see saab siis korduma kirjast-kirja muutumatul kujul) veel: viiteid koostebaasi väljadele (merge fields), misläbi nende kohtade sisu saab muutuma kirjast-kirja; tingimuslikke ja arvutatavaid välju (Word fields), näiteks {IF<tingimus> <TEXT1> <TEXT2>}, mis tähendab, et kui täitmise hetkel arvutatav tingimus on tõene, siis lisatakse konkreetsesse kirja TEXT1, kui väär siis TEXT2. 3.2.8 Koostebaasi sidumine tüüpkirjaga Tüüpkirja ja koostebaasi ühendamise ehk kooste (operatsioon Merge) tulemusena luuakse etteantud hulk (kui piiravaid koostetingimusi pole, siis koostebaasi tabeli ridade arvule vastav) konkreetseid kirju. Kooste on ühekordne operatsioon, s.t. kirjad moodustatakse vastavalt etteantud tüüpkirjale, koostebaasile ja koostetingimustele. Neid saab vajadusel muuta ja kirjakoostet korrata. III.9
3.3 Relatsioonilise andmebaasi loomine ja kasutamine MS Access-i vahenditega 3.3.1 Üldine ülesehitus, nõustajad Microsoft Access võimaldab andmeid kirjeldada nende sisulist kokkukuuluvust arvestades. Andmetabeleid on võimalik omavahel siduda ja kasutada andmeid paljudest tabelitest korraga. Tabelite sidumine võimaldab andmete paremat säilitamist ja paindlikumat toimetamist, realiseerides seega andmebaasidele omaseid funktsioone. Programm on orienteeritud kasutajale, kes ei ole andmebaaside spetsialist. Lihtsad operatsioonid on lihtsasti tehtavad, võimalus on kasutada tarkade (wizards) abi, kaasas on rida näidiseid, mida saab oma tarbeks modifitseerida. Ta võimaldab ilma programmeerimata teha rohkem kui ükski teine DBMS. Hea on ühilduvus teiste MS Office i programmidega, näiteks Exceliga (lisades vastava laiendmooduli Excelile, on võimalik seal töötada Accessi ekraani- ja väljatrükivormidega; Access loeb ka Exceli faile). Siiski ei ole asi nii probleemitu, sest Exceli andmekäsitlus ei vasta üksüheselt Accessi omale. Tuleks vältida muude andmebaaside viimist Accessi läbi Exceli, vaid teha seda otse! Access suudab otseselt kasutada (koos indeksfailidega) ka dbase i ja FoxPro tabeleid. Viimased on senimaani kõige levinumad andmebaaside failiformaadid. Halvaks küljeks on see, et Accessi erinevate versioonide formaadid ei ühildu, mõnikord on ka konverteerimisega probleeme. Accessi andmebaas on konteinerfail (laiendiga.mdb), mis võib sisaldada järgmist tüüpi objekte: tabelid (tables) päringud (queries) (ekraani)vormid (forms) (trüki)aruanded (reports) makrod (macros) programmimoodulid (modules). Korraga saab töötada ainult ühe andmebaasiga, konteinerfaili füüsilisele struktuurile kasutaja ligi ei pääse (näiteks ei saa kasutada korraldust Save as...). Andmebaasi suurust piirab praktiliselt ainult kõvaketta maht. 3.3.2 Andmetabelid, nende struktuur ja omadused Andmetabelid koosnevad väljadest ja kirjetest. Tabelid pole ette nähtud niivõrd andmete vaatamiseks, kuivõrd andmete hoidmiseks. Vaatamiseks kasutatakse päringuid, mille tulemused esitatakse ühe või teistsuguses tulemivaates. III.10
Tabelid sisaldavad ühiseid andmevälju, mis võimaldab nende ühendamist. Soovitav on, et igal tabelil leiduks üks primaarvõti - väli, mille väärtus üheselt identifitseerib iga kirje. Tavaliselt kasutab Access sellena kirje järjekorranumbrit. 3.3.3 Andmetüübid, nende omadused Igal tabeli andmeväljal (veerul) on kindlad omadused, mida iseloomustavad: väljanimi võivad koosneda mitmest sõnast, sisaldada eesti täppidega tähti; pikkus kuni 64 sümbolit välja tüüp: Tüüp Sisu Pikkus Tekst Sümbolid kuni 255 baiti Memo Sümbolid kuni 32000 baiti Number Täis- või murdarvud 1,2,4 või 8 baiti Kuupäev/aeg Kuupäevad ja kellaajad 8 baiti Raha Rahasummad 8 baiti Loendaja Kirjete järjekorranumbrid 4 baiti Jah/Ei Loogilised väärtused 1 bitt OLE objekt Graafikud, pildid, helid või kuni 1 GB muud binaarfailid välja kirjeldus kirjeldus kuni 64 sümbolit (väljastatakse teadetereale näiteks juhis välja täitmiseks) välja omadus Omadus Field size Format Decimal Places Input Mask Caption Default value Validation Rule Validation Text Required Allow Zero Lenght Indexed Mida määrab Teksti- või numbrivälja pikkuse Kuidas andmeid kuvatakse Kümnendkohtade arvu pärast koma Kuidas andmeid tuleb sisestada Välja nimetus, mida kasutatakse vormidel ja aruannetel Vaikeväärtus Kontrollimiseeskiri andmete sisestamisel Veateade sisestusvea korral Kas väli peab olema täidetud Kas nullpikkusega stringid on lubatud Kas välja sisu kasutatakse indeksina Numbrite vormingud: standard (kaks kümnendkohta) currency (lisatakse rahaühik) III.11
fixed (ümardatakse lähima täisarvuni) percent (korrutatakse sajaga) scientific (esitatakse poollogaritmilisel kujul) Numbrite pikkused: byte (arvud 0-255) single (±3,4*10 38 ) double (±1797*10 308 ) integer (±32768) long integer (±2147483648) Kümnendkohti võib olla single puhul 7, double puhul 15. 3.3.4 Tabelite seostamine Relatsioonilise andmebaasi "selgrooks" on tabelite seostamine, sest käsitletav valdkond on tavaliselt kirjeldatud paljude tabelitega. Accessis saab seoseid interaktiivselt luua ja graafiliselt näha. Seose tüüpi saab määrata otse ja kaudselt. 3.3.5 Andmete sisestamine ja muutmine Uusi andmeid saab muidugi toksida ka otse Accessi andmetabelitesse, kuid tavaliselt kas imporditakse üksikuid andmetabeleid, mida siis toimetatakse ja integreeritakse teiste andmebaasi osadega või luuakse spetsiaalsed sisestusvormid, mis on sisestajale sobivad kasutajavaated. 3.3.6 Päringute koostamise erinevad viisid Vajalike väljade kättesaamiseks keerukama reegli alusel tuleb koostada päring. Selle moodustamiseks on Accessis kasutada päringutark või eraldi päringu koosteaken (design view). Päring salvestatakse omaette failina, mis võimaldab päringut hiljem korduvalt kasutada. Päringu tulemusi endid ei ole võimalik kirjutada omaette tabelisse, vaid saab üksnes eksportida. Päringute abil: valitakse vajalikud tabelid, neist vajalikud väljad ning viimaste järjestus väljundtabelis; valitakse antud tingimustele sobivad kirjed; sorditakse kirjed; ühendatakse mitme tabeli väljad ühte väljundtabelisse vajadusel grupeeritakse kirjed; arvutatakse summad, keskmised jms. iga grupi kohta; koostatakse aruanded ja liigendtabelid, mis sisaldavad ainult valitud kirjeid; koostatakse diagrammid; loetakse eemal asuvast andmebaasist vajalikud andmed. III.12
3.3.7 Disainivaade Tarkade (viisardite) kasutamise asemel on paindlikumaks viisiks kasutada nn. disainivaateid: tabelite, päringute, ekraanivormide ja väljatrükivormide koosteaknaid, kus on võimalik (samuti interaktiivselt nagu tarkadegi puhul, aga enamasti mitte piiratuna paarist alternatiivist) seada vastavaid tingimusi. 3.3.8 SQL Lisaks tulemi- ja disainivaatele on päringute puhul kasutatav ka SQL-ivaade, kus saab tulemust vaadata, parandada ja ka päringut ette anda SQL-is. Kuna SQL on peamine päringukeel erinevates andmebaasides, siis peaks teadma selle peamisi Accessis ette tulevaid võtmesõnu ja nende kasutamist: SELECT [ALL DISTINCT] <atribuutide loend: resultaadid> FROM <tabelite loend: algandmed> [<alias>] WHERE <tingimus: loogiline avaldis, mis näitab, kuidas andmeid tabelite ridadest valida ning kui - andmeid valitakse mitmest tabelist - kuidas need tabelid on omavahel seotud> [AND <tingimus>] GROUP BY <andmeväljade loend: nende alusel grupeeritakse väljundtabeli read> HAVING <filtertingimus: eelpool toodule vastavast väljastatakse vaid need kirjed, mis rahuldavad filtertingimust> ORDER BY <välja nimi> [ASC DESC] <,välja nimi [ASC DESC]> Mõned kommentaarid Vaadeldav oli vaid näitena käsitletav (väike osa) SQL keele süntaksist SQL keele konkreetsed rakendused hälbivad tema teoreetilisest mudelist vähem või rohkem, seetõttu ei saa sellekeelseid keerukamaid päringuid mehhaaniliselt ühest andmeohje tarkvarast teise üle kanda erinevused on tingitud sageli ka praktilistest kaalutlustest, sest mitte kõik teoreetiliselt elegantsed konstruktsioonid ei ole praktikas head, kui tegemist on suurte andmemahtudega SQL on küllalt kergesti loetav ja toimetatav; kui arvuti on päringu juba kokku pannud, saab seda mugavasti kasutada šabloonina. Näide: Loetle kauba koodid (PNO), kirjeldused ja summeeri müüdud kogused ja summad nende kaupade kohta, mida on müüdud rohkem kui 50 tükki SQL päring Accessis: SELECT Detail.pno, Parts.descript, SUM(Detail.qty),; SUM(Detail.qty*detail.price); FROM Detail, Parts; WHERE Parts.pno = Detail.pno; III.13
GROUP BY Detail.pno; HAVING SUM(Detail.qty) > 50 3.3.9 Risttabelid Nagu ka Excelis, kuid tunduvalt vähem paindlikult on võimalik luua risttabeleid. Praktiline soovitus oleks siiski see, et koondada päringuga kõik sellise risttabeli jaoks vajalikud andmed ühte lameda andmebaasina käsitletavasse tabelisse, eksportida see Excelisse ja analüüsida seal. 3.3.10 Ekraanivormid Need on lõppkasutaja peamiseks viisiks suhelda andmebaasiga. Sisestusvormi puhul saab kasutada mugavaid rippmenüüsid ja nuppe, abiinfot, sisestatavate andmete kontrolli (näiteks sünniaja ja isikukoodi vastavus), andmete osaliselt automatiseeritud sisestust (andmeväljadesse pakutakse eelmise kirje vm. vaikeväärtusi). Ekraanivormil on tavaliselt ka muutumatut, andmebaasides mittetalletatud teksti või illustratsioone (alapealkirjad, firma logo vms), samuti saab osa vajalikust infost esitada graafiliselt (näiteks kui päringu objektiks on linn, siis saab iga linna rahvusliku, vanuselise vm. struktuuri esitada diagrammina. 3.3.11 Aruanded Aruanded on väljatrükile optimeeritud väljundvorm (tšekid, kviitungid, arved, tabelid jm.). Seetõttu püütakse aruanded teha kokkuvõtlikud. Kui tavaliselt koostatakse ekraanivorm printsiibil "üks eksemplar ühele vaate leheküljele", siis aruande puhul koostatakse ta tavaliselt printsiibil "üks aruande rida ühe eksemplari kohta". Muus osas kehtib eelöeldu suurel määral ka aruannete kohta. 3.3.12 Andmevahetus teiste programmidega Seda ei saa teha mitte kogu konteinerfailiga, vaid selleks tuleb kasutada import ja export korraldusi üksikute andmebaasi koostisosade kaupa tüüpiliselt importida tabeleid ja eksportida päringu tulemusi. Andmebaaside muid koostisosi on võimalik vahetada ka erinevate Accessi failide vahel, näiteks Accessi mõnedesse vanematesse versioonidesse konverteerimiseks on see ainus võimalus. 3.3.13 Näidisandmebaas ja -päringud Õppimiseks ja harjutamiseks on Accessil kaasas väikefirmat Northwind iseloomustav näidisandmebaas 3, mille kohta on palju õppematerjali, k.a. enamus eestikeelseid õpikuid. Lisaks sellele kasutame praktikumides ka teisi andmebaase. 3 tavaliselt kättesaadav kataloogist näidiste kaustast ( \Program Files\Microsoft Office\Office\Samples) vms. Vajadusel pöörduda õppejõu poole. III.14
3.3.14 Oma andmebaasi loomine ja disainimine Kursuse tulemusrikka läbimise oluliseks koostisosaks on oma andmebaasi loomine ja disainimine Accessis. Sellega tegeleme praktikumides, nii et need, kes usinasti praktikumides käivad ja iganädalast iseseisva töö aega kasutavad, saavad selle kevadeks valmis. Senine praktika näitab, et parimad tulemused on neil, kes tegelevad oma andmetega omale vajaliku ülesande lahendamisel. Probleemiks võib olla see, et lame andmebaas ei rahulda (Exceli andmetabeli Accessi toomine ja tükeldamine, et ta päringuga jälle kokku panna. III.15