SQL vs HQL
Štruktúrovaný dotazovací jazyk, tiež známy ako SQL, je databázový jazyk, ktorý používa koncept správy relačných databáz na správu údajov. Správa údajov zahŕňa výber (vyberie údaje z jednej alebo viacerých tabuliek), vloží (pridá jeden alebo viac riadkov do tabuľky), aktualizáciu (zodpovednú za zmenu hodnoty jedného alebo viacerých riadkov v tabuľke), vymazanie ( zodpovedný za odstránenie jedného alebo viacerých riadkov v tabuľke) a vytvorenie schémy prostredníctvom dopytov.
HQL alebo Hibernate Query Language rozširuje koncept objektovo orientovaného programovania na existujúce SQL. Je ľahké sa ho naučiť a podobné v syntaxi ako SQL. Má funkcie, ako sú agregované funkcie a zoskupuje sa alebo sa radia podľa doložiek, ktoré často vidíte v SQL.
Niektoré vlastnosti HQL:
Predstavuje dotazy SQL vo forme objektov a ich vlastností, ktoré sú základom objektovo orientovaného programovania.
Výsledkom dotazu nie sú jednoduché dáta, ale kombinácia objektov, ktoré je možné programovo modifikovať. HQL dokonca vráti podradené objekty ako súčasť výsledku dotazu.
Obsahuje pojmy ako stránkovanie, dynamické profilovanie a kol. ktoré sú pre vývojárov SQL neznáme.
Do HQL píšete nezávislé dotazy typu databázy, ktoré sa za behu prevedú na dotazy SQL.
Implementuje všetky koncepcie OOP vrátane dedičstva.
Rozdiely medzi SQL a HQL:
SQL je založený na relačnom databázovom modeli, zatiaľ čo HQL je kombináciou objektovo orientovaného programovania s koncepciami relačných databáz.
SQL manipuluje s údajmi uloženými v tabuľkách a upravuje svoje riadky a stĺpce. HQL sa zaujíma o objekty a ich vlastnosti.
SQL sa obáva vzťahu, ktorý existuje medzi dvoma tabuľkami, zatiaľ čo HQL zvažuje vzťah medzi dvoma objektmi.
Zhrnutie:
1. HQL je podobné ako SQL a je tiež necitlivé na veľkosť písmen.
2. HQL aj SQL spúšťajú dotazy v databáze. V prípade HQL sú otázky v
forma objektov, ktoré sú preložené do dotazov SQL v cieľovej databáze.
3. SQL pracuje s tabuľkami a stĺpcami na manipulácii s údajmi v ňom uloženými.
4. HQL pracuje s triedami a ich vlastnosťami, aby sa nakoniec zmapovali do štruktúry tabuľky
v databáze.
5. HQL podporuje pojmy ako polymorfizmus, dedičnosť, asociácia atď. Je to
výkonný a ľahko naučiteľný jazyk, vďaka ktorému je objekt SQL orientovaný.
6. SQL umožňuje upravovať údaje prostredníctvom vkladania, aktualizácie a odstraňovania dotazov. Môžete pridať
tabuľky, postupy alebo zobrazenia do databázy. Povolenia na tieto pridané objekty
je možné zmeniť.