11.07.2015 Views

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

516. Kielen primitiivit <strong>ja</strong> esimerkkikyselyt6.1. Kielen syntaksiin vaikuttavia tekijöitäKielen primitiivien tulee olla sellaisia, että niitä yhdistelemällä saadaan aikaanilmaisuvoimaisia kyselyjä. Kieli on yritetty pelkistää mahdollisimman yksinkertaiseksi,jotta kieli olisi helppokäyttöinen. Kielen <strong>suunnittelu</strong>a oh<strong>ja</strong>sivat seuraavatperiaatteet: helppokäyttöisyys, tietokoneen rajoitukset, riittävä ilmaisuvoima<strong>ja</strong> primitiivien mahdollisimman vähäinen määrä. Viimeinen vaatimus onsiksi, että primitiivien ulkoa muistaminen ei koituisi vaikeaksi. Lisäksi primitiivienhyödyntäminen on vaikeaa jos käyttäjä ei hahmota, kuinka yhdessä kyselyssävoidaan ilmaista vaativakin kysely yhdistelemällä primitiivejä keskenään.Yllä olevat neljä vaatimusta ovat keskenään osittain ristiriitaisia, <strong>ja</strong> tämän vuoksitehtävä ei ole helppo.Kieli perustuu <strong>ja</strong>etun muuttu<strong>ja</strong>n ideaan <strong>ja</strong> korkealla abstraktiotasolla oleviinperusprimitiiveihin. Jaetun muuttu<strong>ja</strong>n idealla tarkoitetaan samaa, kuin logiikkaohjelmoinninyhteydessä. Tämän lisäksi syntaksissa on käytettävissä logiikankäsitteet konjunktio, disjunktio sekä sulut. Näiden käsitteiden avulla tulee voidamuodostaa kaikki kielen lailliset kyselyilmaisut.Syntaksissa isolla kirjoitetut kir<strong>ja</strong>imet merkitsevät muuttujia <strong>ja</strong> pienellä kirjoitetutsanat kielen primitiivejä tai vakioita. Pilkku tarkoittaa konjunktiota, elise merkitsee loogista käsitettä <strong>ja</strong>. Disjunktion tapauksessa käytetään puolipistettä<strong>ja</strong> se tarkoittaa loogista käsitettä tai. Sulku<strong>ja</strong> käytetään kyselyn sisäisensuoritusjärjestyksen vaihtamiseen.Käyttäjän tulee kaikkiaan hallita siis edellä mainitsemani loogiset peruskäsitteet<strong>ja</strong> kielen perusprimitiivit. Kielessä olevat loogiset käsitteet ovat helppo<strong>ja</strong>,eikä niiden omaksuminen edellytä logiikan opiskelemista. Jaetun muuttu<strong>ja</strong>nidea on myös helppo ymmärtää. Kielen primitiivien demonstroinnissa, käytänedellisessä kappaleessa esittelemääni esimerkkitietokantaa. Samaa esimerkkiäkäytetään myös kyselyjen demonstroinnissa.6.2. Kielen primitiivitKielen primitiivien tehtävänä on mahdollistaa itsenäisesti miellettävien kyselynosien määrittely. Jos kysely on yksinkertainen, yhdenkin primitiivin käyttö voiriittää. Kysely muodostetaan primitiiveillä, joissa käytetään muuttujia <strong>ja</strong> vakioita.Tässä tutkielmassa primitiivin argumenteilla tarkoitan muuttujia tai vakioita,jotka ovat primitiivin käsittelyssä. Pilkulla <strong>ja</strong> puolipisteellä yhdistellään

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!