Kyselyt

Avoin toiminta

Kysymyksiä voi esittää monella eri tavalla, mutta kyselyt ovat ennen kaikkea tietotekniikkaan liittyvä termi. Niiden avulla voidaan etsiä tietoa tai jopa laittaa tekoäly töihin esimerkiksi kirjoittamaan tekstiä, luomaan kuvia tai vastaamaan sinua askarruttaviin asioihin. Tästä artikkelista selviää, mihin kaikkeen kyselyitä voi käyttää ja miten.

Mitä kyselyt tarkoittavat?

Kaikessa yksinkertaisuudessaan kyselyt on termi, jolla viitataan tietopyyntöihin. Nämä tietopyynnöt esitetään esimerkiksi nettiselaimelle tai tietokoneelle, minkä jälkeen siihen esitetään vastaus, joka on peräisin joko tietokantataulukosta tai taulukkojen yhdistelmästä. Nämä tiedot voidaan tuottaa SQL (Structured Query Language) palauttamina tuloksina, kuvina, kaavioina tai monimutkaisina tuloksina, kuten esimerkiksi trendianalyysinä, joka on peräisin tiedonlouhintatyökaluista.

Kyselyiden esittäminen ja vastausten saaminen teknologialta vaatii tietynlaisen koodikielen käyttämistä, jota tarvittava laite ymmärtää. Yhtä useista eri kyselykielistä voidaan käyttää useiden yksinkertaisten ja monimutkaisten tietokantakyselyjen suorittamiseen. Edellä mainittu SQL, joka on tunnetuin ja laajimmin käytetty kyselykieli, on tuttu useimmille tietokannan ylläpitäjille (DBA).

Techopedia selittää mitä ovat kyselyt

Jotta esimerkiksi tietokone alun perin ymmärtäisi sille esitetyt kyselyt, eli tietopyynnöt, kysely on kirjoitettava kyseisen koneen kyselykielenä tunteman koodin mukaan. Tietokone toimii tässä mielessä täysin samalla tavalla, kuin ihminen: esimerkiksi, jos menet pankkiin ja kysyt “Saanko espresson?” pankkivirkailija luultavasti katsoo sinua hyvin ymmällään.

Edellä esitelty kyselykieli, SQL, edustaa yhtä tietokannan hallintaan käytetyistä vakiokielistä. Sen lisäksi on olemassa myös MySQL, joka on sen sijaan ohjelmisto, joka käyttää kyseistä kieltä. Vaikka SQL on melko yleinen kyselykieli, muitakin yleisesti käytettyjä kieliä löytyy runsain mitoin. Joitain esimerkkejä näistä ovat DMX, Datalog ja AQL.

Kyselytietokantaominaisuus on yhtä tärkeä kuin tietojen tallennusominaisuus. Niinpä useita kyselykieliä on kehitetty eri tietokantakoneisiin ja -tarkoituksiin, mutta SQL on ylivoimaisesti se yleisin ja tunnetuin. Itse asiassa vasta aloittelevat tietokannan ylläpitäjät ovat usein yllättyneitä, kun he saavat tietää muiden kyselykielten olemassaolosta.

Kyselykielet luovat erilaisia tietotyyppejä sen mukaan, mitä niiden toiminnot ovat. Esimerkiksi SQL palauttaa tiedot siisteinä riveinä ja sarakkeina ja on ulkonäöltään hyvin samanlainen kuin kaikkien tuntema Microsoft Excel.

Muut kyselykielet taas luovat dataa kaavioina tai muina monimutkaisina datamanipulaatioina. Tästä hyvä esimerkki on tiedon louhinta, joka on tiedon syvällinen analyysi, joka paljastaa aiemmin tuntemattomia trendejä ja suhteita erillisten tai erilaisten tietojen välillä. Esimerkiksi SQL-tuotantoyrityksen kyselyt voivat paljastaa, että kuukausittainen myyntihuippu on kesä- ja heinäkuussa, tai että naispuoliset myyntiedustajat ovat jatkuvasti parempia kuin miespuoliset kollegansa lomakuukausina.

Tietokannasta voidaan tehdä kyselyitä kenen tahansa toimesta, jopa vähemmän kokeneiden käyttäjien toimesta, joita ei ole koulutettu käyttämään tiettyä kyselykieltä. Samaan aikaan tietyllä kyselykielellä kirjoitetun ennalta määritetyn kyselyn käyttäminen pyynnön tekemiseen ei ole ainoa tapa pyytää tietoja tietokannasta.

Käyttäjä voi valita käytettävissä olevat parametrit oletusvalikosta, joka ohjaa häntä haun läpi. Tämä on yksinkertainen, mutta vähemmän joustava menetelmä hakea tietoa tietokannasta. Järjestelmä voi myös tarjota käyttäjälle oletustietueen, jossa muutama tyhjä alue voidaan täyttää kyselyn määrittävillä kentillä ja arvoilla. Tätä menetelmää kutsutaan “esimerkkikyselyksi” (QBE).

Strukturoitu kyselykieli

SQL on jo pitkään pitänyt paikkansa sinä suosituimpana valintana, kun tietokannan käyttäjät etsivät tietoa. Se, miksi kyselyt on helpointa tehdä sen kautta edelleen, johtuu sen helppokäyttöisyydestä ja erittäin tehokkaasta tavasta, jolla se suorittaa kyselyitä, käsittelee niitä, kokoaa tietoja ja suorittaa monia muita toimintoja muuttaakseen massiiviset strukturoidun datan kokoelmat käyttökelpoiseksi tiedoksi.

Tästä syystä se on sisällytetty oletuksena lukuisiin kaupallisiin tietokantatuotteisiin, kuten MySQL, Oracle, Sybase, SQL Server, Postgres ja monet muut. Itse asiassa monia ei-relaatiotietokantoja, kuten MongoDB ja DynamoBD, kutsutaan NoSQL-tuotteiksi, koska niissä ei ole SQL-ohjelmointia.

Vaikka SQL:n eri iteraatiot voivat käyttää eri syntaksia avaintoimintoihin, ne peruskomennot, kuten valitse, lisää, päivitä ja luo, ovat yleisiä kaikille SQL-julkaisuille. Tämän ansiosta SQL:n perustiedot tuntevan henkilön on erittäin helppoa työskennellä monissa eri ympäristöissä ja suorittaa monenlaisia tehtäviä.

Kyselyt: Neljä SQL-komentoluokkaa

Kuten aiemmin mainitsimme, kyselyt voidaan tehdä useilla erilaisilla kyselykielillä. Vaikka SQL on se suosituin kyselykieli, sen rinnalla on myös muita paljon käytettyjä kyselykieliä. Tässä niistä kaikkein tunnetuimmat:

  • Data Definition Language (DDL): Data Definition Language sisältää käskyt, kuten CREATE (luo), ALTER (muuta) ja DROP (poista), ja tätä kyselykieltä käytetään ennen kaikkea taulukoiden, näkymien, objektien ja muiden datakokoelmien luomiseen.
  • Data Manipulation Language (DML): Data Manipulation Language taas sisältää kyselyt VALITSE, LISÄÄ, PÄIVITYS ja POISTA, ja niitä käytetään tietue taulukoissa.
  • Data Control Language (DCL): Data Control Language kyselykieli sisältää käskyt, kuten SUORITA ja/tai PERUUTA, ja niitä voidaan käyttää käyttäjäoikeuksien määrittelemiseen jne.
  • Tietokannan indeksointi: Tietokannan indeksointi sisältää kyselyt CREATE INDEX- ja DROP INDEX. Ne ovat käskyjä, joita käytetään indeksien luomiseen ja poistamiseen taulukoissa.

Kyselyanalyysi

Kyselyanalyysi on prosessi, jota käytetään tietokannoissa, jotka käyttävät SQL:ää määrittääkseen, kuinka kyselyt voidaan optimoida vielä eteenpäin parhaan suorituskyvyn kannalta.

Kyselyanalyysi on tärkeä osa kyselyiden käsittelyä, koska se auttaa parantamaan kyselyn käsittelyn yleistä suorituskykyä, mikä nopeuttaa monia tietokantatoimintoja ja -näkökohtia. Tätä varten kyselyn optimoija analysoi tietyn kyselylauseen ja luo sekä etä- että paikalliskäyttösuunnitelmat käytettäväksi kyselyfragmentissa kunkin suunnitelman resurssikustannusten perusteella.

Tämän jälkeen tietokanta valitsee sitten sen suunnitelman, jonka se uskoo käsittelevän kyselyn pienimmällä resurssilla.

Yleensä SQL-kyselyt luodaan sovellusten toimesta, ja niiden käyttäjät lähetetään sitten hajautettuun tietokantaan tietojen hakemiseksi lähteistä. Kyselykäskyn perusteella SQL-kääntäjä tarkastelee sitten tietolähteen käärettä ja maailmanlaajuiseen luetteloon tallennettuja tietoja auttaakseen sitä käsittelemään kyselyä.

Sen hakemia tietoja ovat tietolähde, kartoitukset, data- ja palvelinattribuutit, lempinimet, tilastot ja paljon muuta. Kyselyn analyysiä helpottava kyselyn optimoija on itse asiassa osa SQL-kääntäjäprosessia.

Kyselyn optimoijan kautta kääntäjä kehittää erilaisia suunnitelmia, vaihtoehtoisia strategioita, joita voidaan käyttää kyselyn käsittelyssä. Näitä kutsutaan pääsysuunnitelmiksi, ja ne saattavat vaatia kyselyn käsittelemistä eri elementeillä.

Nämä elementit ovat:

  1. Liittynyt palvelin
  2. Tietolähteet
  3. Sekoitus molempia

Tähän voidaan vielä lisätä relaatiotietokannat, joissa kyselyt suoritetaan pushdown-analyysin kautta. Se määrittää, mitkä toiminnot voidaan arvioida etänä kyselykäskyn ja sen tietolähteiden ominaisuuksien perusteella. Tämän analyysin tulosten perusteella kyselyn optimoija valitsee parhaan käyttösuunnitelman pienimmällä resurssilla.

Samankaltaiset termit

Margaret Rouse
Technology Specialist
Margaret Rouse
Teknologia-asiantuntija

Margaret Rouse on palkittu teknologiatoimittaja ja opettaja, joka tunnetaan hänen kyvyistään selittää vaikeitakin teknologisia konsepteja aiheesta vähemmän tietävälle finanssialan yleisölle. Viimeisen 20 vuoden ajan hänen selityksensä ovat ilmestyneet TechTargetin nettisivuille, minkä lisäksi häntä ovat siteeranneet asiantuntijana New York Times, Time Magazine, USA Today, ZDNet, PC Magazine ja Discovery Magazine. Margaretin mielestä mikään ei ole hauskempaa kuin opettaa IT-alan ja finanssialan ammattilaisille, kuinka toisen alan hyvin spesifillä kielellä puhutaan. Jos sinulla on ideoita selitettävistä termeistä tai parannuksista aikaisempiin selityksiin, lähetä sähköpostia Margaretille tai ota yhteyttä häneen LinkedInissä tai Twitterissä.