Kurssin voi suorittaa tekemällä hyväksytysti harjoitustyön jolloin kurssin arvosanaksi tulee Hyväksytty. Tentissä ei siis tarvitse käydä!
Harjoitustyönä suunnitellaan pieni relaatiotietokantasovellus.
Harjoitustyön tekee jokainen yksinään.
Kaikki harjoitustyöhön liittyvä dokumentaatio kirjoitetaan www-sivuksi.
Sovelluksen saa rakentaa haluamallaan tietokannan hallintajärjestelmällä.
Harjoitustyön saa tehdä omasta vapaavalintaisesta aiheesta. Suositeltavia aiheita ovat mm. Ohjelmointi++-kurssin tai Mikrotietokoneiden ohjelmistot-kurssin harjoitustyön muuttaminen relaatiotietokannaksi. Työn voi toteuttaa myös malliaiheen pohjalta.
Kuvaa sanallisesti tärkeimmät sovellukseen liittyvät käyttötapaukset. Kirjoita lyhyt selvitys toiminnoista ja tapahtumista joita sovellukseen kohdistuu. Muista mainita yleisimmät käyttäjät/käyttäjäryhmät ja mitä toimintoja ja miten nämä käyttävät. Mieti myös millaisia raportteja ja yhteenvetoja tietokannan tiedoista halutaan tuottaa.
Muutama esimerkki kurssisuorituksia sisältävän tietokannan mahdollisista käyttötapauksista:
Piirrä vaadittujen ominaisuuksien pohjalta ER-kaavio, joka kuvaa tietokannan sisällön ja rakenteen.
ER-kaaviosta tulee käydä ilmi kohdetyypit, suhdetyypit, ominaisuudet, avaimet ja kardinaalisuudet.
ER-kaavioon on tultava vähintään seitsemän (7) kohdetta.
Kirjoita ja tulosta dokumentti, joka sisältää seuraavat asiat:
Käsinkirjoitettuja ja -piirrettyjä suunnitelmia ei kelpuuteta. Käy hyväksyttämässä harjoitustyöaiheesi jollakin harjoitustyöohjaajista. Hyväksyttämisen voit tehdä omassa demoryhmässäsi. Jos et käy demoissa niin varaa vastaanottoaika! Aikoja voi varata kuukkelista. Ohjaaja allekirjoittaa hyväksytyn suunnitelman.
Hyväksytty eli allekirjoitettu suunnitelma pitää antaa tarkastajalle valmista harjoitustyötä palautettaessa.
Harjoitustyösuunnitelma on hyväksytettävä viimeistään 4.5.2001.
Kirjoita jokaiseen kohteeseen liittyvät ominaisuudet pieniin taulukoihin joiden otsikkona on aina kohteen nimi. Kirjoita taulukkoon kohteen tietotyyppi, pakollisuus, mahdollinen oletusarvo ja mahdolliset rajoitteet ja muut huomautukset. Kohteen avaimena toimivan ominaisuuden tai ominaisuudet voi alleviivata tai merkitä muuten korostettuna. Merkitse taulukkoon myös ne kentät joille suunnittelet määritteleväsi toissijaisen indeksin (engl. secondary index).
Transformoi ER-kaaviosi relaatiotietokannan tauluiksi. Dokumentoi transformointi demo 2:ssa käytetyn tavan mukaisesti.
Käy läpi jokainen tietokannan taulu ja mieti toteuttavatko ne seuraavat vaatimukset:
Jos löydät ongelmallisia kohtia niin normalisoi tietokantasi jakamalla ongelmallinen taulu useammaksi tauluksi. Jos normalisointi aiheuttaa suuria muutoksia niin päivitä normalisoinnin aiheuttamat muutokset myös ER-kaavioon. Kirjoita dokumentaatioon selitykset normalisoinnin aiheuttamista muutoksista.
Kirjoita tietokannan luomiseen vaadittavat SQL-lauseet.
Käytettyjen SQL-lauseiden pitää löytyä palautettavasta tietokannasta, joten älä unohda tallettaa niitä. Tarkastajan täytyy pystyä halutessaan kokeilemaan käytettyjen SQL-lauseiden toimivuus. Tietokantaan talletetuista SQL-lauseista voidaan jättää pois määrityksiä joita harjoitustyön toteuttamiseen käytettävä tietokannan hallintajärjestelmä ei tue. Jos mahdollista niin vastaavat määritykset on toteutettava tietokantaan hallintajärjestelmän omilla työkaluilla. Esim. Microsoft Accessissa on viiteavainten tarkat toimintomääritykset tehtävä Relationships-ikkunassa.
Kirjoita myös toissijaisten indeksien luomiseen vaadittavat SQL-lauseet.
Harjoitustyön dokumentaatiossa on listattava täydelliset SQL-lauseet mukaanlukien
viiteavainten tarkat toimintamääritykset (CASCADE, NO ACTION,
SET NULL tai SET DEFAULT).
Kirjoita sovelluksen vaatimusmäärittelyssä luettelemiasi raportteja vastaavat SQL-kyselyt. Muodosta SQL-kyselyjen pohjalta tietokannan hallintajärjestelmän raportointityökalulla siisti raportti.
Älä kuluta turhaa aikaa raporttien ulkonäön siistimiseen.
Sovelluksen on sisällettävä myös dynaamisen
SQL:n pohjalta luotuja raportteja
Esim. käyttäjä valitsee lomakkeella jonkin tietyn henkilön ja saa
raportin vain tämän kyseisen henkilön tiedoista eikä kaikista
tietokannan sisältämistä henkilöistä.
Sovellukseen on rakennettava vähintään viisi (5) erilaista kyselyä
GROUP BY)Rakenna sovellukselle hyvin yksinkertainen testikäyttöliittymä. Sovelluksen liittymäksi riittävät yksinkertaiset tiedonsyöttölomakkeet joilta voi tarvittaessa käynnistää raportteja. Mitään erikoistoimintoja tai temppuja ei käyttöliittymään vaadita.
Älä siis hukkaa turhaan aikaasi käyttöliittymän säätämiseen!
Kirjoita työstäsi yksinkertainen WWW-sivu, joka sisältää kaiken edellisissä vaiheissa toteuttamasi materiaalin. WWW-sivun pitää sisältää vähintään seuraavat asiat:
Dokumentaatiosta on olemassa valmis WWW-sivupohja (lähdekoodi).
Varmista, että WWW-sivusi on W3C:n suositusten mukaan tehty ja läpäisee virheettä yleisimmät validaattorit.
Työ hyväksytetään saapumalla henkilökohtaisesti harjoitustyön tarkastajan vastaanotolle viimeistään 18.5.2001.
Kesän aikana harjoitustöitä voi palauttaa luennoijalle 7.6., 8.6., 13.8 ja 14.8. Viimeiset palautusajat ovat 28.1.2002 ja 29.1.2002.. Vastaanottoajat löytyvät kuukkelista.
Palautustilaisuuteen on otettava mukaan:
Harjoitustyön tarkistaja toimii seuraavalla tavalla:
Harjoitustyön palauttaminen on verrattavissa tenttitilaisuuteen, koska kurssin suorittaminen riippuu täysin harjoitustyön hyväksynnästä. Tästä johtuen harjoitustöitä ei oteta vastaan takarajan jälkeen.
Pieniin ongelmiin voi pyytää ohjausta tai ratkaisua tarkastajilta sähköpostitse! Myös kurssin postituslistan kautta voi kysyä. Jos kyseessä on suurempi ongelma, niin on syytä varata vastaanottoaika. Apua voi käydä kyselemässä myös kurssin IRC-kanavalta.
Harjoitustöiden ohjaaminen ja palauttaminen on jaettu seuraavasti:
Huom! Jos toteutat harjoitustyösi jollakin muulla tietokannan hallintajärjestelmällä kuin Microsoft Access 97 / 2000 niin palauta työsi Tommille.
Vastaanottoaika harjoitustyön ohjaamista tai palauttamista varten varataan Kuukkeli-järjestelmän kautta.
Tietokannan tulisi sisältää ainakin seuraavat asiat:
Opinnäytetietokannan siis tulisi pystyä käsittelemään niin tehtyjä, tekeillä olevia, ehdotettuja kuin poistettujakin opinnäytteitä.
Seuraavassa opinnäytetietokannalta haluttavia toimintoja: