SQL proti PL SQL
SQL (Structured Query Language) je standardni jezik za pisanje vnosnih relacijskih baz podatkov. SQL je preprosta izjava, ki omogoča pridobivanje, vstavljanje, brisanje, posodabljanje zapisov po potrebi. Preprosto je podatkovno usmerjen jezik za izbiranje in manipuliranje niza podatkov. PL SQL (Procedural Language/Structured Query Language) je proceduralni razširitveni jezik za Oraclov vnos in obdelavo podatkov.
»PL/SQL, Oraclova proceduralna razširitev SQL, je napreden programski jezik četrte generacije (4GL). Ponuja sodobne funkcije, kot so enkapsulacija podatkov, preobremenitev, vrste zbiranja, obravnavanje izjem in skrivanje informacij. PL/SQL ponuja tudi brezhiben dostop do SQL, tesno integracijo s strežnikom in orodji Oracle, prenosljivost in varnost.«
SQL
Strukturirani poizvedovalni jezik (SQL), izgovorjen kot "nadaljevanje", je računalniški jezik baze podatkov, zasnovan za upravljanje podatkov v sistemih za upravljanje relacijskih baz podatkov (RDBMS) in prvotno temelji na relacijski algebri.
Osnovni obseg SQL je vstavljanje podatkov in izvajanje posodabljanja, brisanja, ustvarjanja sheme, spreminjanja sheme in nadzora dostopa do podatkov v bazah podatkov.
SQL ima elemente, ki so razdeljeni na naslednje:
Poizvedbe – Pridobite podatke na podlagi posebnih meril. Obstaja nekaj ključnih besed, ki jih je mogoče uporabiti v poizvedbah. (Izberi, Od, Kje, Imeti, Združi po in razvrsti po)
npr.: IZBERIIZ tabele1 WHERE stolpec1 > pogoj ORDER BY stolpec2;
Izjave – ki lahko nadzorujejo transakcije, potek programa, povezave, seje ali diagnostiko
Izrazi – ki lahko ustvarijo bodisi;
Skalarne vrednosti
Tabele, sestavljene iz stolpcev in vrstic s podatki
Predikati -Določite pogoje, ki jih je mogoče ovrednotiti v SQL Boolean (true/false/unknown)
Stavki – Sestavni deli izjav in poizvedb
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) je jezik postopkovne razširitve družbe Oracle Corporation za SQL in relacijsko bazo podatkov Oracle. PL/SQL podpira spremenljivke, pogoje, zanke, nize, izjeme. PL/SQL v bistvu vsebnike kode je mogoče vključiti v baze podatkov Oracle. Razvijalci programske opreme lahko tako vsadijo enote funkcionalnosti PL/SQL neposredno v bazo podatkov.
Programske enote PL/SQL lahko definirate na naslednji način:
Anonimni bloki
Tvori osnovo najpreprostejše kode PL/SQL
Funkcije
Funkcije so zbirka stavkov SQL in PL/SQL. Funkcije izvajajo nalogo in morajo klicnemu okolju vrniti vrednost.
Postopki
Postopki so podobni funkcijam. Postopke je mogoče izvesti tudi za opravljanje dela. Postopkov ni mogoče uporabiti v stavku SQL, vrnejo lahko več vrednosti. Poleg tega lahko funkcije kličete iz SQL, medtem ko postopkov ne morete.
Paketi
Uporaba paketov je ponovna uporaba kode. Paketi so skupine teoretično povezanih funkcij, postopkov, spremenljivk, tabele PL/SQL in stavkov TYPE zapisov, konstant in kazalcev itd. Paketi imajo običajno dva dela, specifikacijo in telo
Dve prednosti paketov vključujeta:
Modularni pristop, inkapsulacija poslovne logike
Uporaba spremenljivk paketov, ki jih je mogoče deklarirati v ravneh seje
Vrste spremenljivk v PL/SQL
Spremenljivke
Številske spremenljivke
Spremenljivke znakov
Datumske spremenljivke
Vrste podatkov za določene stolpce
Razlika med SQL in PL/SQL
SQL je podatkovno usmerjen jezik za izbiranje in upravljanje podatkov, PL SQL pa je proceduralni jezik za ustvarjanje aplikacij.
SQL izvaja en stavek naenkrat, medtem ko je v PL SQL mogoče izvesti blok kode.
SQL je deklarativen, medtem ko je PL SQL proceduralen.
SQL se uporablja za pisanje poizvedb, jezika za obdelavo podatkov (DML) in jezika za definiranje podatkov (DDL), medtem ko se PL SQL uporablja za pisanje programskih blokov, sprožilcev, funkcij, postopkov in paketov.
Povzetek:
SQL je strukturiran jezik poizvedb. V SQL se različne poizvedbe uporabljajo za poenostavljeno obdelavo baze podatkov. PL/SQL je proceduralni jezik, ki vsebuje različne vrste spremenljivk, funkcij in postopkov. SQL omogoča razvijalcu, da izda posamezno poizvedbo ali izvede eno samo vstavljanje/posodobitev/brisanje naenkrat, medtem ko PL/SQL omogoča pisanje celotnega programa za izvedbo več izbir/vstavljanj/posodobitev/brisanja hkrati. SQL je preprost podatkovno usmerjen jezik, medtem ko je PL/SQL programski jezik.