SQL vs PL SQL
SQL (Structured Query Language) je standardni jezik za pisanje ulaznih relacionih baza podataka. SQL su jednostavne izjave, koje omogućavaju preuzimanje, umetanje, brisanje, ažuriranje zapisa prema potrebama korisnika. Jednostavno, to je jezik orijentiran na podatke za odabir i manipulaciju skupom podataka. PL SQL (Procedural Language/Structured Query Language) je proceduralni jezik proširenja za unos podataka i manipulaciju od strane Oraclea.
“PL/SQL, Oracleova proceduralna ekstenzija SQL-a, je napredni programski jezik četvrte generacije (4GL). Nudi moderne funkcije kao što su enkapsulacija podataka, preopterećenje, vrste prikupljanja, rukovanje izuzetcima i skrivanje informacija. PL/SQL također nudi besprijekoran SQL pristup, čvrstu integraciju sa Oracle serverom i alatima, prenosivost i sigurnost.”
SQL
Structured query language (SQL) koji se izgovara kao “sequel” je kompjuterski jezik baze podataka dizajniran za upravljanje podacima u sistemima za upravljanje relacionim bazama podataka (RDBMS), a izvorno zasnovan na relacionoj algebri.
Osnovni opseg SQL-a je umetanje podataka i izvođenje ažuriranja, brisanja, kreiranja šeme, modifikacije šeme i kontrole pristupa podacima prema bazama podataka.
SQL ima elemente, podijeljene na sljedeće:
Upiti – Preuzmi podatke, na osnovu specifičnih kriterijuma. Postoji nekoliko ključnih riječi koje se mogu koristiti u upitima. (Odaberite, Od, Odakle, Imajući, Grupirajte po i naručite po)
npr.: SELECTIZ tabele1 GDJE stupac1 > stanje ORDER BY column2;
Izjave – koje mogu kontrolirati transakcije, tok programa, veze, sesije ili dijagnostiku
Izrazi – To može proizvesti bilo koje;
Skalarne vrijednosti
Tabele koje se sastoje od kolona i redova podataka
Predikati -Odredite uslove koji se mogu procijeniti na SQL Boolean (tačno/netočno/nepoznato)
Klauzule – sastavne komponente izjava i upita
PL/SQL
PL/SQL (proceduralni jezik/jezik strukturiranih upita) je jezik proceduralne ekstenzije Oracle Corporation za SQL i Oracle relacionu bazu podataka. PL/SQL podržava varijable, uslove, petlje, nizove, izuzetke. PL/SQL u suštini kontejneri koda mogu biti usklađeni sa bazama podataka Oracle. Programeri softvera stoga mogu implantirati PL/SQL jedinice funkcionalnosti direktno u bazu podataka.
PL/SQL programske jedinice se mogu definirati na sljedeći način:
Anonimni blokovi
Čini osnovu najjednostavnijeg PL/SQL koda
Funkcije
Funkcije su zbirka SQL i PL/SQL naredbi. Funkcije izvršavaju zadatak i trebaju vratiti vrijednost pozivnom okruženju.
Procedure
Procedure su slične funkcijama. Procedure se takođe mogu izvršiti za obavljanje posla. Procedure se ne mogu koristiti u SQL izrazu, mogu vratiti više vrijednosti. Osim toga, funkcije se mogu pozvati iz SQL-a, dok procedure ne mogu.
Paketi
Upotreba paketa je ponovno korištenje koda. Paketi su grupe teorijski povezanih funkcija, procedura, varijable, PL/SQL tablica i zapisa TYPE izjava, konstanti i kursora itd… Paketi obično imaju dva dijela, specifikaciju i tijelo
Dvije prednosti paketa uključuju:
Modularni pristup, inkapsulacija poslovne logike
Upotrebom paketa varijable se mogu deklarirati na nivoima sesije
Vrste varijabli u PL/SQL
Varijable
Numeričke varijable
Varijable znakova
Varijable datuma
Tipovi podataka za određene kolone
Razlika između SQL-a i PL/SQL
SQL je jezik orijentiran na podatke za odabir i manipulaciju podacima, ali PL SQL je proceduralni jezik za kreiranje aplikacija.
SQL izvršava jednu po jednu naredbu, dok se u PL SQL blok koda može izvršiti.
SQL je deklarativno gdje je PL SQL proceduralan.
SQL se koristi za pisanje upita, jezika za manipulaciju podacima (DML) i jezika definicije podataka (DDL), dok se PL SQL koristi za pisanje programskih blokova, okidača, funkcija, procedura i paketa.
Recap:
SQL je jezik strukturiranih upita. U SQL-u se koriste različiti upiti za rukovanje bazom podataka na pojednostavljen način. PL/SQL je proceduralni jezik koji sadrži različite tipove varijabli, funkcija i procedura. SQL dozvoljava programeru da izda jedan upit ili izvrši pojedinačno umetanje/ažuriranje/brisanje u isto vrijeme, dok PL/SQL dozvoljava pisanje kompletnog programa za obavljanje nekoliko odabira/umetanja/ažuriranja/brisanja istovremeno. SQL je jednostavan jezik orijentiran na podatke dok je PL/SQL programski jezik.