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.
Tietojenkäsittelytieteiden laitos<strong>Viita</strong> <strong>Samu</strong>Pro gradu -tutkielma, 74 sivuaMaaliskuu 2002TiivistelmäTutkielmassa toteutetaan osa-kokonaisuussuhteiden käsittelyyn soveltuvanky<strong>selykielen</strong> prototyyppi. Myös kielen ominaisuuksia <strong>ja</strong> sen poh<strong>ja</strong>lla olevaamallinnusmenetelmää esitellään. Suunnittelussa on kiinnitetty ensisi<strong>ja</strong>isestihuomiota ky<strong>selykielen</strong> helppokäyttöisyyteen <strong>ja</strong> osa-kokonaisuussuhteen erityispiirteidenhuomioon ottamiseen. Erityispiirteitä tukee muun muassa intensionaalistentietojen tarkastelun mahdollistaminen kyselyissä.Usein olemassaolevissa kyselykielissä osa-kokonaisuushierarkioiden käsittelyon monimutkaista <strong>ja</strong> kyselyjen ilmaisu muistuttaa ohjelmointia. Kehitetynkielen käyttäjältä ei sen si<strong>ja</strong>an vaadita ohjelmointitaito<strong>ja</strong>. Kielen deklaratiivisuudenasteen on tarkoitus olla mahdollisimman korkea. Kielen käyttäjän eitarvitse hallita rekursiota, iteraatiota, mallinsovitusta tai muita ohjelmointitekniikoita.Kielessä ei tarvitse navigoida osa-kokonaisuusrakenteessa polkuesityksellä.Osa-kokonaisuushierarkiaa ei myöskään tarvitse purkaa hierarkiaasisältämättömäksi rakenteeksi. Sekä navigointi, että hierarkiarakenteen purkuhierarkittomaksi vaativat tarkkaa tietoa intensionaalisesta-, eli kaaviotasosta.Navigointi on yleistä oliotietokannoissa. Rakenteen purkaminen hierarkittomaksion puolestaan tyypillistä nf 2 -mallille.Tutkielmassa kehiteltävä ky<strong>selykielen</strong> <strong>toteutus</strong> poh<strong>ja</strong>utuu deduktiiviseenolio-orientoituneeseen tietokantaparadigmaan. Osa-kokonaisuussuhteen mallinnusperustuu indeksointimekanismiin. Sen avulla intensionaalinen <strong>ja</strong> ekstensionaalinentaso saadaan sidottua toisiinsa kaksisuuntaisesti. Lisäksi mekanismillapystytään analysoimaan osa-kokonaisuusrakennetta monipuolisesti. Mallinnustoteutettiin Prolog++ -ohjelmointikielellä, joka tuki kielen toteuttamistahyvin.Avainsanat <strong>ja</strong> -sanonnat: osa-kokonaisuussuhde, deduktiivinen oliotietokanta,kyselykieli, indeksointimekanismi.