Hva er PL/SQL? Fullstendig form og Architecture Forklart
โก Smart oppsummering
PL/SQL er Oracles prosedyremessige utvidelse av SQL som kombinerer datamanipuleringskraften til SQL med lรธkker, betingelser og objektorienterte funksjoner. Den kjรธrer gjennom en tredelt arkitektur av PL/SQL-blokk, PL/SQL-motor og databaseserver for hรธy ytelsesbehandling.

Hva er PL/SQL?
Oracle PL / SQL er en utvidelse av SQL-sprรฅket som kombinerer datamanipuleringskraften til SQL med prosesseringskraften til et prosedyresprรฅk for รฅ lage kraftige SQL-spรธrringer. PL/SQL sikrer sรธmlรธs behandling av SQL-setninger ved รฅ forbedre sikkerheten, portabiliteten og robustheten til databasen.
PL/SQL betyr รฅ instruere kompilatoren ยซhva den skal gjรธreยป gjennom SQL og ยซhvordan den skal gjรธre detยป gjennom sin prosedyremessige metode. I likhet med andre databasesprรฅk gir det programmerere mer kontroll gjennom bruk av lรธkker, betingelser og objektorienterte konsepter. Den fullstendige formen for PL/SQL er ยซProcedural Language extensions to SQLยป.
PL/SQL Full Form
PL/SQL stรฅr for "Procedural Language extensions to the Structured Query Language." PL/SQL er Oracle Selskapets prosedyreutvidelse for SQL og Oracle relasjonsdatabase. Det er et hรธyytelses, svรฆrt integrert databasesprรฅk.
Hva er en PL/SQL-utvikler?
PL / SQL-utvikler er et integrert utviklingsmiljรธ som brukes til รฅ utvikle programvare i Oracle databasemiljรธ og utfรธre ulike databaseoppgaver med letthet. PL/SQL Developer IDE tilbyr et grafisk brukergrensesnitt og plugins som hjelper sluttbrukere med รฅ spare tid pรฅ databaseoppgavene sine.
Architecture av PL/SQL
Eksemplet nedenfor er en billedlig fremstilling av PL/SQL-arkitekturen.

PL/SQL-arkitekturen bestรฅr hovedsakelig av fรธlgende tre komponenter:
- PL/SQL-blokk
- PL/SQL-motor
- Database server
PL/SQL-blokk
- Dette er komponenten som har den faktiske PL/SQL-koden.
- Den bestรฅr av forskjellige seksjoner som deler koden logisk: en deklarativ seksjon for deklarasjoner, en utfรธrelsesseksjon for behandling av setninger og en unntakshรฅndteringsseksjon for hรฅndtering av feil.
- Den inneholder ogsรฅ SQL-instruksjonene som brukes til รฅ samhandle med databaseserveren.
- Alle PL/SQL-enheter behandles som PL/SQL-blokker, og dette er startfasen av arkitekturen, som fungerer som primรฆr input.
De ulike typene PL/SQL-enheter er:
- Anonym blokk
- Funksjon
- Bibliotek
- Prosedyre
- Pakkekropp
- Pakkespesifikasjon
- Avtrekker
- typen
- Type Body
PL/SQL-motor
- PL/SQL-motoren er komponenten der den faktiske behandlingen av koden finner sted.
- Den skiller PL/SQL-enhetene og SQL-delen i inputen.
- De separerte PL/SQL-enhetene hรฅndteres av selve PL/SQL-motoren.
- SQL-delen sendes til databaseserveren, hvor den faktiske interaksjonen med databasen finner sted.
- Den kan installeres bรฅde pรฅ databaseserveren og applikasjonsserveren.
Database server
- Dette er den viktigste komponenten i PL/SQL-enheten, som lagrer dataene.
- PL/SQL-motoren bruker SQL-koden fra PL/SQL-enhetene til รฅ samhandle med databaseserveren.
- Den bestรฅr av en SQL-eksekutor som analyserer de innkommende SQL-setningene og utfรธrer dem.
Funksjoner og fordeler med PL/SQL
- Bedre ytelse, ettersom SQL kjรธres i bulk i stedet for รฉn setning om gangen.
- Hรธy produktivitet.
- Tett integrasjon med SQL.
- Full portabilitet.
- Streng sikkerhet.
- Stรธtter objektorienterte programmeringskonsepter.
- Skalerbarhet og administrasjonsevne.
- Stรธtter utvikling av webapplikasjoner.
- Stรธtter utvikling av serversider.
Ulemper med PL/SQL
- Lagrede prosedyrer i PL/SQL bruker mye minne.
- Den mangler funksjonalitet for feilsรธking av lagrede prosedyrer.
- Enhver endring i den underliggende databasen krever ogsรฅ en endring i presentasjonslaget.
- Det skiller ikke rollene til backend- og frontend-utviklere fullstendig.
- Det er vanskelig รฅ skille HTML-utvikling fra PL/SQL-utvikling.
Forskjellen mellom SQL og PL/SQL
Her er noen viktige forskjeller mellom SQL og PL/SQL:
| SQL | PL / SQL |
|---|---|
| SQL er en enkelt spรธrring som brukes til รฅ utfรธre DML- og DDL-operasjoner. | PL/SQL er en kodeblokk som brukes til รฅ skrive hele programblokker, prosedyrer, funksjoner og sรฅ videre. |
| Den er deklarativ, og definerer hva som mรฅ gjรธres snarere enn hvordan. | Det er prosedyremessig, og definerer hvordan ting skal gjรธres. |
| Utfรธres som en enkelt setning. | Utfรธres som en hel blokk. |
| Brukes hovedsakelig til รฅ manipulere data. | Brukes hovedsakelig til รฅ lage en applikasjon. |
| Samhandler direkte med databaseserveren. | Selve blokken har ingen direkte interaksjon; det har SQL-delen. |
| Kan ikke inneholde PL/SQL-kode. | Det er en utvidelse av SQL, sรฅ den kan inneholde SQL inni seg. |
Etter รฅ ha sett hvordan PL/SQL henger sammen, er neste steg รฅ lรฆre byggesteinene, som er dekket under PL/SQL-blokker.
