Ohjelmistokehityksen menetelmät
  • Ohjelmistokehityksen menetelmät ja käytänteet
  • Tavoitteet
  • Työkalut
  • Toimeksiannot
    • Projektityön rajaukset ja toimeksiannot
    • Palkanlaskenta
    • Kilometrikorvaus
    • Laskutus
    • Laskun perintä
  • Ketterä ohjelmistokehitys
    • Agile esimerkki, sykli
    • Agile, Tuotteen tehtävälista
    • Agile, Käyttäjätarina ja käyttötapaus
    • Agile muu materiaali ja lähteitä
    • Agile termit (scrum)
  • Versionhallinta
    • Sanasto Git
    • Opas Gitin perusteisiin
    • Git perusteet 101
    • Git perusteet 102
    • Git perusteet 103
    • Git perusteet 104
    • Git perusteet 105
    • Git perusteet 106
    • Git perusteet 107
    • Git perusteet 108
    • Git muu materiaali ja lähteet
  • Yksikkötestaus
    • Ohjelmistotestauksen periaateet
    • NUnit lisääminen VS2019
    • NUnit perusteet 101
    • NUnit perusteet 102
    • NUnit perusteet 103
    • NUnit perusteet 104
    • NUnit perusteet 105
    • NUnit perusteet 106
    • NUnit muu materiaali ja lähteitä
    • TDD perusteet 101
    • TDD perusteet 102
    • TDD perusteet 103
    • TDD muu materiaali ja lähteitä
  • UML mallinnuskieli
    • Johdanto
  • Relaatiotietokannat
    • Johdanto
    • Sanasto
    • Mysql perusteet -videosarja
    • Pää- ja viiteavaimet
    • ER kaaviot
    • Viite-eheys ja ACID
    • SQL JOIN -lauseke
    • Normalisointi
    • SQL View
    • Tehtävä 001 Tietokannan suunnittelu
    • Indeksointi
      • Hitaat hakukyselyt
  • SQL harjoitukset ja esimerkit
    • Esimerkkitietokannan käyttöönotto
    • Mysql perusteet 101
    • Mysql perusteet 102
      • mysql-perusteet-102-vastaukset
    • Mysql perusteet 103
      • mysql-perusteet-103-vastaukset
    • Mysql perusteet 104
      • mysql-perusteet-104-vastaukset
    • Mysql perusteet 105
      • mysql-perusteet-105-vastaukset
    • Mysql perusteet 106
      • mysql-perusteet-106-vastaukset
    • SQL hakukyselyjä (VANHAT)
    • SQL harjoitukset syksy 2021
      • Vastaukset SQL harjoitukset syksy 2021
  • Miten yrittäjänä voin hyötyä ohjelmistokehityksen ostamisesta?
    • TL;DR
  • Toimeksiannot (2019/01)
    • Toimeksianto 2019/01
    • Käytänteet ja menetelmät
    • Konsoliohjelman refaktorointia
  • SCRUM harjoitustyö (2020/01)
    • Harjoitustyön sisältö
    • Harjoitustyö: Matkalasku
  • Toimeksiannot (2019/02)
    • Toimeksianto 2019/02
  • Toimeksiannot (2018/01)
    • Projekti 2018/01
    • Projekti 2018/01 Perjantaille 14.9
    • Projekti 2018/01 Käyttötapauksesta työtehtäviin
    • Projekti 2018/01 Ohjelmoinnin aloittaminen
    • Projekti 2018/01 TDD esimerkki
  • Harjoitteet (keskeneräiset)
    • Käyttäjätarinat
    • Pariohjelmointi
    • Versionhallinta
    • Testivetoinen kehitys
    • Jatkuva integraatio
    • Inkrementaalinen dokumentointi
Powered by GitBook
On this page
  • Tehtävän tavoite
  • Asiakkaan tarve
  1. Relaatiotietokannat

Tehtävä 001 Tietokannan suunnittelu

Tehtävän tavoite

Tietokannat ovat usein osa tietojärjestelmää ja ratkaisevat jonkin ongelman. Usein ongelmaan liittyy liiketoiminta minkä tueksi ratkaisua tehdään. Tehtävän tavoitteena on oppia tietokannan suunnittelun perusteita toimeksiannon ratkaisemiseksi.

Asiakkaan tarve

Riihimäen Lukutoukat Ry (jäljempänä Lukutoukat) on perustamassa pientä kirjalainaamoa jäsenilleen. Tässä he tarvitsevat apuasi sopivan järjestelmän tietokannan mallintamiseen. Lukutoukat ovat ajatelleet tarvitsevan pienen lainausjärjestelmän. Tietojärjestelmälle haetaan tukirahoja mutta sitä varten heillä tulisi olla tieto millainen palvelu tulee olemaan.

Lukutoukat ovat kuulleet, että tietokanta on tässä isossa osassa ja pyytävät sinulta apua suunnittelemaan heidän tarpeisiinsa sopivan tietokantaratkaisun.

Tietojärjestelmän tulisi pystyä toteuttamaan seuraavanlaisia asioita:

  • Pitämään yksinkertaista kirjarekisteriä jäsenien kirjoista.

  • Jäsenien tulee pystyä merkitsemään kirjasta siihen kuuluvat perustiedot, jotta näillä tiedoilla voidaan myös hakea kirjoja.

  • Kaikkia järjestelmään merkittyjä kirjoja voi lainata.

  • Lainausjärjestelmän avulla tulisi tietää kuka omistaa kirjan ja kenellä se on kyseisellä hetkellä lainassa.

  • Jäsenet voivat lainata useita kirjoja kerrallaan ja heidän pitää pystyä myös tietämään kirjat, jotka ovat heillä lainassa ja milloin ne pitää palauttaa.

  • Lukutoukat ovat päättäneet, että kirja saa olla lainaushetkestä lähtien enintään 30 päivää lainassa.

  • Kirjoista tulisi myös nähdä niiden lainaushistoria eli milloin ne ovat lainattu.

  • Jos kirja on lainassa ja ei ole sillä hetkellä saatavissa niin jäsenen pitäisi pystyä ilmoittamaan itsensä varausjonoon.

Lukutoukat palkitsevat jäseniä aktiivisesta lainaustoiminnasta. He ovat kiinnostuneet myös seuraavanlaisista yhteenvedoista, jotka tulisi saada selville tietokannan avulla.

  • TOP 10 lista lainatuista kirjoista ja teoksista koko järjestelmän olemassaolon ajalta.

  • Kirjoje ja teoksien määrä tietokannassa sekä erottelu moniko niistä on lainassa tai vapaana.

  • Lista erääntyneistä kirjojen ja teoksien palautusajankohdista sekä kenellä kirja on sillä hetkellä lainassa.

PreviousSQL ViewNextIndeksointi

Last updated 4 years ago