Demo 1

Näissä demonstraatioissa tutustutaan tietokantataulujen eli relaatioiden luomiseen. Työvälineenä käytetään Microsoft Access 97 tai Microsoft Access 2000 ohjelmistoja. Samat toimintaperiaatteet pätevät myös muiden valmistajien tietokantaohjelmistoissa.

  1. Käynnistä Microsoft Access.
  2. Jos Accessin oikeassa alanurkassa riehuu typerä klemmari niin heitä se ensimmäiseksi jorpakkoon.
  3. Luo uusi tietokanta valinnalla Blank Database (Tyhjä tietokanta). Access kysyy minne uusi tietokanta halutaan sijoittaa. Valitse paikaksi oma hakemistosi d:\omat\-hakemiston alta. Anna tietokannalle nimeksi demo1.
  4. Tietokanta muodostuu tauluista, joiden luomista harjoittelemme nyt. Valitse Tables (Taulukot)-lehti ja luo uusi taulu New (Uusi)-painikkeella.
  5. Esiin aukeavasta New Table (Uusi taulukko)-ikkunasta valitse Design View (Rakennenäkymä).
  6. Luodaan taulu, joka sisältää kentät kurssiID, kurssinnimi ja laajuus. Field Name (Kentän nimi)-kenttään voit syöttää tauluun tulevan kentän nimen. Kenttien nimissä on syytä välttää erikoismerkkejä, välilyöntejä ja skandinaavisia merkkejä.

    Data Type (Tietotyyppi)-kentässä voit valita haluamasi tietotyypin määrittelemällesi kentälle. Tietotyypin valintaa kannattaa miettiä erityisen tarkkaan käyttötarkoituksen mukaan. Tärkeimmät Accessin ymmärtämistä tietotyypeistä ovat:

    Text (Teksti)
    Käytetään tavalliselle aakkosnumeeriselle tiedolle. Maksimikoko on 255 merkkiä.
    Number (Luku)
    Matemaattisissa operaatioissa käytettävälle numeeriselle tiedolle.
    Date/Time (Pvm./klo)
    Päivämäärien ja aikojen tallentamiseen.
    Currency (Valuutta)
    Rahayksikkö. Maksimissaan neljä desimaalia.
    AutoNumber (Laskuri)
    Uniikki automaattisesti kasvava järjestysnumero. Käytetään erityisesti avainkentissä.
    Yes/No (Kyllä/Ei)
    Kyllä/Ei.

    Viimeinen Design View (Rakennenäkymä)-ikkunan kenttä on varattu vapaamuotoiselle kommentille.

    Varmista, että taulusi kenttämäärittelyt näyttävät seuraavilta:

  7. Jokaiselle tietotyypille voidaan määritellä lisäominaisuuksia General (Yleinen)-välilehdellä. Lookup (Haku)-välilehden toimintoja tutkitaan myöhemmin. Määrittele kenttien asetukset seuraavanlaisiksi:
    KurssiIDKurssinnimiLaajuus

    Accessin tietotyyppien lisämääritykset:

    Field Size (Kentän koko)
    Määrittelee kentän maksimipituuden tekstikentille. Numerokentille määrittelee talletustarkkuuden.
    Format (Muoto)
    Määrittelee millä tavalla muotoiltuna kentän sisältö esitetään.
    Decimal Places (Desimaalipaikat)
    Näytettävien desimaalien määrä.
    Input Mask (Syöttörajoite)
    Määrittelee muodon jossa tieto on kenttään syötettävä.
    Caption (Otsikko)
    Esitettävä otsikko, jos se on muu kuin kentän nimi.
    Default Value (Oletusarvo)
    Kenttään valmiiksi tuleva oletusarvo.
    Validation Rule(Kelpoisuussääntö)
    Kentälle määriteltävät oikeellisuustarkistukset.
    Validation Text (Kelpoisuussäännön kuvaus)
    Teksti, joka näytetään jos käyttäjä syöttää jotakin oikeellisuustarkistuksien vastaista.
    Required (Arvo tarvitaan)
    Määrittelee onko kenttää pakko täyttää. Kentät kannattaa lähes aina määritellä pakollisiksi.
    Indexed (Indeksoitu)
    Määrittelee luodaanko kentän pohjalta hakuja nopeuttava hakemisto.

    Tarkemmat kuvaukset löytyvät Accessin omasta avustuksesta.

  8. Määrittele KurssiID-kenttä taulun perusavaimeksi. Paina hiiren oikeaa näppäintä KurssiID-kentän päällä ja valitse aukeavasta valikosta ensimmäinen valinta Primary Key (Perusavain).
  9. Sulje taulumääritysikkuna ja anna taululle nimeksi Kurssit.
  10. Luo uusi taulu nimeltään Postinumerot. Määrittele Postinumero-kenttä perusavaimeksi. Access erottelee perusavaimeksi määritellyn kentän/kentät avain-merkillä rivin alussa.

  11. Syötä Kurssit-tauluun muutama kurssi. Syöttäminen tapahtuu klikkaamalla taulun nimeä, jolloin Access aukaisee taulun ja pääsee syöttämään kenttiin tietoja.

    Yritä muuttaa jonkin kurssin kurssiID:tä. Miksi se ei onnistu?
  12. Syötä Postinumerot-tauluun muutama postinumero.

    Yritä muuttaa kahdelle paikalle sama postinumero. Mitä tapahtuu? Miksi?
  13. Luo Osastot-taulu ja Vkurssit-taulu. Muista määritellä perusavaimet..
  14. Luo Oppilaat-taulu:

    Mieti tarkkaan, kuinka paljon tilaa pitää varata millekin tekstikentälle. Määrittele sotu-kentälle valmiiksi syöttötarkistukset eli Input Mask. Tarkista Accessin Helpistä miten syöttömaskeja määritellään. Kenttäkohtaisen avustuksen saa painamalla F1-näppäintä kentän ollessa valittuna. Älä määritä mitään syöttötarkistuksia tms. postinumero-, vkurssinro- ja osastonro-kentille. Tarkistuta taulusi muoto ohjaajalla.
  15. Määrittele postinumero-kenttään syötettävä tieto haettavaksi toisesta taulusta eli Lookup (Haku).

    Display Control (Näytönohjausobjekti)
    Määrittelee näytetäänkö kenttä tavallisena muokkausruutuna(inputbox), luetteloruutuna(listbox) vai yhdistelmäruutuna (combobox)
    Row Source Type (Rivilähteen tyyppi)
    Määrittelee mistä syötettävät arvot haetaan. Vaihtoehtoina ovat joko jonkin taulun tai kyselyn sisältämät arvot (Table/Query), itsemääritelty luettelo kelpaavista arvoista (value list) tai jonkin taulun kenttäluettelo (Field list)
    Row Source (Rivilähde)
    Määrittelee lähteenä käytetyn taulun/haun nimen tai itsesyötetyt arvot
    Bound Column (Sidossarake)
    Kuinka mones kenttä hakutaulussa sisältää halutun tiedon
    Column Count (Sarakkeiden lukumäärä)
    Monta kenttää näytetään hakutaulusta
    Column Heads (Sarakkeiden otsikot)
    Näytetäänkö kenttien otsikot
    Column Widths (Sarakeleveys)
    Näytettävien kenttien leveydet ; eroteltuina. 0-levyiset kentät piilotetaan.
    List Rows (Luettelon rivien määrä)
    Montako riviä näytetään listassa kerrallaan
    List Width (Luettelon leveys)
    alasvetovalikon leveys
    Limit To List (Vain luettelon käyttö)
    Kelpuutetaanko käyttäjän omat syötteet, jotka eivät ole samoja kuin hakutaulun sisältö.
  16. Määritä osastonro- ja vkurssinro-kenttien hakutauluiksi Osastot- ja Vkurssit-taulut.
  17. Syötä hieman tietoja Osastot-, Vkurssit- ja Opiskelijat-tauluihin.
  18. Syötettyäsi ylläolevat tiedot tauluihin käy muuttamassa Matematiikan osastonroksi 17. Muuttuuko Eskon osastonro oppilaat-taulussa? Mitä ongelmia tästä voi aiheutua? Miten asia kannattaisi korjata?
  19. Yritä syöttää oppilas-tauluun postinumeroksi jotakin päätöntä. Onnistuuko? Miten asia pitäisi korjata?
  20. Määritellään taulujen välille viite-eheydet. Valitse Tools|Relationships. Show Table-ikkunasta valitse kaikki muut taulut paitsi Kurssit ja paina Add. Sulje Show Table-ikkuna. Show Table-ikkunan saa tarvittaessa uudelleen näkyville hiiren oikealla napilla aukeavasta valikosta.
  21. Viite-eheyksiä määritellessä Access saattaa antaa ties minkälaisia valituksia. Tällöin pitää ensimmäisenä tarkistaa, että taulujen sisällöt eivät ole ristiriidassa. Esim. Oppilaat-taulussa ei saa olla käytössä sellaisia postinumeroita, joita ei löydy postinumerot-taulusta. Access ei myöskään jostakin käsittämättömästä syystä siedä viiteavain-kenttiin määriteltyjä indeksejä. Itse määritellyt indeksit pitää siis poistaa näistä kentistä. Viite-eheyden luominen aiheuttaa samalla käytetyn kentän indeksoimisen eli syntyy viiteavain.
  22. Vedä Oppilaat-taulun postinumero-kentästä yhteys Postinumerot-taulun postinumero-kenttään. Näytölle aukeaa Relationships-ikkuna. Ruksaa Enforce Referential Integrity ja Cascade Update Related Fields.
  23. Määrittele vastaava viite-eheys Oppilas-taulun Osastonro-kentän ja Osastot-taulun välille, mutta älä ruksaa kohtaa Cascade Update Related Fields. Määritä viite-eheys myös Vkurssi-taulun suhteen paitsi, että laita ruksi jokaiseen kohtaan.
  24. Yritä nyt muuttaa postinumeroita Postinumerot-taulussa. Muuttuvatko vastaavat postinumerot Oppilaat-taulussa? Yritä poistaa jokin postinumero, joka on käytössä Oppilaat-taulussa. Mitä tapahtuu? Miksi?
  25. Yritä vastaavia temppuja Osastot-taulun kanssa? Mitä tapahtuu? Yritä syöttää Oppilaat-tauluun jokin Osastonro, jota ei löydy Osastot-taulusta. Miten käy?
  26. Edelleen yritä muutella myös Vkurssi-taulun sisältöä. Näkyvätkö vaikutukset Oppilaat-taulussa? Onnistuuko jonkin vuosikurssin poistaminen? Mitä tapahtuu? Miksi?
  27. Luo vielä Tentit-taulu ja määrittele siihen oikeantyyppiset kentät ja tarvittavat viite-eheydet. Millaisen perusavaimen joudut luomaan Tentit-tauluun? Lopullinen tietokanta näyttää seuraavalta:
  28. Pyydä ohjaajaa tarkistamaan vielä tietokantasi rakenne ja määrittelyt. Tee mahdolliset korjaukset.
  29. Kopioi luomasi tietokanta talteen seuraavien demojen varalta.

http://appro.mit.jyu.fi/2000/yhteistoiminta/tietokannat/demot/demo1/index.html
© Tommi Lahtonen ()<URL: http://www.iki.fi/hazor/>
4.10.2000 13:53:07