Data on kokoelma käsittelemättömiä faktatietoja tai tilastoja missä tahansa muodossa verkon kautta. Tietojen käsittely muuttaa sen tiedot josta on silloin merkittävää hyötyä. Aiheeseen liittyvät tiedot on järjestetty tietokannat (sekä laitteiston että ohjelmiston) helppoa hallintaa varten. DBMS(Database Management System) on ohjelmisto, jonka avulla käyttäjä voi luoda ja käsitellä tietokantoja.
SQL vs HQL
Ero SQL:n ja HQL:n välillä on se, että SQL toimii suoraan tietokantoissa kyselyjen kautta, kun taas HQL toimii objekteissa ja niiden ominaisuuksissa, jotka sitten käännetään tavanomaisiksi kyselyiksi tietokantojen suorittamiseksi.
Käytämme tietojen pyytämiseen ja poimimiseen tietokannasta lähettämällä kyselyitä QL (Kyselyn kieli). SQL (Strukturoitu kyselykieli) ja HQL (Hibernate Query Language) -toimintoa käytetään tietojen hakemiseen RDBMS (Relational DBMS), joka tallentaa tiedot taulukkomuodossa.
Jokapäiväisessä elämässämme kyselykielillä on keskeinen rooli erilaisten käyttöliittymien, kuten pankkiautomaatin, web-sivujen, online-tilausten käsittelyn, kirjanpidon, vakuutuskirjanpidon jne., perustana.
Vertailutaulukko SQL:n ja HQL:n välillä
Vertailuparametri | SQL | HQL |
Täysi muoto | Tulee sanoista Structured Query Language | Tulee sanoista Hibernate Query Language |
Ohjelmointikielen tyyppi | Perinteinen kyselykieli | JAVA-pohjainen OOP-kyselykieli |
Huoli | Se liittyy kahden taulukon tai sarakkeen väliseen suhteeseen | Se koskee kahta kahden objektin välistä suhdetta |
Käyttäjäystävällisyys | Tarjoaa monimutkaisen käyttöliittymän uusille käyttäjille | Tarjoaa käyttäjäystävällisen käyttöliittymän |
ominaisuudet | Käyttää taulukoita ja sarakkeita | Käyttää JAVA-luokkia ja muuttujia |
Vuorovaikutus tietokannan kanssa | On suoraan vuorovaikutuksessa tietokannan kanssa | Käyttää 'Hibernate'-käyttöliittymää vuorovaikutukseen tietokannan kanssa |
Nopeus | Natiivi SQL on yleensä nopeampi | Ei-natiivi HQL on yleensä hitaampi, koska sen suoritusaika perustuu kartoitukseen, mutta sen nopeutta voidaan lisätä asettamalla kyselysuunnitelman oikea välimuistin koko |
Mikä on SQL?
SQL, josta käytetään usein nimitystä "sequel" tai "S.Q.L", on tietokantakyselykieli, jota käytetään käsittelemään tietoja RDBMS-järjestelmistä. SQL ei ole OOP (Object-oriented ohjelmointikieli), vaan se luo suoraan kyselyitä ja lähettää pyyntöjä tietojen hakemiseksi RDBM:istä. Se toimii taulukoissa ja sarakkeissa, joihin tiedot on tallennettu, ja käsittelee kaikki toiminnot RDBMS:issä.
Sitä käytetään tavallisena tietokantakyselykielenä lähes kaikissa RDBMS:issä, kuten MySql, Oracle, MsAccess jne. Relaatiotietokantojen kanssa vuorovaikutuksessa käytettävät vakio-SQL-komennot ovat SELECT, CREATE, DELETE, INSERT, UPDATE ja DROP.
Toisin kuin muita ohjelmointikieliä, SQL:ää ei voida käyttää itsenäisten ohjelmien kehittämiseen, ja sitä voidaan käyttää vain RDBMS:issä. Se on deklaratiivinen kieli, eli se kertoo tietokannalle mitä on tehtävä ja antaa RDBMS:n päättää toteutuksen yksityiskohdista (miten se on tehtävä)
Sen etuna on, että käyttäjän ei tarvitse kirjoittaa huomattavaa määrää koodeja, vaan käyttäjällä on vain osittainen hallinta tietokannoista johtuen piilotetuista liiketoimintasäännöistä, ja sillä on myös melko monimutkainen käyttöliittymä.
Mikä on HQL?
HQL tai Hibernate Query Language on oliopohjainen kyselyohjelmointikieli, joka on kirjoitettu JAVA-koodiin upotettuna ja joka käyttää erilaisia JAVA-kirjaston alaisia toimintoja muuntaakseen entiteettikoodit perinteisiksi kyselykoodeiksi, jotka voivat olla vuorovaikutuksessa tietokantojen kanssa.
Tämän muunnostoiminnon suorittaa JAVA-kehys nimeltä "Hibernate", josta HQL on saanut nimensä. Lepotilan tarkoitus on kuluttaa tietty aika lepotilassa/inaktiivisessa tilassa. Samoin "lepotila"-ominaisuus pysyy aktiivisena vain sovelluksen takana.
Se on ORM- (Object Relational Mapping) -pohjainen kehys, joka siirtää tietoja sovelluksen ja relaatiotietokannan välillä objektien muodossa. HQL toimii luokkien ja niiden ominaisuuksien kanssa, jotka lopulta kartoitetaan vastaavan tietokannan taulukkorakenteeseen.
HQL on erittäin hyödyllinen, jos ohjelmoija osaa OOP-kielen ja haluaa olla vuorovaikutuksessa tietokantojen kanssa, jolloin hän voi tehdä sen ilman perinteistä SQL-kyselykieltä.
Huolimatta siitä, että HQL on erittäin käyttäjäystävällinen, se on yleensä hitaampi kuin SQL, koska sen ajonaika perustuu kartoitukseen. Se ei myöskään sovellu pieniin projekteihin, joissa on vähemmän taulukoita, koska koko lepotilakehyksen käyttöönotto on vaikeaa.
Tärkeimmät erot SQL:n ja HQL:n välillä
Johtopäätös
SQL:n ja HQL:n tai pikemminkin minkä tahansa kyselykielen päätarkoitus on antaa käyttäjälle mahdollisuus poimia tietoja tietokannoista ja tietojärjestelmistä.
SQL eroaa muista ohjelmointikielistä siinä mielessä, että se toimii vain tietokannan hallintajärjestelmän sisällä eikä voi luoda itsenäisiä ohjelmia, kun taas HQL:n tapauksessa näin ei ole.
Käyttäjän, joka on uusi QL:ssä ja haluaa olla vuorovaikutuksessa RDBMS:ien kanssa ja päästä käsiksi alkuperäiseen kyselykieleen, on mieluiten valittava SQL, koska se on perinteinen ja nopea. Toisaalta käyttäjän, jolla on koodaustausta OOP-kielellä, on valittava HQL, koska sillä on käyttäjäystävällisempi käyttöliittymä OOP-ominaisuuksilla.
Viitteet
- https://books.google.co.in/books?hl=fi&lr=&id=HblnED6bKUgC&oi=fnd&pg=PR25&dq=sql+tutorial+informix+guide&ots=scXEV5CJcB&sig=6QyVATrORJKnQ2Fo0ff&b
- https://books.google.co.in/books?id=n8kFAwAAQBAJ&pg=PA2&dq=hql+tutorial&hl=fi&newbks=1&newbks_redir=1&sa=X&ved=2ahUKEwjUlfbE0tfsAhX6wzgGHepAwAhffal=0