![]() |
Ohjelmistotuotanto kesä 2000 - SQLtrainer Helsingin yliopisto - Tietojenkäsittelytieteen laitos © OHTU/SQLtr, kesä 2000 |
Ohjelmalla voi harjoitella SQL-kyselyjä. Ohjelma tarjoaa käyttöliittymän, jonka kautta opiskelija voi antaa kyselyn ja saa tuloksena kyselyn vastauksen sekä tietoa kyselyyn liittyvistä ongelmista. Ohjelman käyttöliittymä on sekä suomen- että englanninkieinen. Opiskelijalla on käytettävissään joukko tauluja (englanninkielisiä). Taulujen rakenne ja sisältö kuvataan avustustiedostossa. Järjestelmä voi käyttää mitä tahansa käyttäjälle harkka näkyviä tauluja.
Kirjoittautuessaan järjestelmään opiskelija valitsee itselleen käyttäjätunnuksen ja salasanan. Opiskelija voi halutessaan kirjata henkilötietonsa. Jos hän ei kirjaa henkilötunnustaan ei tuloksia voi kytkeä kurssikirjanpitoon. Seuraavilla käyttökerroilla opiskelija pääsee antamalla käyttäjätunnuksensa ja salasanansa.siihen tilanteeseen, johon hän edellisellä kerralla päätyi.
Järjestelmä esittää käyttäjälle listan tehtävistä. Listassa näkyvät yrityskertojen lukumäärä ja onko käyttäjä onnistunut jo ratkaisemaan tehtävän. Listalta pääsee vastaamaan tehtävään. Tehtäviin voi vastata missä järjestyksessä tahansa. Samaa tehtävää voi yrittää ratkaista useita kertoja. Käyttäjän tehtävään antama vastaus tarkastetaan ja kirjataan tietokantaan. Annetun vastauksen voi valita pohjaksi uuteen vastausyritykseen joko samalle tai eri tehtävälle.
Tarkistuksessa
Käyttäjälle annetaan syntaksivirheestä palautteena tkhj:ltä saatu virheilmoitus. Muista virheistä annetaan virhekohtaiset omat ilmoitukset. Jos kysely tuotti tulostaulun se esitetään käyttäjälle.
Järjestelmä käyttää seuraavia systeemitauluja
Järjestelmän käytön kannalta keskeinen on taulu pstask. Siinä annetaan tehtävä ja kuvaillaan oikea vastaus. Tehtävä annetaan sekä suomeksi että englanniksi. Vastauksen kuvailuun liittyvät seuraavat tiedot:
|
ok_rows integer, |
Oikean vastauksen koko riveinä |
|
nonunique integer, |
Vastauksen koko, jos välttämätön unique määre on jäänyt pois |
|
ok_cols integer, |
Vastauksen sarakkeiden enimmäismäärä |
|
ok_checkable varchar(32), |
Tarkistussummasarakkeen nimi |
|
ok_checkvalue integer, |
Oikeasta vastauksesta laskettu tarkistussumma |
|
ordered char, |
Onko järjestettävä (ei ole käytössä) |
|
neededcols varchar(120), |
Välttämättömien sarakkeiden luettelo, Sarakenimet annetaan pilkulla eroteltuina |
|
eqpairs varchar(120), |
Identtiset sarakeparit (sarake1=sarake2). Tällaisia ei ole syytä ottaa mukaan tulokseen. |
|
included varchar(120), |
Kyselyyn sisältyvä merkkijono jota käytetään järjestysmääreen tarkistukseen. Ennen vertailua kyselysta karsitaan turhat välilyönnit ja tarkentimet. |
|
col_max integer, |
Vastauksen sarakkeiden määrä (tämä on tarpeeton) |
|
needed_tabs varchar(120), |
Välttämättömien taulujen luettelo, taulunimet pilkulla eroteltuna. Tuottaa virhe ilmoituksen jos jokin näistä puuttuu |
|
needless_tabs varchar(120), |
Tarpeettomien taulujen luettelo. taulunimet pilkulla eroteltuina. Tuottaa virheilmoituksen, jos jokin näistä on mukana |
Tehtävät näytetään tehtävänumerojärjestyksessä.


Kaavio 3. Nykyohjelman luokkarakenne (osittain)

Kaavio 4. Nykyohjelman tietokantarakenne
| © OHTU/SQLtr, kesä 2000 |