Tietokannan suunnittelu Tavoitteet Tietokanta sisältää käyttäjien tarvitseman tiedon Tietokanta on rakenteeltaan selkeä ja helposti ylläpidettävissä Tietokanta on tehokas Tavoitteet usein vastakkaisia Tavoitteiden täyttymisen mittaaminen vaikeaa Usein rinnakkain kantaa käyttävän tietojärjestelmän kanssa
Tietokantaprojektin vaiheet Vaatimusten kerääminen Käsitteellinen suunnittelu Tietokannanhallintajärjestelmän valinta Tietokantakaavan suunnittelu Toteutus Käyttöönotto ja ylläpito
Vaatimusten kerääminen Tuloksena erilaisia kuvauksia organisaation tietotarpeista ja toiminnasta Onnistuminen ensiarvoisen tärkeää Kaikkien myöhempien vaiheiden perusta Vaiheen virheiden korjaaminen myöhemmin hyvin kallista Vaatimuksia kerättävä ja hallittava organisoidusti Mahdollistaa epäselvien määrittelyjen tarkentamisen Kommunikointi käyttäjien kanssa usein vaikeaa
Käsitteellinen mallintaminen Suunnitellaan käsitteellinen tietomalli Suunnitellaan tärkeimmät tietokantaoperaatiot Auttavat erottamaan oleellisen tiedon epäoleellisesta Voidaan myöhemmin käyttää tehokkuuden mittamiseen Mukana edelleen eri käyttäjäryhmien edustajia
TKHJ:n valinta Valitaan parhaiten sovellukselle sopiva TKHJ Kuitenkin huomioitava Hankintakustannukset TKHJ:n sopivuus sovellukseen (vaikka kaikki TKHJ:t ovatkin periaatteessa samanlaisia) ja saatavilla oleva tuki Sopivuus nykyiselle palvelinlaitteistolle Mahdollisesti tarvittavan koulutuksen kustannukset Mahdollinen TKHJ:n vaihtaminen myöhemmin
Tietokantakaavan suunnittelu Periaatteessa hyvin suoraviivaista Useilla ER-piirtotyökaluilla voi automaattisesti generoida tietokantakaavan Otettava kuitenkin huomioon tehokkuusvaatimukset ja valitun TKHJ:n erityisominaisuudet Käsitteellisen mallinnuksen yhteydessä listatut tietokantaoperaatiot auttavat
Toteutus Suunnitellaan indeksit, luodaan tietokanta Indeksi on rakenne, joka nopeuttaa tiedon hakua Käsitteellisen mallinnuksen yhteydessä listatut tietokantaoperaatiot auttavat indeksien suunnittelussa
Käyttöönotto ja ylläpito Usein DBA:n (tietokannasta vastaavan henkilön) tehtävä Siirretään tiedot vanhasta tietokannasta Monissa TKHJ:ssä hyvät työkalut tähän Siirrytään ylläpitoon Pieniä virityksiä indekseihin ja tietokannan rakenteeseen
ER-mallinnus (1) Peter P. Chen 1976 Käytetyin käsitteellisen mallintamisen menetelmä tietokantoja suunniteltaessa
ER-mallinnus (2) Entiteettejä eli kohteita ja liittymiä eli suhteita Entiteeteillä ja liittymillä ominaisuuksia eli attribuutteja Tällä kurssilla käsitelään vain ER-mallinnuksen perusasiat Ei tunnistavia liittymiä tai heikkoja entiteettejä
Entiteetit Vastaa kutakuinkin oliota auto, henkilö, juna, kuntoilija, ... Entiteetin attribuutit vastaavat jäsenmuuttujia Jotkin attribuutit voivat olla pää- tai viiteavaimia Yleensä helppoja löytää Miten suhtautuvat toisiinsa viittaukset olioihin ja viiteavain/pääavain –parit?
Liittymät Liitävät entiteettejä toisiinsa Kahta tyyppiä tilaus, johtaa, ... Kahta tyyppiä 1:N –liittymät (yhdessä joukkueessa monta pelaajaa, yksi pelaaja vain yhdessä joukkueessa) N:M –liittymät (yksi asiakas voi tilataa useampaa lehteä, yhtä lehteä voi tilata useampi asiakas)
Esimerkki
Vinkkejä Ilmeisistä entiteeteistä usein helpointa aloittaa Auto, Omistaja, Tuote, Tilaus, ... Tämän jälkeen voi pohtia liittymiä sekä tarkistaa, puuttuuko joitakin entiteettejä Tavallisimpien käyttötapausten läpikäynti voi paljastaa ongelmia Hyvien mallien tarkastelu auttaa http://www.databaseanswers.org/data_models/
Yleisimpiä virheitä Prosessien kuvaaminen ER-mallinnus kuitenkin TIETOKESKEINEN menetelmä Erilaisten listojen mallintaminen Toteutuskeskeisyys Liian rajoittunut malli Esim. toimittaako kaikkia tuotteita vain yksi toimittaja?