SQL pret PL SQL
SQL (strukturētā vaicājuma valoda) ir standarta valoda ievades relāciju datu bāzu rakstīšanai. SQL ir vienkārši priekšraksti, kas ļauj izgūt, ievietot, dzēst, atjaunināt ierakstus pēc lietotāja vajadzībām. Vienkārši tā ir uz datiem orientēta valoda datu kopas atlasei un manipulēšanai. PL SQL (Procedural Language/Structured Query Language) ir procesuālā paplašinājuma valoda datu ievadīšanai un Oracle manipulācijām.
“PL/SQL, Oracle SQL procesuālais paplašinājums, ir uzlabota ceturtās paaudzes programmēšanas valoda (4GL). Tā piedāvā modernas funkcijas, piemēram, datu iekapsulēšanu, pārslodzi, savākšanas veidus, izņēmumu apstrādi un informācijas slēpšanu. PL/SQL piedāvā arī nemanāmu piekļuvi SQL, ciešu integrāciju ar Oracle serveri un rīkiem, pārnesamību un drošību.”
SQL
Strukturētā vaicājuma valoda (SQL), kas izrunāta kā “sequel”, ir datu bāzes datoru valoda, kas paredzēta datu pārvaldībai relāciju datu bāzes pārvaldības sistēmās (RDBMS) un sākotnēji balstīta uz relāciju algebru.
SQL pamatdarbības joma ir datu ievietošana un atjaunināšana, dzēšana, shēmas izveide, shēmas modificēšana un datu piekļuves kontrole pret datu bāzēm.
SQL ir elementi, kas iedalīti šādi:
Vaicājumi - izgūstiet datus, pamatojoties uz konkrētiem kritērijiem. Ir daži atslēgvārdi, kurus var izmantot vaicājumos. (Atlasīt, No, Kur, Kam, Grupēt pēc un sakārtot pēc)
piem.: SELECTFROM table1 WHERE column1 > nosacījums ORDER BY column2;
Izteikumi - tie var kontrolēt darījumus, programmu plūsmu, savienojumus, sesijas vai diagnostiku
Izteiksmes - tas var radīt vai nu;
Skalārās vērtības
Tabulas, kas sastāv no datu kolonnām un rindām
Predikāti - norādiet nosacījumus, kurus var novērtēt SQL Būla vērtībā (patiess/nepatiess/nezināms)
Klauzulas - priekšrakstu un vaicājumu sastāvdaļas
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) ir Oracle Corporation procesuālā paplašinājuma valoda SQL un Oracle relāciju datubāzei. PL/SQL atbalsta mainīgos, nosacījumus, cilpas, masīvus, izņēmumus. PL/SQL būtībā koda konteinerus var iekļaut Oracle datu bāzēs. Tāpēc programmatūras izstrādātāji var tieši datubāzē implantēt PL/SQL funkcionalitātes vienības.
PL/SQL programmas vienības var definēt šādi:
Anonīmie bloki
Veido visvienkāršākā PL/SQL koda pamatu
Funkcijas
Funkcijas ir SQL un PL/SQL priekšrakstu kolekcija. Funkcijas izpilda uzdevumu, un tām ir jāatgriež vērtība izsaukšanas vidē.
Procedūras
Procedūras ir līdzīgas funkcijām. Procedūras var veikt arī darba veikšanai. Procedūras nevar izmantot SQL priekšrakstā, tās var atgriezt vairākas vērtības. Turklāt funkcijas var izsaukt no SQL, savukārt procedūras nevar.
Pakas
Pakešu izmantošana nozīmē koda atkārtotu izmantošanu. Paketes ir teorētiski saistītu funkciju, procedūru, mainīgo, PL/SQL tabulu un ierakstu TYPE priekšrakstu grupas, konstantes un kursori utt… Paketēm parasti ir divas daļas, specifikācija un pamatteksts
Divas pakotņu priekšrocības:
Modulāra pieeja, biznesa loģikas iekapsulēšana
Izmantojot pakotnes mainīgos var deklarēt sesijas līmeņos
Mainīgo veidi PL/SQL
Mainīgie
Ciparu mainīgie
Rakstzīmju mainīgie
Datuma mainīgie
Datu veidi konkrētām kolonnām
Atšķirība starp SQL un PL/SQL
SQL ir uz datiem orientēta valoda datu atlasei un apstrādei, bet PL SQL ir procesuāla valoda lietojumprogrammu izveidei.
SQL izpilda vienu priekšrakstu vienlaikus, savukārt PL SQL koda bloku var izpildīt.
SQL ir deklaratīvs, ja tāpat kā PL SQL ir procedurāls.
SQL tiek izmantots, lai rakstītu vaicājumus, datu manipulācijas valodu (DML) un datu definēšanas valodu (DDL), turpretim PL SQL izmanto programmu bloku, trigeru, funkciju, procedūru un pakotņu rakstīšanai.
Recap:
SQL ir strukturēta vaicājumu valoda. SQL tiek izmantoti dažādi vaicājumi, lai datubāzi apstrādātu vienkāršotā veidā. PL/SQL ir procesuālā valoda, kas satur dažāda veida mainīgos, funkcijas un procedūras. SQL ļauj izstrādātājam izdot vienu vaicājumu vai izpildīt vienu ievietošanu/atjaunināšanu/dzēšanu, savukārt PL/SQL ļauj rakstīt pilnu programmu, lai vienlaikus veiktu vairākas atlases/ievietošanas/atjaunināšanas/dzēšanas. SQL ir vienkārša uz datiem orientēta valoda, savukārt PL/SQL programmēšanas valoda.