selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
60Start-komento käynnistää kyselytilan, jonka jälkeen kyselyitä voisuorittaa. Quit-komento siirtyy puolestaan pois kyselytilasta. Add-komennollavoidaan luoda uusia olioita tiedostoon. Tämä helpottaa olioiden luomista, silläkompleksisen rakenteen omaavia olioita luotaessa täytyy asettaa monta arvoa.Olioiden luonnissa tarvittavat arvot voidaan kirjoittaa vain kerran tiedostoon.Kun add-komento suoritetaan, ohjelma pyytää käyttäjää kirjoittamaan tiedostonnimen, jossa olion luontikomennot si<strong>ja</strong>itsevat.6.3. EsimerkkikyselytOlen <strong>ja</strong>otellut esimerkkikyselyt samalla tavalla kuin kappaleessa neljä. Annantoisin sanoen esimerkkikyselyjä intensionaalisista-, ekstensionaalisista- sekäintensionaalis-ekstensionaalisista kyselyistä. Jokaisen kyselytyypin kohdallaesitän myös kyselytyyppiä vastaavia yhdistettyjä kyselyjä.6.3.1. Intensionaaliset esimerkkikyselytEnsimmäisellä tämän kategorian esimerkkikyselyllä haetaan tricycle:n peruskomponenttityypitseuraavasti:result(X) where apply_to[tricycle], X is_basic_type.Kyselyn alussa määritellään, että ollaan kiinnostuneita ainoastaan tricycle:n osakokonaisuussuhteesta.Vastaus saadaan kyselyn muuttu<strong>ja</strong>n X arvotuksista.Vastaukseksi saadaan tuloksetresult(frame)result(saddle)result(front_axle)result(handlebar)result(pedals)result(rear_axle)result(wheel).Jos kyselyn haluttaisiin kohdistuvan koko esimerkkitietokantaan, olisi kyselystäpitänyt jättää apply_to –primitiivi pois. Jos kyselyn kohdassa result(X) olisi sovellettucount() –aggregointiprimitiiviä, oltaisiin saatu selville kuinka montaperuskomponenttityyppiä tricycle:llä on.Seuraavalla kyselyllä haetaan kaikkien niiden oliotyyppien polut, joilla onominaisuutena diam.