prirucnik za laboratorijske vježbe iz baza podataka
Post on 30-Dec-2016
299 Views
Preview:
TRANSCRIPT
Prirunik za laboratorijske vjebe iz baza podataka
Damir Vuk i Enes Cirikovi, 2015.
Recezenti
dr. sc. Oliver Juki, prof. v. .
mr. sc. eljko Knok, v. pred.
Izdava:
Visoka kola za menadment u turizmu i informatici u Virovitici,
Matije Gupca 78, 33000, Virovitica
http://www.vsmti.hr
Za izdavaa:
Doc.dr.sc.Vesna Bedekovi, prof.v..
Grafika priprema: Lektura:
Ivan Hei, dipl. ing. Ivana Vidak, prof.
Ovaj materijal predstavlja digitalni prirunik za laboratorijske vjebe iz kolegija Baze
podataka. Materijal je besplatno dotupan na web stranicama Visoke kole za menadment u
turizmu i informatici u Virovitici odnosno na slubenim stranicama kolegija Baze podataka.
Odluku o odobrenju elektronike publikacije Prirunik za laboratorijske vjebe iz Baza
podataka elektronika verzija (Klasa: 612-10/15-03/06) donijelo je Struno vijee Visoke
kole za menadment u turizmu i informatici u Virovitici na svojoj sjednici od 16. 06. 2015.
Na istoj sjednici doneena je odluka o izmjenama i dopunama u studijskim programima Visoke
kole za menadment u turizmu i informatici u Virovitici (Klasa: 612-10/15-03/06, Urbroj:
2189-74-15/06) kojom se ova publikacija uvrtava kao obvezna literatura na kolegiju Baze
podataka koji se izvodi u petom semestru studija Menadment, smjer Informatiki
menadment.
ISBN 978-953-8028-03-8
http://www.vsmti.hr/
Damir Vuk
Enes Cirikovi
PRIRUNIK ZA LABORATORIJSKE
VJEBE IZ
BAZA PODATAKA
ELEKTRONIKA VERZIJA
(1.0)
Virovitica, 2015.
1
I. Predgovor
Podruje baza podataka je kako u teorijskom, tako i u praktinom smislu vrlo opseno,
kompleksno i diverzificirano. Iako je teorija baza podataka relativno dobro fundirana, postoji velik
raskorak izmeu teorijskog pristupa te konkretnih alata i njihove primjene. Jedina konzistentna teorija
kao fundacija za razvoj baza podataka je relacijska teorija poznata kao Teorija relacijskog modela
podataka, iji zaeci lee u poznatom radu E.F. Coda: A relational model of data for large shared data
banks koji datira jo iz 1970. godine1. Ta je teorija stvorila plodno tlo za cijeli niz radova koji su
nadopunjavali njene pojedine aspekte. I sam Codd je u vie svojih naknadnih radova, pojanjavao dileme
u vezi izvornog relacijskog modela, postavljajui niz eksplicitnih pravila u vezi potrebne vjernosti SUBP2 s
relacijskim modelom. Iako se danas esto govori o razliitim modelima podataka, niti jedan od njih nije
tako vrsto teorijski zasnovan kao to je to relacijski model. Neki od njih zapravo i nisu modeli podataka
u pravom smislu, jer ne samo da nisu teorijski dobro zasnovani, nego su i nekompletni.
Ideja relacijskog modela je bila da se na logikoj razini definiraju principi za dobru organizaciju
podataka u bazi podataka. Osobito znaajan je doprinos relacijskog modela u konceptu da se razdvoji
logika od fizike razine organizacije podataka. Time se postie fizika neovisnost podataka. Dotadanji
koncepti baza podataka su imali vrsto povezanu logiku i fiziku razinu, to je izazivalo cijeli niz
problema. Relacijska teorija je nastala upravo s ciljem da se ti problemi rijee na teorijskoj razini, a zatim
da se prakticiraju kako u oblikovanju baza podataka, tako i u postavljanju arhitekture sustava za
upravljanje bazom podataka.
Paradoksalno je da relacijski model podataka ni do danas nije implementiran u niti jedan sustav za
upravljanje bazama podataka na nain da bude potpuno u skladu s teorijom relacijskog modela
podataka. Za to postoji vie razloga. Prvi problem je teorijske prirode. On proizlazi iz naina na koji je
relacijska teorija podataka shvaana. Drugi problem proizlazi iz naina na koji je relacijski model
podataka implementiran u SUBP te posljedino tome, komercijalnih interesa proizvoaa takvih sustava.
U vrijeme svoga nastanka, teorija relacijskog modela je bila radikalno nova i nedovoljno shvaena.
S tim u vezi, poznata je struna i akademska rasprava o mjerodavnosti te teorije kao teorijske podloge
za razvoj baza podataka odnosno sustava za upravljanje bazama podataka, koja je kulminirala sredinom
sedamdesetih godina prolog stoljea. Ta viegodinja rasprava nazvana Great debate3 kulminirala je
donoenjem ANSI/X3/SPARC preporuke o trorazinskoj shemi baze podataka (konceptualna, eksterna i
1 Codd, E. F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377-387. 2 SUBP je skraenica od Sustav za upravljanje bazom podataka (engl: DBMS Database management system) 3 Tsichritzis, D., & Klug, A. (1978). The ANSI/X3/SPARC DBMS framework report of the study group on database management systems. Information systems, 3(3), 173-191. management systems. Information systems, 3(3), 173-191.
http://dl.acm.org/citation.cfm?id=362685http://dl.acm.org/citation.cfm?id=362685
2
fizika), ime je razdvojena logika (konceptualna i eksterna) od fizike sheme. Ubrzo nakon toga
rasprava se proirila na semantiku snagu modela podataka, s tvrdnjom da je semantika izraajnost
relacijskog modela nedovoljna. Do sredine osamdesetih godina je razvijeno vie tzv. semantikih
modela. Osamdesetih godina se iz tog koncepta razvio koncept objektnih modela podataka i ideja o
tome da e objektni model zamijeniti relacijski, odnosno da e relacijske baze i SUBP biti zamijenjeni
objektnim bazama, to se nije dogodilo. U devedesetim godinama su se pojavila dva nova koncepta koja
su tumaena kao korak naprijed u razvoju baza podataka. Prvi je bio koncept skladita podatka. Drugi je
bio koncept tzv. postrelacijskih baza podataka odnosno objektno relacijske baze podatka. Dok koncept
skladita podataka ne predstavlja negaciju relacijske teorije, koncept objektno-relacijskih baza podataka
zapravo nema nita s konzistentnom teorijom radi se o marketinkom triku velikih proizvoaa SUBP.
U proteklih desetak godina pojavljuju se nova dva povezana koncepta koji najavljuju tzv. novo doba
baza podataka. To su koncepti NoSQL baza i koncept Big Data. Zajednika karakteristika svih tih
inicijativa je da se ne zasnivaju na jedinstvenoj i konzistentnoj teoriji te da su njihove implementacije
usko ograniene u aplikativnom smislu. Nadalje, kod NoSQL i Big Data, radi se specijalnom sluaju baza
podataka odnosno repozitoriju podataka, to nije nikako zamjena za relacijske baze podataka.
Prve implementacije SUBP su bile skromne u pogledu vjernosti s relacijskom teorijom. Proizvoai
SUBP nisu htjeli rtvovati performanse brzine u odnosu na postojee SUBP prisutne na tritu. Budui da
je u to vrijeme cjelokupna raunalna snaga bila izrazito skromna, rjeenje je bilo da se implementiraju
samo minimalne osobine relacijskog modela, ali da se pritom agresivno marketinki stvara predodba
kod kupaca kako su njihovi proizvodi u skladu s relacijskim modelom baza podataka, jednostavno zato
jer je to isto nudila konkurencija. Osobito negativna posljedica na razvoj SUBP je proizala je iz injenice
da prva verzija slubenog ANSI standarda za SQL jezik iz 1987 godine nije bila zasnovana na relacijskoj
teoriji, nego je bila gotovo u potpunosti preuzeta iz jedne takve implementacije korporacije IBM 4. Idue
verzije SQL standarda su jo vie pogoravale tu neusklaenost SQL-a i teorijskog modela. Glavni uzrok je
proizlazio iz injenice da je meu lanovima komiteta za SQL standard prevlast imao lobi proizvoaa
SUBP, koji su uzajamno uvaavali vlastite komercijalne interese.
Posljedica svega toga je stanje u kojem imamo dobru staru teoriju (relacijski model podataka) te
sustave za upravljanje bazama podataka koji su zahvaljujui SQL standardu kojega takoer samo
djelomino podravaju, u ozbiljnom neslaganju u odnosu na teoriju. Ovdje je vei problem u odnosu na
osobine koji ti sustavi podravaju a nisu predviene niti teorijom, a niti SQL standardom, nego u odnosu
na osobine koje ti sustavi ne podravaju, a relacijska teorija i SQL standard ih zahtijevaju.
Jo loija posljedica je injenica da na temelju navedenog u svijetu imamo mnogo profesionalaca
baza podataka koji svoju karijeru zasnivaju na teorijskim znanjima koja proizlaze iz alata (SUBP), a ne
na temelju prave konzistentne teorije. Nadalje, mnogi udbenici i mnogi teajevi su sainjeni u stilu
kuharica (engl. Cockbook) koje nemaju jasnu teorijsku podlogu. Rezltat koritenja takvih izvora u
4 Date, C. J., & Darwen, H. (1997). A Guide To Sql Standard (Vol. 3). Reading: Addison-Wesley.
3
uenju o bazama podataka neminovno dovodi do negativne posljedice da su profesionalci istrenirani na
temelju alata, s nedovoljnim uvidom u iru sliku podruja s kojim se bave5. U moru konzumerizma i
globalne moi korporacija niti podruje baza podataka nije otok. Autor relacijskog modela Codd je umro
i praktino vie od dvadeset godina nema neposredni utjecaj na strunu i akademsku javnost. Danas je
najagilniji zagovornik Coddove teorije njegov bliski suradnik iz sedamdesetih godina Criss Date, inae
autor jednog od najpoznatijih sveuilinih udbenika iz podruja baza podataka An Introduction to
Database Systems6 izdanog u gotovo milijun primjeraka u devet izdanja. S nekolicinom teorijskih
istomiljenika on i danas djeluje na stalnom unapreivanju i irenju izvorne ideje relacijske teorije baza
podataka7.
Napravili smo ovako dugi uvod, kako bismo naglasili i ukratko opisali kontekst u kome se danas
poduavanje baza podatka nalazi te istakli na to pritom treba obratiti panju.
Ovaj prirunik za laboratorijske vjebe iz baza podataka nije glavni udbenik za baze podatka. On
predstavlja dopunski, ali ne manje vaan dio pouavanja baza podataka. Pritom se naglaava pored
praktine strane, takoer i njegova teorijska zasnovanost. On se temelji na sljedeim idejama:
Da se kroz jednostavne praktine primjere potpomogne praenje teorijske nastave iz baza
podataka ( predavanja), imajui u vidu da je studentima je esto teko pratiti teorijsku nastavu jer
nemaju dovoljnu predodbu o tome to je to baza podataka.
Da se potpomogne uenje i razumijevanje izloene teorijske nastave. Nakon to studenti
sluaju teorijsku nastavu oni trebaju na konkretnim alatima praktino utvrditi/potvrditi svoje znanje.
Da se studente kroz nastavni proces vjebi upozna s minimalnim, ali esto vrlo bitnim
elementima u savladavanju nekih praktinih alata, kako bi studenti na taj nain dobili osnovu za
samostalno prouavanje barem oni koji za to imaju sklonosti odnosno interesa.
Da se studente ukljui u aktivno izvravanje praktinih zadataka. Mnogi studenti tee pasivnom
uenju kroz ove vjebe od studenata se oekuje aktivno uenje u pripremi vjebe, radu u
laboratoriju, te naknadni rad kod kue (dovretak vjebe i produbljivanje znanja).
Da se studente stimulira na aktivnost kroz bodovanje te aktivnosti kao udjela u ukupnom
rezultatu ispita. To se izvodi putem blic-testova (putem e-learnig sistema) kojima se provjerava
pripremljenost za vjebu te stupanj savladavanja vjebe, odnosno aktivnost tijekom vjebe.
Ovaj prirunik je nastao na osnovu promiljanja, ali isto tako i praktinog iskustva u kompjutor-
skom labu s vie generacija studenata. Kao to smo u uvodu naveli, baze podatka su opseno i
kompleksno podruje. U 14 dvosatnih laboratorijskih vjebi nije mogue pokriti svu tematiku baza
podataka. Vie vanih tema kao to su npr., transakcije i procedure, trigeri, DCL komande, sloeni
5
Morien, R. I. (2006). A Critical Evaluation Database Textbooks, Curriculum and Educational Outcomes. Director, 07.
6 Date, C. J. (2003). An Introduction to Database Systems, Eighth Edition, Addison-Wesley, 2003. ISBN 0-321-19784-4.
7 Njihovi stavovi i rasprave se mogu pronai na web-adresi: http://www.dbdebunk.com/
http://www.dbdebunk.com/
4
agregati i drugo, nisu obraeni. Na temelju iskustva s dosadanjim grupama studenata smatramo da je
opseg vjebi i zadataka koji se od studenata oekuje da izvre (prema ovom priruniku), na granici
maksimalno prihvatljivog optereenja, te ga ni u kom sluaju ne bi trebalo proiriti, jer bi to moglo biti
kontraproduktivno. Takoer, oblikovanje baza podataka koje obuhvaa Entity-Relationship modeliranje i
normalizaciju, nije dio ovih vjebi, budui da se izvodi u okviru konzultativne nastave i rada na
samostalnim projektima. Ti ovdje neobraeni dijelovi baza podataka spadaju u napredniji kurs (kolegij),
pa bi ga po naem miljenju trebalo obraditi i izuavati odvojeno od ovdje izloenoga, uvoda u baze
podataka.
Uzimajui sve gore navedeno, za praktini rad odnosno izvoenje vjebi, potrebno je odabrati
pogodne softverske alate. Prvi meu njima je Mirosoft Access 2010. Iskustvo govori da je Access za to
vrlo pogodan alat jer :
Omoguuje da studenti u njemu dou do rezultata brzo i uz minimalni napor,
Jednostavno se ui, posjeduje niz automatskih generatora i vizualni razvoj,
Studenti koji nemaju dovoljno znanja vrlo brzo savladavaju elementarnu upotrebu,
Posjeduje dobru integraciju baze podataka i dodatnih razvojnih alata,
DBMS engine je dovoljno relacijski zasnovan pa se moe koristiti za nastavu,
Studenti mogu znanja steena u radu s Accessom, s relativnom lakoom prenijeti na druge
razvojne alate i SUBP.
Koliko nam je poznato niti jedan razvojni alat za podruje baza podataka ne posjeduje sva ta
navedena svojstva. Pored Accessa koristi se i ODBC/SQL Server, te FirebirdSQL i MySQL. Koncepcija
Accessa ve od njegovih najranijih verzija, je upravo takva da se prirodno povezuje i nadograuje na SQL
Server. FirebirdSQL odlikuje niz dobrih osobina koje ga ine pogodnim za upotrebu: besplatan je,
kompaktan je, podrava SQL standard. MySQL je najrairenija SUBP te unato nekih nedostataka,
predstavlja korisno iskustvo za studente, pogoto kad se uzme u obzir da je to jedan od nakoritenijih
SUBP u Web aplikacijama.
Ovaj prirunik je namijenjen kao obavezni prirunik studentima za laboratorijske vjebe iz kolegija
baze podataka, koji se izvode na studiju informatikog menadmenta u Visokoj koli za menadment u
turizmu i informatici u Virovitici. Prirunik je postupno nastajao, a isto tako se i dalje nastavlja razvijati u
skladu s buduim iskustvom te raspoloivim resursima i razvojem informacijske tehnologije. Stoga su sve
budue primjedbe kako kolega nastavnika, tako i studenata, dobro dole.
U Virovitici, srpanj 2015.
Autori:
mr. sc. Damir Vuk, v.pred.
Enes Cirikovi, dipl.ing.
mailto:damir.vuk@vsmti.hrmailto:enes.cirikovic.@vsmti.hr
5
6
II. Sadraj
I. PREDGOVOR ......................................................................................................................................................... 1 II. SADRAJ .............................................................................................................................................................. 6 III. POPIS VJEBI....................................................................................................................................................... 11 IV. UPUTE ZA KORITENJE PRIRUNIKA ......................................................................................................................... 12 V. LITERATURA ....................................................................................................................................................... 13
UVOD U MICROSOFT ACCESS | ..................................................................................... 15
1.1 MOTIVACIJA .................................................................................................................................................. 15 1.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 16 1.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 16 1.4 TEORIJSKI DIO PRIPREME VJEBE ......................................................................................................................... 17
1.4.1 Microsoft Access uvod ........................................................................................................................ 17 1.4.2 Razvoj Ms Access-a ................................................................................................................................ 18 1.4.3 Arhitektura Ms Accessa ........................................................................................................................ 18 1.4.4 Komponente Ms Accessa ....................................................................................................................... 20
1.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................... 21 1.5.1 Izbornici i alatne trake ........................................................................................................................... 21 1.5.2 Aplikacija Northwind Traders ............................................................................................................. 24 1.5.3 Tijek izvoenja vjebe ........................................................................................................................... 27
1.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................... 28 1.6.1 Zavrna pitanja u vezi izloene materije vjebe ..................................................................................... 28 1.6.2 Zadaci za dodatno samostalno produbljivanje znanja .......................................................................... 29
1.7 LITERATURA I DODATNI IZVORI ........................................................................................................................... 29
KREIRANJE TABLICA U MSACCESSU | .................................................................................. 31
2.1 MOTIVACIJA .................................................................................................................................................. 31 2.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 32 2.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 32 2.4 TEORIJSKI DIO PRIPREME VJEBE ......................................................................................................................... 33
2.4.1 Tablice u Ms Access-u ............................................................................................................................ 33 2.4.2 Tipovi podataka ..................................................................................................................................... 34 2.4.3 Kljuevi relacije ...................................................................................................................................... 35 2.4.4 Ogranienja i formati na razini atributa ............................................................................................... 37
2.5 SADRAJ I TIJEK IZVOENJA VJEBE ...................................................................................................................... 38 2.5.1 Sadraj vjebe ........................................................................................................................................ 38 2.5.2 Tijek izvoenja vjebe ........................................................................................................................... 39
2.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................... 39 2.6.1 Zavrna pitanja ...................................................................................................................................... 39 2.6.2 Zadaci za samostalno produbljivanje znanja ........................................................................................ 40
2.7 LITERATURA I DODATNI MATERIJALI ..................................................................................................................... 40
QUERY, POGLEDI, OGRANIENJA | ...................................................................................... 41
3.1 MOTIVACIJA .................................................................................................................................................. 41 3.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 42 3.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 42 3.4 TEORIJSKA PRIPREMA VJEBE ............................................................................................................................. 43
3.4.1 Dodatna ogranienja atributa ............................................................................................................... 43 3.4.2 Strani klju ............................................................................................................................................ 45 3.4.3 Uspostavljanje referencijalne veze ........................................................................................................ 46 3.4.4 QBE - Query ........................................................................................................................................... 48 3.4.5 Validacijski pogledi ................................................................................................................................ 49
3.5 ZADACI I SADRAJ VJEBE ................................................................................................................................ 51 3.5.1 Sadraj vjebe ........................................................................................................................................ 51 3.5.2 Tijek izvoenja vjebe ........................................................................................................................... 52
3.6 ZAVRNA PITANJA ........................................................................................................................................... 53 3.7 ZADACI ZA SAMOSTALNO PRODUBLJIVANJE ZNANJA ............................................................................................... 54 3.8 LITERATURA I DODATNI MATERIJALI ..................................................................................................................... 54
7
PROGRAMSKO SUELJE BP FORME | .................................................................................... 55
4.1 MOTIVACIJA .................................................................................................................................................. 55 4.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 56 4.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 56 4.4 TEORIJSKA PRIPREMA VJEBE ............................................................................................................................. 57
4.4.1 Semantika u bazi podataka ................................................................................................................... 57 4.4.2 DBMS/SUBP ........................................................................................................................................... 58 4.4.3 Programsko suelje prema bazi podataka ............................................................................................. 58 4.4.4 Ekranske forme ...................................................................................................................................... 59 4.4.5 Vrste formi ............................................................................................................................................. 62 4.4.6 Dodavanje podatkovnih objekata .......................................................................................................... 62 4.4.7 Dodavanje ostalih vanijih objekata ...................................................................................................... 63
4.5 ZADACI I SADRAJ VJEBE ................................................................................................................................. 65 4.5.1 Sadraj vjebe ........................................................................................................................................ 65 4.5.2 Tijek izvoenja vjebe ........................................................................................................................... 65
4.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................... 66 4.6.1 Pitanja u vezi izloene vjebe ................................................................................................................. 66 4.6.2 Zadaci za samostalno produbljivanje znanja ........................................................................................ 66
4.7 LITERATURA I DODATNI MATERIJALI ..................................................................................................................... 66
PROGRAMSKO SUELJE BP SUBFORME I IZVJETAJI | ......................................................... 67
5.1 MOTIVACIJA .................................................................................................................................................. 67 5.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 68 5.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 68 5.4 TEORIJSKA PRIPREMA VJEBE ............................................................................................................................. 69
5.4.1 Vrste povezivanja podataka s objektima forme .................................................................................... 69 5.4.2 Subforme ............................................................................................................................................... 70 5.4.3 Izvjetaji ................................................................................................................................................. 72 5.4.4 Struktura izvjetaja ................................................................................................................................ 73 5.4.5 Kreiranje izvjetaja................................................................................................................................. 74
5.5 ZADACI I SADRAJ VJEBE ................................................................................................................................. 78 5.5.1 Sadraj vjebe ........................................................................................................................................ 78 5.5.2 Tijek izvoenja vjebe ........................................................................................................................... 78
5.6 ZAKLJUNA PITANJA I ZADACI ............................................................................................................................. 79 5.6.1 Pitanja u vezi izloene vjebe ................................................................................................................. 79 5.6.2 Zadaci za samostalno produbljivanje znanja ........................................................................................ 79
5.7 LITERATURA I DODATNI MATERIJALI ..................................................................................................................... 80
SQL KOMANDE DDL | ............................................................................................... 81
6.1 MOTIVACIJA .................................................................................................................................................. 81 6.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 82 6.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 82 6.4 TEORIJSKA PRIPREMA VJEBE ............................................................................................................................. 83
6.4.1 SQL jezik baza podataka ..................................................................................................................... 83 6.4.2 Elementi SQL komande .......................................................................................................................... 84 6.4.3 SQL DDL ................................................................................................................................................. 84 6.4.4 CREATE TABLE komanda ........................................................................................................................ 85 6.4.5 ALTER TABLE komanda .......................................................................................................................... 86 6.4.6 CONSTRAINT klauzula ............................................................................................................................ 87 6.4.7 DROP komanda/klauzula ....................................................................................................................... 88 6.4.8 Kreiranje SQL DDL komandi u Accessu ................................................................................................... 89
6.5 ZADATAK I SADRAJ VJEBE ............................................................................................................................... 91 6.5.1 Sadraj vjebe ........................................................................................................................................ 91 6.5.2 Tijek izvoenja vjebe ........................................................................................................................... 91
6.6 ZAKLJUNA PITANJA I DODATNI ZADACI ................................................................................................................ 92 6.6.1 Zadaci za samostalno produbljivanje znanja ........................................................................................ 93
6.7 LITERATURA I DODATNI MATERIJALI ..................................................................................................................... 93
ODBC | ...................................................................................................... 95
7.1 MOTIVACIJA .................................................................................................................................................. 95 7.2 CILJEVI VJEBE ISHODI UENJA ......................................................................................................................... 96
8
7.3 SAMOSTALNA PRIPREMA VJEBE ......................................................................................................................... 96 7.4 TEORIJSKI DIO PRIPREME VJEBE ......................................................................................................................... 97
7.4.1 ODBC Open Database Connectivity .................................................................................................... 97 7.4.2 ODBC arhitektura ................................................................................................................................... 98 7.4.3 Arhitektura Ms Accessa ........................................................................................................................ 98 7.4.4 ODBC veza s SQL Server SUBP .............................................................................................................. 100
7.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................. 105 7.5.1 Tijek izvoenja vjebe ......................................................................................................................... 105
7.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 106 7.6.1 Zavrna pitanja u vezi izloene materije vjebe ................................................................................... 106 7.6.2 Zadaci za dodatno samostalno produbljivanje znanja ........................................................................ 106
7.7 LITERATURA I DODATNI IZVORI ......................................................................................................................... 106
SQL DML | ........................................................................................................ 107
8.1 MOTIVACIJA ................................................................................................................................................ 107 8.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 108 8.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 108 8.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 109
8.4.1 Komanda SELECT ................................................................................................................................. 109 8.4.2 Komanda UNION ................................................................................................................................. 113 8.4.3 Komanda UPDATE ............................................................................................................................... 114 8.4.4 Komanda DELETE ................................................................................................................................. 114 8.4.5 Komanda INSERT INTO ........................................................................................................................ 115 8.4.6 Komanda SELECT INTO ........................................................................................................................ 116 8.4.7 Kreiranje DML komandi u Access-u ..................................................................................................... 117
8.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................. 118 8.5.1 Tijek izvoenja vjebe ......................................................................................................................... 118
8.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 120 8.6.1 Zavrna pitanja u vezi izloene materije vjebe ................................................................................... 120
8.7 LITERATURA I DODATNI IZVORI ......................................................................................................................... 120
SQL SPOJEVI | .................................................................................................................. 121
9.1 MOTIVACIJA ................................................................................................................................................ 121 9.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 122 9.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 122 9.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 123
9.4.1 SQL spojevi ........................................................................................................................................... 123 9.4.2 Unutarnji spoj (INNER JOIN) ................................................................................................................ 123 9.4.3 Vanjski spoj (OUTER JOIN) ................................................................................................................... 124
9.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................. 125 9.5.1 Tijek izvoenja vjebe ......................................................................................................................... 125
9.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 126 9.6.1 Zavrna pitanja u vezi izloene materije vjebe ................................................................................... 126
9.7 LITERATURA I DODATNI IZVORI ......................................................................................................................... 126
FIREBIRD INSTALACIJA I UPOTREBA | ................................................................................. 127
10.1 MOTIVACIJA ................................................................................................................................................ 127 10.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 128 10.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 128 10.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 129
10.4.1 Uvod u Firebird RDBMS ................................................................................................................... 129 10.4.2 Firebird instalacija ........................................................................................................................... 130 10.4.3 Vizualni alati za rad s Firebird relacijskom bazom podataka .......................................................... 131 10.4.4 Firebird ODBC driver ........................................................................................................................ 134
10.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................. 135 10.5.1 Tijek izvoenja vjebe ..................................................................................................................... 135
10.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 136 10.7 LITERATURA I DODATNI IZVORI ......................................................................................................................... 136
SQL OPERATORI I NULL VRIJEDNOST | ............................................................................... 137
11.1 MOTIVACIJA ................................................................................................................................................ 137 11.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 138
9
11.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 138 11.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 139
11.4.1 SQL operatori ................................................................................................................................... 139 11.4.2 NULL vrijednost ............................................................................................................................... 141
11.5 SADRAJ I TIJEK IZVOENJA VJEBE .................................................................................................................... 143 11.5.1 Sadraj vjebe .................................................................................................................................. 143 11.5.2 Tijek izvoenja vjebe ..................................................................................................................... 143
11.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 145 11.6.1 Zavrna pitanja ................................................................................................................................ 145 11.6.2 Zadaci za samostalno produbljivanje znanja .................................................................................. 145
11.7 LITERATURA I DODATNI MATERIJALI ................................................................................................................... 146
SQL AGREGACIJE, SORTIRANJE | .......................................................................................... 147
12.1 MOTIVACIJA ................................................................................................................................................ 147 12.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 148 12.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 148 12.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 149
12.4.1 Agregatne funkcije u SQL-u ............................................................................................................. 149 12.4.1.1 Funkcija COUNT ........................................................................................................................................... 150 12.4.1.2 Agregatne funkcije MAX i MIN .................................................................................................................... 150 12.4.1.3 Agregatne funkcije SUM i AVG .................................................................................................................... 150
12.4.2 Klauzula GROUP BY ......................................................................................................................... 151 12.4.3 Klauzula HAVING ............................................................................................................................. 152 12.4.4 Klauzula ORDER BY .......................................................................................................................... 153
12.5 SADRAJ I ZADATAK VJEBE ............................................................................................................................. 154 12.5.1 Tijek izvoenja vjebe ..................................................................................................................... 156
12.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 157 12.6.1 Zavrna pitanja u vezi izloene materije vjebe ............................................................................... 157
12.7 LITERATURA I DODATNI IZVORI ......................................................................................................................... 158
UGNIJEDENI UPITI | ...................................................................................................... 159
13.1 MOTIVACIJA ................................................................................................................................................ 159 13.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 160 13.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 160 13.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 161
13.4.1 Ugnijedeni upiti - uvod ................................................................................................................... 161 13.4.1.1 Podupiti liste ............................................................................................................................................... 162 13.4.1.2 Podupiti s predikatom usporedbe ............................................................................................................... 162 13.4.1.3 Korelirani podupiti....................................................................................................................................... 162 13.4.1.4 Podupiti s predikatom postojanja (EXISTS, NOT EXISTS) ............................................................................. 163
13.5 SADRAJ I TIJEK IZVOENJA VJEBE .................................................................................................................... 163 13.5.1 Tijek izvoenja vjebe ..................................................................................................................... 163
13.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 169 13.6.1 Zavrna pitanja ................................................................................................................................ 169
13.7 LITERATURA I DODATNI MATERIJALI ................................................................................................................... 170
MYSQL DBMS, MYSQL WORKBENCH | ................................................................................... 171
14.1 MOTIVACIJA ................................................................................................................................................ 171 14.2 CILJEVI VJEBE ISHODI UENJA ....................................................................................................................... 172 14.3 SAMOSTALNA PRIPREMA VJEBE ....................................................................................................................... 172 14.4 TEORIJSKI DIO PRIPREME VJEBE ....................................................................................................................... 173
14.4.1 Uvod u MySQL SUBP ........................................................................................................................ 173 14.4.2 MySQL instalacija ............................................................................................................................ 174 14.4.3 MySQL Workbench .......................................................................................................................... 185 14.4.4 Uvoz podataka iz CSV datoteka ....................................................................................................... 195
14.5 SADRAJ I TIJEK IZVOENJA VJEBE .................................................................................................................... 198 14.5.1 Tijek izvoenja vjebe ..................................................................................................................... 198
14.6 ZAVRNA PITANJA I ZADACI ............................................................................................................................. 202 14.6.1 Zadaci za samostalno produbljivanje znanja .................................................................................. 202
14.7 LITERATURA I DODATNI MATERIJALI ................................................................................................................... 202
10
11
III. Popis vjebi
UVOD U MICROSOFT ACCESS ......................................................................... 15
KREIRANJE TABLICA U MS ACCESS-U ................................................................. 31
QUERY, POGLEDI, OGRANIENJA .................................................................... 41
PROGRAMSKO SUELJE BP FORME ................................................................. 55
PROGRAMSKO SUELJE BP SUBFORME I IZVJETAJI ........................................ 67
SQL KOMANDE DDL .............................................................................................. 81
ODBC ....................................................................................................................... 95
SQL DML .................................................................................................................. 107
SQL SPOJEVI ................................................................................................... 121
FIREBIRD INSTALACIJA I UPOTREBA ................................................................... 127
SQL OPERATORI I NULL VRIJEDNOST .................................................................. 137
SQL AGREGACIJE, SORTIRANJE ............................................................. 147
UGNIJEDENI UPITI ........................................................................... 159
MYSQL DBMS, MYSQL WORKBENCH .................................................................. 171
12
IV. Upute za koritenje prirunika
Vjebe izloene u ovom priruniku zahtijevaju od studenata da aktivno sudjeluju u samostalnoj
pripremi, izvoenju vjebe u raunalnom laboratoriju, te u naknadnom utvrivanju ili dovravanju
vjebe. Planom kolegija baze podataka, predvien je nain bodovanja ukupne aktivnosti studenata, to
e se pribrojiti konanom uspjehu. Vjebe su strukturirane tako da svaka od njih sadri nie navedene
dijelove.
Motivacija: Obuhvaa kratko objanjenje motivacije za sadraj i izvoenje vjebe.
Ciljevi vjebe ishodi uenja: Navedeno je to se oekuje da bi student putem vjebe trebao
nauiti odnosno znati. Oekivane razine znanja: shvatiti/razumjeti, moi primijeniti, dobiti uvid/
informaciju.
Samostalna priprema vjebe: Navedeno je koja su znanja potrebna, a koja nuna za pristupanje
izvoenju vjebe u labu. Od studenata se oekuje da se samostalno pripreme za vjebu, i to prije nego
to pristupe izvoenju vjebe u labu. Studenti bi trebali znati i razumjeti odgovore na postavljena
pitanja. Osobito je bitno savladati znanja koja su navedena kao minimalno potrebna. Studenti e biti
kroz blic-test ispitani kako bi se utvrdilo jesu li savladali pripremna znanja. Ukoliko student nije u stanju
razumjeti pripremu vjebe, trebao bi traiti pomo od nastavnika koji vodi lab, ali prije same vjebe .
Teorijski dio vjebe: U teorijskom dijelu vjebe je u skraenoj formi navedena teorijska i druga
materija, odnosno znanja i injenice potrebne za izvoenje vjebe. Ideja je u tome da se studentima
omogui jednostavnija i fokusirana priprema. Ovaj dio student treba dobro proraditi i nauiti prije
dolaska u lab na izvoenje vjebe (u samostalnoj pripremi).
Sadraj vjebe: Obuhvaa opis onoga to se na vjebi ui u praktinom smislu.
Tijek izvoenja vjebe: Naveden je precizni tijek aktivnosti koje se izvode u labu.
Zavrna pitanja: Zavrna pitanja omoguuju studentu da provjeri u kolikoj mjeri je savladao
vjebu. Ako student ne razumije pitanje ili ako ne zna odgovor na njega, onda je neto propustio bilo u
pripremi, bilo u izvoenju vjebe. Oekuje se da student sam ili timski s drugim studentima taj dio
naknadno savlada nakon zavretka vjebe u labu. Ova pitanja su osnova za znanje koje e se testirati za
svaku prethodnu vjebu.
Zadaci za produbljivanje znanja: Na kraju su navedena pitanja i zadaci za napredne studente koji
ele svoja znanja produbiti.
Literatura i dodatni izvori: Ovaj dio sadri popis osnovnih i dodatnih izvora za uenje fokusiranih
na tekuu vjebu, ali i izvora koji omoguuju samostalno stjecanje dodatnih proirenih znanja.
13
V. Literatura
Za izuavanje baza podataka postoji mnotvo izvora. Kao temelj za teorijsku podlogu napravili
smo sljedei kratki izbor, koji po naem miljenju pored referenci dodatnih izvora na kraju svake vjebe,
daje dostatnu osnovu za razumijevanje baza podataka.
1. Date, C. J. (2003). An Introduction to Database Systems, Eighth Edition, Addison-Wesley, 2003. ISBN 0-321-19784-4. Ovo je kao to smo ve naveli, jedan od najstarijih udbenika i vjerojatno je izdan u najvie primjeraka kroz njegovih devet izdanja u proteklih vie od trideset godina. Udbenik nudi sveobuhvatan uvid u podruje, lako je itljiv i daje iscrpan pregled literature kroz povijest s komentarima.
2. Date, C. J. (2011). SQL and relational theory: how to write accurate SQL code. "
O'Reilly Media, Inc.". Ova knjiga je neto to po naem miljenju niti jedan ozbiljan praktiar ne smije propustiti. Glavna tema je kako u uvjetima oitih i bitnih odstupanja SQL Standarda i SUBP u odnosu na teoriju relacijskog modela, ipak iskoristiti najvie to ti sustavi pruaju, a pri tome se drati relacijske teorije. Dakle, autor pokuava dati odgovore kako nesavrene alate koristiti maksimalno korektno u teorijskom smislu.
3. Radovan, M. (1993). Baza podataka-Relacijski pristup i SQL. Informator, Zagreb.
Radovanova knjiga je pisana kao solidan, kompletan udbenik za uvod u baze podataka. Jasno je i teorijski korektno izloen relacijski model podataka kao relacijski pristup, te su izloeni osnovni koncepti SQL jezika. Materija je izloena jasno i na jednostavan nain, ali ni u kojem sluaju naivno.
4. Tkalac, S. (1993). Relacijski model podataka. Drutvo za razvoj informacijske
pismenosti (DRIP) , Zagreb. Ovo je udbenik u kome je s teorijskog stajalita, najdublje obraena materija teorije relacijskog modela napisana na hrvatskom jeziku. Preporuujemo ga za napredne studente, ali je pritom poeljna odreena razina prethodnog znanja o bazama podataka i relacijskom modelu.
5. Varga, M. (1994). Baze podataka: konceptualno, logiko i fiziko modeliranje
podataka. Drutvo za razvoj informacijske pismenosti, Zagreb. Ovaj je udbenik lako pristupaan poetnicima, koji se s bazama podataka nisu prije susretali. U tom smislu ga svakako preporuujemo.
14
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
15
Vjeba 1: UUvvoodd uu MMiiccrroossoofftt AAcccceessss ||
1.1 Motivacija
Studenti koji se prvi puta susreu s teorijskim konceptima baza podataka, imaju potekoa u
smislu predodbe, praktine realizacije, organizacije i naina upotrebe baze podataka. Teoriju baza
podataka nije mogue primijeniti bez odgovarajuih alata, prije svega sustava za upravljanje bazom
podataka (SUBP), koji se esto koncepcijski ali i sadrajno znaajno razlikuju. Iako Microsoftov Access
nije u teorijskom smislu, idealan primjer relacijskog SUBP, njegova jednostavnost, prihvatljiva relacijska
vjernost te sveobuhvatnost kao alata za razvoj aplikacija zasnovanih na bazi podataka, po naem
miljenju ga izdvaja kao dobar alat za poetno praktino uenje o bazama podataka. U ovoj vjebi elimo
kroz nairoko poznati primjer aplikacije Northwind Traders pokazati kako izgleda jednostavna
aplikacija zasnovana na bazi podataka. Smatramo da studenti mogu kroz taj primjer stei predodbu ne
samo o strukturi i organizaciji baze podataka, nego i o odgovarajuoj aplikaciji koja obuhvaa korisnike
forme i izvjetaje te ostale objekte u bazi.
SSaaddrraajj vvjjeebbee::
UVOD U MICROSOFT ACCESS | 15
1.1 MOTIVACIJA 15 1.2 CILJEVI VJEBE ISHODI UENJA 16 1.3 SAMOSTALNA PRIPREMA VJEBE 16 1.4 TEORIJSKI DIO PRIPREME VJEBE 17
1.4.1 Microsoft Access uvod .................................................................................................................... 17 1.4.2 Razvoj Ms Access-a ........................................................................................................................... 18 1.4.3 Arhitektura Ms Accessa .................................................................................................................... 18 1.4.4 Komponente Ms Accessa ................................................................................................................... 20
1.5 SADRAJ I ZADATAK VJEBE 21 1.5.1 Izbornici i alatne trake ....................................................................................................................... 21 1.5.2 Aplikacija Northwind Traders ......................................................................................................... 24 1.5.3 Iijek izvoenja vjebe ........................................................................................................................ 27
1.6 ZAVRNA PITANJA I ZADACI 28 1.6.1 Zavrna pitanja u vezi izloene materije vjebe ................................................................................. 28 1.6.2 Zadaci za dodatno samostalno produbljivanje znanja ...................................................................... 29
1.7 LITERATURA I DODATNI IZVORI 29
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
16
1.2 Ciljevi vjebe ishodi uenja
Od studenata se oekuje da nakon uspjeno zavrene vjebe:
o Shvate elemente/dijelove Ms Accesa kao aplikacijskog razvojnog alata.
o Znaju samostalno otvoriti postojeu Access aplikacijsku datoteku.
o Na temelju predloka (template), znaju generirati Access aplikacijsku datoteku.
o Razumiju svrhu i namjenu Ms Accesa.
o Razumiju i znaju koristiti osnovne postavke Ms Accessa.
o Dobiju grubi pojam o tome to je to baza podataka u praktinom smislu.
o Razumiju logiku strukturu i sadraj izloenog primjera baze podataka.
1.3 Samostalna priprema vjebe
Obaveza studenata je pripremiti se za aktivno sudjelovanje u izvoenju vjebe:
Prouite prethodnu materiju izloenu na predavanjima iz kolegija BP.
Dobro prouite teorijski dio ove vjebe.
Potraite dodatne informacije na internetu kojima moete produbiti potrebno znanje.
Osim teorijske podloge za pripremu ove vjebe, pokuajte shvatiti i ostali dio materijala.
Ako su vam neki dijelovi materijala eventualno nerazumljivi pripremite pismena pitanja.
Prije pristupanja vjebi, minimalno biste trebali znati odgovore sljedeih pitanja:
o to je baza podataka? to je DBMS/SUBP ?
o Kakva je slinost/povezanost, a kakva je razlika meu njima?
o to baza podataka sadri?
o to je tip podatka? Koje osnovne tipove podataka poznajete?
o to je podatak, a to informacija, u emu je slinost i razlika?
o Kako su podaci u bazi organizirani?
o to je Ms Access, emu slui, od kojih komponenti se sastoji?
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
17
1.4 Teorijski dio pripreme vjebe
1.4.1 Microsoft Access uvod
Microsof Access, ili kako se novije inaice slubeno zovu: Microsoft Office Access, integrirani je
alat za razvoj aplikacija zasnovanih na osobnoj bazi podataka. Mnogi Access nazivaju bazom podataka.
Meutim, Access je oduvijek bio vie od baze podataka. Access predstavlja na odreen nain RAD tj. alat
za brzu izradu aplikacija zasnovanih na bazi podataka. RAD je skraenica od pojma Rapid Applications
Development (brzi razvoj aplikacija). Arhitektura i nain upotrebe RAD alata omoguuje da se u toku
razvoja aplikacija razvija (developer/projektant) primarno fokusira na brzinu razvoja, ak i na utrb
performansi aplikacije i/ili na utrb funkcionalnosti.
RAD alati u pravilu, omoguuju jednu od dvije metode prototipiziranja. Prvi tip se naziva razvij pa
odbaci. Drugi tip se naziva razvij pa poboljavaj. U prvom sluaju prototip e posluiti kako bi se na
efikasan nain dobila dobra funkcionalna specifikacija tj., kako bi se spoznalo kakva bi u funkcionalnom
smislu aplikacija trebala biti. Nakon izrade ovakvog prototipa moe se pristupiti izradi potrebne
aplikacije, budui da takav prototip ne daje dovoljno dobre performanse u stvarnoj upotrebi, a prototip
se odbacuje. Ovakav model razvoja prototipiziranjem se koristi u situacijama kada je teko ili nije
mogue ekonomino utvrditi specifikaciju funkcionalnih zahtjeva za potrebnu aplikaciju. On je takoer
pogodan pristup u situacijama kad naruitelji aplikacije odnosno njeni korisnici, ali takoer i projektanti
nemaju jasnu predodbu o tome kako bi aplikacija trebala funkcionirati. Prototipiziranjem se u takvim
sluajevima postupno dobiva pouzdana specifikacija zahtjeva uz minimalni napor naruitelja, korisnika i
projektanata. Na taj se nain znaajno smanjuje rizik neuspjeha konane aplikacije, koja se gradi na
temelju dobivenog prototipa.
Drugi oblik prototipa omoguuje da se dobije aplikacija koja e dati u poetku slabije, ali ipak minimalno
prihvatljive performanse, uz uvjet da se kroz daljnje poboljavanje moe dobiti potpuno prihvatljivo
rjeenje. Access je pogodan za oba sluaja prototipiziranja, i to zbog toga to sadri sve elemente
potrebne za razvoj, integrirane u konzistentan alat. Kod tako dobivenih rjeenja e najee biti kritina
toka u pogledu performansi sama baza podataka. Meutim, Access omoguuje jednostavnu, gotovo
automatsku nadogradnju (upsizing) na SQL Server ili pak putem ODBC suelja mogue je povezivanje
na praktino bilo koji visokoperformansni DBMS.
Potrebno je napomenuti da je Ms Access osim to omoguuje profesionalni pristup razvoju aplikacija,
omiljen alat koji koriste i napredniji korisnici za razvoj manjih lokalnih aplikacija. Jasno, u ovom drugom
sluaju aplikacije e najvjerojatnije biti neprihvatljive prema strogim profesionalnim kriterijima, ali ipak
upotrebljive i korisne. Treba napomenuti da se Microsoft u svojim materijalima u prilogu za koritenje
Accessa najee usredotouje na ovu drugu skupinu korisnika. Upravo zbog toga, Access je na loem
glasu kod nekih profesionalaca koji ga nedovoljno poznaju. Unato tome on predstavlja jedinstven RAD
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
18
alat na tritu . injenica je da mu niti jedan slian RAD alat u proteklih dvadeset godina nije preuzeo
primat u toj trinoj nii.
Ove osobine jednostavnosti koritenja za poetnike, takoer ga svrstavaju u esto koriten alat za prvi
susret sa bazama podataka, odnosno za poetno uenje baza podataka i SQL jezika. Pritom treba imati
na umu da Ms Access nije DBMS, nego jedan cjeloviti razvojni alat koji nikako ne treba usporeivati s
drugim robusnijim i kompleksnijim, ali i neusporedivo skupljim sustavima za upravljanje bazom
podataka poput SQL Servera, Oracle-a DB2 itd.
1.4.2 Razvoj Ms Access-a
Prva inaica (verzija) Accessa pojavila se 1992. godine. Temelj na kome je on razvijen bio je vrlo
ozbiljan. Microsoft je 80-tih godina pokrenuo projekt Omega iji je cilj bio razvoj trino konkurentnog
relacijskog sustava za upravljanje bazama podataka (RDBMS). Budui da je Microsoft kasnije od tog
sustava odustao, dobivena tehnologija bila je upotrijebljena za razvoj Accessa. U to vrijeme Microsoft je
favorizirao BASIC programski jezik kao programski jezik za mase pa je logina posljedica bila da se on
ukljui u Access projekt. Pojava Accessa nije imala dovoljno pogodno tlo, budui da Microsoft nije imao
dovoljno dobar 32-bitni operativni sustav. Pojava Windowsa 95 i nakon toga Microsoft Office 95 paketa
iji je Access bio dio, znailo je prekretnicu u trinom nastupu Accessa.
Sastavni dio paketa i glavni programski jezik Accessa je bio Visual Basic for Applications (VBA).
VBA je je proireni podskup Visual Basica, koji je Accessu omoguio stvaranje procedura koje inae nisu
bile mogue u jednostavnijoj verziji SQL-a koje Access podrava. Nakon Verzije 95, pojavila se inaica 97.
Meutim, sljedeu prekretnicu je predstavljala inaica Access 2000. Uslijedile su inaice Access XP i
Access 2003. Ove inaice (verzije) su bile zasnovane na Jet DBMS-u (Jet Engine).
Od inaice 2007, preko 2010 pa do zadnje inaice 2013, Jet DBMS je naputen, a njegova
arhitektura je promijenjena. Promijenjena je i razvojna okolina u skladu s Office konceptom. Posljednja
inaica je usredotoena na web aplikacije koritenjem Microsoftovog Sharepoint servisa a u osnovi bi
SQLServer trebao biti DBMS . Njena desktop verzija je u velikoj mjeri kompatibilna s inaicom 2007
odnosno 2010. Za ove vjebe smo odabrali 32-bitnu inaicu Access 2010, prije svega zbog
kompatibilnosti sa prethodnom verzijom OS Windows xp, kako bi bila dostupnija studentima. Inaice
Accessa poevi od 2007, mogu podravati 32 ili 64 bino adresiranje. 64 bitna verzija zahtijeva 64 bitni
Windows operativni sustav, dok 32 bitna verzija moe raditi i pod 32 bitnim, ali pod 64 bitnim
Windowsima.
1.4.3 Arhitektura Ms Accessa
Kao to je poznato, s obzirom na namjenu, danas postoje dvije osnovne arhitekture odnosno
izvedbe baza podataka, odnosno SUBP. Jedno su baze podataka koje su utemeljene na softverskom
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
19
sustavu koji omoguuje cjelovito i konzistentno upravljanje bazom podataka i njenim sadrajem u vidu
softvera-servera (DBMS). Ova vrsta omoguuje konzistenciju, cjelovitost i skalabilnu djeljivost podataka
u bazi, i pritom omoguuje posluivanje veeg broja korisnika odnosno klijentskih programa. Druga vrsta
DBMS-a nije zasnovana na samostalnom serveru, ve su funkcije DBMS-a ugraene u svaku aplikaciju.
Ova vrsta baza podataka se naziva personalna odnosno desktop baza. Namijenjena za aplikacije koje
opsluuju jednog korisnika na lokalnom raunalu ili eventualno manji broj konkurentnih korisnika. Ms
Access pripada u tu drugu kategoriju, dok SQLServer u prvu kategoriju RDBMS-a (relacijskih sustava za
upravljanje bazom podataka). Pojam baza podataka se esto koristi i kao sinonim za podatke kojima
upravlja DBMS, ali se esto i koristi kao sinonim za sam DBMS, odnosno DBMS i podaci.
Access aplikacija se sprema u jednu datoteku koja sadri sve objekte aplikacije (forme, izvjetaje,
programske module,...) kao i bazu podataka i njene objekte te njihov sadraj (podatke). Takva datoteka
standardno ima ekstenziju accdb. U prethodnim verzijama (prije Accessa 2007) ta je ekstenzija bila mdb i
imala je neto drugaiju strukturu od accdb. Inaica Access 2010 podrava oba formata. Pored izvedbe
aplikacije u kojoj se aplikativni softver nalazi zajedno s objektima baze podataka (tj. podacima) u istoj
datoteci, Access omoguuje da se izvrna aplikacija razdvoji od podataka u dvije odvojene datoteke. U
pravilu je gotovo uvijek, dobro razdvojiti aplikacijske objekte u zasebnu datoteku, a bazu podataka u
drugu datoteku. Datoteku koja sadri aplikacijske objekte treba linkati (povezati) s datotekom koja sadri
bazu podataka. Obje datoteke mogu imati istu accdb ekstenziju. Na taj nain se osigurava bolja
upravljivost, ali pouzdanost u viekorisnikom radu.
Aplikacijska datoteka je otvorena za korisnike tako da oni mogu neposredno mijenjati aplikacijske
i ostale objekte. Ovo moe biti dobro, ali esto razvija aplikacije eli osigurati da korisnici mogu samo
koristiti bazu, te da pritom ne mogu mijenjati sadraj aplikacije. Access omoguuje izradu zatiene
verziju izvrne datoteke koja za korisnike djeluje kao da se radi o izvrnom programu koji korisnici ne
mogu mijenjati. To se moe postii tzv. publiciranjem (tj., spremanjem u drugi format: Save & Publish)
Access aplikacije kao kompajlirane i zatienu datoteku s ekstenzijom accde.
Kompajlirana i zapakirana verzija ACCDE ima jo jednu prednost. Mogue ju je izvoditi na raunalu
na kojem nije instalirana potpuna verzija Accessa. Umjesto toga potrebno je instalirati tzv. run-time
verziju Accessa koja je besplatna i moe se skinuti s Microsoftove web-stranice. Na taj nain se postie
dodatna sigurnost, stabilnost i jednostavnost distribucije Access aplikacija. Ova mogunost u punoj
formi, postoji poevi od inaice Access2007.
Takoer treba napomenuti da datoteke s ekstenzijom mdb ili accdb, mogu posluiti kao eksterni
izvori podataka odnosno baze podataka, za druge programe. Tako je na primjer, iz Excela mogue
direktno, bez programiranja, itati i upisivati podatke u te datoteke kao eksterne baze podataka.
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
20
1.4.4 Komponente Ms Accessa
Access se sastoji od sljedeih dijelova:
DBMS-engine,
Query designer,
Form-designer,
Report designer,
Visual Basic IDE sa kompajlerom,
Macro editor.
DBMS engine je relacijski dbms. To znai da je njegov inherentni model podataka relacijski model
podataka. On osigurava konzistenciju i integritet podataka, ali i jednostavnost primjene. DBMS dio
Accessa je relacijski, to u osnovi znai da:
Podatke sprema u tablinu strukturu tablice
Za manipulaciju podacima (ubacivanje, mijenjanje, brisanje i dohvaanje) koristi SQL jezik
Operacije/manipulacije podacima se izvode nad tablicama.
Query Designer je dio Accessa koji omoguuje dvojni nain kreiranja i mijenjanja SQL upita:
Neposrednim pisanjem SQL modula,
Koritenjem tabelarnog alata koji se obino naziva QBE (Query by Example), koji na vrlo
jednostavan nain omoguuje stvaranje ak i sloenih SQL upita.
Form designer je alat koji omoguuje vizualno kreiranje programskih formi koje predstavljaju dinamiko
suelje za pristup podacima u bazi (ubacivanje, mijenjanje, brisanje i prikaz).
Report Designer je alat koji na vizualan nain omoguuje stvaranje izvjetaja (prikaza) podataka iz baze
podataka. On ima funkciju pretpregled, koja omoguuje prikaz izvjetaja na ekranu ali i funkciju ispisa na
pisa ili transfera u PDF i druge formate.
Visul Basic IDE je je interaktivni razvojni editor za programiranje u Accessovoj verziji Visula Basic jezika.
Ovaj jezik je pravi programski jezik s mnogim naprednim osobinama, ali i proirenjima potrebnim za rad
s Access bazom. Zapravo se radi o tzv. Visual Basic for Applications jeziku (VBA). Koristi se za
programiranje rutina koje se mogu pridruiti formama i izvjetajima. On takoer omoguuje koritenje
ugraenog dinamikog SQL koda. VBA je standardni ugraeni jezik za sve Microsoft Office aplikacije.
Makro editor je editor takozvanih makro-programa. Radi se o alatu koji na intuitivan nain omoguuje
razvoj programskih rutina za korisnike koji nisu programeri i ne poznaju Visual Basic. Performanse
ovakvih programa su obino loije od onih izraenih u VBA, ali postoji mogunost automatskog
pretvaranja makro programa u VBA-program pomou ugraenog alata.
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
21
1.5 Sadraj i zadatak vjebe
1.5.1 Izbornici i alatne trake
Razvoj i koritenje neke aplikacije u Accessu zahtijeva da se aplikacija najprije kreira, a kod svake
sljedee upotrebe ponovno otvori. Kreiranje nove aplikacije pretpostavljavlja stvaranje/otvaranje nove
Access datoteke te nakon toga kreiranje objekata koje e aplikacija sadravati. Acces nudi cijeli niz
gotovih predloaka koji sadre inicijalnu definiciju kako podatkovnih tako i aplikacijskih objekata,
odnosno gotovih aplikacija za pojedina podruja poslovanja. To omoguuje da se takvi predloci
(templates) uitaju te generiraju polaznu aplikaciju koja se nakon toga moe prilagoditi specifinim
potrebama. Kao to smo u teorijskom dijelu naveli, postoje dvije grupe objekata: objekti baze podataka
i aplikacijski objekti. U Accessu najprije kreiramo objekte baze podataka: relacijske tablice, SQL upite i
poglede, te integritetska ogranienja. Baza podataka predstavlja logiki podatkovni model poslovnog
sustava, odnosno onoga dijela tog sustava za koji se baza gradi.
Prikaz izbornika File->New, koji omoguuje kreiranje nove baze na osnovu predloaka:
Access aplikaciju moemo spremiti u formi u kojoj je kreirana, ili u vie drugih oblika koji su
ponueni u izborniku. Pored spremanja u formate prethodnih verzija, osobito je znaajno spremanje u
kompajliranu verziju tipa accde, koja kao to smo prije rekli, postaje izvrni kompajlirani i slobodno
prenosivi kod. Tu je takoer mogunost digitalnog potpisivanja aplikacije te isto tako i mogunost
dobivanja web verzije koja se izvrava uz pomo SharePoint servisa.
Prikaz izbornika Save & publish (spremi i publiciraj) s moguim opcijama izlaznog formata:
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
22
Access omoguuje cijeli niz postavki parametara koji imaju utjecaj na njegovo funkcioniranje kako
u toku razvoja aplikacije, tako i na konani izgled i nain funkcioniranja korisnike aplikacije. Postavke se
definiraju u izborniku: Access Options, a organizirane su u jedanaest grupa.
Prikaz izbornika s grupama opcija za podeavanje parametara rada Accessa:
Tijekom razvoja i koritenja Access aplikacije na raspolaganju je velik broj alata (tools) dostupnih
preko ikona na odgovarajuoj alatnoj traci (ribbon). Postoji vie alatnih traka s funkcionalno grupiranim
ikonama alata, koje su kontekstno osjetljive. To znai da e alati biti aktivni samo ako to ima smisla s
obzirom na trenutni kontekst aplikacije.
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
23
Prikaz alatnih taka: Home:
Create kreiranje objekata
Eksternal Data import/export vanjskih izvora podataka:
Database Tools alati za rad s bazom:
Design kreiranje i oblikovanje objekata:
Arrange ureivanje, pozicioniranje objekata:
Format formatiranje izgleda/prikaza sadraja:
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
24
1.5.2 Aplikacija Northwind Traders
U primjeru baze podataka koja e se koristiti za ovu vjebu, u Accessu je izraena aplikacija
zasnovana na bazi podataka, koja predstavlja pojednostavljeni model poslovanja fiktivne tvrtke
Northwind Traders (u nastavku NWT). Ve od prvih verzija Accessa ova se aplikacija koristi kao
ilustrativni cjeloviti primjer aplikacije u Accessu. Znaaj primjera je u tome to na jednostavan nain
ilustrira aplikaciju za podrku poslovanja u fiktivnom/zamiljenom poduzeu NWT.
Primjer je razumije se, previe pojednostavljen da bi se stvarno mogao koristiti u ivom poduzeu.
Meutim, on moe posluiti kao aplikacijski i podatkovni kostur za izgradnju stvarno upotrebljive
aplikacije odnosno baze podataka. Nadalje, baza podataka na kojoj se zasniva, nije u smislu relacijske
teorije potpuno korektna, ali je s obzirom na namjenu prihvatljiva.
Prikaz NWT bez navigacijskog okna (minimiziran je):
Poslovni model NWT ukljuuje:
NWT kao tvrtku koja ima zaposlenike (Employees), te robu (Products) koju uva na zalihi
(Inventory)
NWT nabavlja robu putem narudbi (Purchase Orders)
NWT prodaje robu kupcima (Customers) na temelju prodajnih narudbi (Sales Orders)
isporuujui robu putem transportera (Shippers) , te za to ispostavlja raune (Invoices)
O ostvarenoj prodaji se mogu ispisati prodajni izvjetaji (Sales reports).
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
25
Kad se otvori Access aplikacija s ciljem daljnjeg razvoja odnosno promjene, ispod izbornika i alatne
trake, prikazat e se dva prozora: prvi prozor je na lijevoj strani ekrana - to je navigacijski prozor. U
njemu su prikazani podatkovni i aplikacijski objekti grupirani u grupe (elemente). Kad se pojedina grupa
rastvori, prikazat e se objekti te grupe. Drugi prozor (desni) e prikazati onaj objekt koji je selektiran u
navigacijskom prozoru. Istovremeno je mogu prikaz vie objekata. Nain prikaza se moe odabrati
putem izbornika koji se pojavljuje nakon to pritisnemo desnu tipku mia iznad naslova odnosno naziva
odabranog objekta.
Na primjeru NWT popis tablica je prikazan kao lista s desne strane, a na lijevoj strani je prikaz
sadraja odabrane tablice (Employees):
Temeljni dio svake Access aplikacije je baza podataka. Glavni objekt baze podataka su relacije ili
relacijske tablice. Relacije sadre entorke vrijednosti atributa karakteristinih za svaku relaciju. Te
entorke su skupovi vrijednosti, koje se u relacijskoj tablici prikazuju kao redovi, dok se stupci odnose na
homogene vrijednosti atributa. Relacije ili relacijske tablice ili jednostavno tablice, su meusobno logiki
povezane preko stranih i primarnih kljueva i odgovarajuih integritetskih pravila, o emu e biti vie
rijei u iduim vjebama. Za sada napomenimo samo, da u relacijskoj bazi podaci odnosno relacije, nisu
povezane fizikim vezama, ve su te veze iskljuivo logike. Fizika i logika razina relacijske baze
podataka su jasno razdvojene. Projektant/razvija se bavi konceptualnom i logikom razinom, a
administrator baze podataka fizikom razinom.
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
26
U NWT aplikaciji je implementirano 18 relacijskih tablica:
Customers (Kupci) oznaava kupce kojima se prodaje roba.
Shipers (Transporteri) koji isporuuju/transportiraju naruenu robu kupcima.
Orders (Narudbe) narudbe koje ispostavljaju kupci narudba sadri jednu ili vie stavaka
Orders Details (Stavke narudbi) svaka se stavka odnosi na narueni artikl/robu i narudbu
Orders Detail Status (Status stavke narudbe)
Order Status (Status narudbi)
Order Tax Status (Porezni statusi narudbi)
Products (Roba) proizvodi/roba koja se naruuje od dobavljaa i prodaje kupcima
Invoices (Rauni) rauni kupcima za naruenu/prodanu/isporuenu robu
Employees (Zaposlenici) zaposlenici koji obrauju narudbe kupaca
Pvileges (Ovlasti) prava/uloge koja zaposlenici mogu imati u aplikaciji
Employees Privileges (Ovlasti zaposlenika)- prava karakteristina za pojedinog zaposlenika
Purchase Orders (Narudbe od dobavljaa)
Purchase Orders Details (Stavke narudbi od dobavljaa) stavke narudbi od dobavljaa
Purchase Orders Status (Statusi narudbi od dobavljaa)
Suppliers (Dobavljai) dobavljai od kojih se kupuje roba
Inventory Transactions (Transakcije skladinog prometa) skladini ulaz/izlaz robe
Inventory Transactions Types (Tipovi transakcija skladinog prometa)
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
27
1.5.3 Tijek izvoenja vjebe
1. Otvorite Access.
2. Uitajte aplikaciju Northwind Traders
3. Otvorite aplikaciju i prouite njen sadraj: forme, izbornike, izvjetaje, tablice
4. Uoite kako se aplikacija ponaa, u poetku nemojte mijenjati podatke, samo ih
analizirajte na logikoj razini
5. Promijenite, izbriite, dodajte podatke u prikazane forme nemojte to initi nasumce,
ve sa smislom u odnosu ne poslovni model fiktivnog poduzea NWT.
6. Uoite kako su podaci meusobno povezani
7. to su podaci u ovoj aplikaciji, a to su informacije?
8. Prikaite izvjetaje na ekranu, otisnite ih u pdf formatu datoteke.
9. Podesite opcijske parametre prema svojim preferencijama prouite upute o
znaenju pojedinog parametra.
10. Prikaite aplikaciju pod novom opcijskim parametrima ima li promjene?
11. Razdvojite aplikaciju na dvije datoteke (Database tools split database)
a. NWTaplikacija.accdb,
b. NWTDb.accdb
12. Publicirajte NWTaplikacija.accdb kao NWTrt.accdbe (Save/Publish Make ACCDE)
13. Izvedite NWTrt.accde
14. Koje ste razlike uoili?
Napomena: Prije nego to ponete dodavati ili mijenjati podatke, spremite aplikaciju pod nekim drugim imenom, kako ne biste izgubili izvorne podatke.
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
28
1.6 Zavrna pitanja i zadaci
Nakon aktivnog sudjelovanja i izvoenju vjebe u labu, potrebno je provjeriti je li vjeba shvaena
u potpunosti. To ete znati ako ste po zavretku vjebe, u stanju samostalno i ispravno odgovoriti na
zavrna pitanja (test u iduoj vjebi e se temeljiti na ovim pitanijima). Pored toga, poeljno je da
samostalno pokuate produbiti i proiriti svoje znanje prouavajui navedene dodatne izvore. Takoer,
pokuajte sami pronai druge referentne izvore i materijale.
1.6.1 Zavrna pitanja u vezi izloene materije vjebe
to je to Microsoft Office Access?
Kada je nastala njegova 1. inaica
Koja je trenutno najnovija izdana inaica Ms Accessa?
Koju inaicu/verziju koristite na vjebi, a koju kod kue?
Nabrojite funkcionalne dijelove Ms Accessa.
Kolika je bitnost Accessa 2010?
U kojoj okolini funkcionira MsAccess- uz koji OS?
Funkcionira li MsAcces izvan Office sustava ili samo u njegovom sastavu?
Koji model podataka podrava DBMS u Accessu?
to je temeljni objekt strukture u Ms Access-ovoj bazi podataka?
Koji model podataka Access podrava? Je li on karakteristian samo za Access?
Koji univerzalni jezik podataka se koristi u Accessu? Je li on karakteristian samo za Access?
Kakav tip aplikacija je mogue razviti pomou MsAccessa?
Je li za taj razvoj potrebno posjedovati legalnu licencu koju?
Je li za njihovu primjenu potrebna licenca MsAccessa?
Jesu li te aplikacije pogodne za intenzivan viekorisniku pristup - objasnite?
Ukljuuje li/sadri Access personalni/desktop ili serverski DBMS?
Moe li MS Access koristiti i druge baze podataka objasnite?
emu slue Forme u MsAccesu?
emu slue izvjetaji/reporti u Ms Accessu?
Na kojem programskom jeziku je zasnovan MsAccess?
Omoguuje li Access dijeljenje resursa baze podataka putem weba - kako?
to znai pojam RAD alat? Je li Access RAD alat?
to se postie razdvajanjem Access aplikacije od baze podataka koju ona koristi?
Koliko relacija sadri aplikacja NWT?
to pojedine relacije predstavljaju u poslovnom modelu NWT?
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
29
1.6.2 Zadaci za dodatno samostalno produbljivanje znanja
Pokuajte shvatiti koje atribute sadre relacijske tablice (relacije) u NWT te kakvo je njihovo
znaenje.
Pogledajte i prouite i neke druge aplikacije koje je mogue uitati kao predloak (Template).
1.7 Literatura i dodatni izvori
1) http://office.microsoft.com/hr-hr/access-help/prijelaz-na-access-2010-RZ101791922.aspx?CTT=1
2) https://support.office.com/en-za/article/Ways-to-share-an-Access-database-2c24eb08-bee1-453e-be8e-455f847c5c74
3) https://www.youtube.com/watch?v=hMzf6u8hWqk
4) https://blogs.office.com/2010/07/19/northwind-2010-web-database-is-now-available/
http://office.microsoft.com/hr-hr/access-help/prijelaz-na-access-2010-RZ101791922.aspx?CTT=1http://office.microsoft.com/hr-hr/access-help/prijelaz-na-access-2010-RZ101791922.aspx?CTT=1https://support.office.com/en-za/article/Ways-to-share-an-Access-database-2c24eb08-bee1-453e-be8e-455f847c5c74https://support.office.com/en-za/article/Ways-to-share-an-Access-database-2c24eb08-bee1-453e-be8e-455f847c5c74https://www.youtube.com/watch?v=hMzf6u8hWqkhttps://blogs.office.com/2010/07/19/northwind-2010-web-database-is-now-available/
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 1
30
PRIRUNIK ZA LABORATORIJSKE VJEBE IZ BAZA PODATAKA VJEBA 2
31
Vjeba 2: KKrreeiirraannjjee ttaabblliiccaa uu MMssAAcccceessssuu ||
2.1 Motivacija
U prethodnoj smo vjebi trebali nauiti kako generirati Access aplikaciju na temelju predloka.
Vidjeli smo relacijsku/tabelarnu organizaciju baze podataka, ali bez ulaenja u detalje njene strukturalne
komponente. U ovoj emo vjebi pokuati kreirati novu bazu podataka neposredno, bez predloka.
Ideja je u tome da studenti na postupan nain, naue i shvate to je to strukturna komponenta, te to su
ogranienja na razini atributa u relacijskoj bazi podataka. Access je za to pogodan, jer se strukturalna
komponenta moe definirati putem jednostavnih alata u tabelarnoj formi, bez potrebe da se poznaje
SQL jezik. Kasnije u iduim vjebama, definirat emo strukturu i ogranienja baze podataka putem SQL
jezika. Ovom vjebom elimo postii da studenti kreiraju strukturu (relacijske tablice, atribute i primarne
kljueve), te da na jednostavnim primjerima vide kako tako definirana struktura djeluje.
SSaaddrraajj vvjjeebbee::
KREIRANJE TABLICA U MSACCESS-U | 31
2.1 MOTIVACIJA 31 2.3 CILJEVI VJEBE ISHODI UENJA 32 2.4 SAMOSTALNA PRIPREMA VJEBE 32 2.5 TEORIJSKI DIO PRIPREME VJEBE 33
2.5.1 Tablice u Ms Access-u ........................................................................................................................ 33 2.5.2 Tipovi podataka ................................................................................................................................. 34 2.5.3 Kljuevi relacije .................................................................................................................................. 35 2.5.4 Ogranienja i formati na razini atrib
top related