torstai 3. lokakuuta 2013

Tietokannan suunnittelun muistisäännöt

1. Yhdessä talukossa on tietoa vain yhdestä kohteesta

Jokainen taulukko sisältää tietoa vain yhdestä kohteesta (asia, esine, esiintymä, olio..)

Esimerkiksi opiskelija taulussa on tietoa vain opiskelijasta (nimi, henkilötunnus jne..) eikä tietoja tietoa tutkinnonosasta, jota hän suorittaa. Tutkinnon osan tiedot sijoitetaan omaan tutkinnonosa tauluun.

2. Yksitieto yhteen kentään

Jokainen kenttä määritellään  omaksi tiedoksi. Kenttä ei saa sisältää yhdistelmätietoja. 

Samaan kenttään ei esim. kannata laittaa sekä etu- että sukunimeä. Sillä, jos tieto on samassa kentässä niin tiedon lajittelu hankaloituu - ei olisi enää mahdollista lajitella sekä etu- että sukunimen mukaan. Tai ainakaan niin, että sen voisi lajitella sukunimen mukaan laskevasti ja sitten etunimen mukaan laskevasti

3. Yksi tieto sijoitetaan vain yhteen kenttään tietokannassa

Toistuvat tiedot on sijoitettava omaan talukkoonsa. Yksi tieto sijoitetaan vain yhteen kohtaan.

Esimerkiksi opiskelija tauluun ei sijoiteta ryhmänohjaajan nimeä vaan viiteavain ryhmän ohjaajan tauluun (esim. ryhmänohjaajan nimikirjaimet)

4. Jokainen tietue pitää pystyä yksilöimään

Perusavain joka tauluun. Jokaisessa taulussa on siis oltava ainakin yksi kenttä tai kenttien yhdistelmä, jonka avulla tietue voidaan tunnistaa yksilöllisesti

Esimerkkejä avaimista: ryhmänohjajaajan nimikirjaimet, auton rekiserinumero, juokseva jäsennumero jne.. Perusavaimen voi muodostaa myös useammasta kentästä (esim laskunrivit). (Access sallii taulukon, jossa ei ole perusavainta)

5. Monen suhde moneen on aina purettava

Suhdetta Monen suhde moneen (M-M) ei voi tietokannansa esiintyä, se on purettava välitaululla.

Esimerkiksi yhdellä laskulla voi olla monta tuotetta ja tuottetta voi olla ostettuna monella laskulla. Sillon on perustettava taulu laskurivi, josta nähdään mitä tuotetta on ostettu ja minkä verran ja mille laskulle rivi kuuluu.

6. Tallennettujen tietojen on oltava riippumattomia toisistaan tai ajan kulusta

Kaikkien kenttien tulee olla keskenään riippumattomia. 

Minkään taulun sisältö ei siis saa perustua jonkun toisen taulun kenttään. Esimerkiksi tietoja, jotka voidaan laskea ei tallenneta tietokannan kenttiin. (esim. ikä, joka voidaan laskea syntymäajan ja nykyhetken perusteella) ei tietokantaan sisällytetä. Jos laskentaa tarvitaan ne toteutetaan kyselyissä, lomakkeilla ja/tai raporteissa.

Ei kommentteja:

Lähetä kommentti