20.2.2017

TTZC0800 Tietokannat, Osaamistestiharjoitus


Tehtävä: Suunnittele ja toteuta tietokanta.


Aihe: todennetun osaamisen rekisteri (TOR)
Toimeksiantaja: Opetus- ja kulttuuriministeriö tai esim. yrityksen/oppilaitoksen projektitoimisto.

Pakolliset toiminnot/tallennettavat tiedot:

Lisätietoja ja -vaatimuksia:
Laita esim. WorkBenchillä luomasi ratkaisu (ER-kaavio) tarjolle sekä PDF- että SQL-muodossa haluamastasi URL-osoitteesta. Voit kertoa olettamuksesi ja perustella ratkaisujasi esim. SQL-tiedoston kommenteissa ja/tai ER-kaavion tekstilaatikoissa (Text Object).


Tehtävä 2



Lisää TOR-tietokantaasi tietoa siten, että jokaisessa taulussa on vähintään kaksi riviä ja sinne on tallennettuna
  1. ainakin kahden tavallisen ja kahden asiantuntijan kuvitteelliset tiedot
  2. ainakin kaksi erilaista osaamista per osaamisryhmä (Tekniset pätevyydet jne.)
  3. itsearvioita ja asiantuntija-arvioita ainakin parille henkilölle siten, että pystytään laskemaan keskiarvoja osaamisittain ja osaamisryhmittäin.

Tehtävä 3



Hae tehtävien tiedot SQL-kyselyin TOR-tietokannasta haluamallasi ohjelmalla. Tallenna suorittamasi SQL-kyselyt tekstimuodossa.

  1. Hae jokaisen itselleen antamien kaikkien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin.
  2. Hae valitsemiesi asiantuntijoiden antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin.
  3. Hae valitsemiesi asiantuntijoiden antamien arvosanojen keskiarvot  sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin ja osaamisittain.
  4. Hae jokaisen itselleen antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin ja osaamisryhmittäin.
  5. VAPAAEHTOINEN (pisteetön) TEHTÄVÄ: Hae KAIKKIEN asiantuntijoiden antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin. (Vinkki: Alikysely)


Vinkkejä


mysql composite unique constraint:

Jälkikäteen:
ALTER TABLE  `Arvio` ADD UNIQUE (`kentta1` ,`kentta2`)

Luonnin yhteydessä:
UNIQUE KEY `uqarvio` (`kentta1` ,`kentta2`)

Tai:
UNIQUE INDEX `uq_arvio` (`kentta1` ,`kentta2`)

WorkBench:
* Indexes tab
* Luo uusi indeksi ja anna sille nimi esim. uq_kentta1_kentta2
* Valitse UNIQUE as your type.
* Rastita "Index Columns"-kohdassa yhdistettyyn Unique-rajoitteeseen kuuluvat sarakkeet.

CHECK-rajoite:

ALTER TABLE Arvio
ADD CONSTRAINT chk_ArvioKokemus CHECK (ArvioKokemus > 0 AND ArvioKokemus <= 10)
ALTER TABLE Arvio
ADD CONSTRAINT chk_ArvioTietamys CHECK (ArvioTietamys > 0 AND ArvioTietamys <= 10)