free webpage counters
ETUSIVU materiaalit

Johdanto

Tämän opintojakson tarkoituksena on oppia ymmärtämään tietokantojen perusperiaatteet ja luomaan pienimuotoinen tietokanta. Opintojaksolla käytetään MS Access 2003 -ohjelmaa. Materiaali pohjautuu Tuija Jaakkolan tekemään materiaalin. Sivun alaosassa näkyvät tiedot kunkin luvun tekijästä. Materiaalin tähtäin on lähinnä siinä, että sen avulla selviytyy A-ajokorttikokeesta. Materiaalissa sivutaan hieman myös vaativampaa materiaalia, lähinnä relaatioden osalta.

Varsinaisen A-ajokortin vaatimukset ovat:

1. Tietokannan käsittely

  • avaaminen ja sulkeminen
  • uuden tietokannan luominen (tallentaminen oikealla nimellä, oikeaan paikkaan)
  • tietokannan kopioiminen

2. Tietokannan taulukoiden luominen ja käsittely

  • luominen, kopioiminen, nimeäminen uudelleen
  • kenttien nimet, tietotyypit ja koko
  • kenttien looginen järjestys

3. Tietojen ylläpito

  • tiedon syöttäminen ja muuttaminen
  • tietueen poisto
  • tietueiden lukumäärä
  • tietojen selailu ja etsiminen
  • tietojen lajittelu

4. Kyselyn tekeminen

  • taulukon ja kenttien valinta kyselyyn
  • tietojen lajittelu
  • hakuehtojen käyttäminen
  • tuloksen tallentaminen

5. Perusraportti

  • luominen
  • tallentaminen
  • tulostaminen

6. Sivuasetukset ja tulostaminen

  • paperin suunta
  • reunukset ja muut tulostusasetukset
  • esikatselu

7. Etsi/korvaa -toiminto

8. Ohje-toiminto

Mikä on tietokanta?

Tietokannalla tarkoitetaan kokoelmaa tiettyä kohdetta kuvaavista tiedoista. Tietokanta voi olla yrityksen arkistokaapissa oleva asiakasrekisteri, joka sisältää tiedot yrityksen asiakkaista, heidän tilauksistaan, heille toimitetuista tavaroista ja laskuista. Tietokanta voi olla autonlainausjärjestelmä, josta löytyy tiedot autoista, lainaajista ja lainausajankohdista. Tavallisesti tietokanta on usean kortiston muodostama tiedostokokonaisuus tai yhtenäinen tietorakenne tiedon hakua, selaamista ja ylläpitoa varten.

On huomattava, että esim. kortistot ovat aika hankalia käytettävyyden osalta. Apuun ovat tulleet erilaiset tietokantaohjelmat, joita on nykyisin saatavilla myös PC-koneille. Tietokantaohjelmana voi olla esimerkiksi Access, Paradox, Oracle, PostgreSQL tai MySQL. Kirjasto on hyvä esimerkki siitä mitä tietokannat mahdollistavat. Nykyisin kirjaston kirjojen tietoja voi selata suoraan netin kautta. Ei tarvitse mennä kirjastoon saakka, vain huomatakseen, että kirja on lainassa. Huonomuistisena lainaajana täytyy tosin todeta, että järjestelmä on välillä jopa harmittavan hyvä eli sakkoja tulee.

Ehkä meidän pitäisi puhua tietokantayhteiskunnasta eikä tietoyhteiskunnasta, sillä tietokannat ovat keskeinen osa elämäämme. Miettikäämme vaikkapa sellaisia jokapäiväisiä juttuja kuten:

  • pankkiasiat
  • vakuutukset
  • kaupassa käynti (bonuskortit)
  • verotus
  • väestörekisteri
  • kela
  • terveydenhoito

Lisäksi webissä on nykyisin runsaasti tietokantoja. Tunnetuin tietokanta netissä lienee Google, mutta onhan niitä muitakin. Netin vieraskirjat perustuvat tietokantojen hyödyntämiseen samoin keskustelupalstat. Nykyisin myös itse websivustot ovat tietokantoja, esim. tämä sivu on XML sivu, joka sijaitsee tietokannassa. Näet kuitenkin lopputoloksen html-muodossa, mikäli katselet tätä tekstiä netin kautta.

Imuroi koneellesi Mäntyharjun Jäntevän vieraskirja (oikea hiiren painike ja vaihtoehto "Tallenna kohde nimellä", "Save target as", "Tallenna kohde levylle") ja tutki sisältöä. Kannasta löytyy samoja tietoja kuin Jäntevän websivuilta.

Kun olet tallentanut kannan koneellesi, napsauta se auki kaksoisklikkamalla sitä.

Vastaa suojausvaroitukseen "Avaa"

Kaksoisnapsauta taulukkoa "vieraskirja".

Lopputulos on, että taulukko avautuu luettavaksi.

©Tuija Jaakkola & Jari Sarja 2006

Relaatiotietokanta

Relaatiotietokanta koostuu useista taulukoista. Taulukoissa tiedot esitetään riveillä ja sarakkeissa. Tietokannassa tarvittavat tiedot pyritään jakamaan taulukkoihin siten, että yksi tieto tallennetaan vain yhteen paikkaan. Relaatiotietokantaan tallennetaan myös tieto siitä, miten eri taulukot liittyvät toisiinsa.

Relaatiotietokantojen etuna voidaan pitää tietojen helppoa saatavuutta, sillä tietojen käyttö on mahdollista heti tietokantaan tallentamisen jälkeen. Taulukkojen välille luodaan relaatio eli yhteys, jotka nopeuttavat ja tarkentavat tietojen päivittämistä, sillä muutos on tehtävä vain yhteen paikkaan. Relaatiotietokanta on suunniteltava huolellisesti, sillä hyvin suunnitellusta tietokannasta voi helposti tyydyttää monimutkaiset tietotarpeet ja voi välttää paljon turhaa työtä kun ei joudu luomaan uudelleen koko tietokantaa ja syöttämään kaikkia tietoja uudelleen.

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. Tässä alla on kuvattu esimerkki asiakastietokannasta. Jos esim. asiakkaan 10001 sukunimi muuttuu, tarvitsee vain muuttaa tiedot tauluun asiakas. Mikäli meillä olisi ollut käytössä yksinkertainen luettelo, jossa ei siis relaatioita, olisimme joutuneet muuttamaan tiedot jokaisen ostetun tuotteen kohdalle.



Tiedon eheys

Tiedon eheydellä tarkoitetaan sitä, että tiedot ovat totuuden mukaisia 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, että varastossa ei ole yhtään hanskaa. Varastomies on ihan oikeassa, mutta toisaalta väärässä. Syynä tähän on vaihteleva nimikäytäntö. Hanskat olivat varastossa muilla nimikkeillä. Osa olikin sormikkaita, sieltä olisi löytynyt myös 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ä.

Relaatiotietokannat ja eheysongelmat

Relaatiotietokannat ovat levinneet laajalle johtuen mm. käytön helppoudesta, joustavuudesta ja laitteistoriippumattomuudesta. Relaatiotietokannoilla 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 suureksi jo pienessä järjestelmässä, eikä suuren taulu- ja relaatiomäärän hallinta ole helppoa. (Ks. Paavilainen 1988, 12.)

Tällä kurssilla emme kuitenkaan vielä perehdy relaatioihin kovinkaan tarkasti. Hieman aihetta käsitellään, koska Microsoft Access on relaatiotietokantaohjelma. Lisäksi on hyvä osata suunnitella pienikin kanta oikein.

©Jari Sarja 2006

Normalisointi

Normalisoinnin tavoite on vähentää tietokannan ylimäärää ja tästä aiheutuvia ongelmia tietojen lisäämisessä, poistamisessa ja päivityksessä. Tarkoituksena on lisätä rakenteiden selkeyttä, yhtenäisyyttä ja laajennettavuutta relaatiokaava (taulu) kerrallaan sekä tutkitaan normaalisuus ja jaetaan tarvittaessa osiin. Tietokannan normalisoinnilla varmistetaan kunkin tietoryhmän riippuvuus pelkästään avaimesta.

Normalisointi: 1. NM
Ensimmäisessä normaalimuodossa jokainen kenttä määritellään ydintiedoksi. Pyrkimyksenä on, että tieto pilkotaan. Samaan kenttään ei esim. kannata laittaa sekä etu- että sukunimeä. Sillä, jos tieto on samassa kentässä niin tiedon lajittelu hankaloituu - ei olisi enää mahdollista lajitella sekä etu- että sukunimen mukaan.

Normalisointi: 2. NM
Toinen sääntö vaatii perusavaimen joka tauluun. Jokaisessa taulussa on siis oltava ainakin yksi kenttä, joka yksilöllisesti tunnistaa tietueen.

Normalisointi: 3. NM
Kolmas sääntö on, että kaikkine kenttien tulee olla keskenään riippumattomia. Minkään taulun sisältö ei siis saa perustua jonkun toisen taulun kenttään.

Lisätietoa:
Tietokannan normalisointi
ER-mallin muuntaminen relaatiotietokannaksi ja normalisointi

©Tuija Jaakkola & Jari Sarja 2005

Esimerkki

Tässä alla esimerkki tietokannasta, jossa normalisointi on toteutettu. Kyseessä on autonvuokraus.

Normalisointi on tehty jo valmiiksi eli auton tiedot ovat yhdessä taulukossa, lainaajan tiedot toisessa ja lainauksen tiedot kolmannessa taulukossa. Yhdessä taulukossa olevat tiedot ovat riippuvaisia vain ja ainoastaan taulukon avaimesta. Jotta taulukot saadaan yhdistettyä on lainaus-taulukkoon lisättävä lainaaja ja auto-taulukon avainkentät.

Jatkossa perustetaan taulukot, yhdistetään (muodostetaan relaatiot) ja syötetään niihin tiedot. Accessilla työskenneltäessä on tärkeää, että taulukot ja niiden rakenne on täysin valmiina ennen kuin niihin on tarkoituksenmukaista syöttää tietoja. Saattaa käydä niin, että joutuu tyhjentämään taulukoissa olevat tiedot, jos myöhemmässä vaiheessa huomaa jonkin taulukon rakenteessa olevan pielessä.

Tietokannan perusrakenteen ollessa valmiina voidaan ryhtyä tekemään raportteja ja kyselyjä kannasta. Jos halutaan tehdä täydellinen toimiva kanta on kaikki tarvittavat tulosteet mietittävä tarkkaan valmiiksi. Tällä opintojaksolla on tarkoitus ymmärtää tietokannan toimintaperiaatteet, joten emme rakenna täysin toimivaa kantasovellusta vaan kokeilemme erialisia kannan toimintoja.


©Tuija Jaakkola 2005

Tietokantoihin liittyviä käsitteitä

Taulu (table)

Perinteinen tietokanta koostuu kaksiulotteisista tauluista. Joissakin yhteyksissä tauluista käytetään virheellisesti nimitystä taulukko (mm Accessin suomenkileinen versio). Access varastoi tietokantaan syötetyt tiedot tauluihin, jotka on jaettu riveihin ja sarakkeisiin.



Tietue

Yksi tietue on yhdellä taulun rivillä olevat tiedot, jotka liittyvät yhteen henkilöön asiaan tai tapahtumaan. Esimerkiksi yksi tietue asiakastaulussa sisältää vain yhtä asiakasta koskevat tiedot (asiakasnumero, nimi, osoite ja puhelinnumero). Taulun yksi rivi vastaa arkistokaapissa olevan kortiston yhtä korttia.

Kenttä
Jokainen tieto tallennetaan eri sarakkeeseen eli kenttään. Esimerkiksi asiakastaulukossa ensimmäisessä sarakkeessa on asiakasnumero, toisessa asiakkaan nimi, kolmannessa osoite jne. Taulukon jokaisessa tietueessa on samat kentät ja kenttien arvoja voidaan käyttää haluttujen tietueiden hakemiseen taulukosta.

Avainkenttä
Missään taulukossa ei saa olla kahta samanlaista riviä, joten jokainen taulun rivi on voitava erottaa muista yhden tai useamman kenttänsä arvon avulla. Avainkenttiä voi olla myös useita ja niille on aina syötettävä jokin arvo.

Perus- eli pääavain
Perus- eli pääavaimeksi on valitaan kenttä, joka varmasti yksilöi rivin. Usein pääavaimena käytetään esimerkiksi asiakas- tai tilausnumeroa. Esimerkiksi tilaustietokannassa avaimina on asiakasnumeron lisäksi myös tilausnumero, jotta samalla asiakkaalla voi olla useita tilauksia. Samaan taulukkoon tallennetaan vain ne tiedot, jotka riippuvat kyseisen taulukon avainkentästä. Tässä alla olevassa esimerkissä pääavainkentän nimi on tunnus ja kannassa ei voi olla kahta samanlaista tunnusta.

Viiteavain
Taulukoiden yhdistäminen tapahtuu viiteavaimien avulla. Viiteavain on avainkenttä jossakin toisessa taulukossa. Viiteavaimet ovat ainoita tietokannassa toistuvia kenttiä. Viiteavaimen arvoa vastaava perusavaimen arvo on löydyttävä jostakin taulukosta eli ei saa olla viittausta kohteeseen, jota ei ole olemassa.

Indeksi
Indeksit ovat hakujen nopeuttamiseksi halutuista sarakkeista tai niiden yhdistelmistä luotuja hakemistotauluja. Taulukkojen perusavaimille ja viite-avaimille kannattaa tavallisesti luoda indeksi. Esimerkiksi Access luo taulukkoon automaattisesti avainkentän mukaisen indeksin.

Eheys
Tietokannan eheys tarkoittaa tietokannan tietojen ja taulukoiden oikeellisuutta, yhden-mukaisuutta, ristiriidattomuutta ja samaa tuoreustasoa. Eheys voidaan jakaa arvoalue-eheyteen ja viite-eheyteen. Arvoalue-eheys tarkoittaa sitä, että kenttään voidaan tallentaa vain oikean muotoinen arvo (esimerkiksi ei tekstiä numerokenttään) tai pakotetaan tallentaman päivämäärä muodossa pp.kk.vvvv. Viite-eheys estää tyhjän arvon syöttämisen avaimille ja huolehtii taulukoiden välisten viittausten säilymisestä oikeana poistettaessa ja lisättäessä tietueita sekä estää tietueiden poiston, jos niillä on viittauksia muihin taulukoihin. Esimerkiksi asiakasta ei voida poistaa Asiakas-taulukosta, jos hänellä on tilauksia Tilaus-taulukossa eikä Asiakas-taulukossa olemattomalle asiakkaalle voi lisätä tilauksia.

©Tuija Jaakkola & Jari Sarja 2006

Microsoft Access 2003

Microsoft Access on relaatiotietokantojen hallintajärjestelmä, joka tallentaa ja hakee tietoja käyttäjän määrittelemien relaatioiden eli yhteyksien avulla. Accessin avulla voit luoda erilaisia tulosteita tietokantojen sisältämistä tiedoista. Accessilla luodussa tietokannassa voi hyödyntää myös Visual Basic for Applications (VBA) -koodia. Koodin eli ohjelmoinnin avulla voi tehostaa tietokannan toimintaa.

Access -tietokannan rakenne

Access-tietokantaan voi kuulua taulukkojen lisäksi lomakkeita, raportteja ja tietokannan tietojen käsittelyä helpottavia kyselyitä, makroja ja moduleita. Kaikki tietokannan osat muodostavat yhden tiedoston, jonka tarkenne on MDB.

Lomakkeita voidaan käyttää tietojen syöttämiseen, muuttamiseen ja tarkastelemiseen.

Raportteja käytetään tietojen tulostamiseen ja niihin voidaan laskea yhteissummia: esimerkiksi asiakkaan tilausraportissa tilatun tavaran yhteismäärä ja tilauksen yhteissumma.

Kyselyiden avulla voidaan määrittää hakuehtoja, joiden perusteella tietoja haetaan taulukoista tai useamman taulukon sisältämät tiedot voidaan yhdistää esimerkiksi raporttia varten. Myös uusien taulukoiden luonti ja taulukkojen tietojen päivittäminen eli syötettyjen arvojen muuttaminen on mahdollista kyselyiden avulla.

Makrojen avulla voidaan automatisoida perustoimintoja yhdistäen käyttäjän antamia komentoja kokonaisuuksiksi, jotka Access tekee käyttäjän puolesta. Makroja käytetään usein toistuvien tehtävien helpottamiseen. Makrojen avulla voidaan esimerkiksi tehdä omia funktioita, asettaa kentille arvoja ja laatia valintaikkunoita. Makrojen teko suoritetaan ohjelmoimalla, mutta se ei vaadi varsinaisia ohjelmointitaitoja. Apuna makrojen luonnissa voidaan käyttää Accessin sisältämiä valmiita toimintoja, joita on esimerkiksi lomakkeen avaamiseen, tulostamiseen, sulkemiseen ja tietyn hakuehdon asettamiseen kentälle.

Modulit ovat VBA:lla kirjoitettuja toimintosarjoja tilanteisiin, jotka vaativat monimutkaisempaa automatisoitua käsittelyä, kuin mitä makroilla on mahdollista toteuttaa.

Tällä opintojaksolla tarkastelemme taulukoita, lomakkeita ja raportteja. Opimme muuttamaan ja syöttämään tietoja kantaan taulukossa ja lomakkeella. Opimme tekemään yksinkertaisia kyselyjä ja raportteja.

Asetukset

Olisi hyvä varmistaa pari seikkaa asetuksista ennen kuin käyttää kantaa. Kun sinulla on jokin kanta auki, valitse työkalut ja "Asetukset"

Valitse välilehti "Yleiset".

Tarkista, että kieli on suomi. Tarkista myös oletuskansio eli minne kantasi oletusarvoisesti tallentuvat. Tee muutokset tarvittaessa.

Erityisen tärkeää on, että tietokannan lajittelujärjestys on ruotsi/suomi, muussa tapauksessa voi Äetsä olla ennen Oulua, koska kantaa lukee sen muodossa Aetsa.

Tietokannan käsittely

Tietokannan avaaminen

Avaa tietokanta (janteva3.mdb) napsauttamalla sitä kaksi kertaa.

Toinen vaihtoehto on avata Microsoft Access ja avaat sitä kautta tietokannan.

Tietokannan sulkeminen

Sulje tietokanta valitsemalla valikosta "Tiedosto" ja "Lopeta".

Voit myös sulkea tietokannan painamalla painiketta "Sulje".

Tietokannan siirtäminen ja kopioiminen

Voit siirtää tai kopioida tietokannan käyttämällä toimintoja "Leikkaa" ja "Kopioi".

HUOM! Toiminto tallenna nimellä tallentaa vain tauluja, kyselyjä, raportteja eikä itse tietokantaa.

Tallenna tietokonta "Janteva3.mdb" uuteen kansioon jonka nimi on access. Muuta kannan nimeksi vieraskirja.mdb.

Uuden tietokannan luominen

Avaa ohjelma Microsoft Access

Tarkista asetuksista, että kannasta varmasti tulee suomalainen, esim ettei Ällönen ole aakkosissa ennen Ruikkaa. Työkalut -> Asetukset -> Yleiset.

Valitse tiedosto "Uusi"

Valitse "Tyhjä tietokanta"

Valitse polku. Tietokannat on hyvä tallentaa kovalevylle, sillä jos käytät levykettä saattaa siitä loppua tila kesken)

Anna tietokannalle nimi ja paina painiketta "Luo". . Oletusnimenä on db1.mdb. Korvaa tämä nimi uudella nimellä; autonlainaus.

Uuden taulun luominen

Uusi taulukko voidaan luoda MS Access 2003 -versiossa usealla eri tavalla. Tässä kaksi tapaa, joista voit valita haluamasi:

Kaksoisklikkaa "Luo taulukko rakennenäkymässä" -tekstiä -> Taulukon rakenneikkuna avautuu

Tarkista että Luo taulukko rakennenäkymässä -teksti on aktiivisena ja klikkaa sen jälkeen Rakenne -kohtaa -> Taulukon rakenneikkuna avautuu

Kentän nimi

Kentälle annettava nimi. Kenttään voidaan tarvittaessa viitata sen nimellä. Microsoft Accessissa nimien enimmäispituus on 64 merkkiä. Ne voivat sisältää mitä tahansa kirjaimia, numeroita, välejä ja erikoismerkkejä, lukuun ottamatta pistettä (.), huutomerkkiä (!), gravisaksenttia (`) ja hakasulkeita ([ ]). Ohjausmerkkejä (ASCII-arvoja 0–31) ei saa käyttää eikä myöskään välilyöntejä nimen edessä. 

Vihjeitä

  • Vältä välilyöntejä objektien nimissä, jos viittaat niihin usein lausekkeissa tai Visual Basic -koodissa.
  • Vältä pitkien nimien käyttämistä, koska niitä on vaikea muistaa ja niihin on vaikea viitata.
  • Jos aioit viedä kantasi internetiin vältä silloin myös "ääkkösiä", välilyöntejä ja isoja kirjaimia.

Tietotyyppi

Tietotyyppi määrittää millaista tietoa kenttään laitetaan. MS Access 2003 -versiossa tietotyypit ovat seuraavat:

Tietotyypin valinta on erityisen tärkeä toimenpide. Tässä 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.2005-31.1.2005.
  • Pääavain on määritelty numeroksi. Toimii se kanta, mutta aina pitää itse syöttää numero ja sen on oltava aina eri kuin joku käytössä ollut numero.
  • Relaation avulla on tarkoitus hakea tietoa toisesta taulusta. Kentän tietotyypiksi on määritelty teksti. Ei taida kanta toimia lainkaan relaatioiden osalta.

Kentän ominaisuudet

Kentän tyypistä riippuen kenttään liitetään erilaisia lisämäärityksiä (ominaisuuksia).

MS Access 2030 -versiossa lisämääritysten kuvaus tulee kunkin kentän ominaisuuden oikealle puolelle. Jos haluat tietää mitä kukin ominaisuus tarkoittaa klikkaa hiirellä sitä ominaisuutta mistä olet kiinnostunut ja lue oikealle tuleva kuvaus. Jos haluat tarkempaa tietoa, niin paina funktionäppäintä F1. Tällöin aukeaa Accessin ohjetoiminto. Valitettavasti Accessissa ohjeet ovat osittain englannin kielellä.

Tekstitietotyypin ominaisuus antaa kuvaukseksi kuvassa näkyvät tiedot.

  • Kentän koko tarkoittaa sitä kuinka monta merkkiä kenttään voi kirjoittaa.
  • Arvo tarvitaan tarkoittaa sitä, että onko kenttään pakko syöttää tietoa vai ei.

Lukutietotyypin ominaisuus Kentän koko antaa kuvaukseksi alla näkyvän sinisen tekstin. Oletuksena kentän kokona on Pitkä kokonaisluku, mutta tarvittaessa pientä nuolikolmiota klikkaamalla saa lisää asetuksia.

Kuvaus

Kuvaus on selväkielinen kuvaus kenttään kirjoitettavasta tiedosta. Se toimii samalla myös vihjeenä tietokannan täyttäjälle, koska kuvaukseen kirjoitettu teksti näkyy ikkunan vasemmassa alalaidassa.

Perusavain

Perusavaimen avulla tietueet yksilöidään. Mikäli et laittanut tauluun perusavainta ja yrität tallentaa sen, yrittää ohjelma päätellä puolestasi mihin kenttään perusavain sijoitetaan. Valitset perusavaimen klikkamalla sitä silloin kun kenttä on aktiivinen.

Syöttörajoitte ja kelpoisuussääntö

Syöttörajoite on joskus hyvin käyttökelpoinen. Sillä on mahdollista määritellä tiedon "pohjaksi" ikäänkuin kaava joka ei anna tiedon syöttäjän poiketa siitä. Maatunnuksella varustetun postinumeron pohjana se voisi olla "LLL\-00000", mikä tarkoittaa, että L:ien paikalle on pakko kirjoittaa kirjaimia ja että '-'-merkki sijoitetaan automaattisesti kenttään ja että 0:ien paikalle on kirjoitettava numeroita. '\'-merkki kertoo että sitä seuraava merkki tulostetaan kenttään sellaisenaan.

Pääset syöttörajoitteeseen rakennenäkymässä valitsemalla Ominaisuuksista vaihtoehdon "Syöttörajoite". Klikkaa kenttä aktiiviseksi ja sen jälkeen napsautat kolme pistettä.

Valitse sopiva syöttörajoite ja paina painiketta "Seuraava".

Voit halutessasi muuttaa syöttörajoitetta, muussa tapauksessa paina painiketta "Seuraava".

Nyt kantaan voi kirjoittaa tietoa vain rajoitteen mukaisessa muodossa.

Et esim voi kirjoittaa 52700 MÄNTYHARJU, koska syöttörajoite muuttaa tekstin muotoon Mäntyharju.

Kelpoisuussääntö on monimutkaisempi määre kuin syöttörajoite. Kelpoisuusssääntö voi esimerkiksi määrätä, ettei kenttään voi tallettaa kuin esimerkiksi 10:tä suuremman ja 100:aa pienemmän luvun. Tällöin kelpoisuussäännöksi kirjoitetaan ">10<100". Tässä esimerkissä palkka on tunnissa pakosta enemmän kuin 100 euroa. Jos syötetty arvo alle 100 euroa tulee virheilmoitus "Lisää liksaa"

©Kai Pihl & Jari Sarja 2006

Harjoituksia

Jotta kantojen luominen oli tuttua ja mahdollisimman helppoa puuhaa luodaan kantoja, jotka saat suunnitella ja toteuttaa itse.

Kannat ilman relaatioita

  1. Joulukortit. Luo kanta nimeltä joulukortit. Kantaan tallennat tiedot ystävistäsi (nimi, osoite) ja siitä saitko heiltä joulukorttia viime vuonna.
  2. Kirjat. Luo kanta kirjoistasi (kirjan nimi, kirjoittaja) ja sijainnista (onko kirja kirjahyllyssä lainassa tai jossain muualla). Kannan nimi on kirjat.mdb
  3. Luo toimiva harjoituspäiväkirja. Siis kanta, jonne merkkaat mitä lajia olet harrastanut tiettynä päivänä.
  4. Luo kanta, jolla seuraat päivittäin verenpainettasi.

Kanta relaation kera

  1. Luo kanta ehdokkaista (sukunimi, etunimi, puolue, äänet). Puolueen tiedot haetaan taulukosta puolue. Kannan nimi vaalit.mdb ja taulujen nimet ehdokas ja puolue.
  2. Luo harjoituspäiväkirja käyttäen apuna relaatioita.

Taulun kopiointi

Taulujen kopiointi on helppoa. Aktivoi taulu ja valitse kopioi (kakkospainike).

Valitse paikka, jonne liität taulun. HUOM! Voit liittää taulun vaikka ihan eri tietokantaan, josta kopioit taulun. Liitä taulu halumaasi paikaan valitsemalla "Liitä".

Kopioi tästä itsellesi tietokanta.

Huomaat, että taulua "ehdokas" voisi käyttää myös siihen tarkoitukseen, että se kertoisi paljonko ehdokkaat ovat käyttäneet rahaa vaalimainontaan. Kopioi siis taulu ehdokkaat ja liitä se samaan kantaan nimellä vaalirahoitus. Poista kenttä äänet ja lisää tauluun kenttä vaalirahoitus.

Vaihda sen jälkeen myös kenttien sukunimi ja etunimi järjestystä. Aktivoi kenttä ja rahaa haluamaasi paikkaan.

Tietojen ylläpito

Tietojen syöttäminen tietokantaan

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ähti painikkeella.

Voit selailla kantaa Tietuepainikkeilla, jotka näkyvät aina taulujen ja lomakkeiden alareunassa. Luku siinä oikealla puolella (279) kertoo kuinka monta tietuetta taulussa on.

Mikäli saat kannan jumiin, paina painiketta ESC (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. Access tallentaa muutokset välittömästi. Tallenna painiketta tarvitset vain silloin kun muutat tietokannan rakennetta.

Tietueen poisto

Poista tietue aktivoimalla se ensin.

Valitse sen jälkeen painike "poista".

Tietueiden etsiminen

Voit etsiä tietoja kiikari-painikkeen avulla.

Tietueiden lajittelu

Tietueiden lajittelua varten on olemassa kaksi painiketta. Toinen lajittelee nousevasti ja toinen laskevasti. Muista ensin valita tietue, jota lajittelet.

Painele kyseisiä painikkeita ihan vapaasti, koska mitään varaa ei ole että tietueet menisivät sekaisin kuten esim Excel ohjelmassa voi käydä.

Lisää itsesi kantaan puolue taulukkoon puolue. Valitse jokin puolue ja laita äänimääräksesi 299. Poista kannasta "Heikki Vaskelainen". Muuta Tapani Penttisen etunimeksi "Tapsa".

Tarkista kuka on saanut eniten ääniä.

Etsi kaikki henkilöt, joiden sukunimessä esiintyy kirjainyhdistelmä "mpu".

Automaattinen lomake

Tällä kertaa teemme tietojen syöttöä varten lomakkeet automaattisesti painikkeella Uusi objekti: automaattinen lomake. Lomakkeita voi luoda myös ohjatun toiminnon kautta tai suoraan rakennenäkymään. Nämä ovat kuitenkin jatkokurssiasiaa.

Aluksi teemme ehdokkaan tietojen syöttöä varten lomakkeen. Aktivoidaan tietokantaikkunasta ehdokas-taulukko. Tämän jälkeen klikataan Uusi objekti: automaattinen lomake painiketta . 

Lopputulos on tässä.

Muuten hyvä, mutta puolue pitää vieläkin syöttää numeroina. Korjataan siis paremmaksi.

Klikkaa valikosta rakennenäkymää.

Aktivoi puolue ja paina näppäintä "Delete".

Valitse työkaluista "Yhdistelmäruutu".

Piirrä kenttä

Valitse, että haetaan taulusta.

Valitse tauluksi puolue

Valitse kaikki kentät

Valitse seuraava

Laita järjestys puolueen mukaan

Piilota avainsarake.

Tallenna arvo kenttään puolue

Valitse seuraava ja kirjoita sen jälkeen luetteloruudulle nimi

Paina painiketta valmis.

Siirry takaisin lomakenäkymään painamalla painiketta näkymä.

Kyselyt

Uusi kysely tehdään Tietokantaikkunan 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 kyselymäärittelyikkuna. Ikkunan päälle avautuu valintaikkuna, jossa valitaan kyselyyn tulevat taulukot. Taulukot lisätään kyselyyn valitsemalla haluttu taulukko listasta ja painamalla Lisää -painiketta (Ctrl-näppäin alas painettuna voidaan valita useampi taulukko kerrallaan).  Kun kaikki tarvittavat taulut on lisätty voidaan valintaikkuna sulkea Sulje -painikkeella.

Valitaan kyselyyn henkilön sukunimi, etunimi ja äänimäärä.

Kun valmista niin painetaan huutomerkki-painiketta.

Järjestys

Laitetaan järjestykseen äänimäärän mukaan eli eniten ääniä saanut ensin. Klikkaa siis takaisin rakenne-näkymään.

Laita kenttä "aanet" järjestykseen

Paina painiketta suorita.

Ehtojen määrittäminen kyselyissä

Ehdot ovat rajoituksia, joilla erotetaan kyselyssä tai erikoissuodattimessa tietuejoukosta halutut tietueet. Voit esimerkiksi tarkastella vain Keskustapuolueen ääniä

Voit syöttää useita ehtoja samaan kenttään tai muihin kenttiin. Kun kirjoitat ehtoja useaan Ehdot-soluun, Microsoft Access yhdistää ne käyttäen And- tai Or-operaattoria. Jos ehdot ovat samalla rivillä, Microsoft Access käyttää And -operaattoria, jolloin kysely palauttaa vain kaikki ehdot täyttävät tietueet. Jos ehdot ovat rakenneruudukossa eri riveillä, Microsoft Access käyttää Or -operaattoria, jolloin kysely palauttaa tietueet, jotka täyttävät vähintään yhden ehdon.

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.

Esimerkkejä lausekkeista.

Poimitaan kannasta vain kokomuslaisten äänet.

Tarvitaan yksi kenttä lisää ja tieto siitä, että kokoomuksen numero on 2.

Ehtoihin laitetaan 2. Sitten suorita ja taa tulee tulosta.

Tee seuraavat kyselyt ja tallenna ne.

  • Keskustapuolueen äänet sukunimen mukaan laskevassa järjestyksessä
  • Sos.dem äänet sukunimen mukaan laskevassa järjestyksessä
  • Kaikki ehdokkaat sukunimen ja etunimen mukaisessa järjestyksessä
  • Kaikki ehdokkaat äänten mukaisessa järjestyksessä ja puolueen nimi mukana

Raportin luominen

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. Muut raportin tiedot on tallennettu raportin rakenteeseen. Raportti on tarkoitettu tietojen tulostamiseen ja yhteenvetojen tekemiseen. Raportissa voidaan laskea lukumääriä, keskiarvoja tai summia. Niiden teko muistuttaa hyvin paljon lomakkeiden tekoa.

Raportin luominen

Raportti tehdään Tietokantaikkunan 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 taulukot, kyselyt ja niiden kentät mitä halutaan ottaa mukaan raporttiin . Luodaan raportti aiemmin tehdystä kyselystä, jossa oli mukana lainaaja ja hänen lainaamansa autot. Valitaan Taulukot/kyselyt valintalistasta ko. kysely. Otetaan mukaan kaikki kyselyssä mukana olleet kentät klikkaamalla kaksoisnuoli -painiketta . Jos käytät painiketta, jossa on yksi nuoli niin se vie vasemmalta puolelta aktivoidut (aktivointi tapahtuu klikkaamalla hiirellä haluttua kenttänimeä) kentät oikealle puolelle. Raporttiin tulee mukaan oikealla näkyvät kentät.

Poimi mukaan kaikki tiedot.

Ota mukaan myös puolueen tiedot.

Valitse tarkastelun kohteeksi puolue.

Laita ehdokkaat sukunimen mukaisesti järjestykseen.

Valitse tyyliksi yritys

Kirjoita raportille nimi ja paina painiketta valmis.

Vaihda rakennenäkymään.

Heitä turhat kentät pois kuten "tunnus" ja siisti muutenkin ulkoasua.

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. Etenkin funktioiden ja laskennallisten kenttien kokeiluun kannattaa perehtyä tarkemmin.

Jos poistat jotakin aktivoi se ja paina delete. Voit siirrellä palikoita ja venyttää ja vanuttaa ja määritellä niille fontteja.

Tässä vielä yksi vinkki. Valitaan muokkausruutu ja laitetaan se puolueen kohdalle ja kirjoitetaan sinne =summa(puolue)

Saadaan sitten puolueen äänimäärä mukaan kätevästi.

Sitten se onkin valmis tulostettavaksi.

Tulostusasetuksia voi muuttaa kohdasta Sivn asetukset.

Ensimmäisen kielekkeen alla ovat marginaalit eli reunukset.

Toisen kielekkeen alta löytyy tulostin ja se tulostetaanko sivu vaaka- vai pystysuoraan.

Kolmannen välilehden alta löytyvät sarakkeet.

Ohje-toiminto

Access tarjoaa runsaasti ohjeita. Jos olet klikannut jotakin aktiiviseksi, voit painaa näppäintä F1 ja saat ohjeita.

Voit myös valita valikosta painikkeen ohje.

Kirjoita kysymys ja aloita etintä.

Etsi- ja korvaa

Valitse valikosta korvaa

Sitten vaan ehdot

Osoitetarrat

Valitse raporttinäkymässä "Uusi"

Valitse "Ohjattu osoitetarrojen luominen". Valitse myös taulu tai kysely, josta tiedot haetaan.

Valitse tarratyyppi (lukee yleensä pakkauksen kyljessä).

Valitse fontit

Hahmottele mallitarra

Enteriä painamalla saat aikaan rivivaihdon.

Valitse minkä mukaan tarrat lajitellaan.

Kirjoita nimi raportille.

Harjoituskoe

Tehtävä 1

ATK-opettaja Tarmo Tarmokas on tehnyt tietokannan, jonne hän on tallentanut tietoja lukemistaan atk-lehdistä. Kyseessä on eräänlainen artikkelitietokanta. Tallenna kanta koneellesi (oikea hiirenpainike ja tallenna kohde nimellä).

Sinun tehtäväsi on päivittää artikkelit-taulukkoon seuraavat tiedot:

  • Tarmo kirjoittaa kiireessä ja virheitä tulee paljon. Yhteen kohtaan hän on kirjoittanut "kalanteri", korjaa virhe kirjoittamalla tilalle "kalenteri".
  • Tarmo on löytänyt uuden mielenkiintoisen artikkelin. Lisää tauluun Mikrobitin artikkeli (10/2005 s. 52-55) "Mitä netistä saa ilmaiseksi". Keksi itse puuttuvat tiedot.
  • Tarmo ei enään usko ennustuksiin, poista siis kannasta tietue, joka sisältää avainsanan "ennustukset".

Tehtävä 2

Tee kysely, jolla poimit artikkelit taulusta ne artikkelit, joiden avainsanaksi on määritelty "virus" tai "virukset", lajittele tulokset nousevaan järjestykseen lehden nimen mukaan. Tallenna kysely nimellä "virukset".

Tehtävä 3

Luo Tarmolle uusi linkit-niminen tietokanta ja siihen weblinkit taulukko. Taulukkoon kerätään hyvistä atk-linkeistä seuraavat tiedot: sivuston nimi, url-osoite, avainsanat ja latu (arviointi skaalalla 1-5).

Anna kentille sopivat, lyhyet nimet sekä oikeat tietotyypit ja muuta kenttien koot järkeviksi.

Syötä taulukkoon kahden sivuston tiedot. Voit itse keksiä tiedot.

Tallenna tietokanta. Sulje tietokanta.

Lähteet

Paavilainen, J. (1998). Tietoturva. Espoo: Suomen Atk-kustannus.Hovi, A. (1998). SQL-ohjelmointi. Espoo: Suomen Atk-kustannus.

Peltomäki, J. WWW-ohjelmointi. Jyväskylä: Teknolit.

Peltomäki, J., Inkinen, V. & Rantala, A. CQI- ja ASP-ohjelmointi. Jyväskylä: Teknolit.

Polvinen, T. (1999). Tietokannat käytännön työssä. Jyväskylä: Teknolit.


Linkit

Access-tietokannat

Tietokannan perusteet