Tietokannat                                                    12.11.2001

Jukka Teuhola ja Antti Tuomisto

 

1.       Tietokantalähestymistavassa käytettävä 'kolmitasoarkkitehtuuri' (three schema architecture) ja tietoriippumattomuus.

 

2.       a) Nilsiän Mailmarket on ostanut mikrotietokoneen, johon suunnitellaan tietokantajärjestelmää yritystoiminnan hoitoa varten tarvittavien tietojen hallitsemiseksi. Olet saanut tehtäväksesi suunnitella tietokannalle ER-kaavion. Tietokannan pitäisi sisältää tietoja Mailmarketin eri osastoista ja niillä myydyistä erilaisista tuotteista. Osastoilla on oma johtajansa, jonka lisäksi niissä työskentelee myös tavallisia työntekijöitä. Lisäksi pidetään yllä tietoja tavaran toimittajista (samalla tuotteella voi olla useita mahdollisia toimittajia) ja asiakkaista. Asiakkaiden on mahdollista ostaa tuotteita tilaamalla. Kiinnitä huomiota kaupan maksamiin sisäänostohintoihin sekä määrään, jonka asiakas tilaa jotakin tuotetta. Keksi kaavion sisältämille olioille muutama tunnistamista helpottava attribuutti.

Tee em. kuvauksen mukainen (E)ER-malli. Kun teet lisäoletuksia, kirjaa myös ne.

b) Kerro käytännön vaiheet allaolevan tietomallin toteuttamiseksi relaatiotietokannaksi (esim.
Access-tietokannaksi):

 

 

 

 

 

 


3.       (a) Määrittele viiteavain (eli vierasavain, engl. foreign key) ja selvitä sen merkitys relaatiomallissa. Minkälaisia oikeellisuussääntöjä viiteavaimiin voi liittyä päivitysten kannalta, ja miten ko. säännöt määritellään SQL:ssä? Tarkastellaan seuraavan relaatiokaavan mukaista opintotietokantaa:

 

Opiskelija (OpiskNro, Nimi, Osoite)

            Kurssi (KurssiNimi, Opintoviikkoja, OpettajaNro)

            Suoritus (OpiskNro, KurssiNimi, Pvm, Arvosana)

            Opettaja (OpettajaNro, Nimi, Oppiarvo)

 

(b) Esitä seuraavat päivitykset SQL:llä, ja selvitä niiden mahdolliset vaikutukset viiteavainten kannalta:

    (1) Lisää kantaan uusi  2 ov:n kurssi nimeltä ’XML’, jonka Ville Virtanen pitää.

    (2) Poista opettaja nimeltä Lasse Lahtinen.

    (3) Korota Ville Virtasen pitämien kurssien suoritusarvosanoja plussalla (0.25).

 

3.       a) Määrittele BCNF (Boyce-Codd –normaalimuoto).

b) Seuraava relaatio kuvaa kirjaston lainauksia (sellaisia, joita ei ole vielä palautettu):

 

Lainat (AsNro, AsNimi, AsOsoite, KirjaNro, Tekijä, Otsikko, LainaPvm)

 

Sen semantiikka on seuraavanlainen:

·           Asiakkaista on tiedossa asiakasnumero, nimi ja osoite.

·           Asiakkaalla voi olla lainassa useita kirjoja.

·           Tietty kirja voi olla (tarkasteluhetkellä) lainassa vain yhdellä asiakkaalla.

·           Kustakin kirjasta on tiedossa tunnistenumero, tekijät, ja otsikko.

·           Samalla kirjalla voi olla useita tekijöitä, ja samalla tekijällä useita kirjoja.

·           Kustakin lainasta on tiedossa lainauspäivämäärä.

 

Määrää funktionaaliset riippuvuudet ja avainehdokkaat, sekä suorita normalisointi vaiheittain BCNF-muotoon.