SQL vs PL SQL
SQL (Structured Query Language) je standardni jezik za pisanje ulaznih relacijskih baza podataka. SQL je jednostavna izjava, koja omogućuje dohvaćanje, umetanje, brisanje, ažuriranje zapisa prema potrebama korisnika. Jednostavno, to je jezik orijentiran prema podacima za odabir i manipuliranje skupom podataka. PL SQL (Procedural Language/Structured Query Language) je proceduralni prošireni jezik za Oracleov unos i manipulaciju podacima.
“PL/SQL, Oracleovo proceduralno proširenje SQL-a, napredni je programski jezik četvrte generacije (4GL). Nudi moderne značajke kao što su enkapsulacija podataka, preopterećenje, vrste prikupljanja, rukovanje iznimkama i skrivanje informacija. PL/SQL također nudi besprijekoran SQL pristup, usku integraciju s Oracle poslužiteljem i alatima, prenosivost i sigurnost.”
SQL
Strukturirani upitni jezik (SQL) koji se izgovara kao "nastavak" računalni je jezik baze podataka dizajniran za upravljanje podacima u sustavima upravljanja relacijskim bazama podataka (RDBMS), a izvorno se temelji na relacijskoj algebri.
Osnovni opseg SQL-a je umetanje podataka i izvođenje ažuriranja, brisanja, stvaranja sheme, izmjene sheme i kontrole pristupa podacima u bazama podataka.
SQL ima elemente, podijeljene u sljedeće:
Upiti – Dohvaćanje podataka, na temelju određenih kriterija. Postoji nekoliko ključnih riječi koje se mogu koristiti u upitima. (Odabir, Od, Gdje, Imati, Grupirati i poredati)
npr.: SELECTFROM table1 WHERE stupac1 > uvjet ORDER BY stupac2;
Izjave – koje mogu kontrolirati transakcije, tijek programa, veze, sesije ili dijagnostiku
Izrazi – koji mogu proizvesti ili;
Skalarne vrijednosti
Tablice koje se sastoje od stupaca i redaka podataka
Predikati -Navedite uvjete koji se mogu procijeniti na SQL Boolean (istinito/netočno/nepoznato)
Klauzule – Sastavne komponente izjava i upita
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) je proceduralni prošireni jezik Oracle Corporation za SQL i Oracle relacijsku bazu podataka. PL/SQL podržava varijable, uvjete, petlje, nizove, iznimke. PL/SQL u osnovi spremnici koda mogu se uskladiti s Oracle bazama podataka. Programeri softvera stoga mogu izravno ugraditi PL/SQL jedinice funkcionalnosti u bazu podataka.
PL/SQL programske jedinice mogu se definirati na sljedeći način:
Anonimni blokovi
Tvori osnovu najjednostavnijeg PL/SQL koda
Funkcije
Funkcije su zbirka SQL i PL/SQL naredbi. Funkcije izvršavaju zadatak i trebaju vratiti vrijednost pozivajućem okruženju.
Procedure
Procedure su slične funkcijama. Postupci se također mogu izvršiti za obavljanje posla. Procedure se ne mogu koristiti u SQL izjavi, mogu vratiti više vrijednosti. Osim toga, funkcije se mogu pozvati iz SQL-a, dok procedure ne mogu.
Paketi
Korištenje paketa je ponovno korištenje koda. Paketi su grupe teorijski povezanih funkcija, procedura, varijabli, PL/SQL tablica i izjava TYPE zapisa, konstanti i kursora itd… Paketi obično imaju dva dijela, specifikaciju i tijelo
Dvije prednosti paketa uključuju:
Modularni pristup, enkapsulacija poslovne logike
Upotreba varijabli paketa može se deklarirati u razinama sesije
Tipovi varijabli u PL/SQL
Varijable
Numeričke varijable
Varijable znakova
Datumske varijable
Vrste podataka za određene stupce
Razlika između SQL i PL/SQL
SQL je podatkovno orijentirani jezik za odabir i rukovanje podacima, ali PL SQL je proceduralni jezik za izradu aplikacija.
SQL izvršava jednu po jednu naredbu dok se u PL SQL blok koda može izvršiti.
SQL je deklarativan dok je PL SQL proceduralan.
SQL se koristi za pisanje upita, jezika za upravljanje podacima (DML) i jezika za definiranje podataka (DDL), dok se PL SQL koristi za pisanje programskih blokova, okidača, funkcija, procedura i paketa.
Rekapitulacija:
SQL je strukturirani upitni jezik. U SQL-u različiti upiti se koriste za rukovanje bazom podataka na pojednostavljen način. PL/SQL je proceduralni jezik koji sadrži različite vrste varijabli, funkcija i procedura. SQL omogućuje programeru izdavanje jednog upita ili izvršavanje jednog umetanja/ažuriranja/brisanja odjednom, dok PL/SQL dopušta pisanje cjelovitog programa kako bi se izvršilo nekoliko odabira/umetanja/ažuriranja/brisanja odjednom. SQL je jednostavan jezik orijentiran na podatke dok je PL/SQL programski jezik.