Tredun ohjelmistokehittäjien kurssimateriaaleja
Tehtävänäsi on suunnitella asunnonvuorkasujärjestelmää varten relaatiotietokanta, joka toteutetaan MySQL:llä (tai PostgreSQL:llä).
Tehtävästä syntyy pikkuhiljaa Wordilla tehty tietokantadokumentti (siis vain 1 tiedosto). Työ palautetaan github-classroomiin: tietokannat-repoon.
Mieti ensin, mitä tietoja vuokrausjärjestelmässä tarvitaan. Tee ER-kaavio suunnittelemasi tietokannan käsitteistöstä.
Tee tietokannan rakenteen kuvaus (Visio: Software/UML Database Notation tai Crow’s Foot Notation). Muista lisätä myös tietotyypit jokaiselle kentälle.
Huom Vision UML notaatioon ei voi lisätä tietotyyppejä suoraan, joten käytä erillistä taulukkoa, johon kirjaat tietotyypit.
Huom! Taulut kannattaa nimetä niin, että jokaisen edessä on jokin sama tunniste, joka kertoo, että ne kuuluvat juuri tähän tietokantaan. (esimerkiksi “stap_apartments”)
Luo yhteydet ja viite-eheyssäännöt. Muista että taulu pitää olla luotuna ennen kuin siihen voidaan viitata viiteavaimella (foreign key). Mieti mitkä tietueet liittyvät toisiinsa niin, että kun ne poistetaan, samalla tulee poistaa tietueita jotain muusta taulusta (ON DELETE CASCADE).
Syötä riittävä määrä testidataa kaikkiin tietokannan tauluihin (seeds). Tietojen syöttö pitää tehdä ottaen huomioon viite-eheydet, eli vie testidata ensin tauluihin joihin viitataan viiteavaimella.
Laaditaan yksinkertainen testauslomake ja siihen tietokantakyselyitä, joilla testataan tietokannan toiminta. Pyri miettimään tyypillisiä käyttötapoja tietokannallesi. Tarkoitus on, että mukana on vähintään yksi SELECT, DELETE jne. -kysely per taulu.
Suorita suunnittelemasi testit tietokannallesi, korjaa virheet tietokannan rakenteessa.
Työstä kootaan Word-dokumetti, johon kootaan tietokannan suunnitteluosuus (kuvat) sekä testausraportti. Työstä palautetaan myös migrations-, seeds- ja testaus-koodit (SQL tai JS). Tämä osuus tulee liittymään Systeemityön kurssiin ja palautat ne osana toiminnallista määrittelyä.
Suunnittelu:
Toteutus:
Testaus: