ER-kaavion transformointi relaatioiksi ja normalisointi - Demo 2 - mallivastaukset
Opiskelijatietokanta
Malliratkaisu on saatavilla myös excel-muodossa.
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.
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.
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). |