Avaimet, tietotyypit, kardinaalisuudet - Demo 2

Tällä demokerralla jatketaan edellisellä kerralla aloitettujen ER-kaavioiden parissa. Nyt merkitään kaavioihin perusavaimet, kenttien tietotyypit ja määritellään kohteiden väliset kardinaalisuudet.

Tee kuitenkin ensin edellisiä demoja siten, että saat reseptitietokannan ER-kaavion ja ominaisuuksien määrittämisen valmiiksi. Jalkapalloturnaukseen liittyviä tehtäviä ei tarvitse välttämättä tehdä.

Esivalmistelut

Jos teet demoja Agoran mikroluokan koneilla, niin tee ensin Erkkaa varten erillinen pikakuvake seuraavien ohjeiden mukaisesti. Pikakuvake täytyy luoda, koska Erkkaa varten täytyy olla käytössä oikea Java-versio.

  1. Pikakuvakkeen tekemisen voit aloittaa napsauttamalla työpöytää hiiren oikealla ja valitsemalla New | Shortcut.
  2. Ensimmäisessä vaiheessa joudut etsimään erkan ohjelmatiedoston Erkka.jar. Tiedosto löytyy seuraavasta paikasta koneen hakemistorakenteessa:
    C:\Program Files\erkka\
    Seuraavaan vaiheeseen pääset Next-painikkeella.
  3. Seuraavassa vaiheessa voit antaa pikakuvakkeelle nimen (Esim. Erkka).
  4. Nyt pikakuvake on ilmestynyt työpöydällesi, mutta sitä täytyy vielä hieman muuttaa.
  5. Napsauta pikakuvaketta hiiren oikealla ja valitse kohta Properties.
  6. Näkyville avautuneesta ikkunasta muutetaan Shortcut-välilehden tietoja seuraavasti:
    • Kopioi seuraava komento hiiren oikean avulla Target-kenttään:
      "C:\Program Files\jbuilder7\jdk1.3.1\bin\java.exe" -jar Erkka.jar
      Komennolla käynnistetään Erkka käyttäen toista Java-versiota.
    • Varmista, että Start in-kohdassa lukee edelleen seuraava hakemistoviittaus:
      C:\Program Files\erkka\
    • Hyväksy lopuksi valinnat OK-painikkeella.
  7. Tämän jälkeen voit käynnistää Erkka-ohjelman tuplanapsauttamalla tekemääsi pikakuvaketta.
  8. Aukaise edelliskerralla tekemäsi Opiskelijatietokannan ER-kaavio Erkka-ohjelmaan.

Kardinaalisuudet

Kardinaalisuus kertoo, kuinka moneen suhteeseen kohde voi tai tulee osallistumaan. Vaihtoehdot ovat:

Tietokantamme kardinaalisuudet muodostuvat seuraavasti:

Tehtävät

  1. Piirrä opiskelijatietokantakaavioon kardinaalisuudet ER-kaavioon merkitsemällä jokaisen suhteen ja kohteen väliin 1 tai M suhteen kardinaalisuudesta riippuen. Kardinaalisuuksia pääset Erkassa muuttamaan napauttamalla suhteen ja kohteen välisen viivan keskipistettä.

Avaimet

Ominaisuuksien joukosta pitää valita avaimet eli ne ominaisuudet, jotka yksilöivät kunkin kohteen. Yksilöimiseen voi riittää yksi ominaisuus tai voi joutua tekemään yhdistetyn avaimen useammasta ominaisuudesta.

Joidenkin kohteiden tai ominaisuuksia sisältävien suhteiden yksilöimiseen eivät aina välttämättä riitä niiden omat ominaisuudet vaan mukaan on otettava niihin liittyviä kohteita. Opiskelijatietokannassa on seuraavat avaimet (joissain useampi vaihtoehtoja):

Avainehdokkaiden joukosta valitaan parhaiten sopiva yksilöiväksi avaimeksi. Paras avain on yleensä kooltaan pienin ja varmimmin uniikkina pysyvä. Joskus kannattaa tietokannan toiminnan tehostamiseksi luoda uusi ominaisuus, joka toimii pelkästään avaimena.

Tehtäviä

  1. Merkitse avaimet ER-kaavioon valitsemalla ominaisuus ja ruksaamalla Primary key -valinta. Erkka ei mitenkään erityisesti korosta avainkenttiä, mutta muilla työkaluilla avainkentät voidaan näyttää alleviivattuina ohjeisen kuvan mukaisesti.

    Avain

Tietotyypit

Jokaiselle ominaisuudelle pitää määrittää tietotyyppi. Tietotyyppiä valittaessa pitää usein määritellä myös tietoa varten varattava tila. Tilanvarausta miettiessä pitää olla erityisen tarkka, koska mikään ei ole ärsyttävämpää, kuin esim. sukunimi-kenttä johon ei mahdu kirjoittamaan pitkää sukunimeään.

Tietotyyppi voi olla:

Tehtäviä

  1. Avaa aiemmin Excel-tiedostoon määrittelemäsi kenttien ominaisuudet näkyviin.
  2. Valitse Erkassa jokainen ominaisuus vuorollaan ja tee sille seuraavat määritykset:
    • Valitse alasvetovalikosta jokaiseen ominaisuuteen parhaiten sopiva tietotyyppi. Itsekeksityt perusavaimet (ID-kentät) kannattaa yleensä määritellä kokonaisluvuiksi (INTEGER). Jos käytät apuna Exceliin tekemääsi taulukkoa, niin mieti oikea tietotyyppi vielä kerran!
    • Merkitse samalla myös kenttien pakollisuudet. Pakolliset kentät merkitään valinnalla NOT NULL, ei-pakolliset valinnalla NULL. Kenttiin, joihin voi keksiä oletusarvon, kannattaa valita DEFAULT-arvo. Arvon voit syöttää VALUE-kenttään. Jos käytät apuna Exceliin tekemääsi taulukkoa, niin mieti kenttien pakollisuukia ja oletusarvoja vielä kerran. Kaikkia oletusarvoja et voi välttämättä käyttää!
  3. Pyydä ohjaajaa tarkistamaan määrittelysi.
  4. Tallenna ER-kaaviosi U:-asemalle tietokannat-hakemistoon nimellä demo2.erkka.

Tietokannan luominen

  1. Varmista että ER-kaaviossasi ei ole missään kohdassa käytetty skandinaavisia merkkejä (å,ä tai ö).
  2. Valitse Erkasta SQL-välilehti. Jos kaikki on kunnossa niin Erkka luo tietokannan luomiseen tarvittavat SQL-lauseet. Jos luominen ei onnistu niin palaa ER-kaaviovälilehdelle ja varmista että kaikki kardinaalisuudet ovat paikoillaan ja jokaisella kohteella on määriteltynä perusavain (primary key). Kokeile sitten taas uudelleen SQL-välilehteä. F5-näppäimellä saat päivitettyä SQL-näkymän.
  3. Saatuasi Erkan muodostamaan SQL-lauseet ota yhteys kurssin tietokantapalvelimeen eristen ohjeiden avulla.
  4. Kopioi Erkasta SQL-lauseet leikepöydälle ja liitä ne ODBC Query Tooliin
  5. Yritä suorittaa SQL-lauseet painamalla F5
  6. Jos olet todella onnekas niin kaikki lauseet suorittuvat virheittä. Todennäköisesti joudut kuitenkin järjestelmään SQL-lauseita uudelleen seuraavasti:
    • Siirrä ensimmäisiksi ne SQL-lauseet joissa luodaan sellaisia tauluja joista ei ole viite-eheyttä muihin tauluihin. Viite-eheyttä ei voida määritellä jos sen kohteena olevaa taulua ei ole vielä ehditty luoda.
    • Voit aivan ensimmäiseksi lisätä jokaista taulua vastaavat DROP TABLE-lauseet aivan ensimmäisiksi jolloin kaikki taulut aina ensimmäiseksi poistetaan ja vasta sitten luodaan uudestaan.
      DROP TABLE tiedekunta
      ;
      DROP TABLE laitos
      ;
      DROP TABLE kurssi
      ;
      DROP TABLE opiskelija
      ;
      DROP TABLE tenttii
      ;
    • Jos ODBC Query Tool jatkaa virheistä herjaamista etkä itse löydä virhettä niin voit tarkistaa SQL-koodisi SQL-92 Validatorilla. Validaattori osaa paikallistaa virheet paremmin kuin ODBC Query Tool.

Reseptitietokanta

  1. Tee opiskelijatietokannan tapaan kardinaalisuuksien, perusavainten ja tietotyyppien määrittely edellisissä demoissa aloittamallesi reseptitietokannalle.
  2. Pyydä ohjaajaa tarkistamaan määrittelysi.
  3. Luo tietokantasi SQL-lauseilla opiskelijatietokannan tapaan.

Jalkapalloturnaus

  1. Jos sinulle jäi vielä aikaa niin tee kardinaalisuuksien, perusavainten ja tietotyyppien määrittely myös jalkapalloturnausta käsittelevään ER-kaavioon.
  2. Pyydä ohjaajaa tarkistamaan määrittelysi.

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/demo2/
© 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-12-10 09:17:30
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto