Co je PL/SQL? Plná forma & Architecture Vysvětleno
⚡ Chytré shrnutí
PL/SQL je OracleProcedurální rozšíření SQL, které kombinuje možnosti manipulace s daty v SQL s cykly, podmínkami a objektově orientovanými funkcemi. Pro vysoce výkonné zpracování využívá třídílnou architekturu bloků PL/SQL, enginu PL/SQL a databázového serveru.

Co je PL/SQL?
Oracle PL / SQL je rozšíření jazyka SQL, které kombinuje datové možnosti SQL s výpočetním výkonem procedurálního jazyka a vytváří tak výkonné SQL dotazy. PL/SQL zajišťuje bezproblémové zpracování SQL příkazů zvýšením zabezpečení, přenositelnosti a robustnosti databáze.
PL/SQL znamená instruovat kompilátor „co má dělat“ pomocí SQL a „jak to dělat“ prostřednictvím procedurálního způsobu. Podobně jako jiné databázové jazyky dává programátorům větší kontrolu pomocí cyklů, podmínek a objektově orientovaných konceptů. Úplná forma PL/SQL je „Procedural Language extensions to SQL“ (rozšíření procedurálního jazyka SQL).
Plná forma PL/SQL
PL/SQL je zkratka pro „Procedural Language extensions to Structured Query Language“. PL/SQL je Oracle Procedurální rozšíření společnosti pro SQL a Oracle relační databáze. Jedná se o vysoce výkonný, vysoce integrovaný databázový jazyk.
Co je to PL/SQL vývojář?
Vývojář PL / SQL je integrované vývojové prostředí používané k vývoji softwaru v Oracle databázové prostředí a snadno provádět různé databázové úlohy. IDE pro vývojáře PL/SQL poskytuje grafické uživatelské rozhraní a pluginy, které koncovým uživatelům pomáhají ušetřit čas při jejich databázových úlohách.
ArchiPL/SQL
Níže uvedený příklad je obrazové znázornění architektury PL/SQL.

Architektura PL/SQL se skládá hlavně z následujících tří komponent:
- PL/SQL blok
- PL/SQL Engine
- Databázový server
PL/SQL blok
- Toto je komponenta, která obsahuje skutečný kód PL/SQL.
- Skládá se z různých sekcí, které logicky rozdělují kód: deklarativní sekce pro deklarace, sekce pro provádění pro zpracování příkazů a sekce pro ošetření výjimek pro ošetření chyb.
- Obsahuje také SQL instrukce používané k interakci s databázovým serverem.
- Všechny jednotky PL/SQL jsou považovány za PL/SQL bloky, a to je počáteční fáze architektury, která slouží jako primární vstup.
Různé typy jednotek PL/SQL jsou:
- Anonymní blok
- funkce
- Knihovna
- Postup
- Tělo balíčku
- Specifikace balíčku
- spoušť
- Typ
- Typ Tělo
PL/SQL Engine
- PL/SQL engine je komponenta, kde probíhá skutečné zpracování kódu.
- Odděluje jednotky PL/SQL a část SQL ve vstupu.
- Oddělené PL/SQL jednotky jsou zpracovávány samotným PL/SQL enginem.
- Část SQL je odeslána na databázový server, kde probíhá samotná interakce s databází.
- Lze jej nainstalovat jak na databázový server, tak na aplikační server.
Databázový server
- Toto je nejdůležitější komponenta jednotky PL/SQL, která ukládá data.
- Engine PL/SQL používá SQL z jednotek PL/SQL k interakci s databázovým serverem.
- Skládá se z SQL exekutoru, který analyzuje vstupní SQL příkazy a provádí je.
Vlastnosti a výhody PL/SQL
- Lepší výkon, protože SQL se provádí hromadně, nikoli po jednotlivých příkazech.
- Vysoká produktivita.
- Úzká integrace s SQL.
- Plná přenositelnost.
- Přísná bezpečnost.
- Podporuje koncepty objektově orientovaného programování.
- Škálovatelnost a ovladatelnost.
- Podporuje vývoj webových aplikací.
- Podporuje vývoj serverových stránek.
Nevýhody PL/SQL
- Uložené procedury v PL/SQL používají vysokou paměť.
- Chybí mu funkcionalita pro ladění uložených procedur.
- Jakákoli změna v podkladové databázi vyžaduje i změnu v prezentační vrstvě.
- Neodděluje úplně role back-endových a front-endových vývojářů.
- Je obtížné oddělit vývoj v HTML od vývoje v PL/SQL.
Rozdíl mezi SQL a PL/SQL
Zde jsou některé důležité rozdíly mezi SQL a PL/SQL:
| SQL | PL / SQL |
|---|---|
| SQL je jediný dotaz používaný k provádění operací DML a DDL. | PL/SQL je blok kódu používaný k zápisu celých programových bloků, procedur, funkcí atd. |
| Je deklarativní, definuje, co je třeba udělat, spíše než jak. | Je procedurální a definuje, jak je třeba věci dělat. |
| Provede se jako jeden příkaz. | Provede se jako celý blok. |
| Používá se hlavně pro manipulaci s daty. | Používá se hlavně k vytvoření aplikace. |
| Interaguje přímo s databázovým serverem. | Samotný blok nemá žádnou přímou interakci; jeho SQL část ano. |
| Nesmí obsahovat kód PL/SQL. | Je to rozšíření SQL, takže může obsahovat SQL uvnitř. |
Poté, co jsme si uvědomili, jak PL/SQL do sebe zapadá, je dalším krokem seznámit se s jeho stavebními kameny, které jsou popsány v PL/SQL bloky.
