Prirucnik za laboratorijske vježbe iz Baza podataka

  • Upload
    ledan

  • View
    298

  • Download
    19

Embed Size (px)

Citation preview

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:[email protected]:[email protected]

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