ER-kaavion transformointi relaatioiksi ja normalisointi - Demo 2 - mallivastaukset

Opiskelijatietokanta

Malliratkaisu on saatavilla myös excel-muodossa.

opiskelijatietokannan relaatiot

Opiskelija

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Sotu CHAR(11) Kyllä   Jokaisella pitää olla yksilöllinen Sotu
Sähköpostiosoite VARCHAR(64) Ei   Jokaisella pitää olla yksilöllinen sähköpostiosoite
Etunimi VARCHAR(32) Kyllä    
Sukunimi VARCHAR(64) Kyllä    
Lähiosoite VARCHAR(64) Kyllä    
Postinumero CHAR(5) Kyllä   Arvoiksi kelpaavat vain Postinumero-taulun Postinumero-kentästä löytyvät arvot. Postinumeron päivittymisen vyöryminen sallitaan (UPDATE CASCADE). Postinumeron poistamisen vyöryminen kielletään (DELETE RESTRICT).
Aloitusvuosi SMALLINT Kyllä Kuluva vuosi Ei voi olla pienempi kuin 1990
Laitos INTEGER Kyllä   Arvoiksi kelpaavat vain Laitos-taulun LaitosID-kentästä löytyvät arvot. LaitosID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). LaitosID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Kurssi

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Kurssikoodi CHAR(6) Kyllä   Kolme ensimmäistä merkkiä ovat kirjaimia
Nimi VARCHAR(64) Kyllä    
Laajuus DOUBLE Kyllä 1  
Laitos INTEGER Kyllä   Arvoiksi kelpaavat vain Laitos-taulun LaitosID-kentästä löytyvät arvot. LaitosID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). LaitosID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Laitos

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
LaitosID INTEGER Kyllä   Voidaan generoida automaattisesti
Nimi VARCHAR(64) Kyllä    
Tiedekunta INTEGER Kyllä   Arvoiksi kelpaavat vain Tiedekunta-taulun TiedekuntaID-kentästä löytyvät arvot. TiedekuntaID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). TiedekuntaID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Tiedekunta

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
TiedekuntaID INTEGER Kyllä   Voidaan generoida automaattisesti
Nimi VARCHAR(64) Kyllä    

Tenttii

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Opiskelija CHAR(11) Kyllä   Arvoiksi kelpaavat vain Opiskelija-taulun Sotu-kentästä löytyvät arvot. Sotun päivittymisen vyöryminen sallitaan (UPDATE CASCADE). Sotun poistamisen vyöryminen kielletään (DELETE RESTRICT).
Kurssi CHAR(6) Kyllä   Arvoiksi kelpaavat vain Kurssi-taulun Kurssikoodi-kentästä löytyvät arvot. Kurssikoodin päivittymisen vyöryminen sallitaan (UPDATE CASCADE). Kurssikoodin poistamisen vyöryminen kielletään (DELETE RESTRICT).
Päivämäärä DATE Kyllä    
Arvosana DOUBLE Kyllä 1  

Puhelinnumero

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Sotu CHAR(11) Kyllä   Arvoiksi kelpaavat vain Opiskelija-taulun Sotu-kentästä löytyvät arvot. Sotun päivittymisen vyöryminen sallitaan (UPDATE CASCADE). Sotun poistamisen vyöryminen sallitaan (DELETE CASCADE).
Puhelinnumero VARCHAR(32) Kyllä    

Postinumero

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Postinumero CHAR(5) Kyllä    
Postitoimipaikka VARCHAR(64) Kyllä    

Yritystietokanta

Malliratkaisu on saatavilla myös excel-muodossa.

yritystietokannan mallikaavio

Henkilö

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Email VARCHAR(64) Kyllä    
Etunimi VARCHAR(32) Kyllä    
Sukunimi VARCHAR(64) Kyllä    
Puhnro VARCHAR(32) Ei -  
Työnimike INTEGER Kyllä Arvoiksi kelpaavat vain Nimike-taulun NimikeID-kentästä löytyvät arvot. NimikeID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). NimikeID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Nimeke

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
NimikeID INTEGER Kyllä   Voidaan generoida automaattisesti
Nimike VARCHAR(64) Kyllä    

Tehtävä

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
TehtäväID INTEGER Kyllä   Voidaan generoida automaattisesti
TehtäväNimi VARCHAR(64) Kyllä    

Projekti

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
ProjektiID INTEGER Kyllä   Voidaan generoida automaattisesti
ProjektiNimi VARCHAR(64) Kyllä    
Alkamispvm DATE Kyllä    
Päättymispvm DATE Kyllä    

Tekee

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Henkilo VARCHAR(64) Kyllä   Arvoiksi kelpaavat vain Henkilo-taulun Email-kentästä löytyvät arvot. Emailin päivittymisen vyöryminen sallitaan (UPDATE CASCADE). Emailin poistamisen vyöryminen kielletään (DELETE RESTRICT).
Tehtava INTEGER Kyllä   Arvoiksi kelpaavat vain Tehtava-taulun TehtavaID-kentästä löytyvät arvot. TehtavaID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). TehtavaID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).
Projekti INTEGER Kyllä   Arvoiksi kelpaavat vain Projekti-taulun ProjektiID-kentästä löytyvät arvot. ProjektiID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). ProjektiID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Futistietokanta

Malliratkaisu on saatavilla myös excel-muodossa.

Peli-tauluun lisättiin ID-kenttä toimimaan avaimena, koska peleihin joudutaan viittaamaan paljon. Ilman uutta kenttää olisi jouduttu viitatessa aina käyttämään kaikkia peli-taulun kenttiä, koska ne olisivat muodostaneet yhdistetyn avaimen.

Ikä-kenttä pudotettiin kokonaan pois, koska se on aina johdettavissa. Ikä lasketaan tietokantasovelluksessa aina tarpeen mukaan.

futistietokannan mallikaavio

Maa

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
MaaID INTEGER Kyllä   Voidaan generoida automaattisesti
MaaNimi VARCHAR(64) Kyllä    

Joukkue

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
JoukkueID INTEGER Kyllä   Voidaan generoida automaattisesti
JoukkueNimi VARCHAR(64) Kyllä    
Kotoisin INTEGER Kyllä   Arvoiksi kelpaavat vain Maa-taulun MaaID-kentästä löytyvät arvot. MaaID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). MaaID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Peli

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
PeliID INTEGER Kyllä   Voidaan generoida automaattisesti
Aika TIMESTAMP Kyllä    
Koti INTEGER Kyllä   Arvoiksi kelpaavat vain Joukkue-taulun JoukkueID-kentästä löytyvät arvot. JoukkueID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). JoukkueID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).
Vieras INTEGER Kyllä   Arvoiksi kelpaavat vain Joukkue-taulun JoukkueID-kentästä löytyvät arvot. JoukkueID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). JoukkueID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Pelaaja

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
PelaajaID INTEGER Kyllä   Voidaan generoida automaattisesti
Etunimi VARCHAR(32) Kyllä    
Sukunimi VARCHAR(64) Kyllä    
PeliNro SMALLINT Kyllä 1 Suurempi kuin nolla
Syntymäaika DATE Kyllä    
Pelaa INTEGER Kyllä   Arvoiksi kelpaavat vain Joukkue-taulun JoukkueID-kentästä löytyvät arvot. JoukkueID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). JoukkueID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).

Tapahtuma

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
TapahtumaID INTEGER Kyllä   Voidaan generoida automaattisesti
TapahtumaNimi VARCHAR(64) Kyllä    

Tapahtuu

Ominaisuus Tietotyyppi Pakollinen Oletusarvo Rajoitukset
Aika TIME Kyllä    
Peli INTEGER Kyllä   Arvoiksi kelpaavat vain Peli-taulun PeliID-kentästä löytyvät arvot. PeliID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). PeliID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).
Pelaaja INTEGER Kyllä   Arvoiksi kelpaavat vain Pelaaja-taulun PelaajaID-kentästä löytyvät arvot. PelaajaID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). PelaajaID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).
Tapahtuma INTEGER Kyllä   Arvoiksi kelpaavat vain Tapahtuma-taulun TapahtumaID-kentästä löytyvät arvot. TapahtumaID:n päivittymisen vyöryminen sallitaan (UPDATE CASCADE). TapahtumaID:n poistamisen vyöryminen kielletään (DELETE RESTRICT).
http://appro.mit.jyu.fi/2002/kevat/tietokannat/demot/demo2/vast.html
© Tommi Lahtonen ()<URL: http://www.iki.fi/hazor/>
25.03.2002 16:14:28