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.

29siten, että eri hyttityypit on <strong>ja</strong>oteltu erikseen <strong>ja</strong> tyyppejä vastaavat määrätovat tyyppien vieressä. Kahdessa viimeisessä kyselyssä saadaan arvo<strong>ja</strong> vastaukseksi.Kummassakin tapauksessa arvot on kuitenkin tuotettu intensionaaliseentietoon perustuen.4.4. Esimerkkejä ekstensionaalisista kyselyistäMonesti riittää tieto pelkästään kohdealueen ekstensionaaliseen tasoon liittyvistäseikoista. Esimerkiksi venekauppias saattaa tarvita tiedot kaikista veneensohvaverhoilukankaan mahdollisista väreistä, joita kyselyn a<strong>ja</strong>nkohtana on saatavilla.Pyöräkauppias voi puolestaan haluta tietokannastaan tulostettavaksikaikkien saatavilla olevien renkaiden koot. On hyvä huomata, että vaikkakauppias on edellä kiinnostunut pelkästään ekstensionaalisesta tasosta, hänentäytyy määritellä kyselytyyppi intensionaalisten käsitteiden avulla. Käsitteetovat joko tyyppejä tai tyyppien ominaisuuksia. Jotta voisimme esimerkiksi saadaky<strong>selykielen</strong> avulla tulostetuksi kaikkien kannassa olevien autojen hinnat,meidän täytyy luonnollisella kielellä ilmaistuna esittää asia seuraavasti: ”Annakaikki auto-tyyppisten olioiden hinta-attribuuttien arvot”. Tällöin tyyppi auto <strong>ja</strong>siihen liittyvä attribuutti hinta täytyy olla kyselyn suoritta<strong>ja</strong>n tiedossa jo ennenkyselyn suorittamista.4.5. Esimerkkejä intensionaalis-ekstensionaalisista kyselyistäOlemassaolevat kyselykielet antavat useimmiten intensionaalisekstensionaalisiavastauksia. Ensimmäinen esimerkki tämäntyyppisestä kyselystäoli aikaisemmin esitelty SQL-kysely. Toisena esimerkkinä tarkastelen kyselyä,jossa samalla kertaa saadaan kattava kuva osa-kokonaisuusrakenteesta <strong>ja</strong>yleiskuva ekstensionaalisesta tasosta: Tietokonekauppias haluaa saada selvillekaikkien emolevyjen alikomponentit, niiden attribuutit <strong>ja</strong> attribuuttien arvot.Tällöin siis vastauksessa on sekä intensionaalista että ekstensionaalista tietoa.Kolmanneksi esimerkiksi otan analysoivan kyselyn, jossa haetaan kaikkien osakokonaisuussuhteestalöytyvien ylimpien komposiittityyppien mukaisten ilmentymienmuoviosien yhteenlaskettu paino. Tällöin vastaukseksi tulee kaikkienkokonaisuuksien nimet, jotka ovat intensionaalista tietoa <strong>ja</strong> näitä vastaavatekstensionaaliset arvot, jotka kuvaavat yhteenlasketun painon summan.4.6. Esimerkkejä yhdistetyistä kyselyistäEdellisessä kappaleessa kerrottiin intensionaalis-ekstensionaalisista kyselyistä,jotka tuottivat kummankin tason tietoa vastaukseksi. Tämän lisäksi kappaleessatoisena esimerkkinä ollut kysely oli samalla myös yhdistetty kysely. Siinäkyseltiin emolevyjen alikomponentit <strong>ja</strong> niiden attribuutit, jotka olivat siis intensionaalistatietoa. Perinteisellä SQL-kielellä toteutettuna käyttäjällä olisi kuiten-

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

Saved successfully!

Ooh no, something went wrong!