View
54
Download
5
Category
Preview:
DESCRIPTION
baze podataka, oracle
Citation preview
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.
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
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
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
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
(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
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
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
( 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
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
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
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
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
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
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
• 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
• 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
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
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
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
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
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
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
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
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
Slika 5.3.6. Grafičko sučelje Oracle Database 11g Express Edition (XE)
26
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
Slika 9.10.1. Izvještaj o stručnoj spremi zaposlenika
52
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommended