Käsitteellinen mallintaminen ja relaatiotietokannat - Luento 2

Tutustutaan relaatiotietokantojen peruskäsitteisiin sekä ER-kaavioiden piirtämiseen ja muuntamiseen relaatiotietokannaksi.

Luentotaltiointi

Ongelmia videon katselussa?

Käsitteellinen mallintaminen (Entity-Relationship-malli)

Henkilön ja puhelinnumeron välinen ER-kaavio

Kohteet

Ominaisuudet

Suhteet

ER-kaavioiden piirtäminen

Piirto-ohjelmana voi käyttää mitä tahansa kaavioiden piirtämiseen sopivaa työkalua tai vaikka Exceliä. Järkevintä on kuitenkin käyttää erityisesti ER-kaavioita varten suunniteltuja työkaluja koska ne helpottavat kaavion muuntamista tietokannaksi. Tällä kurssilla käytetetään Erkka-ohjelmaa.

Esimerkkikaavio

Suunnitellaan tietokanta pienen yrityksen tietojen ja projektien hallintaan. Yksinkertaistettu versio tietokannan vaatimusmäärittelystä on seuraavanlainen:

Esimerkki ER-kaaviosta

Relaatiotietokannat

Esimerkki

Henkilo
HetuEtunimiSukunimi
111111-1234JukkaMäntylä
222222-2345TommiLahtonen
121212-5678PetriHeinonen
Kirja
ISBNNimi
1111111234Taru sormusten herrasta
2222222345Harry Potter and the Half-Blood Prince
1212125678SQL-Toolkit

Relaatiotietokantaesimerkki

Taulut (tables)

Taulun nimeksi kannattaa valita jokin selkeä ja kuvaava nimi. Nimessä kannattaa kuitenkin välttää välilyöntejä, erikoismerkkejä ja skandinaavisia merkkejä (å,ä,ö).

Jokainen taulu sisältää yhden tai useamman kentän

Kentät (fields)

Kenttiä luotaessa niille määritellään seuraavanlaisia ominaisuuksia:

Standardoidut tietotyypit

Seuraavassa luetellaan tärkeimmät standardoidut tietotyypit.

CHAR [(pit)]
Kiinteänmittainen merkkijono. Oletuspituus on 1.
  • Hetu: CHAR(11)
  • Postinumero: CHAR(5)
VARCHAR [(pit)]
Vaihtuvanmittainen merkkijono jolle määritetään maksimipituus
  • Etunimi: VARCHAR(30)
  • Sukunimi: VARCHAR(100)
NUMERIC [(pit., [desim.osa])]
Tarkka numeerinen arvo, jonka maksimipituus on pit numeroa ja desim.osa kuvaa desimaaliosan pituutta.
  • Paino: NUMERIC(4,1) eli enintään neljä numeroa joista yksi on varattu desimaaliosalle
INTEGER
Kokonaisluku, jolla on käyttöympäristöstä riippuva maksimikoko
  • Lukumaara: INTEGER
DATE
Vuosi (0001 - 9999), kuukausi ja päivä.
  • Syntymaaika: DATE
TIME
tunti, minuutti ja sekunti.
  • Kellonaika: TIME
INTERVAL [(mittayksikkö)]
ajanväli, kulunut aika
  • Juoksuaika: INTERVAL HOUR TO MINUTE
TIMESTAMP
Vuosi, kuukausi, päivä, sekä tunti, minuutti ja sekunti.
  • Lahetysaika (esim. sähköposti): TIMESTAMP

Avaimet (keys, indexes)

Esimerkki tauluun syötetyistä tiedoista:

Henkilo
HetuEtunimiSukunimi
111111-1234JukkaMäntylä
222222-2345TommiLahtonen
121212-5678PetriHeinonen
Puhelinnumero
SuuntanroNumeroHetu
0142602746111111-1234
0401575923111111-1234
0459987183222222-2345

tenttii-esimerkki Erkalla

Tietokantaesimerkki samasta aiheesta (mdb)

Viite-eheys (Referential Integrity)

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/luennot/luento2/
© Antti Ekonoja (antti.j.ekonoja@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/>
2009-03-27 11:01:14
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto