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:
- P1. Henkilötietojen ylläpito (vähintään henkilön nimi).
- P2. Osaamistietojen ylläpito (vähintään taidon nimi ja tarkempi kuvaus).
- P3. Henkilön tekemä itsearvio ja/tai asiantuntijan tekemä arvio henkilön osaamisesta (asteikolla 0-10).
Lisätietoja ja -vaatimuksia:
- Esimerkkejä osaamisista, osaamiskuvauksista ja niiden ryhmittelyistä: PRY_IPMA_Sertifiointi_Itsearviointilomake_3.0_v1.3.xls
- Tietokantaan ei tallenneta henkilöille osaamistietoa ilman arviota (itsearvio tai asiantuntijan arvio)
- Henkilötietoina tulee voida tallentaa tieto henkilön tyypistä kuvauksineen (esim. Tavis -> Tavallinen arvioitava; Asiantuntija-> OKM:n asiantuntija-arvioija; ...)
- Yksi arvioija voi antaa tietylle henkilölle VAIN YHDEN arvion yhtä osaamista kohti!
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
- ainakin kahden tavallisen ja kahden asiantuntijan kuvitteelliset tiedot
- ainakin kaksi erilaista osaamista per osaamisryhmä (Tekniset pätevyydet jne.)
- 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.
- Hae jokaisen itselleen antamien kaikkien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin.
- Hae valitsemiesi asiantuntijoiden antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin.
- Hae valitsemiesi asiantuntijoiden antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin ja osaamisittain.
- Hae jokaisen itselleen antamien arvosanojen keskiarvot sekä tietämyksestä että kokemuksesta. Tulokset henkilöittäin ja osaamisryhmittäin.
- 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)