Joustavammat tietokantahaut Oraclesta SQL:llä ja PL/SQL-kielellä
SQL ja PL/SQL
Datan määrä tietokannoissa kasvaa yhä nopeammin, mutta tiedoksi se muuttuu vasta, kun se löydetään tietokannoista ja tulkitaan oikein.
Business Intelligence -välineet ovat tehneet tiedon analysoinnin hyvin helpoksi ja vaivattomaksi. Totuus on kuitenkin se, että SQL on yhä se väline, jolla tieto kaivetaan esiin. Tietovarastoista, jotka on siis suunniteltu raportointia ajatellen, tieto on melko helppoa löytää, mutta jos tieto tulee suurista tapahtumankäsittelyjärjestelmistä, tilanne on aivan toinen.
Satojen tietokantataulujen järjestelmistä juuri sen oikein tiedon löytäminen vaatii usein SQL-taituruutta ja tietokantarakenteen hyvää tuntemusta.
Molempien kohdalla on organisaatioissa suuria ongelmia ja puutteita.
Tietokannan rakenteen tuntemisen oppimiseen paras keino on mallintamisvälineiden käyttö.
SQL-taidot vuorostaan opitaan kursseilla ja ne kehittyvät käytännön työssä. Joskus ne kehittyvät jopa liian pitkälle. Liian usein näen tietokantahakuja, jotka ovat jo koodiltaankin pitkiä kuin nälkävuodet ja hauissa on alikyselyitä poikineen. Haut toimivat – ja kaikki toivovat, että ne tuottavat myös oikean tuloksen eli palauttavat oikeat tiedot.
Näin voi olla tai sitten ei. Hakua, joka koostuu joukosta alikyselyitä ja suoritetaan yhtenä komentona, on erittäin vaikeaa testata. Alikyselyjen välituloksista ei jää tietoa minnekään. Miten mahdollistaa hakutulosten oikeellisuus?
Korvaamalla pitkät alikysely-hirviöt PL/SQL-moduulilla tietokannassa.
Oracle PL/SQL-kieltä käytetään liian vähän, vaikka sen avulla tietokantahaut
voitaisiin usein saada paljon selkeämmiksi ja helpommiksi toteuttaa. Usein näkee pitkiä SQL-hakuja lukuisine alikyselyineen, joita juuri kukaan muu kuin haun kirjoittaja itse ei osaa tulkita.
Näiden hakujen testaus on myös suuri päänsärky organisaatioille. Etenkin siinä vaiheessa, kun haun koodannut henkilö vaihtaa maisemaa eli työnantajaa.
Miksi sitten kannattaisi hyväksikäyttää Oracle PL/SQL-kieltä tietokantahakujen toteuttamisessa?
1. hakujen laadun parantamiseksi: monimutkaisen haun lopputuloksen oikeellisuuden todentaminen on PL/SQL:n avulla tavattoman paljon helpompaa kuin SQL:n avulla
2. Se avaa uusia mahdollisuuksia: SQL on ”vain” relaatiokannan käsittelykieli, PL/SQL on ohjelmointikieli, joka pitää sisällään laajan työkalupakit valmiita
ohjelmapaketteja
3. Se on helppo kieli ja nopea oppia: oppiminen ei vaadi kuin pari työpäivää.
Lisätietoja saat ilmaisessa webinaarissamme Joustavammat tietokantahaut Oraclesta SQL:llä ja PL/SQL-kielellä
Katso myös koulutuksemme: Oracle 12c PL/SQL perusteet ja Oracle 12c PL/SQL -tietokantamoduulit.
Kari Aalto
Kari Aalto
—————
Kari Aalto on kokenut ja riippumaton Oracle- ja BI/DW-asiantuntija ja kouluttaja. Hänellä on 25 vuoden kokemus Oracle-teknologiasta ja 8 vuoden kokemus QlikView/QlikSense-teknologiasta.