Tehtävä: Transformoinnin harjoittelua

Tämä tehtävä sisältää kokoelman erilaisia harjoituksia, jotka liittyvät ER-kaavioiden transformointiin relaatiotietokannan kaavoiksi. Valitse sinua kiinnostavat harjoitukset ja tee ne.

Muista, että kurssin läpipääsyyn riittää tehdä 80 % osan tehtävistä. Jos olet tehnyt jo Tehtävän 3.1, tämä tarkoittaa, että sinulle riittää tehdä 5 harjoitusta tässä tehtävässä. Muista seurata omaa etenemistä kurssin etusivulla!

Ennen tämän tehtävän tekemistä on suositeltavaa, että ensin teet edellisen tehtävän ER-kaavioiden transformointi ja tutustut transformointisääntöihin Luvussa 3.2.

Jos huomaat virheitä tai sinulla on kysyttävää tehtävistä, ota yhteyttä kurssin opettajiin

Tähän laatikkoon listataan mahdolliset muutokset tehtävien julkaisemisen jälkeen.

19.1. Korjattu tehtävien 6 ja 5 mallivastauksia.

Harjoitusten pisteytys ja mallivastaukset

Tässä tehtävässä sinun tulee pisteyttää vastauksesi itse mallivastauksen perusteella. Etene harjoituksissa seuraavasti:

  1. Tee ensin harjoitus itsenäisesti. Tututstu rauhassa tässä osassa oleviin lukuihin. Tehtävien tarkoitus on harjoitella, joten virheet ovat sallittu!

  2. Kun olet mielestäsi saanut harjoituksen tehtyä ja tallennettua, anna itsellesi pisteet klikkaamalla tehtävän yläpuolella olevaa "Aseta mukautetut pisteet" -valintaa, syöttämällä pistemääräsi (min 0, max 1) ja painamalla vahvistuspainiketta:

    Esimerkki: Harjoituksen itsearviointi ja mallivastauksen katsominen

    Anna itsellesi pisteet välillä 0-1 sen perusteella, kuinka hyvin mielestäsi sait tehtyä harjoituksen. Vaikka et olisi saanut kaikkea oikein, anna itsellesi vähintään 0,01 hyvästä yrityksestä 🙂

  3. Voit nyt katsoa mallivastaus painamalla "Näytä mallivastaus" -painiketta. Kun avaat mallivastauksen ensimmäistä kertaa, saatat nähdä seuraavan ilmoituksen:

    Voit painaa tässä dialogissa "OK", jolloin harjoitus merkitään tehdyksi.

  4. Tutustu mallivastaukseen. Voit vielä halutessasi korjata alkuperäisen vastauksesi.

  5. Vertaile harjoituksen lopussa olevassa tekstilaatikossa omaa vastausta mallivastaukseen lyhyesti. Onko samankaltainen vastaus? Missä löytyy eroja, ja mistä ne voivat johtua?

  6. Tallenna arviosi. Voit vielä antaa arviollesi pistemäärän 0-1 sen mukaan, kuinka hyvin vastauksesi on mallivastauksen valossa.

Merkinnöistä

Tässä tehtävässä relaatiot merkitään joko muodossa

Relaatio (attribuutti_1, attribuutti_2, attribuutti_3)

tai

Relaatio ({|attribuutti_1|}, attribuutti_2, attribuutti_3)

Avainattribuutit siis joko alleviivataan tai ne merkitään {| |} sulkujen sisään.

Tässä tehtävässä merkitään myös viiteavaimia. Viiteavaimet merkitään seuraavasti:

Relaatio1.attribuutti_1 -> Relaatio2.attribuutti_1

Yllä oleva esimerkki tarkoittaa, että relaatiossa Relaatio1 oleva attribuutti attribuutti_1 on viiteavain, joka viittaa relaatioon Relaatio2 attribuuttiin attribuutti_1.

Huomaa transformoidessa, että:

  • Attribuuttien järjestykellä ei ole merkitystä
  • Voit nimetä relaatiot vapaasti. Pyri kuitenkin nimeämään relaatiot ja attribuutit niin, että ne voisi helposti yhdistää ER-kaaviossa oleviin osiin.

Harjoitus 1

Transformoi kummatkin alla olevat ER-kaaviot relaatiotietokannan kaavoiksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

Tätä tehtävää käydään läpi Luvun 3.2 luentotallenteessa luentoesimerkkiä. Voit seurata luentoesimerkkiä tätä tehtävää tehdessä:

Kun olet transformoinut kummatkin kaaviot, varmista, että olet saanut ne oikein katsomalla mallivastaus. Mieti, millä tavoin kaavat liittyvät toisiinsa. Voidaanko relaatiokaavasta tuottaa aina yksikäsitteinen ER-kaavio? Toisin sanoin, onko aina olemassa täsmälleen yksi tapa esittää relaatiotietokanta ER-kaaviona?

# t32_h1a
# t32_h1b
# h1_arviointi

Harjoitus 2

Huom: Tätä harjoitusta ei tarvitse pisteyttää itse.

# t32_h2

Harjoitus 3

Transformoi alla oleva ER-kaavio relaatiotietokannan kaavaksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

# t32_h3
# h3_arviointi

Harjoitus 4

Transformoi alla oleva ER-kaavio relaatiotietokannan kaavaksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

# t32_h4
# h4_arviointi

Harjoitus 5

Transformoi kummatkin alla olevat ER-kaaviot relaatiotietokannan kaavoiksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

# t32_h5
# h5_arviointi

Harjoitus 6

Transformoi kummatkin alla olevat ER-kaaviot relaatiotietokannan kaavoiksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

# t32_h6
# h6_arviointi

Harjoitus 7

Luvussa 3.2 esitettiin olennaisimpia transformointisääntöjä, joilla suurin osa ER-kaavioiden tapauksista saa käsiteltyä. Toisinaan voi esiintyä ns. "epäselviä tilanteita", jossa useampi transformointisääntö voisi sopia.

Transformoi kummatkin alla olevat ER-kaaviot relaatiotietokannan kaavoiksi. Kaavassa tulee olla merkittynä relaatioiden nimet, attribuutit, perusavaimet sekä viiteavaimet. Attribuuttien järjestyksellä ei ole merkitystä, mutta niiden tulee olla merkittynä oikein.

Huomaa, että tässä harjoituksessa on esitetty tilanteita, joille ei ole annettu valmiita sääntöjä. Tutki Luvussa 3.2 esitettyjä sääntöjä ja sovella ne tapauskohtaisesti niin, että tuloksena on mahdollisimman järkevä relaatiotietokannan kaava. Tässä tehtävässä on useampi oikea ratkaisu.

# t32_h7
# h7_arviointi

Lopuksi

Valinnainen: Kun olet valmis, arvioi lyhyesti tehtävässä opittuja asioita ja anna lyhyt palaute tehtävästä.

# palaute

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.