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.

33Osa-kokonaisuussuhteita sisältävä rakenne esitetään part-ofstructure element (lyhyesti PSE) –rakenteena, joka sisältää kompleksisen rakenteensekä ekstensionaalisen että intensionaalisen tason erikseen. Tiedot esitetääntavalla, joka mahdollistaa indeksien avulla tapahtuvan tasojen integroinnin.Yksi PSE-rakenne sisältää yhden osa-kokonaisuussuhteen kuvauksen <strong>ja</strong>sitä vastaavat ilmentymät. Komponenttitietokannalla tarkoitetaan kaikista tietokannassaolevista PSE-elementeistä muodostuvaa joukkoa.PSE-rakenne esitetään parina (Ext,N), jossa Ext on ekstensionaalinen <strong>ja</strong> Nintensionaalinen taso. Ekstensionaalinen taso on joukko, jonka alkioiden rakennemuodostetaan atomisista arvoista, olio-identiteetillä varustetuista tuplerakenteista<strong>ja</strong> joukoista. Atomisilla arvoilla ei ole rakennetta. Ne ovat jokomerkkijono<strong>ja</strong> tai luku<strong>ja</strong>. Nimiöidyllä tuplella on muoto oid, jossa x 1-x novat alkioita <strong>ja</strong> oid on tuplelle generoitu olioidentiteetti. Joukko esitetään tyyliin{x 1,x 2,…x n} missä x 1-x novat joukon alkioita. Joukko- <strong>ja</strong> tuplekonstruktorittulkitaan samoin, kuin edellä esitetyssä O 2 -oliomallissakin.Jokainen osa <strong>ja</strong> kokonaisuus on ekstensionaalisella tasolla kuvattu oliona.Niillä on täten yksikäsitteinen olioidentiteetti. Oliot esitetään tuple-rakenteenavulla. Vasemmalta oikealle mentäessä oliota esittävän tuplen alkiona on ensinattribuuttien arvot <strong>ja</strong> sitten olion mahdolliset komponentit. Jokaisella oliollapitää olla ainakin yksi attribuutti, jotta indeksointimekanismia pystytään soveltamaan.Komponentit esitetään joukon sisällä kokonaisuuden tuple-rakenteenalkioina. Joukko antaa mahdollisuuden useamman samassa roolissa olevankomponentin esittämiseen.PSE-esityksessä intensionaalinen taso esitetään binäärirelaationa, eli se sisältääjoukon järjestettyjä pare<strong>ja</strong>. Jokaisen parin ensimmäisenä elementtinä onjoko olion tyypin tai attribuutin nimi <strong>ja</strong> toisena elementtinä indeksi, joka liittyykyseiseen nimeen. Intensionaalisen tason esitystä N voidaan kutsua myös nimeämisrelaatioksi,joka kuvaa joukon indeksejä joukolle, joka muodostuu attribuuttientai olioiden tyyppien nimistä. Binäärirelaatiossa tietty indeksi liitetäänyhteen nimeen, mutta tiettyä nimeä voi vastata useita indeksejä.Havainnollistan formalismin esitystapaa Junkkarin [2001] esittämälläpolkupyöräesimerkillä. Käytän esimerkkiä myös myöhemmin ky<strong>selykielen</strong> toteutuksen,<strong>ja</strong> kyselyjen tekemisen yhteydessä. Kuva 2. esittää mallinnettavaa,tricyle-tyyppistä polkupyörää.

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

Saved successfully!

Ooh no, something went wrong!