Tietokannan suunnittelu - Demo 1

Tämän ensimmäisen demokerran aiheena on tietokantojen suunnittelu. Demon pääpaino on ER-kaavion piirtämisellä. Ensimmäiseksi käydään esimerkkinä vaiheittain läpi pienen opiskelijatietokannan suunnittelu. Perehdy esimerkkiin ajatuksen kanssa ja kiinnitä esimerkkiä läpi käydessäsi huomiota seuraaviin seikkoihin:

Pieni opiskelijatietokanta

Lyhyt vaatimusmäärittely

Tietokannaltamme vaaditaan seuraavanlaisia asioita:

Kohdetyypit

Poimitaan ensin tietokannan vaatimusmäärittelyn perusteella kaikki selkeät kohdetyypit. Kohdetyypit löytyvät etsimällä tekstissä mainittuja suurempia kokonaisuuksia, joihin liittyy/sisältyy joitakin ominaisuuksia. Esimerkiksi opiskelijalla on aina nimi jne. Löydettyjä kohdetyyppejä ovat tekstissäkin korostetut:

Tehtäviä

  1. Käynnistä Erkka--ohjelma (Start|Programs|Erkka). Avaa käyttöösi uusi "kaaviopohja" eli konfitiedosto konfitiedosto.erkka valikkokomennolla File | New. Konfitiedoston löydät hakemistosta C:\Program Files\Erkka\. Kotikoneelleen Erkan voi noutaa osoitteesta http://appro.mit.jyu.fi/tiedonhallinta/harkka/erkka.zip

  2. Piirrä edellämainitut kohteet (Entity) Erkalla seuraavan kuvan mukaisesti. Nimet saat muutettua kohteen ollessa aktiivisena ikkunan vasemmasta reunasta.

    Tietokannan kohteita

Suhteet

Seuraavaksi mietitään mitä suhteita kohteiden välillä esiintyy. Kaikki suhteet eivät lue vaatimusmäärittelyssä sellaisenaan, vaan niiden määrittämiseen tarvitaan tulkintaa. Tarvittavat suhteet löytää ajattelemalla mitä asioita tarvitaan yhdistää vaatimusmäärittelyssä olevien tarpeiden täyttämiseksi. Esimerkiksi opiskelijan laitos on pystyttävä selvittämään, joten opiskelijan ja laitoksen välille tulee jonkinlainen suhde. Seuraavassa vaatimusmäärittelystä pääteltyjä suhteita:

Tehtäviä

  1. Piirrä Erkalla edellämainitut suhteet (Relationship) eli pelkät "salmiakit".

  2. Yhdistä kohteet toisiinsa edellä piirtämiesi suhteiden avulla käyttäen Erkan Line-piirtotyökalua. line-työkalu toimii valitsemalla hiiren vasemmalla napilla ensin kohde ja sen jälkeen vasemmalla napilla suhde johon kohde yhdistetään. Älä pidä hiiren nappia pohjassa. Viivojen piirtämisen voit keskeyttää hiiren oikeaa painiketta painamalla.
    Kohteet ja niiden väliset suhteet

Ominaisuudet

Seuraavaksi liitetään jokaiseen kohteeseen ja suhteeseen niihin liittyvät ominaisuudet (attribuutit). Kohteisiin liittyvät ominaisuudet löytyvät helposti vaatimusmäärittelystä. Myös jokainen suhde kannattaa käydä ajatuksella läpi ja miettiä mitä ominaisuuksia tarvitaan suhteen yhteyteen. Kun ominaisuus ei liity kunnolla suhteen ympärillä oleviin kohteisiin, niin se on lisättävä suhteen yhteyteen. Esimerkiksi tenttimisestä on olennaista tietää päivämäärä ja arvosana, mutta tietoja ei ole järkevä laittaa opiskelija- tai kurssikohteeseen, koska opiskelijan tenttien lukumäärää kurssilla tai kaikilla kursseilla ei pystytä mitenkään ennakoimaan.

Tehtäviä

  1. Piirrä Erkalla edellämainitut ominaisuudet kaavioon.

  2. Ominaisuudet esitetään ellipsien sisällä, jotka liitetään viivalla joko kohteeseen tai suoraan suhteeseen.

    Ominaisuus

Ominaisuuksien rajoitteet

Ominaisuuksien rajoitteet tulevat myös vaatimusmäärittelyn kautta, mutta tässä yhteydessä niitä ei ole kirjattu esimerkin pitämiseksi suppeana. Voit siis käyttää omaa harkintaasi tietojen rajoitteista seuraavissa tehtävissä.

Rajoitteita voivat olla esimerkiksi:

Kurssi - esimerkki

OminaisuusPakollinenOletusarvoRajoitteet
KurssikoodiKyllä Kolme ensimmäistä merkkiä ovat kirjaimia ja kolme viimeistä ovat numeroita tai kirjaimia.
NimiKyllä  
LaajuusKyllä1Kelpuutetaan vain kokonaislukuarvot ja puolikkaat.

Tehtäviä

  1. Käynnistä Excel.
  2. Kirjoita jokaiseen kohteeseen liittyvät ominaisuudet pieniin taulukoihin joiden otsikkona on aina kohteen nimi. Kirjoita taulukkoon kohteen pakollisuus, mahdollinen oletusarvo ja mahdolliset rajoitteet ja muut huomautukset.
  3. Tallenna Erkalla piirtämäsi ER-kaavio U:-asemalle tiedonhallinta-hakemistoon nimellä opiskelijarekisteri.erkka. Tallenna myös tekemäsi excel-tiedosto samaan hakemistoon nimellä opiskelijarekisteri.xls

Reseptitietokanta

Suunnittele seuraavaksi reseptitietokanta edellisten esimerkkien mukaisesti. Piirrä ER-kaavio reseptitietokannasta Erkka-ohjelmalla ja määritä ominaisuuksien rajoitteet Excel-taulukkoon.

Lyhyt vaatimusmäärittely

Vinkki: Yritä keksiä yleistykset kaikille eri osasille mitä tavanomaisesta reseptistä löytyy. Näiden yleistyksien pohjalta voit määritellä kohteet ja niiden ominaisuudet. Tutki seuraavaa reseptiä ja mieti mitä vakio-osia siitä löytyy. Kuvittele että et osaisi ollenkaan lukea mitä ohjeessa tai aineksina lukee. Pyri hahmottamaan yleiset piirteet joilla voit kuvata kaikki mahdolliset aineet yms.

Banaanicurry - esimerkki reseptistä

  1. Silppua sipuli ja murskaa valkosipulinkynsi
  2. Kuumenna pannussa oljya ja kuullota sipulisilppu
  3. Lisaa curryjauhe, valkosipuli, mangochutney ja suola
  4. Kiehuta miedolla lammolla viisi minuuttia, lisaa kerma ja kiehuta viela viisi minuuttia
  5. jos kaytat ruuanvalmistusjugurttia niin ala keitä sitä, juoksettuu helposti.
  6. Lohko banaanit viipaleiksi ja sekoita joukkoon.
  7. Tarjoaa persiljariisin kera... alkuperaisen ohjeen mukaan pitaisi syoda kylmänä mutta maistuu erinomaiselta myös lämpimänä :)

Tehtävät

  1. Etsi ja piirrä kohteet
  2. Piirrä kohteiden väliset suhteet
  3. Lisää kohteisiin ja suhteisiin niihin liittyvät ominaisuudet
  4. Määrittele ominaisuuksien pakollisuudet, oletusarvot ja rajoitteet
  5. Pyydä demo-ohjaajaa tarkistamaan kaaviosi. Tee mahdolliset korjaukset. Muista tallentaa kaaviosi.

piirrettyäsi kaaviota voit vilkaista vaihtoehtoista reseptiä. Jos kaaviosi soveltuu ilman muutoksia tämänkin reseptin tallentamiseen niin hyvä!

Tallenna Erkalla piirtämäsi kaavio U:-asemalle tiedonhallinta-kansioon resepti.erkka-nimellä.

Jalkapalloturnaus

Jos sinulle vielä jäi aikaa niin voit suunnitella myös jalkapalloturnausta varten tietokannan.

  1. Olet järjestämässä jalkapalloturnausta. Mieti millaisen tietokantajärjestelmän tarvitset turnauksen järjestämiseen.
  2. Kirjoita tietokannan vaatimusmäärittely, jossa mainitset mitä ominaisuuksia tietokantasovellukselta tarvitaan ja mitä tietoja tietokantaan pitää tallettaa.
  3. Kirjoita vaatimusmäärittely excelissä uudelle välilehdelle.
  4. Tarkistuta vaatimusmäärittelysi järkevyys demo-ohjaajalla.
  5. Piirrä vaatimusmäärittelysi pohjalta järjestelmää kuvaava ER-kaavio. Tarkistuta kaaviosi demo-ohjaajalla.

Tallenna Erkalla piirtämäsi kaavio U:-asemalle tiedonhallinta-kansioon futis.erkka-nimellä.

Mallivastaukset

Tehtävien mallivastaukset julkaistaan seuraavalla viikolla.

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/tiedonhallinta/demot/demo1/
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2003-11-25 21:48:49
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto