English version of the materials are work in progress!

Expect bugs, typos, and other issues. The English version is expected to be completed during spring 2026.

Exercise: Conceptual Modelling

This assignment contains a collection of different modelling exercises. Familiarize yourself with the domain descriptions and database requirements in the exercises. Then model a database corresponding to the requirements as an ER diagram. Note that the descriptions are not comprehensive, so you may have to make additional assumptions to get the model figures done. Before doing this exercise, it is recommended that you first familiarize yourself with the following content:

Huomautus

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

Exercise Grading and Model Answers

In this exercise, you must grade your answer yourself based on the model answer. Do as follows:

  1. First draw the ER diagram of the exercise based on the requirements specification. Do the exercise in peace, and get to know the ER diagram editor and things presented in Chapter 2.2 at the same time. Save your answers often.

  2. When you think you have drawn and saved the ER diagram, give yourself points By clicking the "Set custom points" selection above the task, entering your score (min. 0, max. 1) and pressing the confirmation button:

    Example: Exercise self-assessment and viewing model answer

    Give yourself points between 0-1 based on how well you think you modelled the database. Even if you didn't get everything modelled, give yourself at least 0.01 for a good attempt 🙂

  3. You can now view the model answer by pressing the "Show model answer" button. When you open the model answer for the first time, you may see the following notification:

    You can press "OK" in this dialog, which marks the exercise as done.

  4. Familiarize yourself with the model answer. You can still correct your original ER diagram if you want.

  5. Compare your own answer to the model answer briefly in the text box at the end of the exercise. Is your answer similar? Is your plan better than the model? If, for example, your answer's cardinalities are different from the model, evaluate what might be the cause of the difference (did you make, for example, some assumption that was not in the description).

  6. Save your assessment. You can still give your assessment a score of 0-1 according to how well your database is modelled relative to the model answer.

Huomautus

Note on Model Answers:

Conceptual modelling is partly an open-to-interpretation process. Concepts and relationships between them are modelled with ER diagrams so that designing and implementing the database would be easier. Perfect conceptual modelling requires good knowledge of the domain, and a different person might model the database of the same domain in a different way.

For this reason, you can get very different ER diagrams than in the model answers. If your diagram is different from the model answer, do not think that your answer would be immediately wrong. Familiarize yourself with the model answer and think about whether your modelling is better or worse. Model answers have tried to take into account various possible correct modelling ways, but it is impossible to list all of them.

In Section 3, it is noticed that in many cases different ER diagrams actually can produce exactly the same relational database.

Exercise 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 maksimikardinaalisuudet 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-levyjä myydään joskus jonkin 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 jokin 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.

Harjoitus: 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 saadaksesi mallikuvat aikaan. Ennen tämän harjoituksen tekemistä on suositeltavaa, että tutustut ensin seuraavaan sisältöön:

Huomautus

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

Harjoitusten pisteytys ja mallivastaukset

Tässä harjoituksessa sinun tulee pisteyttää vastauksesi itse mallivastauksen perusteella. Tee 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, maks. 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 vastauksesi samankaltainen? Onko suunnitelmasi parempi kuin mallin? Jos esimerkiksi vastauksesi kardinaalisuudet ovat erilaiset kuin mallissa, arvioi, mistä ero voisi johtua (teitkö esimerkiksi jonkin oletuksen, jota ei kuvauksessa ollut).

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

Huomautus

Huomio mallivastauksista:

Käsitteellinen mallintaminen on osin tulkinnanvarainen prosessi. ER-kaavioilla mallinnetaan 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 kohdealueen tietokannan eri tavalla. tuntemusta, ja eri henkilöt saattavat mallintaa saman kohdealueen tietokannan eri tavoin.

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 vai huonompi. Mallivastauksissa on pyritty huomioimaan erilaisia mahdollisia oikeita mallinnustapoja, mutta kaikkia niitä on mahdotonta listata.

Osassa 3 huomataan, 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 maksimikardinaalisuudet 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-levyjä myydään joskus jonkin 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 jokin 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.
# 780197.ex22-task1
# 780197.reflect-ex22-task1

Exercise 2

Piirrä ER-kaavio IMDB:n kaltaiselle elokuvatietokannalle. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit sekä minimi- 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 nämä tiedot 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.

Harjoitus 2

Piirrä ER-kaavio IMDB:n kaltaiselle elokuvatietokannalle. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit sekä minimi- 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 nämä tiedot 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.
# 780197.ex22-task2
# 780197.reflect-ex22-task2

Exercise 3

Piirrä ER-kaavio pienen yrityksen käyttöön. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit sekä minimi- 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änimikkeitä 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.

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

Harjoitus 3

Piirrä ER-kaavio pienen yrityksen käyttöön. Kaaviossa tulee esiintyä keskeiset kohdetyypit, niiden attribuutit, avainattribuutit sekä minimi- 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änimikkeitä 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.

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

# 780197.ex22-task3
# 780197.reflect-ex22-task3

Exercise 4

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

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. Yritysasiakkaille 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 haluaa 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.

Harjoitus 4

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

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. Yritysasiakkaille 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 haluaa 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.

# 780197.ex22-task4
# 780197.reflect-ex22-task4

Exercise 5

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

TIM on dokumenttipohjainen sisällönhallintajärjestelmä, jossa voi ylläpitää dokumentteja ja tiedostoja. TIMissa on oikeushallinta, jonka avulla käyttäjien pääsy 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 tallennetaan 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 tallennetaan kansion nimi. Kansio voi sisältää muita dokumentteja tai kansioita.

Tiedostosta tallennetaan tiedoston nimi ja polku tiedostoon.

Ryhmillä voi olla oikeus useaan objektiin. Ryhmillä voi olla myös samanaikaisesti useita erityyppisiä oikeuksia samaan 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.

Harjoitus 5

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

TIM on dokumenttipohjainen sisällönhallintajärjestelmä, jossa voi ylläpitää dokumentteja ja tiedostoja. TIMissa on oikeushallinta, jonka avulla käyttäjien pääsy 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 tallennetaan 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 tallennetaan kansion nimi. Kansio voi sisältää muita dokumentteja tai kansioita.

Tiedostosta tallennetaan tiedoston nimi ja polku tiedostoon.

Ryhmillä voi olla oikeus useaan objektiin. Ryhmillä voi olla myös samanaikaisesti useita erityyppisiä oikeuksia samaan 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.

# 780197.ex22-task5
# 780197.reflect-ex22-task5

Exercise 6

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

Pohdi, mitkä ovat sovelluksen toiminnan kannalta olennaisimmat ominaisuudet. Esimerkiksi kaikissa yllä mainituissa palveluissa on jonkinlaisia viestikanavia, joissa 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 mallintaa yksinkertaisen ryhmäviestipalvelun tietotarpeita. Pyri olemaan mahdollisimman tarkka mallintamisessa, eli ota huomioon mahdolliset moniarvoiset attribuutit, heikot suhteet ja mahdolliset abstraktiorakenteet.

Harjoitus 6

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

Pohdi, mitkä ovat sovelluksen toiminnan kannalta olennaisimmat ominaisuudet. Esimerkiksi kaikissa yllä mainituissa palveluissa on jonkinlaisia viestikanavia, joissa 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 mallintaa yksinkertaisen ryhmäviestipalvelun tietotarpeita. Pyri olemaan mahdollisimman tarkka mallintamisessa, eli ota huomioon mahdolliset moniarvoiset attribuutit, heikot suhteet ja mahdolliset abstraktiorakenteet.

# 780197.ex22-task6
# 780197.reflect-ex22-task6

Finally

When you are ready, you can continue forward to the next chapter.

You can give a short self-assessment of your success and general feedback on the exercise below.

# palaute

Lopuksi

Kun olet valmis, voit jatkaa eteenpäin seuraavaan lukuun.

Voit antaa lyhyen itsearvion onnistumisestasi ja yleisesti palautteen harjoituksesta alla.

# palaute

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