Käki-projektin tekemä kuva tietokannan rakenteesta löytyy täältä: http://sovellusprojektit.it.jyu.fi/kaki/img/sql.jpg Kuikka-projektin muokkaama kuva löytyy täältä: http://kotka.it.jyu.fi/kuikka/materiaali/tietokanta.png Alla on muutamia mietittäviä asioita ja ajatuksiani, kuinka ne voisi esimerkiksi hoitaa. Olisi hyvä jos voisit miettiä ennen palaveria, mikä olisi Sinun mielestä järkevin tapa hoitaa nämä asiat. __________________________________________________________________ 1. Millä tavalla opiskelijan tekemä opintosuunnitelma tallennetaan tietokantaan? Vaihtoehto 1: Kun opiskelija luo uuden opintosuunnitelman sihteerin tekemän tutkintorakenteen pohjalta, rakenne kopioidaan kokonaisuudessaan opiskelijan opintosuunnitelman pohjaksi. Tietokannassa kokonaisuudet tallennettaisiin samaan tauluun, kuin sihteerinkin tekemät kokonaisuudet, eli tauluun study_group. Tällöin negatiivisena puolena on, että jos 10000 opiskelijaa tekee opintosuunnitelman, johon kuuluu kursseja ja kokonaisuuksia yhteensä 100, taulussa on rivejä tuo miljoona. Jos hyväksyttäessä vielä jokaisesta suunnitelmasta otetaan kopio turvaan, rivien määrä kertautuu edelleen. Kyllähän Postgren tauluun voi tallentaa vaikka teran(?) verran rivejä, mutta mielestäni pitäisi silti miettiä, miten saisi vähennettyä saman tiedon tallettamista moneen kertaan. Vaihtoehto 2: Kun opiskelija luo uuden opintosuunnitelman sihteerin tekemän tutkintorakenteen pohjalta, tallennetaan study_plan tauluun viite tähän sihteerin tekemään tutkintorakenteeseen. Sitten tehtäisiin jokaista tutkintorakenteen kokonaisuutta varten study_unit-tauluun rivi, jossa on mm: - viite study_group-taulussa olevaan kokonaisuuteen - viite study_plan-taulussa olevaan opiskelijan tekemään opintosuunnitelmaan - tieto aloitus- ja lopetusajasta - tieto siitä onko kokonaisuus valittu suoritettavaksi vai ei (esim. valinnaiset osiot tutkintorakenteessa). Tällöin ainakin sihteerin tekemien tutkintorakenteiden kokonaisuudet pysyisivät omassa taulussaan ja opiskelijoiden tekemät opintosuunnitelmat omassaan. Study_group-tauluun ei tarvitsisi myöskään varata sarakkeita näille opintosuunnitelman vaatimille asioille. Jos opiskelija joutuisi laittamaan opintosuunnitelmaan kurssin, jota ei ole valmiiksi olemassa study_group-taulussa, voisi opiskelija antaa kurssin tiedot ja se voitaisiin tallettaa study_group tauluun. Study_plan-taulusta laitettaisiin sitten viite tähän opiskelijan lisäämään kurssiin tai kokonaisuuteen. Nyt study_unit-taulu kasvaisi mammuttimaiseksi, mutta study_group-taulu pysyisi ainakin jossain määrin aisoissa. Study_unit-taulussa ei kuitenkaan olisi saman tiedon toistoa. ___________________________________________________________________ 2. Kun opintosuunnitelma hyväksytään, millä tavalla hyväksytty HOPS talletetaan tietokantaan? Vaihtoehto 1: Kun opintosuunnitelma on hyväksytty, siitä tehdään kopio. Kopio on virallinen hyväksytty HOPS, jota opiskelija ei voi muokata. Muokkaaminen estetään sillä, että HOPSin kaikki kokonaisuudet merkitään "lukituksi". study_unit-tauluun pitäisi tätä varten laittaa oma kenttä. Sekä kopioidussa, että alkuperäisessa (jota opiskelija voi edelleen muokata) opintosuunnitelmassa on hyväksymisleimat kaikilla kokonaisuuksilla. Lisäksi myös alkuperäisessä opintosuunnitelmassa voi olla joillakin kokonaisuuksilla tai kursseilla erikseen lukittu-leima, jolloin opiskelija ei voisi muokata tai poistaa näitä ilman hyväksyjän lupaa. Study_unit-tauluun pitäisi laittaa myös kenttä hyväksymis-leimaa varten. Vaihtoehto 2: Kun opintosuunnitelma on hyväksytty, siitä ei tehdä erikseen kopiota, vaan merkitään kaikki hyväksytyt myös lukituiksi, jolloin opiskelija ei voisi poistaa mitään hyväksyttyjä kokonaisuuksia tai kursseja. Opiskelija voisi edelleen lisätä suunnitelmaan kokonaisuuksia tai kursseja. Suunnitelmasta voitasiin edelleen saada näkyville hyväksytty HOPS, kun tulostetaan ruudulle vain tiedot, jotka on hyväksytty (ja lukittu). Se, että opiskelija ei voisi ottaa pois hyväskyttyjä kokonaisuuksia ilman hyväksyjän lupaa, voi joskus olla todella kankeaa. Suunnitelmaa pitäisi pystyä tekemään vapaasti ja hyväksyjä sitten päättää, onko suunnitelma hyväksyttävissä vai ei. Toisaalta taas HOPS on sopimus joka velvoittaa myös opiskelijaa. Tällöin lukitukset ohjaisivat (lue: pakottaisivat) opiskelijaa jatkamaan suunnitelmaansa aikaisemmin hyväksytyissä rajoissa. Tästä vaihtoehdosta saattaa kyllä tulla lisää opiskelijoiden mielenosoituksia... ________________________________________________________________________ 3. Millä tavalla perustelut ja kommentit pitäisi tallettaa tietokantaan? Vaihtoehto 1: Study_unit_comment-taulusta on viite study_unit-tauluun. Näin jokainen viesti kuuluu johonkin kokonaisuuteen. Lisäksi study_unit_comment-taulussa on mm. aikaleima, jolloin viestiä on muokattu, tieto viestin tyypistä (perustelu, kommentti, urasuunnittelu...), sekä viittaus viestin jättäneeseen henkilöön. Viestit järjestettäisiin aikaleimojen perusteella. Opiskelija voisi muokata viimeisintä viestiään, mikäli siihen ei ole vielä vastattu. Jos hyväksytty opintosuunnitelma kopioidaan, myös ainakin perustelut kopioidaan ja laitetaan viittaamaan kopioituun HOPSiin.