QBE (Query by Example) – määritelmä ja käyttö relaatiotietokannoissa
Query by Example (yleisesti lyhennettynä QBE) on tietokantakyselykieli relaatiotietokantoja varten. Se kehitettiin IBM:ssä 1970-luvulla (QBE:n kehitystyö liittyy muun muassa Moshé Zloofin tutkimuksiin). SQL:n kehittäminen sujui rinnakkain. QBE kehitettiin niille käyttäjille, jotka käyttävät tietokantoja vain satunnaisesti ja jotka eivät halua opetella SQL:n kaltaista monimutkaista kieltä.
Miten QBE toimii
Esimerkkipohjainen käyttöliittymä esittää käyttäjälle tietokannan visuaalisen skeeman tai kyselyruudukon. Käyttäjä "täyttää" tai muokkaa tätä näkymää erityisellä editorilla – esimerkiksi valitsee taulukoita, sarakkeita ja antaa esimerkkiarvoja tai ehtoja. Kun käyttäjä on valmis, taustalla toimiva jäsentäjä muuntaa käyttäjän toiminnot muodolliseksi kyselyksi (yleensä SQL:ksi), joka sitten lähetetään tietokantamoottorille suoritettavaksi.
Esimerkki käytöstä
Yksinkertaistetusti: jos haluat hakea asiakkaat kaupungista Helsinki, käyttäjä valitsee taulun Customers, asettaa sarakkeeseen City arvon "Helsinki" ja suorittaa kyselyn ilman, että kirjoittaa SQL-lauseketta. Monissa QBE-työkaluissa liittyvien taulukoiden kentät vedetään samaan ruudukkoon ja linkitetään visuaalisesti, jolloin liittymät (JOIN) muodostetaan automaattisesti.
Etuja ja rajoituksia
- Helppous: QBE on suunniteltu vähentämään kielen syntaksin opettelun tarvetta ja tekemään peruskyselyistä nopeampia satunnaiskäyttäjälle.
- Tuottavuus: Visuaalinen valinta (klikkaus, pudotusvalikko) vähentää kirjoitusvirheitä ja nopeuttaa kyselyn rakentamista.
- Integrointi: Koska QBE yleensä käännetään SQL:ksi, kyselyiden suoritus hyödyntää olemassa olevia optimointeja ja indeksejä.
- Rajoitettu ilmaisuvoima: Erittäin monimutkaiset kyselyt (syvät alikyselyt, edistyneet aggregaatiot tai tiettyjen optimointien vaatimat kirjoitetut lauseet) voivat olla hankalia tai mahdottomia toteuttaa pelkällä QBE-rajapinnalla.
- Riippuvuus työkalusta: QBE-ominaisuudet vaihtelevat tuotteittain; eri järjestelmien QBE-editorit tukevat eri laajuista toiminnallisuutta.
QBE ja tiedonhaku
Tiedonhaun yhteydessä QBE:llä on hieman erilainen merkitys. Käyttäjä voi lähettää esimerkkiasiakirjan ja pyytää järjestelmää löytämään "samankaltaisia" asiakirjoja asiakirjatietokannasta. Tällöin samankaltaisuushaku perustuu usein dokumenttivektoreiden vertailuun (ks. Tiedonhaun ja Vektoriavaruusmalli -periaatteet).
Missä QBE:tä käytetään tänään
Nykyään monissa tietokantajärjestelmissä ja raportointityökaluissa on QBE:tä muistuttavat etupäätteet tai visuaaliset kyselyrakentajat. Esimerkiksi monet työpöytä- ja BI-työkalut tarjoavat ruudukko- tai kaaviorajapinnan, jolla voi rakentaa kyselyjä ilman suoraa SQL-tiedon kirjoittamista. Samoin useissa oppimisympäristöissä ja pienissä sovelluksissa QBE-tyyppinen käyttöliittymä helpottaa käyttäjien pääsyä tietoihin.
Yhteenveto
QBE on käytännöllinen vaihtoehto silloin, kun tavoitteena on helpottaa tietokantakyselyjen tekemistä visuaalisesti ja pienentää riippuvuutta syntaksin tuntemisesta. Se ei korvaa kalliimpia ja monipuolisempia kyselykieliä kaikissa tilanteissa, mutta parantaa saavutettavuutta ja nopeuttaa peruskyselyiden laatimista erityisesti satunnaiskäyttäjille ja liiketoiminnan analyytikoille.
Kysymyksiä ja vastauksia
K: Mikä on Query by Example?
V: Query by Example (QBE) on tietokantakyselykieli relaatiotietokantoja varten.
K: Milloin QBE kehitettiin?
V: QBE kehitettiin IBM:ssä 1970-luvulla.
K: Miksi QBE kehitettiin?
V: QBE kehitettiin käyttäjille, jotka käyttävät tietokantoja vain satunnaisesti eivätkä halua opetella SQL:n kaltaista monimutkaista kieltä.
K: Miten QBE toimii?
V: QBE esittää käyttäjille tietokannan visuaalisen skeeman, jota he muokkaavat erityisellä editorilla. Tämän jälkeen jäsentäjä kääntää heidän toimintansa SQL:n kaltaisella tavallisella kyselykielellä tehdyksi kyselyksi, joka suoritetaan kulissien takana.
K: Miten QBE parantaa tuottavuutta?
V: QBE:n avulla käyttäjät voivat valita taulukoita ja sarakkeita nopeammin esimerkiksi klikkaamalla niitä sen sijaan, että kirjoittaisivat niiden nimet.
K: Mikä on QBE:n merkitys tiedonhaussa?
V: Tiedonhaun yhteydessä QBE:n avulla käyttäjät voivat lähettää asiakirjan ja pyytää, että asiakirjatietokannasta haetaan samankaltaisia asiakirjoja käyttämällä asiakirjavektoreiden vertailuun perustuvaa samankaltaisuushakua.
Kysymys: Missä tietokantajärjestelmissä on nykyään QBE:tä muistuttavia käyttöliittymiä?
V: Nykyään monissa tietokantajärjestelmissä on QBE:tä muistuttavia käyttöliittymiä.