Hvad er PL/SQL? Fuld formular & Architecture Forklaret
โก Smart opsummering
PL/SQL er Oracle's proceduremรฆssige udvidelse til SQL, der kombinerer SQL's datamanipulationskraft med lรธkker, betingelser og objektorienterede funktioner. Den kรธrer gennem en tredelt arkitektur af PL/SQL-blok, PL/SQL-motor og databaseserver for hรธjtydende behandling.

Hvad er PL/SQL?
Oracle PL / SQL er en udvidelse af SQL-sproget, der kombinerer SQL's datamanipulationskraft med processorkraften i et proceduresprog for at skabe effektive SQL-forespรธrgsler. PL/SQL sikrer problemfri behandling af SQL-sรฆtninger ved at forbedre databasens sikkerhed, portabilitet og robusthed.
PL/SQL betyder at instruere compileren "hvad den skal gรธre" via SQL og "hvordan den skal gรธre" gennem sin proceduremรฆssige metode. Ligesom andre databasesprog giver det mere kontrol til programmรธrer gennem brug af lรธkker, betingelser og objektorienterede koncepter. Den fulde form af PL/SQL er "Procedural Language extensions to SQL".
PL/SQL fuld formular
PL/SQL stรฅr for "Procedural Language extensions to the Structured Query Language." PL/SQL er Oracle Corporations proceduremรฆssige forlรฆngelse for SQL og Oracle relationel database. Det er et hรธjtydende, meget integreret databasesprog.
Hvad er en PL/SQL-udvikler?
PL / SQL Developer er et integreret udviklingsmiljรธ, der bruges til at udvikle software i Oracle databasemiljรธ og udfรธre forskellige databaseopgaver med lethed. PL/SQL Developer IDE leverer en GUI og plugins, der hjรฆlper slutbrugere med at spare tid pรฅ deres databaseopgaver.
Architecture af PL/SQL
Eksemplet nedenfor er en billedlig reprรฆsentation af PL/SQL-arkitekturen.

PL/SQL-arkitekturen bestรฅr hovedsageligt af fรธlgende tre komponenter:
- PL/SQL-blok
- PL/SQL-motor
- Database server
PL/SQL-blok
- Dette er den komponent, der har den faktiske PL/SQL-kode.
- Den bestรฅr af forskellige sektioner, der opdeler koden logisk: en deklarativ sektion til deklarationer, en udfรธrelsessektion til behandling af sรฆtninger og en undtagelseshรฅndteringssektion til hรฅndtering af fejl.
- Den indeholder ogsรฅ de SQL-instruktioner, der bruges til at interagere med databaseserveren.
- Alle PL/SQL-enheder behandles som PL/SQL blokke, og dette er startfasen af โโarkitekturen, som fungerer som det primรฆre input.
De forskellige typer PL/SQL-enheder er:
- Anonym blok
- Funktion
- Bibliotek
- Procedure
- Pakke Krop
- Pakkespecifikation
- Udlรธser
- Type
- Type Krop
PL/SQL-motor
- PL/SQL-motoren er den komponent, hvor den faktiske behandling af koden finder sted.
- Den adskiller PL/SQL-enhederne og SQL-delen i inputtet.
- De separerede PL/SQL-enheder hรฅndteres af selve PL/SQL-motoren.
- SQL-delen sendes til databaseserveren, hvor den faktiske interaktion med databasen finder sted.
- Den kan installeres pรฅ bรฅde databaseserveren og applikationsserveren.
Database server
- Dette er den vigtigste komponent i PL/SQL-enheden, som lagrer dataene.
- PL/SQL-motoren bruger SQL'en fra PL/SQL-enhederne til at interagere med databaseserveren.
- Den bestรฅr af en SQL-eksekutor, der analyserer de inputte SQL-sรฆtninger og udfรธrer dem.
Funktioner og fordele ved PL/SQL
- Bedre ydeevne, da SQL udfรธres i bulk i stedet for รฉn sรฆtning ad gangen.
- Hรธj produktivitet.
- Tรฆt integration med SQL.
- Fuld bรฆrbarhed.
- Stram sikkerhed.
- Understรธtter objektorienterede programmeringskoncepter.
- Skalerbarhed og hรฅndterbarhed.
- Understรธtter udvikling af webapplikationer.
- Understรธtter udvikling af serversider.
Ulemper ved PL/SQL
- Lagrede procedurer i PL/SQL bruger meget hukommelse.
- Den mangler funktionalitet til fejlfinding af lagrede procedurer.
- Enhver รฆndring i den underliggende database krรฆver ogsรฅ en รฆndring i prรฆsentationslaget.
- Det adskiller ikke rollerne mellem backend- og frontend-udviklere fuldstรฆndigt.
- Det er vanskeligt at adskille HTML-udvikling fra PL/SQL-udvikling.
Forskellen mellem SQL og PL/SQL
Her er nogle vigtige forskelle mellem SQL og PL/SQL:
| SQL | PL / SQL |
|---|---|
| SQL er en enkelt forespรธrgsel, der bruges til at udfรธre DML- og DDL-operationer. | PL/SQL er en kodeblok, der bruges til at skrive hele programblokke, procedurer, funktioner og sรฅ videre. |
| Den er deklarativ og definerer, hvad der skal gรธres, snarere end hvordan. | Det er proceduremรฆssigt og definerer, hvordan tingene skal gรธres. |
| Udfรธres som en enkelt sรฆtning. | Udfรธres som en hel blok. |
| Bruges hovedsageligt til at manipulere data. | Bruges hovedsageligt til at oprette en applikation. |
| Interagerer direkte med databaseserveren. | Selve blokken har ingen direkte interaktion; det har dens SQL-del. |
| Mรฅ ikke indeholde PL/SQL-kode. | Det er en udvidelse af SQL, sรฅ den kan indeholde SQL. |
Efter at have set, hvordan PL/SQL hรฆnger sammen, er nรฆste skridt at lรฆre dets byggesten at kende, som er dรฆkket under PL/SQL blokke.
