PL SQL

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

PL/SQL

Sustavi baza podataka

Rijeka, 2015.

PL/SQL
Seminarski rad

Rijeka,svibanj 2015.

SADRAJ

1.Uvod...................................................................................................................... 1
2.SQL....................................................................................................................... 2
2.1 Osnovni elemetni SQL-a........................................................................................ 2
3. Prednosti PL/SQL-a.................................................................................................. 4
4. Tipovi podataka u PL/SQL.......................................................................................... 5
4.1 Skalarni tipovi podataka........................................................................................ 5
4.1.1 Brojani tipovi podataka................................................................................... 5
4.1.2 Znakovni tipovi podataka................................................................................. 6
4.1.3 BOOLEAN tip podataka.................................................................................. 6
4.1.4 Tipovi podataka za oznaavanje datuma, vremena i intervala.....................................6
5. Kursori.................................................................................................................. 7
6. Kolekcije................................................................................................................ 7
7. Zakljuak............................................................................................................... 8

1.Uvod
PL/SQL (Procedural Language/Structured Query Language) je programski jezik
koriten za pristup Oracle bazi podataka.
PL/SQL ukljuuje elemente proceduralong jezika poput uvjetnih nardbi i petlji.
Omoguava deklariranje konstanti i varijabli, procedura i funkcijat, vrsta i njihovih varijacija,
i aktivatora. Polja su podrana ukljuujui uporabu PL/SQL kolekcija.

2.SQL
SQL je programski jezik oblikovan za upravljanje podacima sadranim u sustavu za
upravljanje relacijskom bazom podataka, ili za stream procesiranje u sustavu za upravljenje
relacijskim tokom podataka.
SQL je 1986. godine postao standard za American National Standards Institute
(ANSI) i 1987. godine za International Organization for Standardization (ISO). Od tad,
standard je promijenjen kako bi ukljuio vie sadraja. Usprkost takvim standardima, veina
SQL koda nije u potpunosti prenosiva izmeu raliitih sustava baze podataka bez prilagodbi.

2.1 Osnovni elemetni SQL-a


U nastavku su nabrojani neki od osnovnih dijelova koji ine SQL.
Vrste podataka Oracle baza podataka prua velik broj ugraenih vrsta podataka kao i
nekoliko kategorija za korisniki definirane vrste koje se mogu koristiti kao vrste podataka.

Vrste podataka dijelimo na:

Oracle ugraene podatke


ANSI, DB2, i SQL/DS vrste podataka
Korisniki definirane vrste
Oracle pribavljene vrste
Vrste podataka pravila usporedbe
Pretvorba podataka

Literali pojam literal se odnosi na nepromijenjive vrijednosti. Na primjer 'AUTO',


'KOLA' i '300' su znakovni literali, dok je 2001 numeriki literali.
Vrste literala su:

Tekstovni literali
Numeriki literali
Literali za datum i vrijeme
Literali intervala

Objekti baze podataka SQL-a dijele se na schema i nonschema objekte:


Schema objekti:

Nonschema objekti:

Clusters

Contexts

Constraints

Directories

Database links

Editions

Database triggers

Restore points

Dimensions

Roles

External procedure libraries

Rollback segments

Index-organized tables

Tablespaces

Indexes

Users

Indextypes
Java classes, Java resources, Java sources
Materialized views
Materialized view logs
Mining models
Object tables
Object types
Object views
Operators
Packages
Sequences
Stored functions, stored procedures
Synonyms
Tables
Views

3. Prednosti PL/SQL-a

Uska integracija sa SQL

PL/SQL dozvoljava uporabu svih SQL upravljanja podacima, kontrolu kursora,


kontrolu transakcija, sve SQL funkcije, operatora i lanih stupaca.
PL/SQL u potpunosti podrava SQL vrste datoteka.
PL/SQL dozvoljava pokretanje SQL upita i procesiranje redova rezultata jedan po
jedan.
PL/SQL funkcije se mogu deklarirati i definirati u WITH klauzulama SQL-ovih
SELECT izjava.

Visoke performanse

Vezane varijable kada ugradite SQL-ove INSERT, UPDATE, DELETE, MERGE,


ili SELECT izjave direktno u PL/SQL kod, PL/SQL kompilator mijenja varijable u
WHERE i VALUES klauzulama u vezane varijable. Oracle baza podataka moe ponovno

iskoristiti te SQL izjave pri pokretanju istog koda, poboljavajui performanse.


Potprogrami pohranjeni su u izvrnom obliku, koji se moe uzastopno pozvati. Zato
jer se pohranjeni potprogrami izvode na serveru baze podataka, samo jedan poziv
preko mree moe pokrenuti velik posao. Ova podjela rada smanjuje mreni promet i
poboljava vrijeme odaziva.
Optimizator PL/SQL kompilator ima optimizator koji moe preurediti kod za bolje
performanse.

Visoka produktivnost

PL/SQL dozvoljava pisanje kompaktnog koda za rukovanje podacima. Radi upite,


mijenja i aurira podatke u bazi podataka.

Prijenosnost

PL/SQL aplikacija se moe pokretati na bilo kojem operacijskom sustavu i platformi


gdje se koristi Oracle baza podataka.

4. Tipovi podataka u PL/SQL


Uz velik broj predefniranih tipova podataka i njihovih podtipova te stvaranja
vlastitih PL/SQL podtipova, etiri su glavne kategorije tipova podataka:

skalarni tipovi podataka


kompozitni tipovi podataka
referencirani tipovi podataka
veliki objekti

4.1 Skalarni tipovi podataka


Skalarni tipovi podataka pohranjuju jednu vrijednost. Skalarni tipovi zadataka su:

brojani tip podataka


znakovni tip podataka
BOOLEAN tip podataka
datumski i vremenski tip podataka
intervalni tip podataka

4.1.1 Brojani tipovi podataka


Brojani tipovi podataka zapisuju brojane vrijednosti nad kojima se mogu izvoditi
aritmetike operacije. Brojani tipovi podataka su:

PLS_INTEGER i BINARY_INTEGER identini tipovi podataka. Zapis se


sprema pomou 32 bita

BINARY_FLOAT i BINARY_DOUBLE - tipovi podataka predstavljaju


single-precision i double-precision zapis broja. BINARY_FLOAT zauzima 32
bita a BINARY_DOUBLE 64 bita.

NUMBER - moe spremati decimalni i cijeli broj. Da bi se


definirao cijeli broj koristi se NUMBER(3), gdje broj ne moe imati vie od 3
znamenke. Decimalni zapis moe pisati sa fiksnom ili pominom decimalnom
tokom. Za pominu decimalnu toku piemo samo NUMBER, te se ona moe
zapisati na bilo kojem mjestu. Za fiksnu decimalnu toku piemo
NUMBER(5,2), tada broj ne moe imati najvie 5 znamenki i mora imati dvije
znamenke nakon decimalne toke.

4.1.2 Znakovni tipovi podataka

Znakovni tipovi podataka mogu zapisivati alfanumerike vrijednosti koje predstavljaju


jedan znak ili niz znakova sa kojima moemo manipulirati. To su:

CHAR i NCHAR
VARCHAR2 i NVARCHAR2
LONG
LONG RAW
ROWID

4.1.3 BOOLEAN tip podataka


BOOLEAN tip podataka sprema TRUE i FALSE i NULL logike vrijednosti. Koristi
se samo u PL/SQL ali ne i u SQL-u to ukljuuje SQL naredbe, predefinirane SQL
funkcije ni PL/SQL funkcije koje se pozivaju u SQL naredbama.

4.1.4 Tipovi podataka za oznaavanje datuma, vremena i intervala


Tri su glavna tipa podataka:

DATE
TIMESTAMP
INTERVAL

5. Kursori
Kursori su memorijski prostori u kojima su spremljene informacije za izvravanje SQL
naredbi. Pomou kursora kao pokazivaem na taj prostor, PL/SQL upravlja tim memorijskim
prostorima. Kursor sadri podatke kao npr. retci dohvaeni upitom. Aktivnim skupom
nazivamo retke koji se nalaze u kursoru. Kursor moe biti imenovan kako bi se mogao
pozvati u kodu te se mogu obraditi svi retci koji se nalaze u kursoru. Dvije vrste kursora su
implicitni i eksplicitni kursor.

6. Kolekcije
Kolekcije omoguavaju zapisivanje grupe elemenata istog tipa podataka. Pomou
indeksa koji poinju od broja 1, pristupa se svakom elementu kolekcije, dok u ostalim
programskim jezicima indeksi poinju od broja 0. Kolekcije dijelimo na:

Asocijativni niz - kolekcija koja se sastoji od kljua i vrijednosti. Definira se


sintaksom:
TYPE ime_tipa IS TABLE OF tip_elementa [NOT NULL]
INDEX BY tip_elementa;
ime_tablice IME_TIPA;

Ugnjeene tablice - kolekcija koja odgovara jednodimenzionalnom polju sa


proizvoljnim brojem elemenata. Definira se sintaksom:

TYPE ime_tipa IS TABLE OF tip_elementa[NOT NULL];


ime_tablice IME_TIPA;

Polja varijabilne duljine - kolekcije koja su slina ugnjeenim tablicama. To


je jednodimenzionalno polje koje ima ogranien maksimalni broj elemenata.
Definira se sintaksom:

TYPE ime_tipa IS {VARRAY | VARYING ARRAY} (maksimalna_veliina) OF


tip_elemenata [NOT NULL];
ime_polja IME_TIPA;

7. Zakljuak
PL/SQL kao proirenje SQL-a nudi niz poboljanja. Vidno smanjuje
optereenje aplikacije i prua ve navedene visoke performanse i produktivnost.
Modularnost omoguava lako odravanje i pisanje koda. PL/SQL je velik napredak u
usporedbi sa SQL-om.

Literatura
[1] https://bib.irb.hr/datoteka/705126.1-anspevec_Oracle_PLSQL.pdf
[2] http://en.wikipedia.org/wiki/PL/SQL#Cursors
[3] http://docs.oracle.com/database/121/LNPLS/overview.htm#LNPLS00101
[4] http://docs.oracle.com/database/121/SQLRF/sql_elements007.htm#SQLRF51127
[5] http://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#SQLRF00217

You might also like