Tehtävä: Käsitteellinen mallintaminen

Tämä tehtävä sisältää kokoelman erilaisia mallintamisharjoituksia. Tutustu harjoituksissa oleviin kohdealueen kuvauksiin ja tietokannan vaatimuksiin. Sen jälkeen mallinna vaatimuksia vastaava tietokanta ER-kaaviona. Huomaa, että kuvaukset eivät ole kattavat, eli joudut mahdollisesti tekemään lisäoletuksia saadakseen mallikuvat aikaan. Jokaisen harjoituksen jälkeen on arviointilaatikko, johon voi kirjata omia tehtyjä oletuksia.

Ennen tämän tehtävän tekemistä on suositeltavaa, että ensin teet edellisen tehtävän ER-kaavioiden piirtäminen ja tutustut Lukuun 2.2.

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

Harjoitusten pisteytys ja mallivastaukset

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

  1. Piirrä ensin harjoituksen ER-kaavio vaatimusmäärittelyn perusteella. Tee harjoitus rauhassa, ja tutustu samalla ER-kaavioeditoriin sekä Luvussa 2.2 esitettyihin asioihin. Tallenna vastauksesi usein.

  2. Kun olet mielestäsi saanut ER-kaavion piirrettyä 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 sait mielestäsi mallinnettua tietokannan. Vaikka et olisi saanut kaikkea mallinnettua, 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 ER-kaaviosi.

  5. Vertaile harjoituksen lopussa olevassa tekstilaatikossa omaa vastausta mallivastaukseen lyhyesti. Onko samankaltainen vastaus? Onko suunnitelmasi parempi kuin mallin? Jos esimerkiksi vastauksesi kardinaalisuudet ovat eri kuin mallissa, arvioi, mistä ero voisi johtua (teitkö esimerkiksi jonkun oletuksen joita ei kuvauksessa ollut).

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

Huomio mallivastauksista:

Käsitteellinen mallintaminen on erittäin tulkinnanvarainen prosessi. ER-kaaviot on tapa mallintaa käsitteitä ja niiden välisiä suhteita, jotta tietokannan suunnittelu ja toteuttaminen olisi helpompaa. Täydellinen käsitteellinen mallintaminen edellyttää hyvää kohdealueen tuntemusta, ja eri henkilö saattaa mallintaa saman tietokantatarpeen eri tavalla.

Tästä syystä voit saada hyvin erilaisiakin ER-kaavioita kuin mallivastauksissa. Jos kaaviosi on eri kuin mallivastaus, älä ajattele, että vastauksesi olisi heti väärin. Tutustu mallivastaukseen ja mieti, onko mallinnuksesi parempi tai huonompi. Mallivastauksissa on pyritty huomioimaan erilaisia mahdollisia oikeita mallinnustapoja, mutta kaikkia niitä on mahdotonta listata.

Osassa 3 huomataankin, että monissa tapauksissa erilaiset ER-kaaviot oikeastaan voivat tuottaa aivan samanlaisen relaatiotietokannan.

Harjoitus 1

Tarkastele alla olevaa musiikkilevykaupan tietokannan ER-kaaviota. Täydennä kaavioon avainattribuutit, mahdolliset moniarvoiset ja johdetut attribuutit sekä heikot kohdetyypit. Merkitse myös minimi- ja makrimikardinaalisuudet sekä suhdetyyppejä selittävät sanat.

Mitään uusia kohdetyyppejä tai attribuutteja ei tule ottaa käyttöön.

Seuraavat asiat tiedetään kohdealueesta:

  • Kyseessä on yksittäisen musiikkikaupan kirjanpitoon tarkoitettu tietokanta.
  • Musiikkikauppa myy vain ja ainoastaan CD-levyjä tai vinyylejä.
  • CD-levyt joskus myydään jonkun bonussisällön kanssa. Useimmiten bonussisältöä ei ole.
  • Tuotteella voi olla useita genrejä.
  • Asiakkaalla voi olla erityyppisiä superasiakkuuksia. Superasiakkuus mahdollistaa aina tietyn tuotteen tai tuoteryhmän ostamista.
  • Asiakas voi ostaa kerrallaan useita tuotteita. Tuotetta myy aina joku yksittäinen työntekijä.
  • Asiakas ei voi maksaa itsepalveluna, vaan osto tehdään työntekijän avulla.
  • Jokaiselle tuotteelle tehdään aina oma tilaus. Tilauksen hoitamisesta vastaa aina tietty toimittaja.
  • Asiakkaalta voidaan pyytää henkilö- ja yhteystiedot ostotapahtuman yhteydessä, mutta asiakas ei välttämättä niitä anna.
# er-harj1
# h1_arviointi

Harjoitus 2

Piirrä ER-kaavio IMDB:n kaltaiselle elokuvatietokannalle. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit, sekä mini- ja maksimikardinaalisuudet. Saatat joutua tekemään lisäoletuksia kaaviota piirtäessä. Voit mainita tehdyistä oletuksistasi tehtävän alla olevaan tekstilaatikkoon.

Vaatimusmäärittely:

  • Elokuvat: Tietokannan keskiössä ovat elokuvat. Pohdi, mitä tietoja elokuvista olisi hyödyllistä säilyttää. Mieti myös, miten elokuvat voidaan yksilöidä ja luokitella.
  • Henkilöt: Elokuvien tekemiseen osallistuu useita henkilöitä, kuten näyttelijöitä ja ohjaajia. Mieti, mitä tietoja näistä henkilöistä tulisi tallentaa. Harkitse myös, miten henkilöiden suhteet elokuviin voidaan esittää.
  • Roolit ja Tehtävät: Elokuvissa henkilöillä on erilaisia rooleja ja tehtäviä. Pohdi, miten tämä tieto voidaan liittää tietokantaan ja miten eri roolit ja tehtävät liittyvät toisiinsa.
  • Tuotantoyhtiöt: Elokuvat tuotetaan yhtiöiden toimesta. Mieti, mitä tietoja näistä yhtiöistä on hyödyllistä tallentaa ja miten ne liittyvät elokuviin.
  • Lisätiedot: Elokuvat voivat sisältää monenlaisia lisätietoja, kuten genrejä, julkaisupäiviä tai kestoja. Mieti, miten nämä tiedot voidaan järjestää ja yhdistää elokuviin.
# er-harj2
# h2_arviointi

Harjoitus 3

Piirrä ER-kaavio pienen yrityksen käyttöön. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit, sekä mini- ja maksimikardinaalisuudet. Saatat joutua tekemään lisäoletuksia kaaviota piirtäessä. Voit mainita tehdyistä oletuksistasi tehtävän alla olevaan tekstilaatikkoon.

Vaatimusmäärittely

  • Sinulla on yritys, jonka henkilöstöstä kullakin on tietty tehtävänimike. Joitakin tehtävänimekkeitä ovat esim. projektipäällikkö, ohjelmoija ja toimitusjohtaja.
  • Yrityksen henkilöt voivat osallistua projekteihin.
  • Jokaisella projektilla on aina projektin toimeksiantaja, tekijä tai tekijät ja yksi tai useampi valvoja.
  • Projekteihin liittyy myös projektin nimi, aloituspäivämäärä ja päättymispäivämäärä.
  • Projektin tekijöitä halutaan edelleen luokitella tarkemmin sen mukaan mikä heidän tarkka tehtävänsä kussakin projektissa on (ohjelmointi, suunnittelu, testaus jne).
  • Tietokantaan halutaan tallentaa myös kaikkien yrityksen henkilöiden nimet, puhelinnumerot ja sähköpostiosoitteet.

Vinkki: ER-kaavioeditori ei (vielä) osaa piirtää n-äärisiä suhteita. Jos sellaisen tarvitset, voit sen sijaan käyttää useita heikkoja suhdetyyppejä.

# er-harj3
# h3_arviointi

Harjoitus 4

Piirrä alla olevan kuvauksen mukainen ER-kaavio. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit, sekä mini- ja maksimikardinaalisuudet. Saatat joutua tekemään lisäoletuksia kaaviota piirtäessä. Voit mainita tehdyistä oletuksistasi tehtävän alla olevaan tekstilaatikkoon.

Jomm's on verkkokauppa, jossa myydään erilaisia kodinkoneita, tietokoneita ja muita elektroniikkavälineitä. Sinun tehtäväsi on mallintaa ja toteuttaa tietokantaa Jomm'sia varten.

Jomm'sin valikoimassa on tuotteita, jotka asiakkaat tilaavat verkosta. Jokaisesta asiakkaasta kerätään perustiedot: asiakasnumero, puhelinnumero ja sähköposti. Kaupassa on kahdenlaisia asiakkaita: yksityis- ja yrityisasiakkaita. Yksityisasiakkailta tulee kerätä heidän perushenkilötietoja. Yrityisasiakkaille lisäksi tulee edellä mainittujen tietojen lisäksi tallentaa y-tunnus. Jomm's on kansainvälinen kauppa, joten asiakkaita voi olla ympäri maailmaa. Asiakas voi olla sekä yksityis- että yritysasiakas (esimerkiksi jos asiakas haluaisi joskus tilata tuotteita kotiin tai työpaikalle).

Tietokannassa pidetään kirjaa tilauksista. Jokainen tilaus merkitään yksilöllisellä tilausnumerolla. Tilaustiedot sisältävät tilauspäivän, tilauksen tämänhetkisen tilan, toimitustavan, tilauksen hinnan sekä toimitukseen tarvittavat tiedot (mieti, millaisia tietoja siihen mahdollisesti tarvittaisiin). Samassa tilauksessa voi olla useita eri tuotteita eri määrissä.

Kaikilla tuotteilla on tuotenumero, hinta, malli, kuvaus, valmistaja, valmistusmaa. Tuote kuuluu aina johonkin yhteen kategoriaan (kodinkone, tietokone, elektroniikkaväline, oheistuote, yms). Tuotteelle voidaan antaa yksi tai useampi tunniste, esimerkiksi "tietokone, emolevy, AM4". Tuotteille pitää pystyä myös merkitsemään yhteensopivuus muiden tuotteiden kanssa, jotta käyttäjälle voitaisiin ehdottaa sopivia tuotteita.

# er-harj4
# h4_arviointi

Harjoitus 5

Piirrä alla olevan kuvauksen mukainen ER-kaavio. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit, sekä mini- ja maksimikardinaalisuudet. Saatat joutua tekemään lisäoletuksia kaaviota piirtäessä. Voit mainita tehdyistä oletuksistasi tehtävän alla olevaan tekstilaatikkoon.

TIM on dokumenttipohjainen sisällönhallintajärjestelmä, jossa voi ylläpitää dokumentteja ja tiedostoja. TIMissa on oikeushallinta, jonka avulla käyttäjien pääsyn sisältöön voidaan rajata. Mallinnetaan tässä tehtävässä yksinkertaistettu versio TIMin tietokannasta.

TIMin tietokannassa pidetään kirjaa käyttäjistä. Käyttäjällä on yksilöllinen tunnus, koko nimi ja sähköpostiosoite. Käyttäjät voivat kuulua ryhmiin, joista tallenetaan ryhmän yksilöllinen tunnus ja ryhmän nimi. Käyttäjä kuuluu aina vähintään yhteen ryhmään -- hänen omaan "henkilökohtaiseen" ryhmään, jossa hän on ainoa jäsen.

TIMin tietokantaan tallennetaan erilaisia objekteja. Objektilla on sitä yksilöivä tunnistenumero. Objekteja voi jakaa dokumentteihin, kansioihin ja tiedostoihin. Objekti voi olla vain yhtä tyyppiä samaan aikaan, eli esimerkiksi objekti ei voi olla sekä dokumentti että kansio.

Dokumentista tallennetaan dokumentin nimi. Dokumenttiin kuuluu nolla tai useampi tekstilohko. Yksittäinen tekstilohko sisältää lohkoa yksilöivän tunnuksen sekä tekstisisällön.

Kansiosta tallenetaan kansion nimi. Kansio voi sisältää muita dokumentteja tai kansioita.

Tiedostosta tallenetaan tiedoston nimi ja polku tiedostoon.

Ryhmillä voi olla oikeus useaan objektiin. Oikeuteen liittyy aina oikeuden tyyppi sekä oikeuden aloitus- ja lopetuspäivämäärä. Lopetuspäivämäärä on valinnainen, eli oikeus voi olla ilman lopetusajankohtaa. Yksittäiselle käyttäjälle siis ei anneta suoraan oikeutta objekteihin, vaan oikeus aina tulee ryhmän kautta. Tällä tavoin usealla käyttäjällä voi olla sama oikeus samaan aikaan.

# er-harj5
# h5_arviointi

Harjoitus 6

Tutustu johonkin ryhmäviestintäpalveluun, jossa kaksi tai useampi käyttäjä voi keskustella keskenään samaan aikaan. Esimerkiksi tällaiset palvelut ovat WhatsApp, Telegram, Discord, Teams, IRC.

Pohdi, mitkä ovat sovelluksen toiminnan kannalta olenaisimmat ominaisuudet. Esimerkiksi, kaikissa yllä mainituissa palveluissa on jokin käsite viestikanavista, jossa viestit lähetetään vain kanavalla olevien kesken. Onko viestipalveluissa jonkinlainen moderaatio, eli voiko joku käyttäjä poistaa tai muokata toisten viestejä?

Piirrä sitten yksinkertainen ER-kaavio, joka yksinkertaisen ryhmäviestipalvelun toimintaa. Pyri olemaan mahdolisimman tarkka mallintamisessa, eli ota huomioon mahdolliset moniarvoiset attribuutit, heikot suhteet ja mahdolliset abstraktiorakenteet.

# er-harj6
# h6_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.