LibreOffice Base - TIetokantaohjema

Samankaltaiset tiedostot
OpenOffice.org Base 3.1.0

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Muistitikun liittäminen tietokoneeseen

Ryhmäkirjeen hyödyntäminen

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Google-dokumentit. Opetusteknologiakeskus Mediamylly

OpenOffice.org Impress 3.1.0

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

Ksenos Prime Käyttäjän opas

SELECT-lauseen perusmuoto

Valitse aineisto otsikoineen maalaamalla se hiirella ja kopioimalla (Esim. ctrl-c). Vaihtoehtoisesti, Lataa CSV-tiedosto

Webpalvelin muistitikulle - Ohje

GEOS 1. Ilmastodiagrammi Libre Office Calc ohjelmalla

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Sähköposti ja uutisryhmät

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

TAULUKON TEKEMINEN. Sisällysluettelo

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Siirtyminen Outlook versioon

Tietosuoja-portaali. päivittäjän ohje

2. Paina hiiren oikeaa näppäintä, pääset valikkoon. Valitse Lisää, tyhjä sarake ilmestyy aktivoidun sarakkeen eteen

Kansion asetusten muuttaminen Windows 2000 käyttöjärjestelmässä Resurssienhallinnan kautta

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

Pikaohjeita OneNote OPS:in käyttäjille

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

MultiSave - käyttö ja käyttöönotto

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

Office 365 palvelujen käyttöohje Sisällys

Visma Fivaldi -käsikirja MiniCRM

TIMMI-TILAVARAUSOHJELMISTO

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Hittitoimiston Forte-kotisivujen päivitysohje

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tulorekisteri: Vakuuttamisen poikkeustilanteet Visma Fivaldi

Pikaohje formaatin valmistamiseen

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Uuden työtilan luonti

Tervetuloa käyttämään ehopsia

Ohje. ipadia käytetään sormella napauttamalla, kaksoisnapsauttamalla, pyyhkäisemällä ja nipistämällä kosketusnäytön

HRTM58. Windows 10 Resurssienhallinta

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

YH1b: Office365 II, verkko-opiskelu

SYDÄN-HÄMEEN RASTIT TULOSPALVELUN OHJEET v.2 1. LAITTEISTO 2. LAITTEISTON VALMISTELU 3. VALMISTELUT ENNEN TAPAHTUMAA

MICROSOFT EXCEL 2010

Skype for Business pikaohje

Relaatiomalli ja -tietokanta

Opintokohteiden muokkaus

ADMIN. Käyttöopas 08Q4

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Uutiskirjesovelluksen käyttöohje

Kirjan toteutus BoD easybook -taittotyökalun avulla

E-RESULTS LITE -OHJEET

Selkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.

Ajoneuvotietopalvelun käyttöohje Päivitetty

Palaute. Asetukset: Nimeä palaute ja kirjoita kuvaus tai ohjeet.

SQL - STRUCTURED QUERY LANGUAGE

Toimittajaportaalin pikaohje

SQL Buddy JAMK Labranet Wiki

4 Google. Eetu Kahelin ja Kimi Syrjä DAT 17

Helsingin yliopisto WebOodi 1 Opiskelijarekisteri Versio 3.2. Tenttityökalu

Basware Supplier Portal

Uuden Peda.netin käyttöönotto

Opetussuunnitteluprosessi WebOodissa - OpasOodi

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

Autentikoivan lähtevän postin palvelimen asetukset

Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö

Suvi Junes Tampereen yliopisto / Tietohallinto 2012

Webmailin käyttöohje. Ohjeen sisältö. Sähköpostin peruskäyttö. Lomavastaajan asettaminen sähköpostiin. Sähköpostin salasanan vaihtaminen

Send-It ilmoittautumisjärjestelmä (judotapahtumat Suomessa)

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Osaamispassin luominen Google Sites palveluun

zotero

Artikkelin lisääminen

Taulukot, taulukkoryhmät Sisällysluettelo

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016

Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7


ARVI-järjestelmän ohje arvioinnin syöttäjälle

Suvi Junes Tampereen yliopisto / Tietohallinto 2013

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Tekstinkäsittelyn jatko KSAO Liiketalous 1

CISS Base Excel raporttien määritys Käyttäjän käsikirja. CISS Base Käyttäjän Käsikirja Econocap Engineering Oy 1

CAMI Havaintotaidot -harjoitusohjelman asennus- ja käyttöönotto-ohje ei verkkoasennus

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Opinto-oppaan tekeminen

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

Outlook Web Access 1(7) OUTLOOK WEB ACCESS (OWA) SÄHKÖPOSTIN KÄYTTÖ

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Väitöskirja -mallipohja

MOODLE-KURSSIN LAATIMINEN /OPETTAJAN OHJEET

Transkriptio:

- TIetokantaohjema Jari Sarja jari.sarja@ 2016 Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen

SISÄLLYSLUETTELO 1 Johdanto... 4 2 Mikä on tietokanta?... 5 2.1 Tehtävä 1: Tietokannan kehitys...7 2.2 Video 1: Mikä se tietokanta on ja mihin sitä tarvitaan?...7 3 Tietokantoihin liittyviä käsitteitä... 8 3.1 Taulu (table)... 8 3.2 Tietue (record)... 8 3.3 Kenttä (field)... 9 3.4 Perusavain (primary key)... 10 3.5 Viiteavain (referential key)... 10 3.6 Tiedon eheys... 11 3.7 Video 2: Tietokantoihin liittyvä terminologia...12 4 Erilaiset tietokantajärjestelmät... 13 4.1 Normalisointi... 16 4.2 Tehtävä 2: Tietokannan suunnittelu...17 5... 18 5.1 Taulut... 19 5.2 Kyselyt... 20 5.3 Lomakkeet... 21 5.4 Raportit... 22 6 Tietokannan käsittely... 24 6.1 Access-tietokannan avaaminen...25 6.2 Video 3: Access-tietokannan avaaminen...27 7 Uuden tietokannan luominen... 28 8 Taulun luominen... 30 8.1 Video 4: Liikuntapäiväkirjan luominen ja käyttö...36 8.2 Taulun kopiointi... 36 2

8.3 Tehtävä 3: Tietokannan luominen...37 8.4 Tehtävä 4: Taulu... 37 9 Tietojen ylläpito... 38 9.1 Tietueen poisto... 39 9.2 Tietueiden etsiminen... 39 9.3 Tietueiden lajittelu... 40 9.4 Video 5: Tietojen ylläpito... 41 9.5 Tehtävä 5: Etsi korvaa muokkaa poista...42 10 Relaation luominen... 43 10.1 Video 6: Relaation luominen...45 11 Lomakkeet... 46 11.1 Video 7: Lomakkeen luominen ja muokkaaminen...53 11.2 Tehtävä 6: Lomake... 53 12 Kyselyt... 54 12.1 Järjestys... 56 12.2 Ehtojen määrittäminen kyselyissä... 57 12.3 SQL-kyselykieli... 59 12.3.1 SELECT-lause... 60 12.3 Video 8: Kyselyt... 66 12.4 Tehtävä 7: Kysely... 66 13 Raportit... 67 13.1 Raportin luominen... 67 13.2 Video 9: Raportit... 72 14 Etsi- ja korvaa... 73 15 Lopputehtävä... 74 Lähdeluettelo... 75 Liite 1 LibreOfficen asennus... 76 3

1 JOHDANTO Tämän opintojakson tarkoituksena on oppia ymmärtämään tietokantojen perusperiaatteet ja -käsitteet. Tietokantojen perusperiaatteiden ymmärtäminen on tärkeää, koska nykyään esim. web-sivustot ovat lähes poikkeuksetta tietokantapohjaisia. Lisäksi tietokannat ovat arkipäivää, olipa sitten kyse Googlen hakukoneesta tai pankkiasioiden hoitamisesta. Itse asiassa juuri tietokannat mahdollistavat sen, että informaation digitalisoinnista saadaan kaikki mahdollinen hyöty irti. Tietokantojen merkitys näkyy myös siinä, että alalla toimiva Oracle on liikevaihdoltaan yksi Yhdysvaltojen suurimmista yrityksistä. Tietokantoihin liittyvät käsitteet ovat varsin yksiselitteisiä, eikä niitä ole paljon. Tämän vuoksi tietokantojen perusperiaatteisiin pääsee nopeasti kiinni. Kun tietokantojen toimintalogiikka on selvinnyt, on loppu enää pelkkää rutiinia. Opintojaksolla käytetään -ohjelmaa. Materiaalin tavoite on lähinnä siinä, että sen avulla pystyy luomaan pienimuotoisia tietokantoja. Materiaalissa sivutaan hieman myös vaativampaa materiaalia, lähinnä relaatioden osalta. Näin siksi, että relaatiot ovat tietokannan osalta yksi tunnusomaisin piirre. 4

2 MIKÄ ON TIETOKANTA? Tietokanta tarkoittaa samaa kuin tietovarasto eli paikkaa minne informaatio tallennetaan. Tietovarannon ideana on kerätä informaatio yhteen paikkaan siten, että se on mahdollisimman hyvin organisoitu. Informaation organisointi on tärkeää varsinkin löydettävyyden kannalta. Tietovaranto, jossa informaatio on sikin sokin, on jokseenkin hyödytön. Se olisi kuin puhelinluettelo, jossa kaikki tieto olisi vain ja ainoastaan sen mukaan milloin ihmiset ovat hankkineet puhelimensa. Tällaista luetteloa ei voisi selailla esim. aakkosjärjestyksessä. Kuva 1: Flickr / Jurgen Reference Folder System (CC BY 2.0) Ennen informaatio tallennettiin kortistoihin, kirjoihin ja riippukansioihin. Joissakin kirjastoissa on vieläkin jäljellä kortistojärjestelmä, koska kaikkea informaatiota ei vielä ole siirretty digitaaliseen muotoon. Sukututkija joutuu usein vanhempia tietoja etsiessään turvautumaan mikrofilmattuihin kirkonkirjoihin. Riippukansioihinkin saattaa vielä törmätä, ainakin yksityiskäytössä. 5

On huomattava, että riippukansiot ja kortisto ovat aika hankalia käytettävyyden kannalta. Ne vievät paljon tilaa ja varmuuskopiointi on hyvin työlästä. Lisäksi informaatioon pääse käsiksi ainoastaan yhdestä paikasta eli henkilön täytyy olla fyysisesti arkiston luona. Apuun ovat tulleet erilaiset tietokantajärjestelmät kuten Microsoft Access, Paradox, Oracle, PostgreSQL ja. Kirjasto on hyvä esimerkki siitä, mitä tietokantajärjestelmät mahdollistavat. Kirjaston kirjoja voi etsiä tietokoneella esim. tekijän nimen perusteella tai aihepiirin mukaisesti. Kirjojen tietojen selaaminen tietokoneella on huomattavasti helpompaa kuin samojen tietojen selaaminen kortistoa käyttäen. Tietoyhteiskunnan sijaan meidän ehkä pitäisikin puhua tietokantayhteiskunnasta, sillä tietokannat ovat keskeinen osa elämäämme. Niissä on valtavasti informaatiota ja niiden ansiosta voimme maata kotisohvalla ja hoitaa netin välityksellä mm. seuraavanlaisia asioita: pankkiasiat vakuutukset kaupassa käynti verotus. Tunnetuin ja laajin tietokanta netissä lienee Google, jonka avulla voimme mm. hakea netistä tarvitsemamme tiedon. On myös huomattava, että paljon kohuttu, mainostettu ja käytetty sosiaalinen media perustuu tietokantoihin. Loppukäyttäjä ei sitä aina huomaa, koska hänelle tietokanta ei varsinaisesti ole missään vaiheessa näkyvissä. Hän näkee selaimensa kautta HTMLsivun, jonka sisältö on haettu tietokannasta. 6

2.1 Tehtävä 1: Tietokannan kehitys Millä tavoin eroavat toisistaan tavallinen kirjan muotoon kirjoitettu päiväkirja ja netissä sijaitseva päiväkirja eli yksityinen blogi? 2.2 Video 1: Mikä se tietokanta on ja mihin sitä tarvitaan? Video 1: Mikä se tietokanta on ja mihin sitä tarvitaan? Kesto: 12:07 min URL: https://youtu.be/xv6hma9w7s4 7

3 TIETOKANTOIHIN LIITTYVIÄ KÄSITTEITÄ Tietokantoihin liittyy muutamia hyvin keskeisiä käsitteitä, jotka on syytä opiskella. Tällaisia käsitteitä ovat taulu, tietue, kenttä, avainkenttä ja viiteavain. 3.1 Taulu (table) Perinteinen tietokanta koostuu kaksiulotteisista tauluista. Myös varastoi tietokantaan syötetyt tiedot tauluihin, jotka on jaettu riveihin ja sarakkeisiin. Alla on näkymä yhdestä taulusta, jonka nimi on ehdokas. 3.2 Tietue (record) Tietue tarkoittaa rivin tietoja. Esimerkiksi yksi tietue ehdokastaulussa sisältää vain yhtä ehdokasta koskevat tiedot (tunnus, etunimi, sukunimi, puolue ja äänet). Taulun yksi rivi vastaa arkistokaapissa olevan kortiston yhtä korttia. 8

3.3 Kenttä (field) Jokainen tieto tallennetaan eri sarakkeeseen eli kenttään. Esimerkiksi ehdokastaulussa ensimmäisessä sarakkeessa on tunnus, toisessa on ehdokkaan etunimi jne. Taulun jokaisessa tietueessa on samat kentät. Kenttiä käytetään tietojen suodattamiseen. Alla oleva taulu voidaan laittaa aakkosjärjestykseen etunimen tai sukunimen perusteella. Se voidaan myös suodattaa siten, että eniten ääniä saanut ehdokas on ensimmäisenä. 9

3.4 Perusavain (primary key) Missään taulussa ei saa olla kahta samanlaista riviä. Jokaisen rivin on erotuttava muista yhden tai useamman kenttänsä arvon avulla. Rivien erilaisuus varmistetaan perusavainkentillä, esim. yllä olevassa kuvassa perusavainkenttä on tunnus. Perusavainkentäksi valitaan kenttä, joka varmasti yksilöi rivin. Usein avainkenttänä käytetään esimerkiksi asiakas- tai tilausnumeroa. Tässä alla olevassa esimerkissä avainkentän nimi on tunnus. Tietokantajärjestelmä pitää huolen siitä, ettei kentässä tunnus ole koskaan kahta samanlaista arvoa. 3.5 Viiteavain (referential key) Taulujen yhdistäminen tapahtuu viiteavaimien avulla. Viiteavain on avainkenttä jossakin toisessa taulussa. Viiteavaimet ovat ainoita tietokannassa toistuvia kenttiä. Viiteavaimen arvoa vastaava perusavaimen arvo on löydyttävä jostakin taulusta eli ei saa olla viittausta kohteeseen, jota ei ole olemassa. Alla olevassa esimerkissä numero 1 tarkoittaa Suomen Keskustaa. 10

Viiteavaimen etuna on se, että tieto on aina oikein. Taulussa ehdokas ei ilmene kirjoitusvirheitä kuten Sumen Keskusta tai Suomenn Keskusta. Sekin vältetään, ettei lue esim. lyhennettä kesk. Riittää, että puolueen nimi on kerran kirjoitettu oikein. 3.6 Tiedon eheys Tiedon eheydellä tarkoitetaan sitä, että tiedot ovat totuudenmukaisia, eivätkä ne muutu tai tuhoudu. Tiedon eheyden vaatimukset kannattaa ottaa huomioon jo suunnitteluvaiheessa. Esimerkiksi huonosti suunnitellussa materiaalinhallintajärjestelmässä syntyy ongelmia, jos tuotteilla on useita eri nimikkeitä. Varastomies saattaa ilmoittaa asiakkaalle, ettei varastossa ole yhtään hanskaa. Varastomies on ihan oikeassa, mutta toi- 11

saalta väärässä. Syynä tähän on vaihteleva nimikäytäntö. Hanskat ovat varastossa muilla nimikkeillä. Siellä on mm. sormikkaita, käsineitä, suojakäsineitä tai yksinkertaisesti pelkästään hanskoja (huom. hakusana hanska ja hakusana hanskoja). (Paavilainen 1998, 10-11.) Pahimmillaan eheysongelmat koskevat ihmisiä. Paavilainen (1988, 11) kertoo tapauksesta, jossa manuaalijärjestelmästä siirryttiin atk-pohjaiseen järjestelmään. Kahdelle yhdysvaltalaiselle miehelle, joilla oli sama nimi (James Edward Taylor) ja lisäksi sama syntymäaika (23.7.1919), annettiin sama henkilötunnus. Virhe huomattiin 1965, mutta virheen korjaamiseen meni reilut kahdeksan vuotta. Korjaus kesti kauan johtuen mm. siitä, että henkilöiden tiedot olivat useassa eri järjestelmässä. 3.7 Video 2: Tietokantoihin liittyvä terminologia Video 2: Tietokantaan liittyvä terminologia. Kesto: 1:30 min URL: https://youtu.be/sqxhmy5u_-4 12

4 ERILAISET TIETOKANTAJÄRJESTELMÄT Yksinkertaisin tapa tallentaa dataa digitaaliseen muotoon perustuu siihen, että data tallennetaan tiedostoon. Silloin on kyse tiedostopohjaisesta tietokannasta (engl. flat file database). Tietojen tallentamiseen käy esim. tavallinen tekstitiedosto, jonka pääte on tietenkin.txt. Tällaisessa tietokannassa tallennetaan tietoa riveittäin ja kentät erotetaan toisistaan esim. pilkuilla (,). Yksinkertaisimmillaan tiedostopohjainen tietokanta on esim. osoitekirja, joka on kirjoitettu tiedostoon seuraavaan tapaan. Jari Jalkanen, Haukitie 10, 50100, Mikkeli Paavo Pengermaa, Ossinkuja 6, 86600, Haapavesi Sinikka Sinervo, Vöyrinkatu 10, 65100, Vaasa Flat file -tietokanta on rajoittunut tapa tiedon tallentamiseen. Relaatiot, jotka ovat nykyaikaisten tietokantojen kulmakivi, ovat lähes kokonaan pois. Rajoittuneisuudesta on myös etua. Flat file -tietokannat ovat yksinkertaisia ja halpoja. Sellaisen voi tehdä nopeasti ilman suurempaa suunnittelutyötä. Lisäksi on huomattava, tiedostopohjaiset tietokannat toimivat kaikissa käyttöjärjestelmissä. Ei ole väliä, avataanko tekstitiedosto Windowsilla, Linuxilla, Macilla jne. Niiden tekeminenkin on helppoa: otat vain jonkun tekstieditorin käyttöösi ja teet tiedoston. Tiedostopohjaisella tietokannalla on myös heikkouksia. Yksi sen suurista puutteista on, ettei se sisällä käyttäjähallintaa eli se ei vaadi käyttäjän tunnistautumista. Lisäksi niihin pääse ulkoapäin käsiksi. Flat file on tässä suhteessa heikko ratkaisu. Se on yhtä turvaton kuin tavallinen webissä oleva HTML sivu. 13

Lisäksi on huomattava, että tiedostosta tietojen hakeminen on hankalaa. Usein se on jopa mahdotonta, koska kunnollisia hakuja ei ole mahdollista tehdä. Esim. hakulauseke Anna hakee kaikki Anna-nimiset henkilöt, mutta hakutuloksiin tulisi vaikkapa kadunnimi Annankatu. On myös huomattava, että tietokannalla on omia sääntöjä jos vaaditaan numero, ei tietokanta hyväksy sinne tekstiä. Flat file -tietokanta ei tunne lainkaan sellaista käsitettä kuin tietotyyppi, ja siksi se on altis virheille. Flat file kohtaa myös ongelman, kun monta henkilöä yrittää päivittää tietoja yhtä aikaa. Relaatiotietokannassa ei ole sellaista ongelmaa. Lisäksi hyvä tietokanta hallitsee myös transaktiot eli jos a ja b niin homma ok, mutta jos b jää toteutumatta niin myös a peruutetaan. Tämän voi kohdata esim. pankkiautomaatilla. Jos rahat eivät tule automaatista, niin samalla peruutetaan tilin veloitus. Olisi huono juttu, jos rahoja ei saisi, mutta ne lähtisivät tililtä. Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Tunnetuin tiedostopohjainen tietokantajärjestelmä lienee SQLite. Itse tietokanta voidaan pitää kokonaan tietokoneen muistissa, tai tallentaa yhteen tiedostoon, joka lukitaan transaktioiden ajaksi. SQLite soveltuu tämän takia erityisesti tietokantajärjestelmän lisäämiseen sovellusohjelmiin. (Wikipedia.) SQLite-kirjasto on public domain -ohjelmisto, joten sitä voidaan muokata ja levittää vapaasti ja se voidaan linkittää kaikkiin ohjelmistoihin ilman erillistä lupaa. Ohjelmiston on kehittänyt D. Richard Hipp. 14

SQLite löytyy osoitteesta: http://www.sqlite.org/ Relaatiotietokanta koostuu useista tauluista, joissa tiedot esitetään riveillä ja sarakkeissa. Tiedot pyritään jakamaan tauluihin siten, että yksi tieto tallennetaan vain yhteen paikkaan. Tietokantaan tallennetaan myös tieto siitä, miten eri taulut liittyvät toisiinsa. Tässä alla on esimerkki, jossa on kaksi taulua eli ehdokas ja puolue. Taulujen välillä on relaatio, joka mahdollistaa sen, että puolueen tiedot ovat yhdessä paikassa. Relaatiomalli on matemaattinen teoria, joka perustuu Edgar F. Coddin ajatuksille, se ei ota kantaa tietokannan fyysiseen toteutukseen. Esimerkiksi taulujen rivien keskinäisellä järjestyksellä ei ole merkitystä ohjelman kannalta. Relaatiotietokannassa tieto tallennetaan vain yhteen paikkaan ja yhteyksien avulla tieto voidaan aina hakea, kun sitä tarvitaan. Relaatiotietokannat ovat levinneet laajalle johtuen mm. käytön helppoudesta, joustavuudesta ja laitteistoriippumattomuudesta. Relaatiotietokannoillakin on kuitenkin heikkoutensa. Ensinnäkin relaatiotietokannan suunnittelu on erittäin vaativa tehtävä. Huonosti suunniteltu kanta aiheuttaa väistämättä eheysongelmia. Toiseksi taulujen ja relaatioiden määrä kasvaa nopeasti 15

suureksi jo pienessä järjestelmässä, eikä suuren taulu- ja relaatiomäärän hallinta ole helppoa. (Ks. Paavilainen 1988, 12.) 4.1 Normalisointi Relaatiotietokantojen suunnittelussa pyritään noudattamaan normalisointisääntöjä. Normalisoinnin tavoite on vähentää tietojen ylimäärää ja siitä aiheutuvia ongelmia tietojen lisäämisessä, poistamisessa ja päivityksessä. Tarkoituksena on lisätä rakenteiden selkeyttä, yhtenäisyyttä ja laajennettavuutta. Normalisointi: 1. NM Ensimmäisessä normaalimuodossa jokainen kenttä määritellään ydintiedoksi. Pyrkimyksenä on, että tieto pilkotaan. Esim. samaan kenttään ei kannata laittaa sekä etu- että sukunimeä. Sillä jos tieto on samassa kentässä, tiedon lajittelu hankaloituu, koska enää ei ole mahdollista lajitella henkilöitä sekä etu- että sukunimen mukaan. Lisäksi aakkostus voisi mennä sekaisin, koska joku käyttäjä kirjoittaisi ensin sukunimen ja toinen taas etunimen. Normalisointi: 2. NM Toinen sääntö vaatii avainkentän. Jokaisessa taulussa on oltava ainakin yksi kenttä, joka yksilöllisesti tunnistaa tietueen. Esim. asiakastietokannasta päätetään poistaa henkilö Pekka Pekkanen. Jos hänen tietojaan ei ole yksilöity esim. asiakasnumeron avulla, poistuvat taulusta kaikki henkilöt, joiden nimi on Pekka Pekkanen. 16

Normalisointi: 3. NM Kolmas sääntö on, että kaikkien kenttien tulee olla keskenään riippumattomia. Esim. postinumero ja postitoimipaikka ovat riippuvaisia toisistaan. Siksi on järkevää tehdä yksi taulu, joka sisältää kyseiset tiedot. Jos tapahtuu muutos eli esim. postitoimipaikan nimi muuttuu, ei muutosta tarvitse tehdä kuin yhteen paikkaan. Lisäksi syötettäessä tietoja voidaan aina tehdä valinta esim. suoraan alasvetovalikosta, jolloin näppäilyvirheet poistuvat. Lisätietoa: Tietokannan normalisointi Tietokannan normalisointi ja normaalimuodot Normalisointi 4.2 Tehtävä 2: Tietokannan suunnittelu Mitä ongelmia seuraavanlainen tietokanta voi aiheuttaa? 17

5 LIBREOFFICE BASE on tietokantaohjelma, joka tallentaa ja hakee tietoja käyttäjän määrittelemien relaatioiden eli yhteyksien avulla. n kulmakiven muodostavat taulut, joihin tieto tallennetaan.! Huom.! LibreOfficen asennus käydään läpi liitteessä 1. tarjoaa taulujen lisäksi muita objekteja, joiden tehtävä on helpottaa tietokannan tehokasta käyttöä. Tällaisia objekteja ovat kyselyt, lomakkeet ja raportit. Tosin on huomattava, että ensin on oltava taulu. Se on peruslähtökohta muille objekteille. Esim. kyselyä ei voi tehdä, ellei ole taulua. 18

5.1 Taulut Taulut ovat Basen tärkein objekti, koska niihin varastoidaan tietokannan tiedot. Tiedot esitetään taulussa riveinä (tietueet) ja sarakkeina (kentät). Taulujen välille on mahdollista luoda yhteyksiä eli relaatioita, jolloin voidaan puhua isä- ja lapsitauluista. Isätaulu on se, jossa tieto on vain yhden kerran. Alla olevassa kuvassa puolue on isätaulu ja ehdokas on lapsitaulu. Yllä olevassa kuvassa puolue nro 5 on ainakin viidellä eri ehdokkaalla eli se on lapsitaulu. 19

Isätaulussa tieto eli tässä tapauksessa puolue on vain yhdellä rivillä. 5.2 Kyselyt Kyselyiden avulla voidaan määrittää hakuehtoja, joiden perusteella tietoja haetaan tauluista. Tauluista haettuja tietoja voidaan järjestää ja yhdistellä esim. raporttia varten. Myös syötettyjen arvojen muuttaminen on mahdollista kyselyiden avulla. Alla on esimerkki, jossa taulusta ehdokas haetaan yksi osa tiedoista (etunimi, sukunimi, äänet). Toinen osa haetaan taulusta puolue (puolue) ja kaiken lisäksi ehdokkaat järjestellään äänimäärän mukaiseen järjestykseen eli eniten ääniä saanut ehdokas ensin (lajittele sarake aanet ). 20

Lopputuloksena syntyy näkymä, jossa on kyselyn mukaiset tiedot. 5.3 Lomakkeet Lomakkeita voidaan käyttää tietojen syöttämiseen, muuttamiseen ja tarkastelemiseen. Taulunäkymässä näkyy aina monta tietuetta kerralla. Lomakenäkymä näyttää vain yhden tietueen tiedot kerrallaan, minkä vuoksi se on hyvin selkeä. 21

5.4 Raportit Raportteja käytetään tietojen tulostamiseen ja katselemiseen. Raportit voidaan luoda joko tauluista tai kyselyistä. Suositeltavaa on, että teet ensin kyselyn, jossa on kaikki tarvittavat tiedot. Sitten luot raportin kyselyn pohjalta. Raportin luomisvaiheessa voit vielä ryhmitellä tietoja esim. puolueittain. Alla olevassa raportissa ehdokkaat on lueteltu puolueittain äänimäärän mukaisesti. Raportti voidaan tarvittaessa tulostaa tai tallentaa se esim. PDF-dokumenttina. Raportin tiedot päivittyvät automaattisesti eli jos esim. äänimäärä muuttuu, ei muutosta tarvitse erikseen tehdä raporttiin. 22

23

6 TIETOKANNAN KÄSITTELY Tietokannan avaaminen tapahtuu napsauttamalla sitä kaksi kertaa. Toinen vaihtoehto on avata, ja avata tietokanta sitä kautta. Tietokannan sulkeminen Voit sulkea tietokannan painamalla LibreOfficen ikkunapainiketta "Sulje", joka on ikkunan oikeassa yläkulmassa. 24

Voit myös sulkea tietokannan valitsemalla valikosta "Tiedosto" ja "Lopeta LibreOffice". Tietokannan siirtäminen ja kopioiminen Voit siirtää tai kopioida tietokannan käyttämällä toimintoja "Leikkaa" ja "Kopioi". 6.1 Access-tietokannan avaaminen osaa avata myös Microsoft Accessillä tehdyn tietokannan luomalla siihen yhteyden. Yhteys luodaan seuraavalla tavalla. Valitse Muodosta yhteys olemassa olevaan tietokantaan ja valitse alasvetovalikosta Microsoft Access. 25

Valitse seuraavassa näkymässä tietokanta, johon haluat luoda yhteyden. Tallenna yhteys. 26

6.2 Video 3: Access-tietokannan avaaminen Video 3: Access -tietokannan avaaminen Kesto: 3:14 min URL: https://youtu.be/sdgfrv7x_2c 27

7 UUDEN TIETOKANNAN LUOMINEN Avaa ohjelma. Ohjelma ehdottaa sinulle uuden tietokannan luomista. Kannattaa valita oletusasetukset eli HSQLDB (upotettu), koska silloin on mahdollista luoda myös relaatioita. Anna tietokannalle nimi ja sijoita se sopivaksi katsomaasi hakemistoon. Tässä esimerkissä tallennan hakemistoon base ja tiedoston nimeksi laitan esimerkki. Kun olet jo avannut ohjelman voit luoda uuden tietokannan valitsemalla Tiedosto Uusi Tietokanta. 28

29

8 TAULUN LUOMINEN Uusi taulu voidaan luoda ssa kahdella eri tavalla: Luo taulu rakennenäkymässä ja Luo taulu ohjatulla toiminnolla. On kuitenkin suositeltavaa, että luot taulun rakennenäkymässä, koska silloin voit määritellä itse taulun ominaisuudet. Kaksoisklikkaa "Luo taulu rakennenäkymässä" -tekstiä. Tämän jälkeen avautuu taulun rakenneikkuna. Kentän nimi Kentälle on annettava nimi. Kenttään voidaan tarvittaessa viitata sen nimellä, minkä vuoksi kuvaavat ja helposti muistettavat kentän nimet ovat parhaita. Kentän nimi sisältää mitä tahansa kirjaimia ja numeroita. Vältä pitkien nimien käyttämistä, koska niitä on vaikea muistaa ja niihin on vaikea viitata. 30

Kenttätyyppi Kenttätyyppi määrittää, millaista tietoa kenttään laitetaan. sisältää mielestäni tarpeettoman paljon tietotyyppejä. Tämän vuoksi olen lihavoinut yleisimmät tyypit. Tyyppi Selitys Pieni kokonaisluku [TINYINT] Kokonaisluku, jonka arvo 02013 255. BigInt [BIGINT] Tätä kokonaislukua tarvitaan harvoin eli kyse on todella isoista luvuista. Kuva [LONGVARBINARY] Tallentaa kuvia. Binääri [VARBINARY] Tallentaa mitä tahansa tiedostoja Muistio [LONGVARCHAR] Tallentaa tekstidataa. Tämä on suositeltava valinta, kun tekstiä on paljon kuten esim. monisivuisessa esseessä. Teksti (kiinteä) [CHAR] Merkkijono, jonka pituus on kiinteä. Tämä on hyvä valinta, jos merkkijonon pituus ei muutu. Sellainen merkkijono on esim. postinumero. Luku [NUMERIC] Desimaaliluku. Desimaali [DECIMAL] Desimaaliluvuissa voidaan määritellä desimaalien määrä. Kokonaisluku [INTEGER] Kokonaisluku, joka voi olla myös negatiivinen. Luku voi olla huomattavasti suurempi kuin yllä mainittu [BIGINT]. Pieni kokonaisluku [SMALINT] Pieni kokonaisluku. Mikäli käytät negatiivisia lukuja on lukujen oltava välillä -32768 ja 32767. Kaksoistarkuuden Sama kuin desimaaliluku, mutta 31

liukuluku [DOUBLE] tarkempi kuin se. Teksti [VARCHAR] Tähän tallennetaan tekstiä, mutta kentän pituuden voi määrittää esim. VARCHAR(30), jolloin kenttään mahtuu vain 30 merkkiä. Teksti [VARCHAR IGNORECASE] Sama kuin edellinen, mutta isoja ja pieniä kirjaimia ei erotella eli Jari on sama kuin jari. Kyllä / EI [BOOLEAN] Kenttä, jossa voi olla vain kaksi arvoa eli 0 tai 1. Päivämäärä [DATE] Tallentaa päivämäärän muodossa YYYY-MM-DD eli esim. 2013-10-29. Kellonaika [TIME] Tallentaa kellonajan muodossa HH:MM:SS eli esim.14:25:36. Päivämäärä/kellonaika Tallentaa sekä päivämäärän että [TIMESTAMP] kellonajan muotoon YYYY-MM-DD HH:MM:SS eli esim. 2013-10-29 14:25:36. OTHER [OTHER] Muu. Lähinnä on kyse Javaobjekteista. Kenttätyypin valinta on erityisen tärkeä toimenpide. Tässä on pari esimerkkiä pieleen menneestä tietotyypin valinnasta. Päivämäärän tietotyypiksi on valittu teksti. Toimii, mutta kyselyssä ei voida valita tietoja esim. aikaväliltä 1.1.201531.1.2015. Postinumero on määritelty numeroksi. Toimii, mutta joidenkin numeroiden kanssa tulee ongelmia. Esimerkiksi 00100 tallentuu tietokantaan muotoon 100. Relaation avulla on tarkoitus hakea tietoa toisesta taulusta. Kentän tietotyypiksi on määritelty teksti. Relaation muodostaminen ei onnistu. 32

Kentän ominaisuudet Kentän tyypistä riippuen kenttään liitetään erilaisia lisämäärityksiä (ominaisuuksia). Tekstikenttätyypin ominaisuus antaa mahdollisuuden säätää mm. kentän pituutta. Merkintä pakollinen tarkoittaa sitä, onko kenttään pakko kirjoittaa jotakin vai voiko se olla tyhjä. Pituus tarkoittaa sitä, montako merkkiä kenttään voi kirjoittaa. Oletusarvo tarkoittaa sitä, että kenttään voidaan laittaa jokin teksti oletukseksi. Muotoiluesimerkin kautta voi muuttaa käytettävän kielen, joka oletuksena suomenkielisessä LibreOfficessa on suomi. 33

Lukukenttätyypin ominaisuus antaa seuraavat valinnanmahdollisuudet. Merkintä pakollinen tarkoittaa sitä, onko kenttään pakko kirjoittaa jotakin vai voiko se olla tyhjä. Pituus tarkoittaa sitä, montako merkkiä kenttään voi kirjoittaa. Desimaaleja tarkoittaa desimaalien määrää eli esim. numero 2 tarkoittaa kahden desimaalin tarkkuutta. Muotoiluesimerkin kautta voidaan valita, mitä luku kuvaa. Valittavina on mm. prosentti ja euro. 34

Kuvaus Kuvaus on selkeä kuvaus kenttään kirjoitettavasta tiedosta. Perusavain Perusavaimen avulla tietueet yksilöidään. Mikäli et laittanut tauluun perusavainta ja yrität tallentaa sen, muistuttaa ohjelma sinua perusvaimen pakollisuudesta. Valitset perusavaimen valitsemalla vihreän nuolen hiiren kakkospainikkeella ja valitsemalla sitten Perusavain. 35

8.1 Video 4: Liikuntapäiväkirjan luominen ja käyttö Video 4: Liikuntapäiväkirjan luominen Kesto: 5:53 min URL: https://youtu.be/w2b2hkarnv4 8.2 Taulun kopiointi Taulujen kopiointi on helppoa. Aktivoi taulu ja valitse kopioi (kakkospainikkeella). Valitse paikka, jonne liität taulun. Huom.! Voit liittää taulun vaikka ihan eri tietokantaan, kuin mistä kopioit taulun. Liitä taulu halumaasi paikaan valitsemalla "Liitä". 36

8.3 Tehtävä 3: Tietokannan luominen Luo tietokantakanta nimeltä joulukortit. Kantaan tallennat tiedot ystävistäsi (nimi, osoite) ja siitä saitko heiltä joulukorttia viime vuonna. Kirjoita kantaan viisi tietuetta. 8.4 Tehtävä 4: Taulu Luo tietokanta pilkkikisoja varten. Kannassa tulee olla pilkkijän nimi ja tulos, eli montako kiloa henkilö sai kalaa. 37

9 TIETOJEN YLLÄPITO Tietokantaan voidaan syöttää tietoja joko taulukkomuodossa tai lomakkeilla. Tietojen tuominen jostain toisesta tietokannasta on myös mahdollista. Helpoiten pääset lisäämään tietoja tauluun, kun klikkaat tyhjää solua ja alat kirjoittaa. Jos olet lomakenäkymässä, saatat joutua lisäämään tietueen, jotta pääset syöttämään tietoja. Tietue lisätään tähtipainikkeella (ks. kuva alla). Voit selailla kantaa tietuepainikkeilla, jotka näkyvät aina taulujen ja lomakkeiden alareunassa. Luku vasemmalla puolella vinoviivan jälkeen (27) kertoo, kuinka monta tietuetta taulussa on. Mikäli saat kannan jumiin, paina painiketta ESC (näppäimistön vasen yläkulma). Niin voi käydä esim., kun yrität siirtyä seuraavan tietueeseen lisäämättä tietoa pakolliseen kenttään. Huom.! Sinun ei tarvitse painaa Tallenna-painiketta, kun ylläpidät tietokantaa. tallentaa muutokset välittömästi. Tallenna-painiketta tarvitset vain silloin, kun muutat tietokannan rakennetta. 38

9.1 Tietueen poisto Poista tietue aktivoimalla se ensin. Valitse sen jälkeen valikosta Muokkaa Poista tietue. 9.2 Tietueiden etsiminen Voit etsiä tietueita suurennuslasipainikkeen avulla (CTRL+F). Lomakenäkymässä voit lisäksi käyttää etsi korvaa-toimintoa, jonka pikanäppäin on CTRL+H. Lomakenäkymässä kyseiset toiminnot löytyvät valikosta kohdasta Muokkaa. 39

9.3 Tietueiden lajittelu Tietueiden lajittelua varten on olemassa kaksi painiketta. Toinen lajittelee nousevasti ja toinen laskevasti. Muista ensin valita kenttä, jota lajittelet. Tässä esimerkissä taulu lajitellaan nousevaan järjestykseen henkilön etunimen mukaan. Lopputulos on, että tiedot ovat samat kuin ennen, mutta nyt taulu on aakkosjärjestyksessä henkilön etunimen mukaan. 40

9.4 Video 5: Tietojen ylläpito Video 5. Tietojen ylläpito Kesto: 4:12 min URL: https://youtu.be/ldcu4nr0zle 41

9.5 Tehtävä 5: Etsi korvaa muokkaa poista Kopioi tästä itsellesi tietokanta. Tee lehdet -tauluun seuraavat muutokset. 1. Avainsana on kirjoitettu muotoon kalanteri. Korjaa se muotoon kalenteri. 2. Mikä artikkelin otsikoista on aakkosjärjestyksessä ensimmäisenä? 3. Poista tietue, jonka tunnus on 667.! Huom.! Luvuissa 6.1 ja 6.2 kerrotaan, kuinka Libre Officella saadaan Access-tietokanta auki. 42

10 RELAATION LUOMINEN sisältää mahdollisuuden relaatioiden eli yhteyksien luomiseen. Yhteyksiä pääset luomaan valitsemalla valikosta Työkalut Suhteet. Lisää ensin taulut napsauttamalla painiketta Lisää taulu. Lisää sitten yksitellen molemmat taulut valitsemalla taulun nimi ja napsauttamalla painiketta Lisää. 43

Valitse sen jälkeen puolue -taulusta ptunnus hiiren painikkeella. Pidä sen jälkeen hiiren painike pohjassa ja siirry toiseen tauluun kohtaan puolue ja vapauta hiiren painike. Tällöin syntyy relaatio, josta käytetään nimitystä yksi moneen. Puolue on isätaulu, jonne puolue kirjoitetaan vain yhden kerran. Ehdokas on lapsitaulu, jossa sama puolue esiintyy monta kertaa. 44

10.1 Video 6: Relaation luominen Video 6: Relaation luominen Kesto: 4:11 min URL: https://youtu.be/gednxeonw60 45

11 LOMAKKEET Lomakkeet on helpoin ja kätevin tapa syöttää ja muokata tietoa. Tämän kurssin esimerkissä puolue on pitänyt merkata numerolla tauluun. Sellainen ei ole erityisen kätevää, koska pitää muistaa, mikä numero on milläkin puolueella ja lisäksi voi tulla näppäilyvirheitä. Siksi kannattaa tehdä lomake, jossa puolueen voi valita suoraan alasvetovalikosta. Siirry tietokannassa kohtaan Lomakkeet ja valitse Luo lomake ohjatulla toiminnolla. Valitse kaikki kentät taulusta ehdokas ja napsauta painiketta Seuraava. 46

Jatka eteenpäin kohtaan 5 valitsemalla Seuraava. Vaiheessa 5 teet valinnat alla olevan kuvan mukaisesti ja napsautat painiketta Seuraava. Vaiheessa 6 sinun ei tarvitse muuttaa mitään. Jatka valitsemalla Seuraava. Vaiheessa 7 valitset tyylin kuten kuvassa. Napsauta sitten painiketta Seuraava. 47

Laita lopuksi lomakkeelle nimi ja napsauta painiketta valmis. Lopputuloksen syntyy lomake, jossa kaikki on kohdallaan paitsi puolueen valinta, joka edelleenkin näkyy numerona. 48

Sulje tekemäsi lomake ja avaa se uudelleen hiiren kakkospainikkella. Valitse Muokkaa. Nyt olet avannut lomakkeen rakennenäkymään ja voit muokata sitä. Napsauta puolue aktiiviseksi ja poista se delete-näppäintä painamalla. Valitse Luetteloruutu ja piirrä uusi valikko. Valitse taulu puolue ja napsauta painiketta Seuraava. 49

Valitse Näytä kenttä -kohtaan puolue ja napsauta painiketta Seuraava. 50

Sitten valitaan kentät, jotta tiedot menevät oikein. Arvotaulun kenttä tarkoittaa tässä tapauksessa taulua ehdokas, jonne puolue tallentuu numerona kenttään puolue. Luettelotaulun kenttä tarkoittaa sitä, että ehdokas -taulun numeron täytyy täsmätä puolue -taulun numeron kentän kanssa. Napsauta lopuksi painiketta Valmis. Valitse painike Selite ja piirrä paikka, jonne teksti tulee. Kaksoisnapsauta tekstiä selitekenttä. 51

Muuta teksti sopivaksi kohdassa Selite. Laita lopuksi tasaukset kohdilleen. Valitse kaikki elementit (SHIFT pohjaan ja valitset yksitellen). Kun kaikki on valittuna, voit napsauttaa valintaa Tasaa vasemmalle. Tallenna lomake ja sulje se. Avaa lomake kaksoisnapsauttamalla sitä. Nyt lomake on valmis ja puolueen voi valita alasvetovalikosta. 52

11.1 Video 7: Lomakkeen luominen ja muokkaaminen Video 8: Lomakkeen luominen ja muokkaaminen Kesto: 8:24 min URL: https://youtu.be/1ohob_s6sao 11.2 Tehtävä 6: Lomake Luo tietokanta, jonka nimi on lämpötila. Luo sinne lämpötila-niminen taulu ja luo siihen seuraavanlaiset kentät. Määrittele niille sopivat tietotyypit. Tunnus Lämpötila Päivämäärä Syötä tauluun viiden eri päivän lämpötilat. Tee lomake, jota kautta voit selata ja lisätä tietueita. 53

12 KYSELYT Uusi kysely tehdään Tietokanta-ikkunan kautta valitsemalla Kyselyt-ikkuna. Kyselyn voi luoda joko ohjatun toiminnon kautta tai kyselyn rakennenäkymässä. Tällä kertaa teemme hakukyselyn rakennenäkymässä. Kaksoisklikkaa "Luo kysely rakennenäkymässä" -kohtaa. Näytölle avautuu kyselyn määrittelyikkuna. Ikkunan päälle avautuu valintaikkuna, jossa valitaan kyselyyn tulevat taulut. Taulut lisätään kyselyyn valitsemalla haluttu taulu listasta ja painamalla Lisää -painiketta. Kun kaikki tarvittavat taulut on lisätty, valintaikkuna voidaan sulkea Sulje -painikkeella.. 54

Valitaan kyselyyn henkilön sukunimi, etunimi ja äänimäärä. Kun on valmista, niin painetaan painiketta Suorita kyselyä. Tämän jälkeen ilmestyy taulukko, jossa näkyy vain valitut tiedot. 55

12.1 Järjestys Laitetaan järjestykseen äänimäärän mukaan eli eniten ääniä saanut ensin. Laita kenttä "aanet" järjestykseen valitsemalla alasvetovalikosta laskeva kenttään äänet. Paina painiketta Suorita (F5). 56

12.2 Ehtojen määrittäminen kyselyissä Ehdot ovat rajoituksia, joilla erotetaan kyselyssä tai erikoissuodattimessa tietuejoukosta halutut tietueet. Voit esimerkiksi tarkastella vain keskustapuolueen ääniä. Joilloin lopputulos olisi kuten alla olevassa kuvassa. 57

Voit syöttää useita ehtoja samaan kenttään tai muihin kenttiin. Kun kirjoitat ehtoja useaan Ehdot -soluun, LibreOffice yhdistää ne käyttäen And- tai Or-operaattoria. Esim. valitaan kaikki Suomen Keskustan edustajat, jotka saivat yli 100 ääntä. Jolloin lopputos on kuten alla eli vain yksi ehdokas täyttää molemmat ehdot. Voit myös määrittää ehtoja, jotka vaikuttavat laskutoimitusten tuloksiin. Ehtoja lisäämällä voit rajoittaa joukkoa, jolle laskutoimitus suoritetaan, laskutoimitukseen otettavia kenttiä tai näytettäviä tuloksia. Alla olevassa esimerkissä lasketaan Suomen Keskustan yhteenlasketut äänet. Jolloin lopputulos on kuten alla olevassa kuvassa. 58

Esimerkkejä ehtolausekkeista. Lauseke: Kuvaus: 'Piia' Näyttää kaikki tietueet, joissa etunimi on Piia. NOT 'Markku' Näyttää kaikki tietueet paitsi ne, joissa etunimi on Markku. LIKE 'I*' Näyttää kaikki tietueet, joissa etunimi alkaa kirjaimella I. IN ( 'Ilpo'; 'Markku' ) Näyttää kaikki tietueet, joissa etunimi on Ilpo tai Markku NOT IN ('Ilpo','Markku') Näyttää kaikki tietueet, joissa etunimi ei ole Ilpo tai Markku. >= 'R' Näyttää kaikki tietueet, joissa etunimen ensimmäinen kirja on on suurempi tai yhtä suuri kuin R. >100 Näyttää kaikki tietueet, joissa äänimäärä yli 100 BETWEEN 100 AND 150 Näyttää kaikki tietueet, joissa äänimäärä välillä 100-150. 12.3 SQL-kyselykieli Relaatiotietokannat käyttävät yleisesti SQL-kieltä (Structured Query Language). Se on alun perin IBM:n kehittämä kieli relaatiotietokantojen käsittelyyn ja hallintaan. SQL-kieli on kaikkien nykyaikaisten tietokannanhallintajärjestelmien taustalla. ssa SQL-kieli on käytössä vain kyselyiden osalta eli SQL:n kaikki ominaisuudet eivät ole käytössä. Jos teet kyselyitä rakennenäkymässä kuten luvussa 12.2, voit katsoa, miltä SQL-kysely näyttää napsauttamalla kuvaketta Ota suunnittelunäkymä käyttöön/pois käytöstä. 59

Voit myös luoda SQL-kyselyitä valitsemalla Tietokanta-ikkunasta Kyselyt ja Luo kysely SQL-näkymässä. Sitten kirjoitetaan SQL-lause ja napsautetaan painiketta Suorita kysely 12.3.1 SELECT-lause SELECT-lauseen voidaan sanoa olevan SQL:n perusta. SELECTlauseella valitaan yhdestä tai useammasta tietokantataulusta tietyt kentät näytettäviksi. Mitkä tietueet valitaan, määrätään ns. sivulauseella, joka vastaa kyselyn ehtoa LibreOfficen Basessa. SELECT-lauseessa ehdot vain voidaan asettaa huomattavasti monipuolisemmin kuin Basen rakennenäkymässä. (Kai Pihl 1998.) 60

Tässä pari esimerkkiä, kuinka SELECT-lauseet toimivat. Näytetään kaikki kentät ja tietueet taulusta ehdokas. SELECT * FROM "ehdokas"; Valitaan ainoastaan kentät etunimi, sukunimi ja äänet. Jos tulokset halutaan lajitella jonkinlaiseen järjestykseen, se onnistuu ORDER BY -sivulauseella. SELECT etunimi, sukunimi, äänet From ehdokas ORDER BY äänet; 61

Hakua voi vielä tärmentää lisämääreillä asc (nouseva järjestys) ja desc (laskeva järjestys). SELECT etunimi, sukunimi, äänet From ehdokas ORDER BY äänet desc; Base-kyselyiden ehtoja vastaa SQL-kielessä WHERE-sivulause. Kun Base-kyselyn rakennenäkymässä asetetaan ehtoja, Base toteuttaa ne SQL-kielen WHERE-lauseella. Se sijoitetaan FROM- ja ORDER-sivulauseiden väliin, esim: SELECT * From ehdokas WHERE etunimi Like 'A*' ORDER BY äänet desc; 62

Yllä olevassa kyselyssä on ehtona, että etunimi alkaa kirjamella A. WHERE-sivulauseen tärkeitä elementtejä ovat sanat AND, OR ja NOT. Nämä ovat ns. loogisia operaattoreita, joita käytetään tavanomaisessakin puheessa. Sanomme esimerkiksi että "tänään on kylmä päivä JA sataa vettä". Jos etsimme jonkun ajanjakson päivien joukosta sellaiset päivät, jolloin on ollut kylmä JA on satanut, saamme tulokseksi juuri ne päivät, joille on kirjattu, että ne ovat olleet kylmiä JA että on satanut. Tämä kysely ei ilmoita meille niitä päiviä, jolloin on pelkästään satanut eikä niitä päiviä, jolloin on pelkästään ollut kylmä.(kai Pihl 1998.) Tässä esimerkkejä WHERE-sivulauseista, joissa AND, OR tai NOT. SELECT * FROM ehdokas WHERE sukunimi NOT LIKE 'Hauki'; 63

SELECT * FROM ehdokas WHERE etunimi = 'Markku' AND äänet >50; SELECT * FROM ehdokas WHERE etunimi LIKE 'Piia' OR sukunimi LIKE '%nen'; 64

Miten sitten WHERE-lauseessa esitetään kysymys, onko joku jotain vai onko se suurempi tai pienempi kuin joku muu? Siihen käytetään niin sanottuja vertailuoperaattoreita. Niitä ovat seuraavat. = yhtä suuri kuin <> erisuuri kuin > suurempi kuin < pienempi kuin >= suurempi tai yhtä suuri kuin <= pienempi tai yhtä suuri kuin BETWEEN kahden arvon välissä LIKE etsi samanlaista kuin IN sama kuin 65

12.3 Video 8: Kyselyt Video 8: Kyselyt Kesto: 3:26 min URL: https://youtu.be/2fcj_q58etw 12.4 Tehtävä 7: Kysely Tallenna tietokanta ehdokkaat. http://www.avkymppi.net/ehdokkaat.mdb Tee kysely, jossa on kaikki ehdokkaat äänten mukaisessa järjestyksessä ja puolueen nimi mukana. 66

13 RAPORTIT Raportti on tehokas tapa esittää tiedot tulostetussa muodossa. Suurin osa raportin tiedoista saadaan sen pohjana olevasta taulukosta, kyselystä tai raportin tietojen lähteenä toimivasta SQL-lausekkeesta. 13.1 Raportin luominen Raportti tehdään Tietokanta-ikkunan kautta valitsemalla Raportit. Raportin voi luoda joko ohjatun toiminnon kautta tai rakennenäkymässä. Tällä kertaa teemme raportin ohjatun toiminnon kautta. Kaksoisklikkaa Luo raportti ohjatun toiminnon avulla -kohtaa. Näytölle avautuu ikkuna, josta voidaan valita halutut taulut, kyselyt ja niiden kentät, jotka halutaan ottaa mukaan raporttiin. On suositeltavaa valita raportin pohjaksi kysely eli haku, koska siinä on kaikki tiedot valmiina. Otetaan mukaan kaikki kyselyssä mukana olleet kentät klikkaamalla kaksoisnuolipainiketta. Jos käytät painiketta, jossa on yksi nuoli niin se vie vasemmalta puolelta aktivoidut (aktivointi ta- 67

pahtuu klikkaamalla hiirellä haluttua kenttänimeä) kentät oikealle puolelle. Raporttiin tulee mukaan oikealla näkyvät kentät. Kun olet tehnyt valinnat, napsauta painiketta Seuraava, jonka jälkeen voit antaa kentille nimet. Kun kenttinen nimet on syötetty, napsautat painiketta Seuraava ja pääset lisäämään rakennetasoja. Tässä valitaan rakenteeksi puolue eli raportissa ehdokkaat on lajiteltu puolueittain. 68

Seuraavassa vaiheessa voit lisätä lajittelutasoja. Seuraavassa vaiheessa voit vielä säätää raportin ulkoasua, mutta oletusasettelu on hyvä. Lopuksi laitetaan raportille nimi ja tehdään siitä sellainen, että se päivittyy, eli jos tulee muutoksia, niin ne tallentuvat heti myös raporttiin. 69

Valmis raportti on juuri sellainen millaiseksi se määriteltiin. Jos haluat vielä muokata raporttia, sulje se. Sen jälkeen avaa se Tietokanta-ikkunassa valitsemalla hiiren kakkospainikkella vaihtoehto Muokkaa. 70

Tässä esimerkki siitä, miltä raportti voi näyttää eli turhat tekstit pois ja sukunimi ensin. 71

Raportin sekä lomakkeen rakennetta voi muokata hyvin monella tavalla. Raportti jakautuu useaan osaan. Jokaista kenttää voi muokata erikseen ja raporttiin voi työkalujen avulla tuoda uusia elementtejä. Raportin muokkaamisen opetteluun kannattaa käyttää aikaa kokeilemalla erilaisia mahdollisuuksia. Jos poistat jotakin, aktivoi se ja paina delete. Voit siirrellä palikoita ja venyttää ja vanuttaa ja määritellä niille fontteja. 13.2 Video 9: Raportit Video 10: Raportit Kesto: 6:08 min URL: https://youtu.be/vho1ps8i7do 72

14 ETSI- JA KORVAA Tietojen ylläpidossa on kätevää käyttää toimintoja etsi ja korvaa. Jos tietueita on vain muutama, löydät muutettavat kohdat helposti. Tilanne on toinen, kun tietueita on tuhansia. Silloin tietueita ei kannata selailla yksitellen läpi. n Etsi-työkalun symbolina on suurennuslasi, mutta sitä voi käyttää myös suoraan pikanäppäinyhdistelmällä CTRL+F. Etsi Korvaa-toiminnon pikanäppäin on CTRL+H, ja sen kuvakkeena on suurennuslasi, jonka pällä on kynä. On tosin huomattava, että ssa kyseinen toiminto toimii ainoastaan raporttinäkymässä ja sielläkin vasta muokkausvaiheessa. Lomakkeen kohdalla toiminnon voi valita mm. näppäinkomennolla, mutta toiminto ei toimi. 73

15 LOPPUTEHTÄVÄ Tee tietokanta pilkkikisoja varten. Ideana on, että pilkkijät jaetaan kolmeen sarjaan: miehet, naiset ja nuoret. Jokaisen pilkkijän tullessa maaliin merkitään tulos eli punnittu kalasaalis. Kisojen loputtua tietokannasta voidaan tulostaa tulokset jokaisen sarjan osalta. 74

LÄHDELUETTELO Paavilainen, J. (1998). Tietoturva. Espoo: Suomen Atk-kustannus. Pihl, K. (1998). SQL-kieli. [Online: http://oppimateriaalit.internetix.fi/fi/avoimet/atk/tietokanta/tkopi3/sql]. Luettu 10.12.2012. Wikipedia. MySQL. [Online: http://fi.wikipedia.org/wiki/mysql]. Luettu 13.11.2012. Wkipedia. SQLLite. [Online: https://fi.wikipedia.org/wiki/sqlite]. Luettu 18.5.2016. 75

LIITE 1 LIBREOFFICEN ASENNUS LibreOffice löytyy osoitteesta https://fi.libreoffice.org/ Sivuilta löytyy ohjelman asennuspainike. Ohjelman asennuksessa ei ole mitään erikoista, mutta LibreOfficen tietokantaohjelma Base tarvitsee toimiakseen Javan ajoympäristön.! HUOM! Javan ajoympäristö on eri asia kuin se Java, joka on selaimen lisäosa. Javan ajoympäristö löytyy osoitteesta: http://www.oracle.com/technetwork/java/javase/downloads/index.html Siellä on valittava JRE. Sitten hyväksytään lisenssi. 76

Tämän jälkeen valitaan 32-bittinen Java, koska LibreOffice on 32-bittinen ohjelma. Kun ohjelma on ladattu, se voidaan asentaa. Kun asennus on valmis, on myös käytettävissä. Video: LibreOfficen ja Javan kehitysympäristön asennus. Kesto: 13:44 min URL: https://youtu.be/beirgt0ivpk Kansikuva: Pixabay: CC0 public domain. 77