Next: 4.3 Multidoc PRO Up: 4 Tietokantamuunnokset Previous: 4.1 Tietokantojen ja tekstidokumenttien

4.2 Tutkimusta

Tutkimustietoa relaatiotietokantojen laajentamisesta käyttämään hyväksi SGML-dokumenttien rakenteita hyväksi on artikkelissa Text/Relational Database Management Systems: Harmonizing SQL and SGML [Bla94]. Siinä on esitetty lisäyksiä relaatiotietokantojen standardoituneeseen Structured Query Language (SQL) [ISO90] -kieleen. Esityksessä on myös uusi tietotyyppi - TEXT - jolle voidaan määritellä erityinen kielioppi eli käytännössä DTD. Artikkelin mukaisesta relaatiotietokannasta voitaisiin etsiä dokumentteja tarkempien tietojen kuin pelkkien teksti- tai numerovertailujen perusteella. Tästähän oli jo aiemmin puhetta (ks. 4.1).

Edellä mainittu artikkeli on siitä mielenkiintoinen, että siinä pyritään mahdollisimman pienillä muutoksilla saamaan jo käytössä olevat standardit ja ohjelmistot tukemaan myös rakenteisten tekstien tehokasta talletusta ja käyttöä tietokannoissa. Koska tietokannoilla on jo tehokkaat hakumenetelmät, tutkijat ehdottavatkin jo olemassa olevien menetelmien mahdollisimman tehokasta hyväksikäyttöä. Käytännössä tämä tarkoittaa SGML-dokumenttien jäsentämistä ja syntyvien jäsennyspuiden muuntamista relaatioiksi.

Toisaalta voitaisiin ehkä vieläkin helpottaa siirtymistä teksti-/relaatiotietokantaan integroimalla nykyisiä tietokantoja ja tekstinkäsittelyjärjestelmiä. Kuvassa 2 on em. artikkelin kirjoittajien malli tästä ideasta [Bla94]. Käyttöliittymä tarjoaa ohjelmistoille tavan käyttää alla olevia tasoja yksityiskohtiin sekaantumatta. Jäsennin tarvitaan mm. tulkitsemaan käyttöliittymältä tulevien komentojen oikeellisuus. Optimoijaa tarvitaan valittaessa sopivat esitysmuodot komentojen toteuttamista varten tietokanta- ja tekstisysteemeissä. Tässä optimoija käyttää apuna katalogia. Yhdistäjä jakaa komennot tietokanta- ja tekstisysteemille tarpeen mukaan, ja yhdistää niiden palauttamat tiedot. SQL-agentti ja tekstiagentti ovat alla olevasta järjestelmästä riippumattomia, joiden tehtävänä on tarjota standardimuotoinen liittymä yläpuolella olevalle tasolle. Jäljellä olevat tekstipuolen kerrokset muuttavat hakukomennot tekstiohjelmalle sopivaksi.

Kuva 2: Yhdistetyn tietokannan ja tekstiohjelmiston malli

Myös uudemmat tutkimukset viittaavat siihen, että pienillä SQL-kielen laajennuksilla päästäisiin hyviin tuloksiin SGML-dokumenttien kanssa [Sen96a]. Eräs laajennus Senguptan mallissa on esimerkiksi tapa viitata SGML-dokumentin yksittäisiin elementteihin. SQL ei nykyisellään sovellu erityisen hyvin rakenteisten dokumenttien käsittelyyn ``matalan rakennepuunsa'' vuoksi: SGML-dokumentti voidaan kyllä hajottaa tauluiksi ja relaatioiksi, mutta se ei ole enää sellainen yhtenäinen kokonaisuus, joksi dokumentti yleensä mielletään. SQL on kuitenkin hyvä lähtökohta laajennukselle, koska se on jo kohtalaisen kauan käytössä ollut standardi. Lisäksi SQL-kieltä on helppo ymmärtää ja käyttää, koska se muistuttaa läheisesti englantia. SQL-kieli on hyvä myös siinä mielessä, että SQL-haut voidaan toteuttaa polynomisessa ajassa ja logaritmisessa tilassa [Sen96b].

Artikkelissa Standardizing the Querying Process with SGML Arijit Sengupta esittää, miten laajennetulle SQL-kielelle voidaan kirjoittaa DTD, jolloin tietokantahaut voidaan kirjoittaa SGML:llä [Sen96b]. Tällä on tietysti itsestään selviä hyviä puolia: helppo ymmärtää ja visualisoida, hautkin voidaan tallentaa SQL/SGML-tietokantaan ja siirrettävyys on hyvä. Sengupta vertaa SGML DTD:llä tehtyjä hakuja mm. DSSSL:n Standard Document Query Language (SDQL) -kieleen. SDQL sopii hyvin dokumenttien tyylien manipuloimiseen, mutta sen alhainen taso tekee siitä hankalasti käytettävän hakukielen. Esimerkiksi liitosoperaatioita varten joudutaan SDQL:ää käytettäessä ohjelmoimaan LISP-kielellä liitosalgoritmi.


Heikki Toivonen -- Last modified 28.1.1997 --