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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

26Käyttäjältä ei voida edellyttää rekursion eikä iteraation käsitteellistäsisäistämistä. Tällöin kielen primitiivien tehtävänä on piilottaa loppukäyttäjältärekursiivisten <strong>ja</strong> iteratiivisten tilanteiden, kuten välillisten komponenttien <strong>ja</strong>komposiittien käsittelyt. Tämä ei ole itsestäänselvyys olemassaolevissa kielissä.Esimerkiksi eräät käyttäjäystävällisiksi tarkoitetut SQL-kielen laajennokset nf 2 –relaatiotietokantojen yhteydessä eivät pysty käsittelemään kuin ylintä komponenttihierarkiatasoa[Niemi and Järvelin, 1996].Kielen tulee tarjota kaksisuuntainen käsittely komponenttien <strong>ja</strong> komposiittienvälillä, kuten ODMG-standardissakin. Käsittelyssä ei kuitenkaan tule käyttäänavigointia. Käyttäjän pitää saada välilliset <strong>ja</strong> välittömät komponentti <strong>ja</strong>komposiitit sekä intensionaalisella-, että ekstensionaalisella tasolla ilman navigointia.Tämä ominaisuus lisää huomattavasti kielen käyttäjäystävällisyyttä.Tämänkaltainen navigointi mahdollistaa myös rakenteellisesti toisistaan poikkeavienosa-kokonaisuussuhteiden käsittelyn samassa kyselyssä.Kielen täytyy lisäksi tukea osa-kokonaisuussuhteelle luonteenomaistaominaisuuksien arvojen periytymistä tavalla, joka on käyttäjälle näkymätöntä.Komposiittien kohdalla kapseloinnin onkin katsottu olevan tärkeässä asemassakäyttäjäystävällisyyden kohottamisen kannalta [Civello, 1993]. Rakenteen analyysiähelpottaa myös, jos kieli tarjoaa primitiivejä osa-kokonaisuussuhteenmuiden erikoispiirteiden tarkasteluun. Tällaisia helpotuksia on muun muassaylimmän tason oliotyypin tai olioiden etsiminen. Samoin tulee pystyä hakemaanmyös perustyyppi <strong>ja</strong> oliot. Polkuesityksen saaminen tietyltä oliotyypiltäantaa puolestaan hyvän kuvan siitä, missä kohtaa osa si<strong>ja</strong>itsee rakenteessa. Ky<strong>selykielen</strong>mallintamisratkaisun pitää mahdollistaa myös samantyyppistenkomponenttien mallintamisen samassa rakenteessa, nf 2 -mallista poiketen.4.2. Eri tasojen tarkastelu kyselykielessäPuhtaasti intensionaalisilla kyselyillä tarkoitetaan tässä tutkielmassa kyselyitä,joilla haetaan informaatiota ainoastaan intensionaalisesta tasosta. Tällöin siiskyselyn vastaukset kuuluvat intensionaaliseen tasoon. Intensionaaliset kyselytovat tärkeitä esimerkiksi tilanteissa, joissa kyseltävien kohteiden kaaviotaso onkäyttäjälle entuudestaan tuntematon. Kaikki rakenteen analysointiin liittyvätkyselyt ovat intensionaalisia. Käyttäjä saattaa olla kiinnostunut esimerkiksi kyselynkohteen välillisistä tai välittömistä komponenteista tai komposiiteista.Myös kohteen ominaisuuksien selvittäminen kuuluu intensionaalisiin kyselyihin.Käyttäjä voi intensionaalisen kyselyn avulla saada selville, mitkä ovat kyseltävänkohteen komponentit <strong>ja</strong> komponenttien attribuutit. Myös tietyntyyppiseenkomponenttiin johtavien polkujen kysely kuuluu intensionaalisiin kyselyihin.Lisäksi peruskomponenttien <strong>ja</strong> ylimmän tason komponenttien selvittä-

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

Saved successfully!

Ooh no, something went wrong!