Tietokantojen suunnittelu

Käsitemalli

Tietokantojen suunnittelussa aloitetaan esimerkiksi tekemällä yksinkertainen käsitemalli tai -analyysi kuvatun tarpeen perusteella. 

Asiakas haluaa tietokannan, johon tallennetaan koirakerhon jäsenten lemmikit.

Edellä mainitusta tarpeesta voidaan poimia seuraavasti tietokohteet

Asiakas haluaa tietokannan, johon tallennetaan koirakerhon jäsenten lemmikit.

Tietokohteita ovat tässä tapauksessa 

  • jäsen
  • lemmikki

Tietokohteita voi olla liikaa, jolloin niistä pitää poistaa päällekkäisyydet ja sama asiaa tarkoittavat asiat.

Yhteydet

Seuraavaksi suunnitellaan tietokohteiden väliset yhteydet

Käsitemalli

Tässä tapauksessa jäsen- ja lemmikkitaulun (tietokohteen) välille tehtiin yhteys yhden suhde moneen, jolloin yhdellä jäsenellä voi olla useita lemmikkejä, mutta yhdellä lemmikillä ei voi olla useita jäseniä (omistajia).

Yhteystyyppejä on kolmea erilaista

  • Yhden suhde yhteen
  • Yhden suhde moneen
  • Monen suhde moneen

Yhden suhde yhteen tarkoittaa, että jokaista toisessa taulussa olevaa riviä kohden on toisessa taulussa rivi. Yhteystyyppi on harvemmin käytetty, koska se ei ole kovin käyttökelpoinen.

Yhden suhde moneen on käytetyin yhteystyyppi. Käytännössä melkein kaikki taulujen väliset yhteydet on toteutettu tällä.

Monen suhde moneen on mahdoton yhteystyyppi ja se pitää normalisoida suunnitteluvaiheessa.

Ominaisuudet

Kun käsitemalli on saatu valmiiksi, aletaan suunnittelemaan tietosisältöjen ominaisuuksia (taulun kenttiä). Jokaisessa taulussa tulee olla yksilöivä kenttä (pääavain), joka ei missään olosuhteissa voi olla samanlainen kahden tietueen kesken. Tässä tapauksessa taulujen ominaisuudet (kentät) voisivat olla seuraavat.

Jäsen: id, sukunimi, etunimi ... puhelinnumero

Lemmikki: id, jasen_id, kutsumanimi, rotu ... syntymapaiva

Huomioi, että yhden suhde moneen -yhteyden johdosta Lemmikki-tauluun lisätään viiteavaimeksi Jäsen-taulun pääavain.