Oodi SQL-kielelle

Tiesitkö, että SQL –kieli on maailman eniten käytetty neljännen sukupolven ohjelmointikieli? SQL on ”vain” tietokannan käsittelyyn tarkoitettu kieli, mutta sellaisena todella voimakas. Varsinaiset ohjelmointikielet, kuten vaikkapa Java ja  C  ovat kolmannen sukupolven, siis alemman tason kieliä. Neljännen sukupolven kielissä riittää,  että kerrotaan mitä halutaan, järjestelmä sitten automaattisesti päättää miten työ tehdään. Kolmannen sukupolven kielissä ohjelmoija joutuu myös kirjoittamaan miten asia hoidetaan. Yhdestä SQL-lauseesta generoituu sisäisesti suuri määrä kolmannen sukupolven kieltä.

SQL-kielellä on ikää jo yli 40 vuotta ja voisi ajatella, että se on vanhentunut tai korvautumassa jollakin uudemmalla ja paremmalla. Tosiasia kuitenkin on, että SQL on suositumpi kuin koskaan eikä mitään vaihtoehtoista kieltä ole näköpiirissäkään. Uusimmissa Big Data –alueen Hadoop –toteutuksissakin käytetään SQL-kieltä, useampienkien tahojen toimittamana. Olen testannut näitä palveluja ja SQL toimii jo hyvin Hadoopin päällä.

SQL ei myöskään ole vanhentunut, päivastoin se on uudistunut matkan varrella koko ajan. ANSI – ja ISO –standarditoimikunnat ovat lisänneet tarvittavia lisäpiirteitä. Esimerkiksi kun aikanaan ilmestyi XML-kantoja, lisättiin SQL-kieleen XML-tukea. Siihen lisättiin olio-ominaisuuksia. BI-tuotteita tukemaan on syntynyt suuri joukko analyyttisiä funktioita. SQL seuraa aikaansa.

NoSQL-tietokannattuotteet saattavat tuntua tuoreilta ja moderneilta. Ne ovatkin uudempia ja niille on omat käyttöalueensa. Mielenkiintoista kyllä, yhä useampaan NoSQL-kantaan on nykyisin saatavilla SQL-liittymä. Ei vaan ole järkeä tuhlata aikaa koodaamalla raportteja Java –lapiolla, kun voimakas SQL-kaivinkonekin on tarjolla.

SQL-kielen standardointi on onnistunut käsittämättömän hyvin. Suurin osa SQL-käskyistä toimii täysin samalla tavalla Oraclessa, SQL Serverissä, DB2:ssa ja MySQL:ssa, vain suositummat kannat mainitakseni. Toki pieniä murre-eroja on, mutta tilanne on kuitenkin kerrassaan hieno verrattuna entisiin aikoihin, jolloin jokaiseen tietokantatuotteeseen oli oma kielensä.

SQL on myös varsinainen liima eri tuotteiden välillä. Relaatiokantoihin voidaan SQL:n ansiosta valita satojen BI-, raportointi- ja analysointituotteiden joukosta sopiva tai vaihtaa tarvittaessa. Tulevaisuuden vapausasteet on siis maksimoitu ja vendor-lock minimoitu.

SQL-kieltä voi käyttää monella tavalla. Kaikissa relaatiokannoissa on kätevä SQL-käyttöliittymä, jossa voi kirjoittaa SQL-käskyjä ja saada vastaukset samantien näkyville. Tämä on siis interaktiivista käyttöä. Ohjelmoijat voivat testata SQL-käskynsä ensin näin ja sitten upottaa toimivan koodin ohjelmointikieleensä.

SQL on erittäin hyvä kieli generoitavaksi. Relaatiokannathan eivät ymmärrä muuta kieltä kuin SQL-kieltä. SQL –lauseet syntyvät useinkin jonkin toisen ohjelman generoimana. Lähes kaikki BI-välineet tarjoavat näppäriä käyttöliittymiä, joissa käyttäjä navigoi hiiren avulla. Lopulta tästä generoidaan SQL-kieltä tietokantaan päin. Esimerkkejä SQL-generaattoreista ovat MS Access, Business Objects, Cognos ja Qlikview. Exceliinkin saadaan data relaatiokannasta SQL:n avulla.

Tietovarasto- ja BI-alueella toimiville SQL on jokapäiväinen työkalu. Kaikkein vaativimmissa tietovaraston latauksissa käytetään tietovarastotietokannan päässä SQL-kielellä kannan funktioita, näin saadaan paras suorituskyky (ns. ELT –tyyppinen lataus).

Joskus tuntuu, että SQL –kieltä yritetään kaikin keinoin välttää ja että se koetaan vaikeaksi. Olen kouluttanut SQL:aa yli 25 vuotta, ja voin sanoa, että kaikki oppivat perusteet kahden päivän kurssilla. Toisaalta arvelen, että hyvin moni yllättyy SQL-kielen ilmaisuvoimasta, jos päättäisi päästä syvemmälle SELECT * FROM taulu –tasosta. Kahden päivän jatkokurssillamme oppii paljon tehokkaita käskyrakenteita, jotka säästävät runsaaasti aikaa arjen työssä ja saavat aikaan ”tuottavuushypyn”.

Panostus SQL-kielen syvällisempään oppimiseen on hyvä investointi, joka tuottaa pitkälle tulevaisuuteen, myös Big Data –ajassamme. Löydät lisätietoa SQL Syventävät päivät –kurssistamme tästä.

Jaa:

Kommentoi:

Kirjoittaja:

Ari Hovi

FM Ari Hovi toimii päätoimisesti konsulttina erikoisalueenaan Data Warehouse / Business Intelligence, käsitemallinnukset, tietoarkkitehtuurimallinnukset ja -määritykset sekä Business Intelligence / tietovarastoratkaisujen auditointi. Ari on Suomen kokeneimpia käsite- ja tiedonmallintajia (Data Modeling).

Ari on vetänyt uransa aikana yli sata käsitemallinnusworkshoppia ja ollut osallisena yli kuudessakymmenessä tietovarastohankkeessa. Tyypillisiä konsultointihankkeita ovat tietovarastojen arkkitehtuuri- ja strategiaselvitykset ja tietovarastojen tietosisällön mallinnus sekä yritystason tietoarkkitehtuurien ja Master Data -mallien laadinta.

Ari on myös tietokirjailija, teoksia aiheista Tietovarastointi, Tietokannan suunnittelu ja SQL. Hänen artikkeleitaan on julkaistu mm. TIVI-lehdessä, Kauppalehdessä ja Tietoasiantuntijat -lehdessä.

 

Haluatko uusimmat uutiset ja kurssitiedot Arihovista?

Tilaa uutiskirje

Tyrehdytä tiedonjanosi!

Uutiskirjeen tilaajana saat ajankohtaista tietoa datan hyödyntämisestä, tekoälystä sekä muista ajankohtaisista aiheista tiedohallinnan maailmasta. Olemme data-alan johtava kouluttaja ja konsultti, joten saat tietoa suoraan kentältä. Saat samalla myös parhaat tarjoukset kansainvälisten huppuasiantuntijoiden valmennustilaisuuksiin.