selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
11. JohdantoOsa-kokonaisuussuhde (part-of-, part-whole-, whole-part -relationship) on tärkeäkäsitteellinen mallintamisrakenne tietokantojen yhteydessä. Sitä käytetäänrakenteellisen informaation, kuten esimerkiksi rakenteellisesti monimutkaistenolioiden mallintamiseen. Tällaisen mallintamisen avulla voidaan kuvata monenlaisiaabstrakte<strong>ja</strong> tai konkreettisia asioita. Osa-kokonaisuussuhteen mallintamista<strong>ja</strong> käytetään monilla sovellusalueilla, maantieteellisissä informaatiosysteemeissä(GIS) [Price et al., 2000], dokumenttien hallinnassa [Lambrix, 2000],lääketieteellisissä sovelluksissa [Hanh et al., 1999] <strong>ja</strong> tekoälyn sovelluksissa[Lambrix, 2000]. Kokonaisuuksia voidaan käyttää myös tietokannoissa lukituksen,tiedonvarastoinnin, tietokantahaun <strong>ja</strong> versioinnin yksikkönä. [Kim et al.,1987a; Kim et al., 1987b].Osa-kokonaisuussuhteet perustuvat kahteen keskeiseen käsitteeseen, komposiittiin<strong>ja</strong> komponenttiin. Komposiitti tarkoittaa kokonaisuutta, joka muodostuukomponenteista. Komponentti on puolestaan osa jotain komposiittia.[Wand et al., 1999] Komponentti <strong>ja</strong> komposiitti ovat keskinäisessä vuorovaikutuksessamonella tavalla. Komposiitilla on usein ominaisuuksia, jotka perustuvatsen osien ominaisuuksiin tai esimerkiksi sen kaikkien osien yhteisvaikutukseen.Lisäksi komponentilla saattaa olla ominaisuuksia, jotka riippuvat senkomposiitin ominaisuuksista. Komposiitin <strong>ja</strong> komponentin olemassaolo voimyös riippua toistensa olemassaolosta.Osa-kokonaisuussuhde ei välttämättä rajoitu pelkästään välittömiin komponentteihintai komposiitteihin. Rakenteellisesti monimutkaisilla objekteillasaattaa olla myös välillisiä komponentte<strong>ja</strong>. Välillistä komponenttia voidaan havainnollistaaseuraavalla esimerkillä. Oletetaan, että kompositiolla A on komponenttinaB. B:llä on edelleen komponenttina C <strong>ja</strong> C:llä komponenttina D. TällöinA:n välitön komponentti on B <strong>ja</strong> sen välillisiä komponentte<strong>ja</strong> ovat C <strong>ja</strong> D.Sekä välittömät, että välilliset komponentit tulkitaan usein kokonaisuudenkomponenteiksi. Myös välilliset komposiitit tulkitaan samalla tavalla, muttakäänteisesti. Tällaisia välillisiä suhteita sanotaan myös transitiivisiksi suhteiksi.Reittiä komposiitista komponenttiin tai päinvastoin kutsutaan poluksi.Tietokannoista tieto<strong>ja</strong> haetaan kyselykielten avulla. Monesti olemassaolevillakyselykielillä osa-kokonaisuussuhteen käsittelyn ilmaiseminen on vaikeaaloppukäyttäjälle. Käsittely saattaa edellyttää rekursiivisen <strong>ja</strong> iteratiivisen a<strong>ja</strong>ttelutavansisäistämistä. Usein edellytetään myös tietoa esitystavan yksityiskohdista.Lisäksi on yleistä, että transitiivisia suhteita sisältävissä rakenteissa täytyyetsiä haluttu komponentti rakenteesta navigoimalla polkuesitystavalla. Toi-