97
SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Branko Kranjčević Oracle Database Express Edition 11g ZAVRŠNI RAD Varaždin, 2014.

716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

  • Upload
    ivan

  • View
    54

  • Download
    5

Embed Size (px)

DESCRIPTION

baze podataka, oracle

Citation preview

Page 1: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

SVEUČILIŠTE U ZAGREBU

FAKULTET ORGANIZACIJE I INFORMATIKE

V A R A Ž D I N

Branko Kranjčević

Oracle Database Express Edition 11g

ZAVRŠNI RAD

Varaždin, 2014.

Page 2: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

SVEUČILIŠTE U ZAGREBU

FAKULTET ORGANIZACIJE I INFORMATIKE

V A R A Ž D I N

Branko Kranjčević

Matični broj: S-40359/11 – IZV

Studij: Primjena informacijske tehnologije u poslovanju

Oracle Database Express Edition 11g

ZAVRŠNI RAD

Mentor:

Doc.dr.sc. Markus Schatten

Varaždin, lipanj 2014.

2

Page 3: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Sadržaj1.Uvod........................................................................................................................................................4

2. Uvod u baze podataka............................................................................................................................5

2.1. Povijest Oracle Database Express Edition 11g (XE)....................................................................7

2.2. Povijest Oracle Application Expressa (APEX)...........................................................................10

3. Uvod u svijet Linuxa............................................................................................................................11

4. Osnove SQL jezika...............................................................................................................................13

4.1. Naredbe u SQL -u.......................................................................................................................14

4.2. Operatori u SQL-u......................................................................................................................15

4.3. Zbirne funkcije u SQL-u.............................................................................................................15

5. Instalacija Oracle Database Express Edition (XE)...............................................................................16

5.1. Pripreme za instalaciju................................................................................................................16

5.2. Preuzimanje Oracle Database Express Edition 11 g (XE)..........................................................17

5.3. Instalacija Oracle Database 11g Express Edition (XE)..............................................................20

6. Instalacija Oracle Application Expressa (APEX)................................................................................27

6.1. Instalacija Oracle Application Expressa (APEX) verzije 4.2.3..................................................29

7. Administracija Oracle Application Expressa (APEX).........................................................................33

8. Instalacija Oracle SQL Developera......................................................................................................36

9. Aplikacija “Ljudski potencijali”...........................................................................................................39

9.1. Osnovni pregled aplikacije “Ljudski potencijali”.......................................................................40

9.2. Upravljanje kadrovima...............................................................................................................43

9.3. Pregled godišnjih odmora...........................................................................................................46

9.9. Pregled bolovanja.......................................................................................................................50

9.10. Pregled izvještaja......................................................................................................................51

10. Kreiranje aplikacije “Ljudski potencijali” unutar Oracle Application Expressa (APEX).................53

10.1. Kreiranje ERA modela aplikacije.............................................................................................54

10.2. Kreiranje konekcije na bazu unutar Oracle SQL Developer alata............................................60

10.3. Kreiranje tablica u Oracle Database 11g Express Edition bazi podataka.................................65

10.4. Kreiranje okidaća (Triggera) i sekvenci (Sequences) u Oracle SQL Developer alatu.............69

10.5. Izvršavanje upita u Oracle SQL Developeru............................................................................73

11. Kreiranje aplikacije unutar Oracle Application Express-a (APEX)...................................................75

11.1. Kreiranje stranica unutar Oracle Application Express-a...........................................................78

Page 4: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

11.2. Kreiranje izvještaja i grafikona u Oracle Application Expressu...............................................80

11.3. Kreiranje formi u Oracle Application Expressu........................................................................84

11.4. Kreiranje i definiranje stavki na stranicama i formama u Oracle Application Expressu..........87

12. Kritički osvrt......................................................................................................................................92

13. Zaključak............................................................................................................................................94

14. Literatura............................................................................................................................................96

15. Zahvale...............................................................................................................................................97

1.Uvod

U ovom radu autor će se osvrnuti na instalaciju i primjenu Oracle Database Express Edition 11g

baze podataka. Motivacija za izbor ove teme bila je osobna zainteresiranost autora radom baza

podataka i njihovom primjenom, te činjenica da radi s Oracle bazom podataka unutar svoje poslovne

okoline.Samim radom pokušao je bazu uklopiti i u samu Open Source okolinu, te je ista instalirana na

CentOS serveru, dok će kao domaćin poslužiti Linux Mint operativni sustav.

Današnje poslovanje,ali i općenita uporaba informacijske tehnologije nezamisliva je bez baza

podataka. Neovisno o kojem se ponuđaču rješenja radi, pohrana, obrada, pristup i sigurnosno

pohranjivanje informacija samo su neke od operacija koje su nužne u poslovnom i informacijskom

svijetu,a koje se odvijaju nad samom bazom.

4

Page 5: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Instalacijom same Oracle baze podataka dobiva se i alat pod nazivom Oracle Application

Express (APEX) , koji služi za izradu web orijentiranih aplikacija koje se su orijentirane na samu bazu

podataka. Pomoću njega, za potrebe ovog rada, izrađena je aplikacija pod nazivom “Ljudski

potencijali” kroz čiji rad će biti prikazana izrada aplikacija pomoću APEX alata,kao i rad s bazom

pomoću aplikacije. Konceptualno rad se može podijeliti na dva dijela. Teorijski dio gdje će se opisati

povijest i razvoj Oracle Database Expression 11g, kao i Oracle APEX alata, i praktični dio gdje će biti

prikazana instalacija baze, izrada aplikacije pomoću APEX-a , te manipuliranje i podešavanje baze i

ostale njene funkcionalnosti.

2. Uvod u baze podataka

Prof. dr. Senad Balić s univerziteta u Zenici dao je nekoliko definicjia baza podataka:

“Baza podataka je skup podataka nekog informacijskog sustava. Možemo reći:

“Baza podataka je skup međusobno povezanih podataka, pohranjenih bez redundancije

(preklapanja) koji služe jednoj ili više aplikacija na optimalan način, gdje su podaci neovisni o

programima koji se obrađuju i gdje postoji kontroliran pristup podacima “ (Martin, 1977).

“Baza podataka je skup operativnih i integriranih podataka obrađivanih u jednoj organizaciji

5

Page 6: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

(Date, 1990.)” .

Ona sadrži podatke različitih objekata poslovnog sistema,kao što su na primjer: poslovni partneri,

projekti, proizvodi, usluge, fakture, narudžbe, ugovori itd. “ (Balić , 2006.)

“Oracle baza podataka je skup podataka tretiranih kao cjelina. Svrha baze podataka je

pohranjivanje i dohvaćanje relevantnih informacija. Poslužitelj baze podataka je ključ za rješavanje

problema s upravljanjem informacija “ (Cyran, 2005.)

Vrste baza podataka su sljedeće:

• hijerarhijske baze podataka

• mrežne baze podataka

• relacijske baze podataka

• deduktivne baze podataka

• temporalne baze podataka

• objektno/relacijske baze podataka

• objektno orijentirane baze podataka

• polustruktuirane (NoSQL ) baze podataka

Od šezdesetih do osamdesetih godina prošlog stoljeća prevladavale su hijerarhijske i mrežne

baze podataka,a od osamdesetih godina pa sve do danas najzastupljeniji tip baza podataka su relacijske,

te se one koriste kao osnova za izgradnju naprednijih baza podataka (deduktivnih baze podataka,

temporalnih baze podataka, objektno/orijentiranih baze podataka). Relacijske baze podataka sastoje

se od skupa povezanih tablica, odnosno relacija, po čemu i nose naziv, dok se definicija čitave baze

podataka naziva relacijska shema baze podataka.

Upravljanje bazom podataka vrši se pomoću Sustava za upravljanje bazom podataka - SUBP

( eng. Database Management System – DBMS , odnosno RDBMS-a za relacijske baze podataka) . To

je programski sustav koji se koristi za pristup, pohranu, te manipulaciju podatcima u bazi podataka. U

6

Page 7: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

ovome radu s Oracle bazom podataka koristi se besplatan Oracle alat naziva Oracle SQL Developer.

Određene manipulacije i upiti mogu se vršiti i u samome Oracle Application Expressu , programu u

kojemu je aplikacija izrađena i kojega će biti detaljnije opisan u posebnom poglavlju, no te operacije su

vrlo skromne i ograničene, tako da je najbolji izbor alata za operacije nad bazom Oracle SQL

Developer.

2.1. Povijest Oracle Database Express Edition 11g (XE)

Oracle povijest započinje 1977. godine kada Larry Ellison s prijateljima osniva Software

Development Laboratories (SDL), te iduće godine nastaje Oracle Version 1 koji nikada nije službeno

pušten u rad. Pisan je u assembly jeziku, te je zahtijevao 128 KB memorije. Implementacija je odvajala

Oracle kod i korisnički kod. 1979. godine tvrtka mijenja naziv u Relational Software Inc. (RSI), te

pušta u rad Oracle Version 2 kao ranu relacijski orijentiranu bazu podataka . Oracle V2 nije podupirala

transakcije , ali je implementirala prve SQL (eng. Structured Query Language, jezik za rad s

relacijskim bazama podataka. Više o samom SQL-u biti će riječi u nastavku rada) funkcionalnosti kao

što su upiti (eng. Query) i pridruživanja (eng. Joins) . Godine 1982. tvrtka ponovno mijenja naziv, te

sada nosi ime “Oracle Corporation, kako bi se poistovjetila sa svojim produktom” (Wikipedia, 2014. ).

7

Page 8: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

U 1983. godini izlazi Oracle Version 3 koja je pisana u C programskoj jeziku, te je sadržavala

nove funkcionalnosti kao što je trajno uspostavljanje promjena u bazi (COMMIT) i vračanje baze na

prethodno stanje (ROLLBACK) . Velike promjene u Oracle bazi dolaze i 1988. godine s “Oracle

RDBMS version 6” koja je sadržavala podršku za PL/SQL jezik , kao i sigurnosnom pohranom

podataka (backup) .

Godine 1997. i 1999. donose verzije baze Oracle 8 ,odnosno Oracle 8i te su one implementirale

nove smjerove. Sami razvoj interneta ( slovo i iza broja 8 označava Internet) donosi novosti u ovim

verzijama: primjena objektno orijentiranog razvoja , multimedijalnih aplikacija , kao i Java virtualnu

okolinu poznatu pod nazivom Oracle JVM , drugog naziva “Aurora” .

Oracle 9i verzija koja je puštena u uporabu 2001. godine donijela je čak 400 novih dodataka u

bazi. Najvažnija od njih bilo je pisanje i čitanje XML dokumenata, te dolazak Oracle RAC-a : Real

Application Clusters - seta povezanih računala koji rade zajedno tako da se u krajnosti vide kao jedan

sistem.

Tako dolazimo do verzije Oracle 11g koja je donijela nove značajnosti kao što je pohranjivanje

rezultata upita u cache korisnika, podršku za SELECT i INSERT array na Pro*C/C++ i Pro*COBOL

sustavima, virtualne kolone u bazi , kao i mnoge druge. Oracle je ovu bazu najavio kao idealno rješenje

za programere koji rade s PHP-om, Jav-om, .NET-om i mnogim drugim okruženjima . Kao što sam

spomenuo u uvodu, sadrži i besplatan Oracle APEX alat za izgradnju web aplikacija.

Za razliku od komercijalne verzije, Oracle Database Express Edition 11g (XE) koja je besplatna

ima određena ograničenja :

• Samo jedna jezgra (CPU) na sustavu

• Korištenje do maksimalno 1GB radne memorije (RAM)

• Maksimalno pohranjivanje 11GB podataka

Službeni zahtjevi Oracle-a za korištenje baze navedeni su u tablici 2.1.1. ( Oracle Publishing,

2011. ) . Neki od navedenih su : preporučeni Oracle Linux , Red Hat Linux , SUSE Linux Serveri

8

Page 9: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

( ovdje je važno napomenuti kako Oracle Express Edition radi i s Windows okruženjem) , TCP /IP

mrežni protokoli , minimalno 256 MB radne memorije (preporučeno 512 MB) , te minimalno 1.5 GB

slobodnog prostora na čvrstom disku.

Tablica 2.1.1. Oracle Database XE zahtjevi resursa (izvor: Oracle Publishing, 2011.)

9

Page 10: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

2.2. Povijest Oracle Application Expressa (APEX)

Povijest Oracle Application Express-a počinje 2000.-e godine kada se po prvi put pojavljuje web

alat za razvoj aplikacija pod imenom „FLOWS“. Kroz godine alat je prošao kroz nekoliko izmjena

naziva, te su uslijedili nazivi: „Oracle Platform“, „Project Marvel“, „HTML DB“, da bi na kraju u

siječnju 2006.-e godine, u verziji 2.1, dobio naziv „Application Express“ koji je zadržan i dan danas.

Oracle Application Express (u radu će također biti korišteneaslužbena Oracleova skračenica : APEX).

APEX se koristi za brzu izradu web aplikacija, te radi na Oracle Enterprise i Oracle

komercijalnim bazama gdje dolazi u paketu s bazom, što sam već spomenuo u uvodu. Prednosti

APEX-a je brzi razvoj aplikacija, u potpunosti je baziran na web-u, jednostavan za puštanje aplikacije

u rad zbog toga što je potrebna samo URL adresa za pristup, skalabilan je, procesiranje i validacija se

događa na strani servera, velika podrška od strane korisnika, osnovna podrška za grupni razvoj,

besplatni hosting od strane Oracle-a, pojedine komponente aplikacije se mogu upotpuniti sa SQL

(Structured Query Language) jezikom, te nije potrebna instalacija dodatnog software-a (npr. JAVA).

1997.-e godine izlazi WebDB, pravi predak današnjeg APEX-a kakvog poznajemo. WebDB je

donio veliku revoluciju u svijetu razvoja aplikacija upravo zbog toga što je bio u potpunosti razvijen

kao web alat i u potpunosti je radio preko web preglednika. Napisan je u PL/SQL (Procedural

Language/Structured Query Language) jeziku. “Programeri su usmjeravali WebDB prema bazi i pisali

kod koji im je vraćao forme, izvještaje, grafikone i kalendare. Neke tvrtke još i danas koriste aplikacije

napravljene u WebDB-u” (Smuk, 2013.) .

Sve do 2003. godine nosi naziv “Flow Builder” , kojeg iste godine mijenja u imeHTMLDB

verzije 1.5. , koje će nositi sve do 2006. godine kada se imenuje sadašnjim imenom Oracle Application

Express (APEX) . U radu ću opisat važne funkcionalnosti ovog moćnog alata koji uvelike pomaže pri

izradi web aplikacija u potpunoj suradnji s Oracle bazom. Osim SQL I PL/SQL jezika, APEX se

oslanja na HTML / CSS tehnologiju, kao i mogućnost izrada aplikacija pomoću PHP-a i JavaScripta.

10

Page 11: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Zbog svoje jednostavnosti,ali i velikih mogućnosti za razvoj web aplikacija, te činjenice da

dolazi instaliran sa samom Oracle XE bazom, kao i svakodnevnog osobnog iskustva u radu s ovim

alatom u poslovnom svijetu, autor je odabrao APEX kao alat za izradu aplikacije “Ljudski potencijali”

čiju će izradu i funkcionalnosti prikazati u ovome radu.

3. Uvod u svijet Linuxa

“Linux je slobodan operativni sustav otvorenog koda, koji je u početku bio namijenjen

Intelovim x86 osobnim računalima, ali je uskoro zaživio i na mnogim drugim hardverskim

platformama” (edX , 2014. ).

Linux je ime za jezgru (eng. Kernel) računalnog operacijskog sustava. Linus Torvalds , autor

Linuxa , 1991. godine napisao je izvorni kod za Linux, te je pozvao ljude diljem svijeta da sudjeluju u

njegovom razvoju. Linus je svoj rad bazirao na tada korištenim UNIX operativnim sustavima koji nisu

pretjerano bili korišteni u kućne svrhe već za istraživačke potrebe ,a glavni adut bila im je visoka razina

stabilnosti sustava. Programeri diljem svijeta prihvatili su poziv, te je nastao operacijski sustav Linux.

Besplatan (osim komercijalnih inačica Red Hat Enterprise Linux i Suse Linux Enterprise Server ) i

slobodan operacijski sustav razvijen pomoću globalne grupe programera i korisnika.

Slika 3.1. Osnivač Linux-a : Linus Torvalds

“Prva verzija Linuxa izašla je 5.listopada 1991. godine, te je nosila kod verzije 0.02 . Do

pojave KDE-a 1996. godine, koji je Linuxu dao vrhunski grafički desktop, u operacijskom sustavu

11

Page 12: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

uglavnom se radilo u tekstualnom sučelju. Sama činjenica da KDE u početku nije bio slobodan softver ,

potaknulo je godinu dana kasnije razvoj grafičkog desktopa GNOME” ( edX , 2014. ) .

Na slici 3.2. prikazan je sadašnji pregled Linux distribucija. Na vrhu se nalazi već spomenuta

jezgra Linux Kernel, na čiju su osnovu napravljene “Distribucijske obitelji” naziva Debian, Fedora,

SUSE i ostale. U ovim “obiteljima” nalaze se individualne distribucije. U Debianu su sadržani Ubuntu i

Linux Mint, u Fedori Red Hat Enterprise Linux (RHEL) koji se grana na CentOS i Oracle Linux, zatim

SUSE koji sadrži Suse Linux Enterprise Server (komercijalnu inačicu) i OpenSUSE besplatnu inačicu

operativnog sustava.

Slika 3.2. Pregled Linux distribucija

Kod izrade aplikacije za ovaj rad koristišten je Linux Mint operativni sustav kao klijentsko

računalo, dok se za serverski operacijski sustav koristio CentOS. Oracle Database Express Edition XE

instalira se na server, dok s klijentskog računala pomoću URL-a aplikacije klijenti pristupaju samoj

aplikaciji. Više o procesu instaliranja Oracle baze i pristupu aplikaciji pisati će u nastavku ovoga rada.

12

Page 13: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

4. Osnove SQL jezika

Structured Query Language (SQL) najpoznatiji je računalni jezik koji se koristi za izradu

baze podataka i manipulacijom podataka u bazi. Napravljen je po uzoru na relacijski model Edgar F.

Codda predstavljenog u njegovom radu "A Relational Model of Data for Large Shared Data Banks"

koji je objavljen u časopisu „Association for Computing Machinery“ 1970. godine. Razvila ga je

američka tvrtka IBM, gdje je razvijena baza podataka pod nazivom „System R“, a zadatak tada zvanog

“Structured English Query Language (SEQUEL) “ bilo je upravljanje tom bazom podataka. Kratica

SEQUEL kasnije je promijenjena u SQL, jer je tada naziv „SEQUEL“ koristila jedna zrakoplovna

tvrtka u Ujedinjenom Kraljevstvu. SQL je standardiziran preko standarda ANSI (American National

Standards Institute) 1986. godine i ISO (International Organization for Standardization) 1987. godine,

te je postao referentni jezik za relacijske baze podataka (Wikipedia, 2013.)

U današnje vrijeme postoje različite verzije SQL jezika, koje su u osnovici veoma slične.

Postoje neke razlike u sintaksama i tipovima podataka, međutim tipovi podataka koje sadržavaju sve

verzije SQL – a su :

• NUMBER - brojevni tip podatka (cijeli, negativni, decimalni)

• INTEGER - cijeli brojevi

• CHAR - niz podataka fiksne duljine

• VARCHAR - niz podataka varijabilne duljine

• DATE/TIME – tip podatka koji označava datum/vrijeme

13

Page 14: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

4.1. Naredbe u SQL -u

Naredbe u SQL- u dijele se u četiri osnovne kategorije:

• DDL (Data Definition Language)

• DML (Data Manipulation Language)

• DCL (Data Control Language)

• TCL (Transaction Control Language)

DDL, odnosno Data Definition Language naredbe koriste se kod kreiranja i brisanja tablica,

indeksa i pogleda unutar baze. Osnovne naredbe koje se koriste u SQL-u su :

• CREATE TABLE - služi za stvaranje nove tablice

• CREATE INDEX - služi za stvaranje novog indexa

• CREATE VIEW – služi za stvaranje novog pogleda

• ALTER TABLE – služi za izmjenu postojećeg objekta u bazi

• DROP TABLE – služi za uklanjanje tablice iz baze podataka

• DROP VIEW – služi za uklanjanje pogleda iz baze podataka

• DROP INDEX - služi za uklanjanje indeksa iz baze podataka

DML naredbe koriste se kod dohvaćanja podataka iz baze (SELECT naredba) , upisivanje

podataka u tablice (INSERT naredba) , ažuriranje podataka u bazi (UPDATE naredba) , te brisanja

podataka (DELETE) . Primjere DML i DDL naredbi biti će prikazane u praktičnom dijelu rada s

Oracle bazom i alatom Oracle SQL Developer.

14

Page 15: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Pomoću DCL naredbi u SQL-u možemo dodati određena prava u radu s bazom podataka

( naredba GRANT) , ali i oduzeti ih ( naredba REVOKE) .

TCL naredbe služe za upravljanje transakcijama. Pomoću naredbe COMMIT spremaju se i

potvrđuju promjene u bazi, dok pomoću naredbe ROLLBACK vraćaju se učinjene promjene od

posljednje COMMIT naredbe.

4.2. Operatori u SQL-u

Aritmetički operatori djeluju nad brojčanim vrijednostima, te se koriste kod aritmetičkih

operacija prilikom upita u SQL -u . Neki od njih su: zbrajanje ( + ) , oduzimanje (-) , dijeljenje (/) i

množenje ( * ) (Thomas , 2009)

Operatori uspoređivanja koriste se kod uspoređivanja uvjeta u upitima. To su operatori: jednako

(=) , manje (<), više (>), manje ili jednako (<=), veće ili jednako (>=) .

Logički operatori uspoređuju dva uvjeta istovremeno. Ovdje ću navesti samo neke: operator OR

označava da barem jedan od uvjeta mora biti zadovoljen, dok kod operatora AND svi navedeni uvjeti

moraju biti istiniti, te operator NOT gdje svi navedeni uvjeti moraju biti lažni. (Kemić , 2013. )

Specijalni operatori koriste se s WHERE uvjetom , a u njih spadaju : EXIST – pomoću njega

provjeravamo da li uvjet vraća vrijednost, BETWEEN – koristi se kako bi se utvrdilo da li je vrijednost

atributa unutar zadanih vrijednost, operator IS NULL utvrđuje da li atribut ima vrijednost null.

4.3. Zbirne funkcije u SQL-u

U sljedećim redovima biti će navedene zbirne ili grupne funkcije koje se koriste kod rada s

brojevnim vrijednostima unutar baza podataka:

• COUNT – vraća zbroj redova koji sadrže određenu vrijednost

15

Page 16: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

• MIN – vraća najmanju vrijednost atributa iz upita nad kojima se vrši funkcija

• MAX – vraća najveću vrijednost atributa iz upita nad kojima se vrši funkcija

• SUM – suma svih vrijednosti atributa

• AVG – prosječna vrijednost atributa

5. Instalacija Oracle Database Express Edition (XE)

5.1. Pripreme za instalaciju

Kao dobra priprema za instalaciju Oracle baze u Linux operativnom sustavu poslužit će tablica

2.1. koja je već navedena u uvodu, a na kojoj se nalaze službeni zahtjevi Oraclea za resursima.

Najvažniji zahtjevi su oni za radnom memorijom (RAM) od minimalno 256 MB, dok je 512 MB

preporučljivo, te diskovnog prostora od minimalno 1.5 GB Kao što sam već spomenuo kod Oracle

Database XE, maksimalna količina podataka koja se može pohraniti u bazu je 11 GB, maksimalna

količina radne memorije koja može biti dodijeljena Oracle XE je 1 GB , a ako je baza instalirana na

višejezgreno računalo, Oracle XE koristi će ekvivalent jedne jezgre, tj. ako na računalu imamo dvije

jezgre, baza će procesuirati upite na razini samo jedne jezgre. Za korištenje više mogućnosti Oracle

baze podataka koriste se komercijalne inačice Oracle Database 11g Standard Edition, Oracle Database

11g Standard Edition One ili Oracle Database 11g Enterprise Edition ( Oracle Publishing , 2011. )

Obavezna procedura prije instalacije Oracle XE-a je proučiti detaljnu korisničku dokumentaciju

za instalaciju baze koja se može naći na Oracleovim stranicama docs.oracle.com ( Oracle Publishing,

2011) u kojoj su navedena poglavlja:

• Uvod

• Zahtjevi Oracle XE baze

• Ograničenja u licenciranju

• Instalacija Oracle XE baze

• Pokretanje Oracle XE baze

• Deinstalacija Oracle XE baze

• Importiranje i eksportiranje podataka između 10.2 XE verzije i 11.2 XE verzije

16

Page 17: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

• Prijavljivanje povredivosti sigurnosti baze

• Podešavanje jezičnih postavki Oracle XE baze

• Dostupnost dokumentacije

Veoma je bitno proći sva poglavlja i dobro razumjeti korake same instalacije. Osobe koje

nemaju iskustva s korištenjem Linux operativnih sustava mogle bi naići na eventualne poteškoće oko

korištenja terminala. Terminal je Linuxova komanda linija koja se može usporediti s Microsoftovim

command line-om . U njega se upisuju naredbe za izvršavanje na razini operativnog sustava. Sve

naredbe koje se javljaju tijekom instalacije biti će objašnjene u samom dijelu postupka instalacije

Oracle XE baze.

5.2. Preuzimanje Oracle Database Express Edition 11 g (XE)

Preuzimanje Oracle XE baze vrši se preko službene Oracle internet stranice. Prije svega

potrebna je registracija na stranicu gdje je potrebno pristati na uvijete korištenja, te pristupiti

preuzimanju paketa koji sadrži bazu. Registracija se vrši na stranici www.oracle.com pod odjeljkom

“Sign in /Register” ( prijava / registracija) , koji vodi na formu za prijavu u stranicu. Ako ste postojeći

korisnik na formi se upisuje vaše korisničko ime i lozinka, te se vrši prijava na stranicu. Ako još nemate

kreiran korisnički račun kliknite na “Create Account” ( Kreiraj račun) koji Vas vodi na formu za

registraciju. U ovoj formi morate upisati osobne podatke kao što su: e-mail adresa koja će služiti kao

Vaše korisničko ime, lozinka, država iz koje dolazite, ime i prezime, ime radnog mjesta i ostale podatke

koje forma zahtjeva od vas,a koji su prikazani na slici 5.2.1.

17

Page 18: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 5.2.1. Kreiranje korisničkog računa na Oracle stranici

Nakon registracije i prve prijave, vrši se preusmjeravanje na početnu stranicu www.oracle.com ,

te se nastavlja na odjeljak “Downloads” ( Preuzimanja ) gdje se iz popisa odabire Oracle Database 11g

Express Edition, time se vrši preusmjeravanje na početnu stranicu Oracle XE baze. Sama stranica je

veoma korisna, te ju autor također preporučuje za proučavanje prije same instalacije baze. Ovdje se

mogu naći sve potrebne informacije, kao što su: općeniti opisi baze, stranica za preuzimanje baze,

dokumentacija o bazi koja uključuje i dokumentaciju za instalaciju, te forum o diskusijama za

informiranje i pomoć.

Za preuzimanje Oracle Database 11g Express Edition odabire se opcija “Downloads”

(Preuzimanja) , te je obavezan korak prihvaćanje Oracle uvijeta korištenja i klikom na link Oracle

Database Express Edition 11g Release 2 for Linux x64 preuzima se baza i pohranjuje na lokalno

18

Page 19: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

računalo. Prikaz stranice za preuzimanje baze nalazi se na slici 5.2.2.

Slika 5.2.2. Stranica za preuzimanje paketa Oracle Database 11g Express Edition (XE)

19

Page 20: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

5.3. Instalacija Oracle Database 11g Express Edition (XE)

Kako bi orijentacija unutar instalacije bila lakša, u Home particiji na CentOS operativnom

sustavu u mapi pod nazivom Branko, kreirana je nova mapa naziva Oracle. Pritsup Terminalu, vrši

se na radnoj površini s početnog menija odabirom “Applications” prozora u kojem se nalazi Terminal

ikona. Kod izvršavanja naredbi prilikom instalacije Oracle baze preporučljivo je biti prijavljen kao root

korisnik. U Linux operativnom sustavu, root korisnik ima administratorska prava prilikom rada u

samom sustavu. Logiranje unutar Terminala kao root korisnika vrši se upisom naredbe su i pritiskom

tipke Enter . Sustav će zahtijevati administratorsku /root lozinku, te nakon točnog upisivanja iste, biti

će ulogiran kao root korisnik. Postupak upisivanja s naredbe i lozinke unutar Terminala prikazan je na

slici 5.3. 1.

Slika br. 5.3.1Prijava kao root korisnik u Terminalu

Pomoću Terminala vrši se pozicioniranje u mapu gdje je pohranjena zapakirana Oracle XE bazu

koja je preuzeta sa službene stranice, a čiji postupak je opisan u poglavlju 5.2. U projektu kojeg je

autor izradio, puna putanja do mape glasi home/Branko/oracle , te se u nju pozicioniramo upisujući

naredbu cd /home/Branko/oracle . Primjećuje se kako je pokazivač na direktorij u kojem se nalazimo

s lijeve strane Terminala, promijenio iz [root@ Branko Branko]# u [root@ Branko oracle]# .

Raspakiravanje paketa Oracle XE vrši se pomoću naredbe unzip -q

oracle-xe-11.2.0-1.0.x86_64.rpm.zip , te se automatski stvara mapa pod nazivom Disk 1. Ulazak u

mapu vrši se pomoću naredbe cd Disk1 , a ispis dostupnih datoteka unutar mape naredbom ls . Vidljivo

je kako postoje tri datoteke naziva oracle-xe-11.2.0-1.0.x86_64.rpm , response i upgrade . RPM

(RPM Red Hat Package Manager) ekstenzija označava kolekciju softvera unutar Linuxa (posebice Red

Hat obitelji) koji automatiziraju procese instalacije, ažuriranja, konfiguracije ili brisanja softverskih

paketa.

20

Page 21: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Pokretanje rpm paketa izvršava se naredbom rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm i

pritiskom tipke Enter , koja označava automatsko pokretanje instalacije paketa. Unutar Terminala

ispisuje se status pripremanja instalacije i samog postupka instalacije (oboje u postotcima) . Kada je

instalacija privedena kraju ispisuje se poruka “Executing post-install steps...” , te “ You must run

'/etc/init.d/oracle-xe configure' as the root user to configure the database.” . Čitav proces

raspakiravanja paketa i pokretanja instalacije baze prikazan je na slici 5.3.2.

Slika 5.3.2. Proces raspakiravanja i pokretanja instalacije Oracle baze

Sljedeći korak je konfiguriranje Oracle XE 11g baze. Kao što je bila pokazana poruka u

Terminalu nakon instalacije : “You must run '/etc/init.d/oracle-xe configure' as the root user to

configure the database.” , koja označava putanju do konfiguracije baze smještenu u folderu /etc/init.d

, te upozorenje da naredba mora biti pokrenuta s root pravima. Izvršavanjem naredbe u Terminalu,

pokreće se konfiguracijski proces Oracle baze u kojem se definira portovi za HTTP koji je zadan na

broj 8080 , port za Listener baze na broju 1521 i nije ih potrebno mijenjati , te upisivanje lozinke koja

će služiti kod ulogiranja u bazu, kao i zahtjeva potvrde hoće se baza podizati pri pokretanju sistema.

Ovaj proces prikazan je na slici 5.3.3.

21

Page 22: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 5.3.3 Konfiguracija postavki baze

Postavljanje potrebnih varijabli za Oracle okruženje izvršava se pomoću oracle_env.sh skripte.

Kako bi se lokalizirala i pokrenula skripta upisuje se naredba cd/u01/app/oracle/product/11.2.0/xe/bin

koja vrši prebacivanje u folder u kojem je skripta smještena. Pokretanje oracle_env.sh skripte vrši se

pomoću naredbe : . ./oracle_env.sh .

Sljedeći korak je pristup alatu pod nazivom SQL*Plus, koje je Oracleov alat za rad s SQL -om

na bazi. Kao što je spomenuto, za rad s upitima u bazi podataka koristit će se Oracle SQL Developer,

no SQL*Plus je također veoma koristan i moćan alat koji preko komandne linije omogućava rad s SQL

i PL/SQL upitima i naredbama. Logiranje se vrši u Terminalu upisom naredbe sqlplus /nolog , te se

spajanje na bazu vrši naredbom connect sys as sysdba , gdje će biti zatražena lozinka koju smo

definirali u prethodnim koracima.

22

Page 23: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 5.3.4. Prijava u alat SQL*Plus

Ako se nakon spajanja na bazu pojavi poruka da je spajanje uspješno izvršeno (eng.

“Connected” ) Baza je pokrenuta i radi, te je instalacija uspješno izvršena.

Nakon uspješne instalacije na CentOS operativnom sustavu u glavnom meniju pod

Applications, može se vidjeti instalirana baza s nazivom Oracle Database 11g Express Edition u

kojoj su sadržane opcije vezane uz bazu:

• Pomoć (sadrži putanju do online foruma, dokumentaciju vezanu uz bazu, te putanju do

registracije na online forum)

• Stvaranje sigurnosne kopije baze

• Prvo korištenje baze

• Vraćanje pospremljene baze

• Pokretanje SQL komandne linije (SQL*Plus)

• Pokretanje baze

• Zaustavljanje rada baze

Opcije sa navedeng menija prikazane su na slici 5.3.5.

23

Page 24: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 5.3.5. Meni s opcijama Oracle baze

Kod konfiguriranja baze postavljeno je da se ona automatski pokreće prilikom podizanja

sistema, no pokretanje i zaustavljanje baze može se izvršiti na dva načina:

• Putem menija pritiskom na Start Database za pokretanje ili Stop Database za zaustavljanje

rada baze

• Putem komandne linije Terminala izvršavanjem naredbi :

/etc/init.d/oracle-xe start - za pokretanje baze

etc/init.d/oracle-xe stop -za zaustavljanje baze

Kako bi se omogućio udaljeni pristup grafičkom sučelju Oracle Database 11g Express Edition ,

ali i Oracle Application Expressu , potrebno je u SQL*Plusu pokrenuti SQL naredbu koja će to

omogućiti:

24

Page 25: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

Nakon uspješnog izvršavanja naredbe pojavit će se poruka :

“ PL/SQL procedure successfully completed. “

Pristupanje grafičkom sučelju baze vrši se upisivanjem putanje u URL polje Internet

pretraživača :

http://localhost:8080/apex/f?p=4950:1

Localhost se može zamijeniti IP adresom servera , ako se ne radi o lokalno instaliranoj bazi.

Ulazak u grafičko sučelje vrši se upisivanjem korisničkog imena i lozinke administratora baze. Na

ovome mjestu vrši se administracija baze pomoću sekcija:

• Pregled trenutno zauzetog prostora baze (podsjećamo, kod Oracle XE je maksimalno moguće

iskoristiti do 11 gigabajta prostora)

• Pregled sesija baze

• Pregled parametara

• Upravljanje Oracle Application Expressom

25

Page 26: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 5.3.6. Grafičko sučelje Oracle Database 11g Express Edition (XE)

26

Page 27: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

6. Instalacija Oracle Application Expressa (APEX)

Kao što je autor već spomenuo, instalacijom baze Oracle Database 11g Express Edition vrši se

i instalacija samog Oracle Application Expressa verzije 4.1. (u daljnjem tekstu APEX) , no potrebno je

definirati administratorsku lozinku za prijavu u APEX. To se vrši pokretanjem sljedeće naredbe u SQL

*Plusu :

@/u01/app/oracle/product/11.2.0/xe/apex/apxchpwd.sql

Nakon pokretanja naredbe upisuje se lozinka koja će služiti za prijavu u Oracle APEX.

Procedura unutar alata SQL*Plus prikazana je na slici 6.1.1.

Slika 6.1. 1.Definiranje administratorske lozinke za Oracle APEX

Pristup grafičkom sučelju vrši se putem poveznice:

http://localhost:8080/apex/f?p=4550:1

Localhost se zamijeni imenom servera gdje je baza instalirana ili upisom IP adrese, ako baza nije

instalirana lokalno. Početni zaslon za prijavu u APEX prikazan je na slici 6.1.2.

27

Page 28: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 6.1.2. Početni zaslon za prijavu u APEX

Podatci koje je potrebno upisati u polja za pristup administratorskom dijelu aplikacije su:

• Workspace : INTERNAL

• Username: ADMIN

• Password: lozinka definirana pokretanjem naredbe u SQL*Plusu

Sam rad u administratorskom podrućju Oracle APEX-a biti će upisan u nastavku ovog rada.

28

Page 29: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

6.1. Instalacija Oracle Application Expressa (APEX) verzije 4.2.3.

Kao što je spomenuto, instalacijom Oracle XE 11 g baze dobiva se i Oracle Application

Express (APEX) alat verzije 4.1. za izradu web aplikacija u suradnji s bazom. Više o samim odlikama

ovog alata pisano je u poglavlju o povijesti APEX-a . Posljednja stabilna verzija u vrijeme pisanja ovog

rada je 4.2.5 , dok je APEX verzija 4.3. u testnoj (“early adopter fazi” ) te ju je moguće testirati preko

Oracle-ovih APEX stranica u oblaku. Izrada aplikacije “Ljudski potencijali” za potrebe ovoga rada

razvijena je u APEX verziji 4.2.3. Novosti koje je ova verzija donijela, osim poboljšane i

osuvremenjene navigacije u alatu su :

• Mogućnost izrade aplikacija za mobilne uređaje

• Teme za aplikacije prilagođene mobilnim uređajima

• HTML 5 grafovi

• Mobilni kalendari

• Paket aplikacija za razvoj poslovnog okruženja

Opcija klasičnog ažuriranja na verziju 4.2.3 nije moguća, već je potrebno skinuti instalacijski

paket s Oracle-ovih korisničkih stranica gdje se nalazi i sama Oracle XE 11 g baza, te u potpunosti

instalirati novu verziju aplikacije. Prije samog ažuriranja potrebno je napraviti sigurnosnu pohranu baze

kako se podatci ne bi izgubili.

Za preuzimanje instalacijskog paketa potrebno je otići na službene Oracle stranice

www.oracle.com , te pod sekcijom Downloads i odabirati Oracle Application Express. Kao i kod

preuzimanja paketa s Oracle bazom, potrebno je biti registriran sa svojim korisničkim imenom i pristati

na uvijete korištenja. Vrši se odabir verzije koja se želi preuzeti, te se paket pohranjuje na lokalni

diskovni prostor.

29

Page 30: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 6.1.1. Preuzimanje instalacijskog paketa Oracle APEX

Raspakiravanje paketa može se izvršiti na dva načina:

• Označivanjem instalacijskog paketa na čvrstom disku, te desnom tipkom miša otvara se

izbornik s opcijama. Odabire se “extract here” , te će započeti proces raspakiravanja paketa

prikazanog na slici 6.1.2.

30

Page 31: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 6.1.2.Proces raspakiravanja instalacijskog paketa

• Drugi je način putem Terminala pozicioniranjem u mapu gdje je APEX preuzet, kao u mom

slučaju naredbom cd/home/Branko/oracle , te pokretanjem naredbe unzip apex_4.2.3.zip

Nakon što se instalacijski paket raspakirao , naredbom cd apex_4.2.3. vrši se premještanje u

raspakirani direktorij, te se izvršava prijavljivanje u SQL*Plus alat naredbom sqlplus /nolog , a nakon

toga spanje na bazu pomoću naredbe CONNECT SYS as SYSDBA .

Instalacija Oracle APEX-a izvršava se pokretanjem naredbe :

@apexins.sql sysaux sysaux temp /i/

gdje je :

• apexins.sql - SQL instalacijska skripta

• sysaux - ime tzv. Tablespacea za korisnika APEXA

31

Page 32: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

• sysaux – ime tablespacea za mape APEX korisnika

• temp – privremeni tablespace

• /i/ - virtualni direktorij koji sadrži slike

Nakon što je instalacijska skripta završila svoj proces, potrebno je još instalirati ikone i slike

koje Oracle APEX koristi u svom radu . U alatu SQL *Plus i dalje je potrebno biti prijavljen na bazu

kao administrator, te pokrenuti skriptu apxldimg.sql iz direktorija gdje je apex instaliran, što je u

ovome slučaju u direktoriju root. Izvršavanje naredbe prikazano je na slici 6.1.3.

Slika 6.1.3. Pokretanje skripte za instalaciju slika

Posljednji korak u instalaciji je pokretanje SQL skripte naziva apxconf , pomoću koje se

određuje administratorsku lozinku i port koji će APEX koristiti. Kao što je autor već spomenuo

standardni port je 8080 , te ga nije potrebno mijenjati. Skripta se pokreće u SQL* Plusu naredbom

@apxconf .

32

Page 33: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

7. Administracija Oracle Application Expressa (APEX)

Administracija Oracle APEX-a vrši se preko internet preglednika upisivanjem adrese :

http://localhost:8080/apex/apex_admin

Gdje se oznaka localhost zamjenjuje nazivom servera, ako Oracle baza nije instalirana lokalno

na računalu. Kao što je spomenuto u poglavlju br. 6. ulazak u administratorski dio APEX-a vrši se

upisivanjem sljedećih podataka :

• Username: ADMIN

• Password: lozinka definirana instalacijom APEX-a

Slika 7.1.1. Zaslon za prijavu u administratorski dio Oracle APEX-a

33

Page 34: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Ulaskom u administratorski dio aplikacije Oracle APEX otvara se početni zaslon prikazan na

slici 7.1.2.

Slika 7.1.2. Početni zaslon administracijskog dijela APEX-a

Neke od glavnih operacija koje se mogu izvršavati prilikom administracije su:

• Upravljanje zahtjevima

• Upravljanje instancama

• Upravljanje radnim površinama

• Nadgledanje aktivnosti nad aplikacijama

Kreiranje nove radne površine ( eng. Workspace) vrši se ulaskom u sekciju naziva “Manage

Workspaces” . Radna površina ( eng. Workspace ) je radni prostor u kojem se razvijaju aplikacije, te

34

Page 35: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

svaka radna površina može sadržavati više aplikacija Osim kreiranja radnih površina, u

administratorskom dijelu vezanog uz radne površine, moguće ih je brisati, zaključavati, importirati,

eksportirati , pretraživati itd. Kreiranje i administraciju radnih površina detaljnije će biti prikazane u

praktičnom dijelu rada kod opisa kreiranja aplikacije “Ljudski potencijali” .

8. Instalacija Oracle SQL Developera

Oracle SQL Developer je besplatan,ali veoma moćan alat za rad s Oracle bazom i SQL

upitima. Pomoću njega moguće je kreirati okidače, tablice, poglede, sekvence, brisati tablice, kreirati

upite i mnogo drugih stvari koje zahtjeva rad s bazom. Oracle SQL Developer ne iziskuje posebnu

35

Page 36: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

klasičnu instalaciju, sve što je potrebno je preuzeti paket s alatom na službenim Oracle stranicama i

raspakirati ga u mapu koja mu je namijenjena . Ono što je potrebno za rad sa SQL Developerom je

JDK (Java SE development Kit) od verzije 7 na dalje. Ako JDK nije instaliran na računalu, poveznica

za preuzimanje također je navedena na stranici za preuzimanje Oracle SQL Developera. Potrebno je

biti prijavljen na Oracle stranice s korisničkim imenom i lozinkom, te prije preuzimanja pristati na

uvijete korištenja.

Kada je paket s alatom pohranjen na računalo, raspakiravanje je moguće izvršiti dva načina:

• Označavanjem paketa u mapi gdje je pohranjen, te pritiskom desne tipke miša odabirom opcije:

“extract here”

Slika 8.1. 1. Raspakiravanje Oracle SQL Developera pomoču desne tipke miša

• Pomoću komandne linije Terminala. Pozicioniranjem se u mapu gdje je paket pohranjen

snaredbom cd . U mom slučaju naredba izgleda ovako:

36

Page 37: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

cd /home/Branko/Oracle

Unutar Oracle mape, gdje je pohranjen paket Oracle SQL Developera , raspakiravanje se

izvršava upisom sljedeće naredbe:

rpm -Uvh sqldeveloper-3.2.20.09.87-1.noarch.rpm

Nakon procesa raspakiravanja , alat je spreman za uporabu, te se pokreće dvostrukim pritiskom

miša na ikonu unutar raspakirane mape, ili upisom u terminal naredbe:

sqldeveloper

Slika 8.1.2. Raspakiravanje Oracle SQL Developer alata u Terminalu

Više o mogućnostima Oracle SQL Developer alata, kao i konfiguriranje spajanja na bazu

podataka, autor će opisati u praktičnom dijelu aplikacije kod rada s aplikacijom “Ljudskim

potencijalima”.

37

Page 38: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

9. Aplikacija “Ljudski potencijali”

Aplikacija “Ljudski potencijali “ napravljena je kako bi olakšala rad pri dokumentiranju popisa i

informacija o zaposlenicima, rasporedu godišnjih odmora, rasporedu i danima bolovanja radnika,

38

Page 39: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

rasporedu definiranih dana kolektivnih godišnjih odmora, te grafičkom prikazu zaposlenika po stručnoj

spremi.

Aplikacija je namijenjena zaposlenicima odjela ljudskih potencijala unutar organizacije kako bi

na centraliziranom mjestu imali objedinjene informacije osnovnih podataka o radnicima kao što je:

mjesto prebivanja, stručna sprema, datum i godina rođenja, te ostale osnovne informacije o

zaposlenicima. Također, omogućuje im pregled i definiranje rasporeda godišnjih odmora, dana

kolektivnih godišnjih odmora i bolovanja unutar organizacije, kao i grafički prikaz stručne spreme

zaposlenika koji su uneseni u aplikaciju.

Isto tako aplikacija je namijenjena rukovodstvu i referentima na razini cijele organizacije , ali i

po pojedinim odijelima unutar nje, kako bi imali mogućnost pregleda i unosa informacija o

zaposlenicima, godišnjim odmorima, bolovanju i obrazovanju zaposlenika.

Kao što je rečeno u dosadašnjem dijelu rada, aplikacija je temeljena na Oracle Database 11g

Express Edition bazi podataka instaliranoj na CentOS serveru, grafičko i funkcionalno sučelje za

pregled i upis podataka u bazu izrađeno je u Oracle Application Express (APEX) alatu, nadzor nad

bazom podataka, izrada tablica, okidača, pogleda, sekvenci i ostalih potrebnih radnji vezano uz bazu u

potpunosti je provedeno u Oracle SQL Developer alatu. Aplikaciji se pristupa pomoću Internet

preglednika upisom adrese aplikacije unutar URL polja.

9.1. Osnovni pregled aplikacije “Ljudski potencijali”

U ovom poglavlju autor će prikazati navigaciju kroz aplikaciju iz pogleda korisnika, dok ćee

sam opis izrade i razvoja aplikacije opisati u posebnom odjeljku. Kao što je spomenuto, aplikaciji se

39

Page 40: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

pristupa preko Internet preglednika upisom adrese aplikacije unutar URL polja. Oracle APEX

aplikacije podržavaju sve poznatije Internet preglednike : Mozilla Firefox, Opera, Internet Explorer,

Safari, te Google Chrome. U dosadašnjem radu s izradom aplikacija u Oracle APEX-u autor je

primijetio kako se najbolji rezultati aplikacije postižu uporabom Mozilla Firefox preglednika, dok kod

Internet Explorera iznad verzije br. 8 primijećene su određeni probleme pri radu s pluginovima,

gantogramima i popup prozorima u aplikaciji.

Oblik izgleda adrese može izgledati na sljedeća tri načina:

• Ako je Oracle baza instalirana lokalno na računalo:

http://localhost:8080/apex/f?p=117

gdje localhost označava lokalnu bazu podataka, 8080 broj HTTP porta, apex naziv Oracle

Application Express alata, dok f?p=117 označava broj početne stranice aplikacije kroz koju se vrši

prijava korisnika. Ovisno o izgradnji aplikacije, broj stranice za pristup aplikaciji može varirati.

• Upisom IP adrese na kojoj je Oracle baza smještena. Kod testiranja aplikacije, Oracle baza je

bila smještena na virtualni CentOS server instaliran pomoću Oracle Virtual Box alata za

virtualizaciju, dok je klijentsko računalo imalo Linux Mint 16 operativni sustav.Ukoliko se

željelo sa Linux Minta pristupiti aplikaciji, bilo je potrebno saznati IP adresu virtualnog servera.

U CentOS virtualnom serveru, pomoću komande linije Terminala, upisom naredbe ifconfig

dobiva se IP adresa servera, kao što je prikazano na slici 9.1.1.

40

Page 41: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 9.1.1. IP adresa na virtualnom serveru

Kao što se vidi iz prozora Terminala, IP adresa glasi: 192.168.43.169 ,te bi izgled adrese za

pristup aplikaciji glasio:

http://192.168.43.169:8080/apex/f?p=117

Veoma je slična onoj iz prethodnog primjera, osim što je naziv localhost zamijenjen IP adresom

servera

• Upisom naziva domene na kojem je smještena Oracle baza. Recimo da je naziv domene

int.tvrtka.hr , adresa bi glasila:

http://apex.int.tvrtka.hr/apex/f?p=117

41

Page 42: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Kada je upisana točna adresa aplikacije otvara se zaslon za prijavu u aplikaciju gdje se upisuje

korisničko ime i lozinka koju je za određenog korisnika definirao administrator aplikacije. Zaslon za

prijavu u aplikaciju “Ljudski potencijali” vidljiv je na slici 9.1.2.

Slika 9.1.2.Stranica za prijavu u aplikaciju

Valjanim upisom korisničkog imena i lozinke, te pritiskom gumba “Prijava” , aplikacija

preusmjerava na početnu stranicu koja je prikazana na slici 9.1.3.

Slka 9.1.3. Početna stranica aplikacije

Sama aplikacija podijeljena je u nekoliko funkcionalnih dijelova, čije se poveznice nalaze u

glavnom tabulatoru:

• Početna stranica – poveznica za povratak na početnu stranicu

• Upravljanje kadrovima – služi za upis i uređivanje podataka o radnicima, kao i pregled

trenutno zaposlenih radnika i osnovne informacije o njima

• Pregled godišnjih odmora – poveznica koja vodi na dio aplikacije namijenjenom za upisivanje

42

Page 43: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

i pregled raspored godišnjih odmora po pojedinom radniku

• Pregled bolovanja – pomoću ovog dijela aplikacije možemo upisivati i pratiti dane bolovanja

radnika

• Statistika – grafički prikaz radnika po stručnoj spremi

Osnovna navigacija kroz aplikaciju vrši se preko glavnog tabulatora koji vodi na gore navedene

dijelove aplikacije.

9.2. Upravljanje kadrovima

Pritiskom na poveznicu “Upravljanje kadrovima” na glavnom tabulatoru aplikacija vrši se

automatsko preusmjeravanje na dio namijenjen odijelu upisa , izmjena i pregleda osnovnih podataka o

trenutno zaposlenim radnicima. Početna stranica “Upravljanja kadrovima” prikazana je na slici 9.2.1.

Slika 9.2.1. Početna stranica “Upravljanja kadrovima”

Kao što je vidljivo na početnoj stranici imamo navedene su dvije poveznice :

• Pregled zaposlenika – sadrži popis svih zaposlenika unesenih u aplikaciju gdje su navedene

osnovne informacije o njima. Ovdje se također vrši i uređivanje, te izmjena podataka o

zaposlenicima

• Unos zaposlenika – služi za upis ovih radnika kao i unos potrebnih informacijama o njima u

bazu podataka

43

Page 44: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Odabirom poveznice “Pregled zaposlenika” otvorit će se stranica koja sadrži izvještaj s

popisom zaposlenika unesenih u bazu podataka. Ovaj dio aplikacije prikazan je na slici 9.2.2.

Slika 9.2.2. Pregled zaposlenika unesenih u bazu podataka

Stranica s pregledom zaposlenika sadrži osnovni sadržaj Oracle APEXa koji se kreira pomoću

SQL upita, što će autor opisati u samom dijelu izrade aplikacije. Kao što je vidljivo, izvještaj sadrži

polja za uređivanje korisnika, imenom, prezimenom, spolom, mjestom rođenja, mjesto prebivanja,

datumom zaposlenja, JMBG-om ili OIB-om, bračnim statusom, stručnom spremom, odjelom kojem

radnik pripada, radnim mjestom na koje je raspoređen, te napomenom o radniku ako je unesena.

Ako prava u samoj aplikaciji dopuštaju, moguće je uređivati podatke o radniku, izmijeniti ih i

pohraniti u bazu podataka. Forma za izmjenu podataka o radnicima ista je kao i forma za unos

zaposlenika koju ću opisati u nastavku ovog poglavlja. Pritiskom na ikonicu za uređivanje pokraj

imena radnika, aplikacija preusmjerava na formu za izmjenu podataka o radniku.

44

Page 45: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 9.2.3. Forma za uređivanje podataka o radniku

Ako je potrebno izmijeniti pojedini podatak o radniku, pozicionira se u polje koje se želi

promijeniti. Kada su izmijene izvršene, promjene u bazi podataka izvršavaju se pritiskom na gumb

“Snimi promjene” na formi. Ako je potrebno obrisati radnika , te prava u aplikaciji to dopuštaju,

pritiskom gumba “Izbriši” upisani radnik i sve informacije unesene o njemu biti će izbrisane. Gumb

“Odustani” vrši vraćanje na izvještaj s popisom zaposlenika.

Unos zaposlenika izvršava se pritiskom na poveznicu “Unos zaposlenika” s početne stranice

odjeljka “Upravljanje kadrovima” koja je prikazana na slici 9.2.1. Aplikacija automatski

preusmjerava korisnika na formu pomoću koje se unose zaposlenici i definiraju potrebne informacije o

njima. Forma za unos prikazana je na slici 9.2.4

45

Page 46: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 9.2.4. Forma za unos zaposlenika

9.3. Pregled godišnjih odmora

Pritiskom tipke miša na poveznicu “Pregled godišnjih odmora” u glavnom tabulatoru, aplikacija

automatski preusmjerava korisnika na stranicu za upravljanje godišnjim odmorima koja je prikazana na

slici 9.3.1.

Slika 9.3.1.Pregled početne stranice godisnjih odmora

Kao što se vidi sa slike, početna stranica dijela aplikacije pod nazivom “Pregled godišnjih

odmora” ima ponuđene tri poveznice:

46

Page 47: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

• Unos godišnjeg odmora

• Raspored godišnjih odmora

• Kolektivni godišnji odmor

Pritiskom tipke miša na poveznicu “Unos godišnjeg odmora” vrši se preusmjeravanje na formu

za unos godišnjih odmora. Ovdje se odabire radnik za kojega se unosi godišnji odmor, godina za koju

se unosi, vrsta godišnjeg (stari ili novi), koliko radnik ima raspoloživih dana na raspolaganju do sada,

da li u odabrane dane godišnjeg odmora spada i kolektivni godišnji, broj pisanih dana godišnjeg

odmora, datum početka i kraja godišnjeg odmora, datum početka i kraja odobrenih dana godišnjeg

odmora, datum kada je upisan podatak, datum eventualne izmjene, te napomena.

Slika 9.3.2. Forma za unos godišnjeg odmora

Ako je potrebno izbrisati cijeli unos, to se čini pritiskom gumba “Izbriši”, spremanje upisanih

podataka u bazu izvršava se pomoću gumba “Snimi”, dok za izlazak iz forme služi gumb “Izađi”.

Pregled do sada unesenih dana godišnjih odmora vrši se preko poveznice “ Pregled godišnjih

47

Page 48: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

odmora” na početnoj stranici dijela aplikacije namijenjenom godišnjim odmorima koja je bila

prikazana na slici 9.3.1.

Na slici 9.3.3. vidi se izvještaj s do sada unesenim podatcima o godišnjim odmorima u bazu

podataka. Kao i u primjeru kod izmjene podataka vezanih uz radnike, promjena podataka za godišnje

odmore također se vrši preko ikone “Uredi” .

Slika 9.3.3. Izvještaj o danima godišnjih odmora

Na slici 9.3.4.. prikazan je izgled forme kod uređivanja već unesenih podataka iz baze.

Slika 9.3.4. Uređivanje podataka o godišnjim odmorima

48

Page 49: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

U dijelu aplikacije pod nazivom “Kolektivni godišnji odmor” može se vidjeti mjesečni

kalendarski izvještaj unesenih dana kolektivnog godišnjeg odmora ili nacionalnih praznika RH, isto

tako u kalendar se mogu unositi važni događaji za tvrtku ili podsjetnici.

Iznad mjesečnog kalendarskog izvještaja nazale se sljedeći gumbi:

• Novi unos – služi za unos novog datuma kolektivnog godišnjeg ili važnog datuma

• Mjesečni pregled – služi za mjesečni pregled kalendara

• Pregled svih datuma – služi za popis svih do sada unesenih datuma

• Prethodni mjesec – navigacija za preusmjeravanje kalendara na prethodni mjesec

• Sljedeći mjesec- navigacija za preusmjeravanje kalendara na sljedeći mjesec

Slika 9.3.5. Prikaz kalendara s datumima kolektivog godišnjeg odmora

49

Page 50: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

9.9. Pregled bolovanja

Pristup dijelu aplikacije vezanom uz bolovanja vrši se kao i u prethodnim primjerima pomoću

poveznice “Pregled bolovanja” na glavnom tabulatoru aplikacije. Na početnoj stranici nalaze se

poveznice “Unos bolovanja” i “pregled bolovanja” kao što je vidljivo na slici 9.9.1.

Slika 9.9.1.Početna stranica “Pregled bolovanja”

Unos dana bolovanja pomoću forme vrši se preko poveznice “Unos bolovanja”, gdje se odabire

željeni radnik, početni i završni datum bolovanja, ukupan broj radnih dana bolovanja, te se ti podatci

upisuju u bazu pomoću gumba “Snimi”.

Slika 9.9.2. Unos dana bolovanja

Izvještaj o unesenim danima bolovanja prikazan je na slici 9.9.3. do kojega se pristupa pomoću

poveznice “Pregled bolovanja” na početnoj stranici dijela pregleda bolovanja,

50

Page 51: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 9.9.3. Izvještaj s pregledom dana bolovanja

Kao i kod dosadašnjih izvještaja, izmjena podataka upisanih u bazu vrši se pomoću ikonice na

poveznici “Uredi” lijevo od imena i prezimena radnika.

9.10. Pregled izvještaja

Izvještaji u poslovnim procesima, kreiraju se prema potrebama rukovodstva,kako bi im podatci

o traženom području izvještavanja bili prikazani grafički. U aplikaciji “Ljudski potencijali” kreiran je

za potrebe rada, izvještaj o zaposlenicima prema stručnoj spremi. Izvještaju se pristupa putem

poveznice Statistika, gdje aplikacija automatski preusmjerava na stranicu namijenjenu statističkim

izvještajima. Pritiskom na poveznicu “Pregled po stručnoj spremi” otvara se grafički izvještaj o

zaposlenicima, prikazan na slici 9.10.1.

51

Page 52: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 9.10.1. Izvještaj o stručnoj spremi zaposlenika

52

Page 53: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

10. Kreiranje aplikacije “Ljudski potencijali” unutar Oracle Application

Expressa (APEX)

Kod kreiranja aplikacije “Ljudski potencijali” autor se vodio metodologijom koju koristi i u

praksi izgradnja aplikacija u poslovnom okruženju tvrtke u kojoj radi. Prva stvar koju je želio

definirati su osnovni poslovni procesi koji se odvijaju unutar odjela ljudskih potencijala, te ih je

podijelio na:

• Upravljanje kadrovima – upis i praćenje podataka o zaposlenicima. Aplikacija bi pokrila ovo

područje upisivanjem podataka u bazu kako bi oni bili centralizirani, arhivirani i dostupni za

pregled u što kraćem vremenu.

• Godišnji odmori – također bitan aspekt ljudskih potencijala koji služi praćenju dana godišnjih

odmora i kolektivnih dana godišnjih odmora kako bi se vidjelo u koje su vrijeme zaposlenici

odsutni s poslova, te bi se pravovremenim planiranjem njihov opseg poslova pokrio na druge

načine.

• Pregled bolovanja – služi pregledu dana bolovanja radnika, kako bi se lakše pratio aspekt

odsutnosti radnika unutar tvrtke zbog zdravstvenih tegoba

• Statistički izvještaji – bitan statistički izvještaj je pregled zaposlenika po stručnoj spremi kako

bi vidjeli koliko postotak sačinjava određena stručna sprema

Svi navedeni procesi sadržani su u aplikaciji koja je izrađena za potrebe ovoga rada.

Kada su definirani procesi koje će aplikacija pokrivati, autor je krenuo na izradu ERA modela

aplikacije koji je opisan u sljedećem poglavlju.

53

Page 54: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

10.1. Kreiranje ERA modela aplikacije

"ERA model podataka je skraćenica od naziva Entity – Relationship – Attribute“ ( Schatten,

2012. ) što prevedeno na hrvatski znači: Entitet – Relacija- Atribut. U stranoj literaturi može se naći i

naziv ER model što znači Entity – Relationship.

“Entiteti su osnovni elementi o kojima prikupljamo informacije i za koje možemo odrediti neke

karakteristike. Primjeri entiteta su osoba, mjesto, vozilo ili bilo što drugo što se može opisati nekim

podacima, odnosno gotovo bilo što za što nam ima smisla napraviti tablicu u kojoj bi svaki red

predstavljao jednu instancu tog entiteta, kao što svaki red u tablici osoba predstavlja jednu osobu”

(Mileusnić , 2012. )

Kod izrade ERA modela prvenstveno se pristupilo izradi tablica (entiteta) koji će biti potrebni u

bazi podataka i u koje će se spremati podatci. Tablica u bazi podataka sastoji se od stupaca i redaka.

Stupci su definirani u ERA modelu, te se u redove unutar stupaca upisuju potrebni podatci u bazi

podataka. Prije nego budu prikazane tablice koje su zamišljene za kreiranje, definirat će se neki

osnovni pojmove kod tablica.

Primarni ključ je polje ili skup polja u tablici koji programu pružaju jedinstveni identifikator

za svaki redak. Oznaka je PRIMARY KEY(PK).

Primarni ključ mora zadovoljavati neka svojstva:

• Mora postojati od kreiranja i spremanja sloga.

• Mora biti jedinstven ( ne postoje dva različita sloga koja imaju jednake primarne

ključeve).

• Ne može imati NULL vrijednost ( Ne može biti prazno polje).

• Mora jednoznačno određivati ostale ne ključne atribute.

Vanjski ključ ( FOREIGN KEY- FK) – služi za povezivanje primarnog ključa jedne tablice i istu

vrijednost druge tablice.

Imena tablica i stupaca unutar ERA modela,ali i baze podataka, umjesto praznog prostora

između dužih naziva, odvajaju se podcrtom, te su im imena u sljedećim redovima definirana na isti

54

Page 55: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

način. Također, ako će se tablice uvoziti u baze koje ne podržavaju hrvatske dijakritičke znakove kao

što su č,ć,ž, itd. , imena tablica su definirana na način da ne sadrže navedene znakove.

Prva tablica nosi naziv GODISNJI_ODMOR i u nju će se opisivati podatci o godišnjim

odmorima iz aplikacije. Primarni kljuć (PK) tablice je ID_GO , dok su vanjski ključevi na slici 10.1.1.

definirani oznakom F . Na slici su također prikazani i stupci u čije redove će se upisivati podatci.

Slika 10.1.1. Tablica GODISNJI_ODMOR

Kao što se vidi na slici 10.1.1. pored imena stupaca navedeni su tipovi podataka koji će se

upisivat u bazu. Unutar zagrada pored tipa podataka, upisana je maksimalna količina podataka koje se

može upisati u to polje. Npr. Kod VRSTA_GODISNJEG tip podataka je VARCHAR , te makismalna

količina podataka koja može stati u to polje 200 bajtova.

Sljedeća tablica nosi naziv PODATCI_O_RADNIKU , i kao što joj samo ime govori, u nju će

se spremati podatci o radnicima unutar tvrtke, kao što je ime, prezime, mjesto rođenja, mjesto

prebivanja i ostali potrebni podatci o radniku. Strukturu tablice vidimo na slici 10.1.2.

55

Page 56: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.1.2. Tablica PODATCI_O_RADNIKU

Tablica KOLEKTIVNI_GODISNJI služi za upis podataka o danima kolektivnog godišnjeg

odmora koji su definirani unutar tvrtke. Ova tablica sadrži podatke kao što su : datum kolektivnog

godišnjeg odmora, godina u kojoj se nalazi kolektivni godišnji odmor, ukupan broj dana kolektivnog

godišnjeg itd. Primarni ključ tablice je ID_KOLEKTIVNI, te je struktura tablice prikazana na slici

10.1.3.

Slika 10.1.3. Tablica KOLEKTIVNI_GODISNJI

Sljedeća tablica u bazi podataka i ERA modelu nosi naziv DANI_GODISNJEG, te se u nju

upisuju podatci kao što su : raspoloživ broj dana godišnjeg, ukupan broj dana bez kolektivnog

56

Page 57: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

godišnjeg itd. Tablica je prikazana na slici 10.1.4.

Slika 10.1.4. Tablica DANI_GODISNJEG

Tablica BOLOVANJE sadrži primarni ključ ID_BOLOVANJE, te stupce BOLOVANJE_OD,

BOLOVANJE_DO, vanjski ključ ID_RADNIK, te UKUPAN_BROJ_DANA. Struktura tablice

prikazana je na slici 10.1.5.

Slika 10.1.5. Tablica BOLOVANJE

Unutar tablice GODINA nalaze se zapisi o godinama, kako bi se ti podatci lakše dohvaćali u

aplikaciji, te se ne bi morali konstantno ručno upisivati. Primarni ključ tablice nosi naziv ID_GODINA

, te je tablica prikazana na slici 10.1.6.

Slika 10.1.6. Tablica GODINA

57

Page 58: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Sljedeća tablica unutar ERA modela nosi naziv BRACNI_STATUS, te se u nju upisuju podatci

o bračnom statusu. Pomoću ove tablice, unutar aplikacije biti će lakše dohvaćati podatke o bračnom

statusu radnika, te će se onemogućiti konstantno ručno upisivanje i definiranje bračnog statusa.

Primarni kljuć tablice nosi naziv ID_BRACNI_STATUS , te je struktura tablice prikazana na slici

10.1.7.

Slika 10.1.7. Tablica BRACNI_STATUS

Unutar tablice STRUCNA_SPREMA nalaze se zapisi o stručnoj spremi zaposlenika, te ona

također služi za lakše dohvaćanje podataka o stručnoj spremi zaposlenika. Primarni ključ tablice je

ID_STRUCNA_SPREMA , a struktura cijele tablice prikazana je na slici 10.1.8.

Slika 10.1.8. Tablica STRUCNA_SPREMA

Tablica SPOL sadrži zapise o spolu, te služi za lakše dohvaćanje podataka kod definiranja spola

radnika. Tablica je prikazana na slici 10.1.9.

58

Page 59: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.1.9. Tablica SPOL

Unutar tablice RADNO_MJESTO nalaze se podatci o radnim mjestima unutar tvrtke, te se

dodjeljuju kod upisivanja podataka radnika. Primarni ključ tablice je ID_RADNO_MJESTO , te je

prikazana na slici 10.1.10.

Slika 10.1.10. Tablica RADNO_MJESTO

U tablici ODJEL definirani su nazivi odjela unutar tvrtke. Primarni ključ tablice je ID_ODJEL

, te je tablica prikazana na slici 10.1.11.

Slika 10.1.11. Tablica ODJEL

Potpuni pregled ERA modela baze podataka prikazan je na slici 10.1.12. Na modelu su

navedene sve tablice s primarnim i vanjskim ključevima, te vezama između tablica.

59

Page 60: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.1.12. ERA model baze podataka

10.2. Kreiranje konekcije na bazu unutar Oracle SQL Developer alata

Kreiranje nove konekcije na bazu u Oracle SQL Developer alatu, vrši se na glavnom prozoru

nakon podizanja samog alata. Kao što je prikazano na slici 10.2.1. S lijeve strane početnog zaslona

alata nalazi se popis s postojećim konekcijama na baze. Kreiranje nove konekcije vrši se pritiskom

desne tipke miša na ikonicu Connections i odabirom opcije New connection, nakon čega se otvara

prozor za stvaranje konekcije na bazu. Podatci koji su potrebni za stvaranje konekcije su:

• Ime konekcije – proizvoljan naziv po kojem će se prepoznati konekcija unutar alata. U ovom

60

Page 61: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

slučaju naziv konekcije je ZAVRSNI .

• Korisničko ime – dodijeljeno korisničko ime kod stvaranja baze. Korisničko ime kod

administratora baze je sys ili sysdba .

• Lozinka – također definirana kod stvaranja baze i služi kod konekcije na bazu

• Tip konekcije – odabire se osnovna (Basic) .

• Role – kada se spaja pomoću korisničkog imena programera odabire se zadanu opciju

(default) , dok kod konektiranja na bazu kao administrator, s padajućeg izbornika se odabire

SYSDBA

• Ime baze (hostname) – može se upisati IP adresa servera ili naziv poslužitelja

• Broj porta – kreiranja baze zadani broj je bio 1521, te potrebno ga nije potrebno mijenjati

• SID – baza naziva xe ,te nije potrebno mijenjati. Ako je na serveru definirana baza upisat će se

naziv baze. Primjer bi bio ODB2 ,što bi označavalo Oracle Database 2

Kada su podatci u potrebna polja upisani , pritiskom gumba "Test", vrši se testiranje konekcije

na bazu. Ako je sve uredu s unesenim podatcima, alat će javiti kako je test konekcije dobro prošao, te

se može konektirati na bazu pritiskom gumba "Connect" . Na slici 10.2.1. prikazano je kreiranje

konekcije kao administratora baze, kako bi se kreirao korisnik unutar baze i Oracle SQL Developer

alata, te izvršio pregled svih tablica unutar baze

61

Page 62: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.2.1. Kreiranje konekcije na bazu unutar Oracle SQL Developer alata

Nakon konektiranja na bazu, s lijeve strane alata u prozoru s konekcijama pojavit će se ime

novostvorene konekcije, te se pomoću oznake + pokraj ikonice i imena baze otvara padajući izbornik

koji sadrži tablice, okidače, sekvence, korisnike i ostale potrebne alate pri radu na bazi. Prozor je

prikazan na slici 10.2.2.

62

Page 63: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.2.2. Opcije unutar konekcije na bazu ZAVRSNI

Kreiranje novog korisnika na bazi vrši se pritiskom desne tipke miša na opciju "Other Users" u

Oracle SQL Developer alatu i odabirom opcije "Create New User". Otvara se novi prozor za kreiranje

korisnika unutar baze koji je prikazan na slici 10.2.3.

63

Page 64: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.2.3. Kreiranje novog korisnika u bazi podataka unutar alata Oracle SQL Developer

Kao što se vidi na slici, za kreiranje novog korisnika potrebno je upisati novo korisničko ime

("User name" ) , lozinku ("New Password") , te istu potvrditi. Ostale opcije mogu ostati

nepromijenjene. Nakon što je korisnik kreiran, pomoću novostvorenog korisničkog imena može se

konektirati na bazu kao i na slici 10.2.1. , te je potrebno upisati svoje korisničko ime i lozinku, i u

opciji role ("Role") odabirati zadano ("Default") .

64

Page 65: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

10.3. Kreiranje tablica u Oracle Database 11g Express Edition bazi podataka

Nakon izrade ERA modela u kojem su definirane tablice s primarnim i vanjskim ključevima ,

tipovi podataka unutar njih, te veze između tablica, autor je pristupio izradi tablica unutar baze

podataka. Za kreiranje tablica, poslužit će Oracle SQL Developer alat. Nakon otvaranja padajućeg

izbornika pritiskom oznake + pored ikonice i imena baze, otvara se već navedeni padajući izbornik s

opcijama. Jedna od opcija su tablice, gdje se nalazi pregled svih tablica unutar baze, te se iste mogu

kreirati, izvoziti, brisati itd. Unutar Oracle SQL Developer alata postoje dvije opcije za stvaranje

tablica:

• Prva opcija je pomoću pritiska desne tipke miša na tablice ( "Tables" ) te odabirom opcije "New

Table" . Otvorit će se prozor za kreiranje tablice unutar baze podataka gdje se definira naziv

tablice, primarni ključ, ime kolone, tip podataka kolone, maksimalna veličina prema tipu

podataka, da li podatak unutar kolone smije biti null , zadana vrijednost i komentar kolone.

Primjer je prikazan na slici 10.3.1. kod tablice podataka o radnicima. Kao što se vidi pored

kolone ID_RADNIK postoji oznaka o primarnom ključu i kvačicom je označeno da ne smije

imati vrijednost null.

65

Page 66: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.3.1. Kreiranje tablice u Oracle SQL Developeru

• Drugi način je pomoću SQL DDL naredbe. Primjer za gore navedenu tablicu nalazi se na slici

10.3.2

Slika 10.3.2. Kreiranje tablice pomoću SQL DDL naredbe

Tablica je kreirana unutar baze, te je spremna za korištenje. Kada su kreirane sve tablice u bazi,

povezat ću ih pomoću vanjskih ključeva. Poput kreiranja tablice i ovo je moguće na dva načina:

• Unutar Oracle SQL Developer alata. Pritiskom lijeve tipke miša na željenu tablicu s lijeve

strane alata s popisom tablica unutar konekcije, otvara se prikaz tablice kao što je prikazano na

slici 10.3.3

66

Page 67: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.3.3. Pregled tablice PODATCI_O_RADNIKU

Kao što je vidljivo postoji nekoliko opcija vezanih uz tablicu koji su prikazani u tabovima, neki

od najvažnijih su: tab naziva "Columns" vidljiv je na slici 10.3.3. i sadrži popis kolona unutar tablice

s opcijama. Drugi po redu tab naziva "Data", sadrži podatke unutar tablica koji su zapisani u redove

stupaca, tab "Constraints" sadrži popis primarnih i vanjskih ključeva, te se ovdje isti kreiraju,

"Grants" označava prava nad tablicom, tab "Statistics" sadrži statističke podatke o tablici kao što je

broj redova, blokova, datum zadnje analize, unutar taba "Triggers" nalaze se okidači koji služe za

automatiziranje akcija nad tablicom, tab "Details" pokazuje detalje o tablici s nekim važnim

podatcima kao što je datum kreiranja tablice, datum posljednje DDL akcije vezane uz tablice, vlasnika

tablice itd.

67

Page 68: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Pritiskom na tab "Constraints" otvara se prozor vezan za primarne i vanjske ključeve unutar

tablice. Dodavanje novog primarnog i vanjskog ključa izvršava se editiranjem tablice, te pritiskom

opcije Constraints u editoru tablice. Ovdje je vidljiv popis svih primarnih i vanjskih ključeva u tablici.

Dodavanje se vrši pritiskom zelene ikonice + u desnom kutu prozora te odabirom "New Unique

Constraint" za dodavanje novog primarnog ključa ili "New Foreign Key Constraint" za dodavanje

vanjskog ključa. Opcije prozora za primarne i vanjske ključeve s popisom istih nad tablicom

PODATCI_O_RADNIKU prikana je na slici 10.3.4.

Slika 10.3.4. Popis primarnih i vanjskih ključeva u tablici

• Drugi način kreiranja primarnih i vanjskih ključeva je pomoću SQL DDL naredbe također

unutar Oracle SQL Developer alata. Primjer naredbe prikazan je na slici 10.3.5. gdje se kreira

primarni ključ ID_RADNIK i vanjski ključ ID_BRACNI_STATUS koji se referencira na

tablicu BRACNI_STATUS

68

Page 69: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.3.5. Kreiranje primarnog i vanjskog ključa SQL DDL naredbom

10.4. Kreiranje okidaća (Triggera) i sekvenci (Sequences) u Oracle SQL

Developer alatu

"Okidač ( eng. Trigger) je PL/SQL jedinica koja je pohranjena u bazi podataka i koja se

automatski izvršava kao odgovor da određeni događaj.

Sekvence (eng. Sequences) su objekti baze podataka koje generiraju jedinstvene sekvencijalne

vrijednosti, koje su vrlo korisne kada je potrebno stvoriti jedinstvene primarne ključeve" (Oracle ,

2014) .

Kreiranje i pregled sekvenci vrši se u Oracle SQL Developer alatu u opcijama baze pod

Connections,te pritiskom na Sequences,kao što je prikazano na slici 10.4.1.

69

Page 70: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.4.1. Pregled sekvenci unutar Oracle SQL Developera

Kreiranje sekvenci također se vrši u istom alatu upisom PL/SQL naredbe ,te izvršavanjem iste.

Primjer sekvence za tablicu PODATCI_O_RADNIKU prikazana je na slici 10.4.2.

70

Page 71: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.4.2. Kreiranje sekvence

PL/SQL blok počinje naredbom CREATE SEQUENCE te određivanjem imena baze i

sekvence, zatim definiranjem minimalne (MINVALUE) i maksimalne vrijednosti (MAXVALUE) , za

koliko će se povećavati broj (INCREMENT BY) i s kojim brojem počinje (START WITH) , CACHE

definira koliko vrijednosti sekvence baza rezervira,te drži u memoriji, ORDER garantira da su brojevi

sekvence generirani po definiranom redu, NOCYCLE indicira da sekvenca ne može generirati više

vrijednosti,nego je to definirano njenom minimalnom i maksimalnom vrijednosti.

Kreiranje novih okidača i pregled postojećih izvršava se u Oracle SQL Developeru u prozoru

gdje se nalaze konekcije baze, pritiskom opcije "Triggers" , kao što je prikazano na slici 10.4.3.

71

Page 72: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 10.4.3. Pregled okidača u Oracle SQL Developeru

Kreiranje okidača vrši se upisivanjem PL/SQL koda unutar Developera. Primjer izrade okidača

za upis podataka tablicu PODATCI_O_RADNIKU prikazan je na slici 10.4.4.

Slika 10.4.4 Kreiranje okidača

72

Page 73: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

PL/SQL blok započinje naredbom create or replace TRIGGER ,te imenovanjem baze i

okidača, slično kao i kod sekvence, nastavak naredbe je definiranje kada će se pokrenuti okidač (before

insert on) te na koju tablicu se referencira (PODATCI_O_RADNIKU) , kao i da se okidač definira za

svaki red u tablici (for each row). Deklariranje PL/SQL naredbe započinje s begin , u nastavku slijedi

uvjet if ( u ovom primjeru ako je primarni ključ ID_RADNIK null) , počinje odabiranje sljedeće

vrijednosti sekvence koja je defirana unutar baze (select) i gdje će se vrijednost umetati . Naredba

završava krajem uvjeta if (end if) , te krajem PL/SQL bloka (end) .

10.5. Izvršavanje upita u Oracle SQL Developeru

Izvršavanje upita vrši se na radnoj površini ( "Worksheet" ) alata Oracle SQL Developer. Prije

izvršavanja upita, obavezna je konekcija na bazu na koju se izvršava upit. U primjeru ću navesti

jednostavan Select upit koji će poslije poslužiti za kreiranje izvještaja u aplikaciji. Primarni zadatak

upita je izlistati tražene podatke o radnicima koji su upisani u bazu. SQL upit,kao i njegov rezultat u

Developeru,prikazani su na slici 10.5.1

Slika 10.5.1. Primjer SQL upita s podatcima o radnicima

Upit započinje naredbom select koja označava dohvaćanje podataka iz baze, te distinct koji

73

Page 74: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

eliminira duple podatke iz upita, slijede imena tablica s pripadajućim kolonama unutar njih

(podatci_o_radniku.ime , što označava dohvaćanje kolone imena iz tablice podatci_o_radniku). Vrlo

često za lakše snalaženje i skraćivanje upita koriste se i aliasevi tablica. Kod oznake tablice iz koje se

dohvaćaju podatci (from) , pored imena tablica upiše se alias tablice. Npr. Dodjeljuje se alias imena

por tablici podatci_o_radniku dio kod upita glasio bi from podatci_o_radniku por.

Na kraju ovog poglavlja, na slici 10.5.2. prikazan je izgled cijelog alata Oracle SQL Developer s

najvažnijim prozorima kod upita. Kao što je vidljivo, na vrhu alata je traka s glavnim menijem , s lijeve

strane Developera nalazi se prozor s postojećim konekcijama, te se s ekspandiranjem istih otvaraju

objekti unutar njih,kao što su tablice, okidači,pogledi, indeksi itd. S desne strane od prozora s

konekcijama nalazi se prozor radne površine koji služi za upis SQL ili PL/SQL upita, dok se ispod

njega nalazi prozor koji nam prikazuje rezultat upita.

Slika 10.5.2. Izgled Oracle SQL Developera

74

Page 75: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

11. Kreiranje aplikacije unutar Oracle Application Express-a (APEX)

Kao što je ranijespomenuto u radu, aplikacija je izrađena u oracle Application Express alatu,koji

dolazi instaliran sa Oracle bazom podataka. Ovaj alat omogućava jednostavno i brzo kreiranje alata uz

poznavanje SQL i PL/SQL jezika. Za napredne mogućnosti koristi se HTML, Java, Jquery , te PHP.

Nakon logiranja u aplikaciju Oracle Application Express, na početnom zaslonu aplikacije nalazi

se sekcija "Application Builder" gdje se nalaze već kreiranje aplikacije, koje se mogu editirati i

mijenjati, te se na istom mjestu i kreira nova aplikacija pritiskom na gumb "Create" ,kao što je

prikazano na slici 11.1.

Slika 11.1. Kreiranje aplikacije u Oracle Application Expressu

Na sljedećem prozoru odabire se opcija "Database", što označava da će aplikacija biti

temeljena na bazi podataka, te u idućem prozoru nakon pritiska gumba Next, dodjeljuje se broj

aplikacije unutar APEX-a , imenovanje aplikacije je prozvoljno, odabire se schema u kojoj će

aplikacija biti smještena, te da će aplikacija sadržavati početnu stranicu ("Home page"). Kao što je već

navedeno u novoj verziji Oracle Application Expressa postoji opcija kreiranja aplikacija za pametne

telefone. Ova aplikacija će biti Desktop temeljena, te u ovome polju odabire se opcija Desktop. Slika

75

Page 76: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

11.2. prikazuje ovaj prozor

Slika 11.2. Imenovanje aplikacije kod kreiranja

Na sljedećem prozoru prikazana je kreirana početna stranica, te ovdje nije potrebno dodavati

nove stranice. Njih će se proizvoljno kreirati u samoj izradi aplikacije u kasnijoj fazi. Pritiskom gumba

"Next" , aplikacija vrši preusmjeravanje na novi prozor imena "Shared components" s upitom da li ih

želimo uvesti iz postojeće aplikacije. Ovo trenutno nije potrebno, te se odabire opciju "No" i nastavlja

se dalje pritiskom gumba "Next". U sljedećem prozoru imena "Attributes" odabire se opcija

aplikacije kao što je : Autentifikacijska shema ( dovoljno je ostaviti Application Express) , opcije

tabova ( za ovu potrebbu odabirem jednorazinske ; One Level Of Tabs) , jezik aplikacije ( u ovom

slučaju Croatian) , opcije jezika sa strane korisnika ( odabir primarnog jezika aplikacije) . Iduće

opcije su vezane uz datum, te se ovdje proizvoljno odabiru formati datuma i vremena. Opcije za

aplikaciju koja je kreirana, nalaze se na slici 11.3.

76

Page 77: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.3. Opcije atributa aplikacije

U prozoru "User Interface Theme" odabire se željena tema izgleda aplikacije, te nakon toga

vrši se potvrda navedene opcije i kreira se aplikacija. Aplikacija je sada vidljiva u sekciji "Application

Builder" , kao što se vidi na slici 11.4.

Slika 11.4. Kreirane aplikacije u Oracle Application Expressu

77

Page 78: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

11.1. Kreiranje stranica unutar Oracle Application Express-a

Ulazak u aplikaciju vrši se pritiskom ikonice aplikacije u "Application Builderu". Ovdje

postoji pregled već kreiranih stranica, mogućnost kreiranja novih, pokretanje aplikacije, te mnoge

ostale postavke ,kao što je prikazano na slici 11.1.1.

Slika 11.1.1 Glavni prozor aplikacije u Application Builderu APEX-a

Kao što se vidi na slici, pritiskom na ikonu "Run Application" vrši se pokretanje aplikacije,

"Supporting Objects" sadrži opcije vezane uz skripte aplikacije, "Shared Components" su dijeljene

komponente unutar aplikacije kao što su: procesi aplikacije, navigacija (tabovi, liste ) , sigurnost

(autorizacijske i autentifikacijske sheme) , opcije teme aplikacije i izgleda , opcije datoteka kao što su:

CSS, slike itd. , globalizacijske postavke (jezik aplikacije, prevođenje aplikacije na drugi jezik) , te

opcije izvještaja. "Utilities" sekcija sadrži povijest unutar aplikacije, što pomaže pregledavati

posljednje promjene i vrijeme kada su načinjene. Važna komponenta ove sekcije su "Debug Messages"

koja se koristi kod pregledavanja greška aplikacije, te pomaže pri otklanjanju istih. Posljednja sekcija

na početnoj stranici aplikacije unutar Application Buildera je "Export/Import" koja služi za izvoz i

uvoz aplikacija iz Oracle Application Expressa.

78

Page 79: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Kreiranje stranice u aplikaciji vrši se pritiskom na gumb "Create Page" , nakon čega se otvara

prozor s popisom stranica koje se mogu kreirati u Oracle Application Expressu.

Slika 11.1.2 Popis stranica koje je moguće kreirati unutar APEX-a

Kao što je vidljivo na slici 11.1.2. moguće je kreirati sljedeće vrste stranica:

• Blank Page – prazna stranica koju je moguće proizvoljno nadograđivati komponentama nakon

kreiranja

• Multiple Blank Pages – kreiranje veće količine praznih stranica

• Report – stranica s SQL ili PL/SQL izvještajem iz baze podataka

79

Page 80: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

• Form – kreiranje stranice s formama kao što su upis i editiranje podataka

• Plug-ins – izrada stranice na osnovu pluginova

• Chart – opcija za izradu grafikona

• Map – stranica koja sadrži geografske mape

• Tree – izrada stranice s nasljednim opcijama

• Calendar – stranica s kalendarom

• Wizard – kreiranje stranica koja će sadržavati čarobnjaka za kreiranje

• Data Loading – uvoženje tipova podataka kao što su Excel tablice

• Feedback Page – stranica koja sadrži opcije za povratne informacije

• Login Page – stranica za prijavu u aplikaciju

• Access Control – izrada stranice za prava u aplikaciji

• Global Page – izrada stranice s komponentama koje će biti prikazane na svim stranicama

unutar aplikacije

Nakon odabira vrste stranice koja će biti kreiranja, upisuje se proizvoljni naziv stranice i broj ,

te završetkom postupka iz čarobnjaka stranica je kreirana.

11.2. Kreiranje izvještaja i grafikona u Oracle Application Expressu

Izvještaji i grafikoni u Oracle Application Expressu kreiraju se kao stranice (prikazano u

poglavlju 11.1.) . Za izradu izvještaja odabire se vrsta stranice pod nazivom "Report", dok se za

grafikone odabire "Graph" vrsta stranice. Također , kroz kreiranje stranice korisnika vodi čarobnjak.

Kod izrade izvještaja, nakon odabira vrste stranice, te imenovanja iste i dodjele broja, definira

se da li se žele koristiti tabovi, nakon čega čarobnjak zahtjeva upis SQL upita prema kojemu će kreirati

izvještaj. Za primjer naveden na slici 11.2.1 uzeti će se upit koji će iz baze dohvatiti podatke o

upisanim godišnjim odmorima.

80

Page 81: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.2.1. Kreiranje izvještaja u Oracle Application Expressu

Ako je upit dobro upisan, pritiskom gumba "Next" završava se izrada izvještaja, te će on biti

vidljiv nakon pokretanja stranice. Primjer uređenog izvještaja s upitom sa slike 11.2.1. nalazi se na slici

11.2.2.

Slika 11.2.2. Izvještaj godišnjih odmora

Postupak kreiranja stranice s grafovima, potpuno je jednak izradi stranice s izvještajima.

Odabire se vrsta stranice "Chart", te se pokreće čarobnjak za izradu stranice. Vrste grafova u Oracle

Application Expressu prikazane su na slici 11.2.3. Za potrebe ovog rada odabrana je klasična vrsta

grafa pod nazivom "Pita" (eng. Pie chart) , te ću pomoću njega prikazati broj zaposlenika prema

stručnoj spremi unutar tvrtke.

81

Page 82: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.2.3. Vrste izvješaja u Oracle APEX-u

Nakon odabira vrste grafa koja će biti kreirana, imenovanja stranice, te naslova grafa i boja koje

će se koristiti unutar njega, čarobnjak zahtjeva upit prema kojemu će se graf kreirati. Primjer upita za

navedeni graf o stručnoj spremi prikazan je na slici 11.2.4.

82

Page 83: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.2.4. Primjer upita za kreiranje grafikona

Kao što je vidljivo na slici upit započinje select naredbom , null link označava da pritiskom

tipke miša na graf neće se izvršavati otvaranje poveznice, label je tekst koji će biti ispisan na grafu,

prema ovom primjeru to će biti tekst iz stupca strucna_sprema_naziv koja se nalazi u tablici

strucna_sprema kojoj je dodijeljen alias ss. Value je numerička vrijednost koja definira veličinu pite,

te u ovom slučaju kreira se pomoću naredbe count koja prebrojava vrijednosti iz stupca naziva

ID_STRUCNA_SPREMA koji se nalazi u tablici podatci_o_radniku. Nastavak upita čine naredbe za

definiranje iz kojih tablica će se uzimati podatci (from) , koje kolone se izjednaćavaju (where)

,grupiranje (group by) , te određivanje redosljeda kako će biti prikazane (order by) .

83

Page 84: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.2.5. Pregled grafičkog izvještaja o stručnoj spremi zaposlenika

11.3. Kreiranje formi u Oracle Application Expressu

U ovome radu autor je kreirao nekoliko formi koje služe za upis podataka u bazu . Za primjer

kreiranja forme uzeti će se unos novog zaposlenika i svih potrebnih podataka o njemu , te će se podatci

pohranjivati unutar tablice PODATCI_O_RADNIKU. Polja koja će se nalaziti unutar same forme

definirana su prema stupcima unutar tablice. Postupak izrade forme preko čarobnjaka započinje

kreiranjem stranice, te se kao vrsta stranice odabire "Form" (Forma) . Na sljedećem prozoru odabire se

vrsta forme koja je temeljena na tablici ili na pogledu (Form on a Table or View) , a nakon toga

definira se shema u kojoj se tablica nalazi kao i samo ime tablice. U ovom slučaju shema nosi ime

ZAVRSNI, dok je ime tablice PODATCI_O_RADNIKU. Nakon definiranja imena stranice i

korištenja tabova, odabire se primarni ključ tablice prema kojemu će se vršiti upis, ažuriranje i

brisanje podataka unutar forme. Proces odabira primarnog ključa prikazan je na slici 11.3.1.

84

Page 85: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.3.1. Odabir primarnog ključa tablice

Nakon definiranja primarnog ključa tablice, te okidača iz baze namijenjenog za tablicu, sljedeći

korak kod izrade forme je odabir kolona iz tablice. Prema već definiranim podatcima iz prethodnih

koraka, čarobnjak automatski prepoznaje kolone iz tablice (u ovom slučaju tablica

PODATCI_O_RADNIKU) , te je moguće u formu uključiti sve kolone za upis ili se mogu odabrati

proizvoljne kolone za unos podataka. Kao što je vidljivo na slici 11.3.2. u ovom slučaju odabrane su

sve kolone iz tablice. Nakon kreiranja forme u postavkama stranice moguće je sakriti nepotrebne

kolone,te one neće biti vidljive na formi za unos.

85

Page 86: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.3.2. Odabir kolona za unos u formi

Sljedeći korak čarobnjaka je definiranje gumba (Buttons) koji će se nalaziti na formi,a koji će

služiti za brisanje podataka iz forme, upis, ažuriranje ili odustajanje od upisa i izlazak iz forme.

Slika 11.3.3. Definiranje imena gumba na formi

Posljednji korak prije same potvrde izrade forme je definiranje na koju će stranicu aplikacija

preusmjeravati korisnika kod snimanja podataka iz forme u bazu podataka ili odustanka iz nje. Nakon

završetka čarobnjaka , forma je kreirana i spremna je za uporabu.

86

Page 87: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

11.4. Kreiranje i definiranje stavki na stranicama i formama u Oracle

Application Expressu

Vrste stavki koje je moguće kreirati u Oracle Application Expressu prikazane su na slici 11.4.1.

Kao što je spomenuto u prethodnom poglavlju, čarobnjak kod kreiranja forme za unos podataka u bazu

izrađuje polja za unos prema vrsti podataka kolona unutar tablice. Npr. Ukoliko je vrsta kolone

definirana kao datum (DATE) , neće biti moguće unutar te kolone upisati neku drugu vrstu podataka

kao što je npr. VARCHAR. Vrste stavki biti će prikazane na primjeru za unos novog radnika u bazu

podataka, pošto ova forma sadržava najrazličitije vrste stavki.

Slika 11.4.1. Vrste objekata unutar forme

Vrste objekata koje je moguće definirati unutar forme, ta kako će iste izgledati su:

• Text – tekstualno polje stavke za unos

• Number – numerička vrsta polja za unos

• Date – vrsta polja za unos datuma

• Textarea – slično kao tekstualno polje, no moguće je unijeti već broj znakova

• Select list – padajuća lista s izborom

• Radio – služi za odabir između više ponuđenih opcija (npr. Spol)

• Popup List of Values – lista koja otvara popup prozor unutar aplikacije

• CheckBox – kućica za odabir između više ponuđenih vrijednosti

• Display only – vrsta polja koja će samo prikazivati upis iz kolone u bazi podataka, nije moguć

87

Page 88: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

upis niti izmjena u formi

• Hidden – skriveno polje koje korisnik neće vidjeti na formi aplikacije

Kod "Text" vrste polja korisnik proizvoljno upisuje tekstualne i numeričke vrijednosti unutar

forme. Primjer u aplikaciji je unos imena i prezimena radnika u formi kao na slici 11.4.2.

Slika 11.4.2. Polje za unos imena i prezimena radnika unutar forme

Sljedeća vrsta objekta u formi je "Number" , odnosno numerička vrsta podataka za upis. U

primjeru upisa podataka o novom radniku, numerička vrijednost objekta bio bi upis JMBG-a ili OIB-a.

Slika 11.4.3. Numerička vrsta objekta unutar forme za upis podataka

"Date" ili datumska vrsta objekata služi za lakši odabir datuma s kalendara unutar forme kao

što je prikazano na slici 11.4.4. Pomoću date objekta odabire se datum zaposlenja korisnika u tvrtki.

88

Page 89: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.4.4. Odabir datuma zaposlenja

Sljedeća vrsta objekta je "Textarea", koja je vrlo slična Text oznaci, no u ovu prvu navedenu

moguće je upisivati puno više znakova,te ih pospremiti u bazu. Primjer se nalazi na slici 11.4.5. kod

upisa napomene kod unosa podataka o radniku.

Slika 11.4.5. Upis napomene u Textarea vrstu objekta

"Select lista", odnosno padajuća lista koja u sebi sadrži podatke za odabir , izrađuje se preko

SQL select upita. Podatci se mogu dohvaćati iz postojeće tablice u bazi, ili se mogu navesti proizvoljni

podatkci koji se nalaze u imaginarnoj tablici naziva dual. Kod select upita ove liste postoje dvije vrste

podataka:

• Podatci koji će se biti prikazani korisniku kod select liste. Nazivaju se display (D) podatci.

• Podatci koji će se upisivati u bazu podataka, odnosno tablicu u bazi podataka preko forme.

Nazivaju se return (R) podatci.

89

Page 90: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Primjer upita za select listu kod odabira stručne spreme zaposlenika prikazan je na slici 11.4.6.

Kao što je vidljivo, u formi će biti prikazani podatci iz kolone STRUCNA_SPREMA_NAZIV , dok

će select lista vraćati podatke vezane uz kolonu id_strucna_sprema, te će ti podatci biti upisani u

tablicu PODATCI_O_RADNIKU uz koju je forma i vezana.

Slika 11.4.6. Primjer upita kod select liste vezane uz strucnu spremu zaposlenika

"Popup List of Values" u formi aktivira popup prozor s listom vrijednosti za odabir pritiskom

ikonice pored definiranog polja. Primjer je odabir odjela radnika kod unosa novog radnika u bazu na

slici 11.4.7.

90

Page 91: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Slika 11.4.7. Popup lista vrijednosti

SQL upit za kreiranje liste vrijednosti isti je kao i kod padajućeg izbornika,odnosno select liste,

te je za gore navedene vrijednosti u formi upit prikazan na slici 11.4.8.

Slika 11.4.8. SQL upit za kreiranje popup liste vrijednosti

91

Page 92: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

12. Kritički osvrt

Ideja izrade ovog rada temeljena je prije svega zbog autorove zainteresiranosti za rad samih

baza podataka, te njihovu funkcionalnost. Prvi susret autora ovog rada s Oracle bazama podataka, te

njihovom tehnologijom za izradu aplikacija započela je na radnom mjestu programera u Petrokemiji

d.d. Kutina. Među prvim aplikacijama koja je izrađena za potrebe pripravničkog ispita bila je aplikacija

upisa i evidentiranja godišnjih odmora. Na osnovu te aplikacije nastao je i ovaj rad, koji je proširen s

dodatnim funkcionalnostima ljudskih potencijala tvrtke. Aplikacija služi za neke osnovne

funkcionalnosti (upis i evidencija) , te bi daljnjim radom bila proširena dodatnim funkcionalnostima.

Prije svega dodatnim podatcima o radnicima, kao što je praćenje promjena radnih mjesta unutar tvrtke,

evidenciju obrazovanja tijekom radnog vijeka, posebne vještine koje bi doprinijele tvrtki, evidencija

radnog staža za potrebe mirovine i mnoge druge. Isto tako daljnjim nadograđivanjem aplikacije i

pretpostavljenim zahtjevima poslovodstva, uvelike bi se proširila rubrika izvještaja, te bi ista bila

kreiranja prema potrebama poslovanja. Proširenjem aplikacije, postojala bi potreba za integriranjem

svih elemenata u homogenu cjelinu kako bi služila za pravovremeni upis i primitak informacije.

Promjena same funkcionalnosti aplikacije mijenjala bi se sa zahtjevima i potrebama poslovanja iz

realnog svijeta, te je za očekivati kako bi se ubrzo osnovni rad aplikacije iz ovoga rada nadogradio i

promijenio. Međutim, autor je vjerovanja kako bi prostor Oracle baze podataka od maksimalnih 11

gigabajta bio dostatan za rad aplikacije i spremanje podataka iz nje kroz duži period njenog životnog

vijeka.

Neki od problema s koji su se javili kod testiranja rada aplikacije, bili su vezani uz uporabu

Internet preglednika Microsoft Internet Explorera iznad verzije br. 8. Pregled grafičkog izvještaja iz

aplikacije veoma se otežano otvarao, kao i popup prozori aplikacije ( "Popup List Of Values" ) .

Također, za brži ručni upis datuma unutar forme za unos podataka, postoji službeni Oracle APEX

plugin, koji zamjenjuje postojeći kalendarski upis ( Slika 11.4.4. ) opisanog aplikaciji, te je isto tako

otežavao rad aplikacije u Internet Exploreru.

Prema mišljenju autora ovog rada, jedan od težih zadatka kod izgradnje aplikacije bila je izrada

ERA modela prema kojemu će se izrađivati tablice unutar baze, te koji će od početka pokrivati većinu

potrebnih tablica za rad aplikacije. Prije svega bilo je potrebno definirati funkcionalnosti ljudskih

92

Page 93: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

potencijala koje će aplikacija pokrivati i organizirati tablice u koje će se podatci pohranjivati, te ih

putem ERA modela povezati u smislenu cjelinu. No, naposljetku, izrađeni ERA model u kasnijim

fazama izrade i programiranja aplikacije olakšao je posao i spriječio nepotrebnu zamršenost unutar

baze podataka, te olakšao snalaženje unutar njih.

Također, rad s kalendarima unutar Oracle Application Expressa ima različiti pristup od onoga

kod formi i izvještaja unutar aplikacije. Autor ovog rada do sada se nije susretao s izradom kalendara

unutar aplikacije, te je i ovo područje zahtijevalo podrobnije proučavanje primjera i literature kako bi

se izvela pokrivenost ovog funkcionalnog područja.

Naposljetku, aplikacija je testirana na nekoliko različitih Internet preglednika: Mozilla Firefox,

Opera, Safari, Google Chrome,te Internet Exploreru. Osim spomenutih neznatnih poteškoća kod

Internet Explorera, koji su zahtijevali određenu prilagodbu nekih elemenata, testiranje je uspješno

izvršeno i aplikacija radi bez poteškoća na prethodno navedenim Internet preglednicima.

Isto tako, izvršeno je testiranje instalacije i rada Oracle Database Express Edition 11g, Oracle

Application Express-a i Oracle SQL Developer-a na virtualnoj okolini pomoću Oracle Virtual Box alata

na operacijskim sustavima Linux Mint 16, CentOS 6, te Microsoft XP- u . Pri instalaciji i korištenju

aplikacije nisu se pojavile poteškoće, no preporučljivo je dobro proučiti instalacijsku proceduru i

literaturu s Oracle stranice ( http://www.oracle.com/technetwork/documentation/index.html ) .

93

Page 94: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

13. Zaključak

Današnje poslovanje tvrtki i njihov opstanak u poslovnom svijetu, nezamisliv je bez

pokrivenosti informacijskim tehnologijama. Pohrana i dobitak potrebnih informacija, njihovo čuvanje i

obrada od presudne su važnosti kod svakodnevnih zadataka. Pokrivenost baze podataka Oracle

Database Express Edition 11g nametnulo se kao veoma dobro rješenje. Oracle je kao proizvođač

rješenja za sustave baza podataka među vodećima u svijetu, te je svoj proizvod Database Express

Edition ponudio potpuno besplatno za rad i preuzimanje (uz u ovom radu već navedene neke

ograničenosti) , isto kao i alat Oracle Application Express za izradu web aplikacija temeljenih na

bazama podataka, te Oracle SQL Developer alat za održavanje i rad s bazama podataka. Vjerujem kako

je ovaj set alata dostatan zahtjevima koji se nameću u malim i srednjim tvrtkama, dok će naravno za

veće potrebe, tvrtke morati posegnuti za nekim od profesionalnih rješenja.

U ovome radu opisana je instalacija, podešavanje i rad s Oracle Database Express Edition 11g

bazom podataka na CentOS operativnom sustavu , jednom od operativnih sustava iz Linux obitelji

kojima je također posvećeno posebno poglavlje rada. Razlozi zašto je CentOS odabran kao operativni

sustav na kojemu će baza biti instalirana je njegova velika pouzdanost i stabilnost u radu, otvorenost

koda, te činjenica da je u potpunosti besplatan. Isto tako za rad na klijentskom operativnom sustavu

odabran je Linux Mint 16, također zbog gore navedenih razloga. Testiranje rada baze i funcioniranja

aplikacije izvršeno je na različitom broju operacijskih sustava koji su navedeni u poglavlju br. 12.

Izrada osnovne web aplikacije za potrebe rada ljudskih potencijala izrađena je s Oracle

Application Express alatom, koji dolazi u paketu s Oracle bazom podataka. Prikazano je osnovno

podešavanje i izrada aplikacije za rad, kao i stvaranje stranica, izvještaja, formi za unos podataka i

ostalih potrebnih dijelova aplikacije za njenu funkcionalnost. Isto tako, rad aplikacije testiran je na

svim poznatijim Internet preglednicima.

Rad s bazom podataka ,te SQL i PL/SQL jezikom prikazan je pomoću Oracle SQL Developera.

Pokazano je kreiranje tablica, okidača i sekvenci koji su potrebni za rad aplikacije i same baze

podataka, te definiranje i kreiranje primarnih i vanjskih ključeva unutar tablica.

94

Page 95: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

Sve ove alate autor je upoznao tijekom rada unutar tvrtke u kojoj je zaposlen, te su u poslovanju

pružile veoma veliku pouzdanost, brzinu u radu i funkcionalnost koja je potrebna u svakodnevnim

zadatcima poslovanja.

95

Page 96: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

14. Literatura

1. dr. Senad Balić : “Osnovi računarstva i informatike” , Univerzitet u Zenici, 2006.

2. Michele Cyran: “Oracle Documentation : Introduction to the Oracle Database”, Oracle

Corporation, 2005.

3. Suradnici Wikipedie, “Oracle Database”, Wikipedia, The Free Encyclopedia,

http://en.wikipedia.org/wiki/Oracle_Database#History, 2014.

4. Nikola Smuk : “Brza izrada aplikacija u Oracle Application Expressu “ , Veleučilšte Velika

Gorica, 2013.5. edX Ogranization Course - “ Introduction to Linux” , 2014.

6. Suradnici Wikipedie, „SQL“, Wikipedia, The Free

Encyclopedia,www.en.wikipedia.org/wiki/sql

7. Biju Thomas : “ OCA: Oracle Database 11g Administrator Certified Associate Study Guide:

(Exams1Z0-051 and 1Z0-052) , Wiley Publishing, Indianapolis, 2009.

8. Želimir Kemić - “Primjeri baze podataka u sustavu MySQL, Fakultet Oragnizacije i

Informatike, Varaždin, 2013

9. Oracle : “Oracle Database Express Edition Installation Guide 11g release 2 (11.2) for Linux

(x86-64)”, Oracle Publishing, 2011.

11. Vatroslav Mileusnić: "Izrada ERA modela podataka ", msacademic, 2012. ,

http://msacademic.hr/izrada-era-modela-baze-podataka/

12. Oracle: "Oracle Database 2 Day Developer's Guide" , Oracle publishment , Jaunuary 2014.

96

Page 97: 716576.1-Branko Kranjcevic - Oracle Database Express Edition 11g

15. Zahvale

Na ovome mjestu zahvalio bi se Doc.dr.sc. Markusu Schattenu na zalaganju za prihvaćanje ove

teme kao završnog rada, kao i za sve savjete vezane uz pisanje samog rada. Bez njegove pomoći ovaj

rad ne bi bilo moguće objaviti.

Velika zahvala također ide mojim roditeljima koji su me poticali na učenje kroz sve ove godine

školovanja i rada, sestrama Božici i Josipi na trenutcima odmora i ohrabrivanja, nećacima Thomasu i

Filipi koji su se veselili svakom susretu sa mnom. Isto tako velika zahvala ide mojim radnim kolegama

u Petrokemiji d.d. na velikom razumijevanju kroz školovanje, kao i na nesebičnoj pomoći oko

tehničkih detalja rada s bazama podataka. Veliko hvala radnom mentoru i kolegi Nikoli Smuku koji me

uveo u Oracle svijet baza podataka, kao i radu s Oracle APEX i Linux sustavima. Hvala Mu na svim

savjetima i svemu što me naučio.

Posebna zahvala ide mojoj djevojci Heleni na nesebičnoj podršci i razumijevanju za sve

propušteno kroz ove godine školovanja, ali i za sve trenutke odmora. Isto tako i kolegama u PITUP

Centru Sisak , te svim mojim prijateljima i prijateljicama na poticanju za rad i školovanje, nesebičnoj

pomoći, razumijevanju i vremenu koje je doprinijelo i samom završetku školovanja. Hvala im na

savjetima i zajedničkom vremenu koje smo proveli. Ovaj rad posvećen je svima njima.

97