SQL vs PL SQL
SQL (Structured Query Language) je štandardný jazyk na písanie záznamov relačných databáz. SQL sú jednoduché príkazy, ktoré umožňujú získavať, vkladať, mazať, aktualizovať záznamy podľa potrieb užívateľa. Jednoducho je to dátovo orientovaný jazyk na výber a manipuláciu s množinou dát. PL SQL (Procedural Language/Structured Query Language) je procedurálny rozširujúci jazyk pre zadávanie údajov a manipuláciu od spoločnosti Oracle.
“PL/SQL, procedurálne rozšírenie SQL od Oracle, je pokročilý programovací jazyk štvrtej generácie (4GL). Ponúka moderné funkcie, ako je zapuzdrenie dát, preťaženie, typy kolekcií, spracovanie výnimiek a skrytie informácií. PL/SQL tiež ponúka bezproblémový prístup k SQL, úzku integráciu so serverom a nástrojmi Oracle, prenosnosť a bezpečnosť.“
SQL
Structured query language (SQL) vyslovovaný ako „pokračovanie“je databázový počítačový jazyk určený na správu údajov v systémoch správy relačných databáz (RDBMS) a pôvodne založený na relačnej algebre.
Základný rozsah SQL je vkladať dáta a vykonávať aktualizáciu, mazanie, vytváranie schém, modifikáciu schém a riadenie prístupu k dátam voči databázam.
SQL má prvky rozdelené do nasledujúcich častí:
Queries – získavanie údajov na základe špecifických kritérií. Existuje niekoľko kľúčových slov, ktoré možno použiť v dopytoch. (Vybrať, Odkiaľ, Odkiaľ, S, Zoskupiť podľa a objednať podľa)
napr.: SELECTFROM table1 WHERE column1 > podmienka ORDER BY column2;
Výpisy – ktoré môžu riadiť transakcie, tok programu, pripojenia, relácie alebo diagnostiku
Výrazy – môžu produkovať oboje;
Skalárne hodnoty
Tabuľky pozostávajúce zo stĺpcov a riadkov údajov
Predikáty – Zadajte podmienky, ktoré možno vyhodnotiť ako boolovské hodnoty SQL (pravda/nepravda/neznáme)
Vety – základné prvky výkazov a dotazov
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) je procedurálny rozširujúci jazyk Oracle Corporation pre SQL a relačné databázy Oracle. PL/SQL podporuje premenné, podmienky, cykly, polia, výnimky. PL/SQL v podstate kontajnery kódu môžu byť v súlade s databázami Oracle. Vývojári softvéru preto môžu priamo do databázy implantovať funkčné jednotky PL/SQL.
Programové jednotky PL/SQL možno definovať takto:
Anonymné bloky
Tvorí základ najjednoduchšieho PL/SQL kódu
Funkcie
Funkcie sú kolekciou príkazov SQL a PL/SQL. Funkcie vykonávajú úlohu a mali by vrátiť hodnotu do volajúceho prostredia.
Postupy
Postupy sú podobné ako pri funkciách. Na vykonanie práce je možné vykonať aj postupy. Procedúry nemožno použiť v príkaze SQL, môžu vrátiť viacero hodnôt. Okrem toho funkcie možno volať z SQL, zatiaľ čo procedúry nie.
Packages
Použitie balíkov znamená opätovné použitie kódu. Balíky sú skupiny teoreticky prepojených funkcií, procedúr, premenných, príkazov PL/SQL tabuľky a záznamu TYPE, konštanty a kurzory atď… Balíky majú zvyčajne dve časti, špecifikáciu a telo
Dve výhody balíkov zahŕňajú:
Modulárny prístup, zapuzdrenie obchodnej logiky
Používanie balíkov, ktoré môžu premenné deklarovať na úrovniach relácie
Typy premenných v PL/SQL
Premenné
Číselné premenné
Premenné znakov
Premenné dátumu
Typy údajov pre konkrétne stĺpce
Rozdiel medzi SQL a PL/SQL
SQL je dátovo orientovaný jazyk na výber a manipuláciu s údajmi, ale PL SQL je procedurálny jazyk na vytváranie aplikácií.
SQL vykonáva jeden príkaz naraz, zatiaľ čo v PL je možné vykonať blok kódu SQL.
SQL je deklaratívne, kde ako PL je SQL procedurálny.
SQL sa používa na písanie dotazov, jazyka na manipuláciu s údajmi (DML) a jazyka na definíciu údajov (DDL), zatiaľ čo PL SQL sa používa na písanie programových blokov, spúšťačov, funkcií, procedúr a balíkov.
Rekapitulácia:
SQL je štruktúrovaný dopytovací jazyk. V SQL sa na zjednodušené spracovanie databázy používajú rôzne dotazy. PL/SQL je procedurálny jazyk, ktorý obsahuje rôzne typy premenných, funkcií a procedúr. SQL umožňuje vývojárom zadať jeden dotaz alebo vykonať jedno vloženie/aktualizáciu/vymazanie naraz, zatiaľ čo PL/SQL umožňuje napísať kompletný program, aby bolo možné vykonať niekoľko výberov/vložení/aktualizácií/odstránení naraz. SQL je jednoduchý dátovo orientovaný jazyk, zatiaľ čo programovací jazyk PL/SQL.