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.

64Käyttäjän ei tarvitse välittää siitä, onko komponentilla material-nimistä attribuuttia.res(steel)res(aluminium)Seuraavassa kyselyssä ilmaistaan tricycle:n ilmentymien määrän <strong>ja</strong> niiden painonkeskiarvon antava kysely:res(avg(X:weigth),count(X)) where X is_instance_of tricycle.Kyselyn lopputuloksessa halutaan saada johdetun attribuutin keskiarvo, elikyselyn aikana suoritetaan ensin komponenttien painojen yhteenlasku kolmipyöränweigth-metodin avulla <strong>ja</strong> tämän jälkeen lasketaan näistä tuloksista vieläkeskiarvo. Samalla voidaan kysyä, kuinka monta tricycle:ä tietokannassa on.Vastaus ilmaisee, että kannan kolmipyörien keskiarvo on 7.1 <strong>ja</strong> että keskiarvolaskettiin kolmesta tricycle-oliosta. Toisin sanoen kysely antaa seuraavan vastauksen:res(7.1,3)Seuraava esimerkki esittelee yhdistetyn kyselyn, joka antaa ekstensionaalisenvastauksen. Siinä halutaan saada selville sellaisen bicycle:n frame- komponentinmateriaali, jonka frame:n sar<strong>ja</strong>numero on 5435534. Tässä kyselyssä käyttäjän eitarvitse tietää, minkä niminen attribuutti frame:n sar<strong>ja</strong>numeroon liitetään. Kyselyssäres(Y:material) where Y is_component_object_of tricycle, P is_property_offrame,Y:P(5435534).käyttäjä ilmaisee, että Y tarkoittaa oliota, joka on tricycle:n alikomponenttina.Lisäksi hän ilmaisee, että P tarkoittaa frame:n ominaisuutta <strong>ja</strong> rajoittaa Y olionkoskemaan vain oliota, jonka ominaisuuden arvona on 5435534. Kieli mahdollistaasiis erittäin käyttäjäystävällisen tavan viitata ominaisuuksiin. Riittää, ettäkäyttäjä tietää ominaisuuden arvon. Hän voi tällöin kyselyssä viitata oliotyypinominaisuuteen muuttu<strong>ja</strong>lla. Vastaukseksi yllä olevaan kyselyyn saadaan

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

Saved successfully!

Ooh no, something went wrong!