Knjigabazepodataka PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 76

2

PREDGOVOR

Priručnik treba da pomogne savladavanje gradiva iz baza podataka, konkretno


Microsoft Access-a.
Gradivo, raspoređeno u odgovarajuće celine, a samo savladavanje gradiva je
prezentovano kroz dosta primera.
Dodatak CD-a sa obrađenim primerima, na koji se priručnik oslanja, treba da
pomogne da se na lak i efikasan način gradivo usvoji i zapamti.

Priručnik se stalno obraća učeniku sa pogledaj, zapazi, uradi, proveri... kao nevidljivi
prijatelj koji mu na prisan sugeriše i pomaže da lakše savlada gradivo. Samo savladavanje
softverskog alata je stavljeno u drugi plan, to se uči usput, a naglasak se stavlja na
razumevanje baze podataka kao osnove za postavljanje upita bazi i davanje kvalitetnih
informacija.

Uz prihvatanje filozofije rada u Windows okruženju, učenik treba da zna šta hoće i šta
može da uradi i da se sam što više snalazi u samoj obradi gradiva.

Svetlana Maletin
spec. metodike nastave informatike

U Novom Sadu,
2005 godine

3
Sadržaj

Priručnik. ............................................................................................................................... 1
Baze podataka..................................................................................................................... 1
Microsoft Access............................................................................................................... 1
1. Baza podataka .................................................................................................................... 5
1.1. Upoznavanje sa bazom podataka ................................................................................... 6
1.2. Način organizovanja podataka ....................................................................................... 7
1.3. Povezanost podataka ...................................................................................................... 9
2. Upoznavanje sa Microsoft Access-om............................................................................. 13
2.1. Pokretanje Microsoft Accessa...................................................................................... 14
2.2. Prozor Microsoft Accessa ............................................................................................ 14
3. Tabele............................................................................................................................... 17
3.1. Kreiranje tabele i ažuriranje podataka u tabeli............................................................. 18
3.2. Modifikovanje tabele. Tipovi polja. Osobine polja. .................................................... 23
3.3. Primarni ključ tabele. ................................................................................................... 29
3.4. Sortiranje i filtriranje podataka u tabeli. ...................................................................... 32
3.5. Podaci iz više tabela..................................................................................................... 34
3.6. Pravljenje padajuće liste. Lookup. ............................................................................... 37
3.7. Potreba za padajućom listom. ...................................................................................... 38
4. Relaciona baza podataka.................................................................................................. 41
4.1. Razumevanje relacija ................................................................................................... 42
4.2. Tipovi relacija. ............................................................................................................. 44
4.3. Relaciona baza podataka. ............................................................................................. 45
5. Upiti ................................................................................................................................. 47
5.1. Upiti - dinamički skup podataka .................................................................................. 48
5.2. Upiti za izdvajanje podataka (Select query) ................................................................ 49
Zadatak 1.......................................................................................................................... 51
Zadatak 2.......................................................................................................................... 52
Zadatak 3.......................................................................................................................... 52
Zadatak 4.......................................................................................................................... 52
Zadatak 5.......................................................................................................................... 52
Zadatak 6.......................................................................................................................... 53
Zadatak 7.......................................................................................................................... 54
Zadatak 8.......................................................................................................................... 54
Zadatak 9.......................................................................................................................... 55
5.3. Zbirni upiti (Totals)..................................................................................................... 56
Zadatak 10........................................................................................................................ 56
Zadatak 11........................................................................................................................ 56
6. Forme - obrasci ................................................................................................................ 63
6.1. Forme - obrasci za ažuriranje podataka tabele............................................................. 64
6.2. Forma – komandna tabla.............................................................................................. 72
7. Izveštaji ............................................................................................................................ 73
7.1. Izveštaji ........................................................................................................................ 74
Literatura.................................................................................................................................. 76

4
1.1. Upoznavanje sa bazom podataka

• Podaci
• Polja
• Zapisi – Slogovi
• Tabela
• Baza podataka

1.2. Način organizovanja podataka

1.3. Povezanost podataka

5
1.1. Upoznavanje sa bazom podataka

Podaci.
Koliko puta ste čuli: daj mi svoje podatke... Znači, podaci su, na primer, nečije
ime, prezime, adresa, broj telefona, datum rođenja...
U školi se često traže podaci o smerovima, odeljenjima, nastavnicima...
Kada kupujemo obuću ili odeću, zanimaju nas sledeći podaci: cena, veličina, boja,
vrsta materijala, kvalitet...
Kada biramo film u videoteci, posmatramo sledeće podatke: naziv filma, režiser,
glavni glumci...

Polja.
Svi podaci se moraju negde smestiti, upisati. Tako svaki podatak dobija svoju
kućicu, odnosno svoje polje. Ali ta polja moraju biti organizovana, kao kad se popunjava neki
formular, i nije svejedno gde će biti upisano ime, a gde prezime. Znači, postojaće posebno
polje gde se unosi ime, posebno za polje prezime, posebno za mesto...

Zapisi – slogovi.
Svi podaci koji se odnose recimo na jednog učenika čine jedan zapis, odnosno
slog. Kada posmatramo odeljenja, jedan zapis čine svi podaci koji se odnose na posmatrano
odeljenje. Podaci za drugo odeljenje čine sledeći zapis.

Tabele.
Istu vrstu podataka možemo prikupiti recimo za više učenika, pa ako sve te
podatke hoćemo pregledno da zapišemo, to će ličiti na nekakvu tabelu, sa odgovarajućim
kolonama kao što su ime, prezime, adresa… a nazive kolona možemo prikazati u vrhu tabele.
Podaci se pišu u odgovarajuća polja, svaki u odgovarajućoj koloni. Redovi kolona jesu
pojedinačni zapisi (slogovi).
Skup zapisa koji sadrže slične podatke čini jednu tabelu.
Tako tabela koja sadrži podatke o učenicima jednog odeljenja, sadrži onoliko
zapisa koliko ima učenika u odeljenju. Slično, tabela koja sadrži podatke o odeljenjima jedne
škole, sadrži onoliko zapisa koliko ima odeljenja u školi. Dalje, jedna tabela može da sadrži
podatke o svim profesorima koji predaju u školi.

Baza podataka.
Kada posmatramo, na primer, sve tabele koje sadrže informacije bitne za školu:
tabela u kojoj su podaci o profesorima, tabela sa podacima o odeljenjima, dalje tabela koja
sadrži podatke o svim učenicima (gde jasno piše koji je učenik iz kog odeljenja, odnosno
podatak o učeniku iz jedne tabele je u vezi sa podatkom o odeljenju u drugoj tabeli), te kada
su svi ti podaci sadržajno povezani, već naziremo jednu bazu podataka.
Slično, jedna banka može imati lične podatke o svojim štedišama upisane u jednoj
tabeli, a u drugoj tabeli na primer podatke o prilivu i odlivu novca sa njihovih tekućih računa.

6
U nekoj trećoj tabeli mogu da budu podaci o njihovim kreditima i o otplaćenim ratama
kredita. Sve te tabele mogu da budu deo baze podataka u nekoj banci.

Informacija.
Informacija nije isto što i podatak! Kada vodimo evidenciju učenika, mi
upisujemo podatke za svakog učenika posebno. Upisujemo i podatak o njegovom mestu
stanovanja. Ali kada posmatramo sve naše podatke, mi možemo doći do informacije koliko
imamo učenika putnika, ili koliko učenika iz nekog mesta. Znači, informacija je dobijena iz
pojedinačnih podataka koji su prethodno morali biti na organizovan način uneti u bazu
podataka i odatle izvedena postavljanjem odgovarajućeg upita. Smisao prikupljanja podataka i
jeste u dobijanju potrebnih informacija.

Informacioni sistem.
Baza podataka koja omogućava dobijanje potrebnih informacija predstavlja
informacioni sistem.

Koji su sve podaci bitni i kako bi mogli biti organizovani:


u prodavnici
u biblioteci
u videoteci
u avio-saobraćaju
u apoteci
u bolnici
u automehaničarskoj radnji
....

1.2. Način organizovanja podataka

Razmisli, koje se evidencije vode u školi.

U školi se organizuje nastava po smerovima, treba ih zapisati, a možemo svakom


smeru zapisati i redni broj (neka je to identifikacioni broj, skraćeno ID) pod kojim ga
upisujemo, kao na slici 1.1.

Slika 1.1. Podaci o prijavljenim smerovima

Nastava se odvija iz odgovarjućih predmeta, evidentiraćemo ih po rednim brojevima


onako kako ih i upisujemo, kao na slici 1.2.

7
Slika 1.2. Podaci o predmetima

Nastavu predaju odgovarajući nastavnici, svako svoj predmet, pa možemo za svakog


nastavnika upisati njegovo prezime, ime i predmet koji predaje. Opet možemo svakog
nastavnika evidentirati pod odgovarajućim rednim brojem, kao na slici 1.3.

Slika 1.3. Podaci o nastavnicima

Zbog čega su nam potrebni identifikacioni brojevi:

U navedenom primeru su upisani nastavnici, svako sa svojim ID brojem. Može


nka nastavnica recimo da se uda i promeni prezime, mi ćemo u podacima jednostavno
promeniti prezime ali ta ista osoba ostaje sa svojim ID brojem i predaje isti predmet.
ID broj je oznaka po kojoj je zapis jednoznačno određen i po kome se razlikuje od
svih ostalih u evidenciji. Takve oznake su bitne u evidenciji da tačno označimo zapis koji
posmatramo. Stoga polja koja sadrže jedinstveno obeležje nazivamo ključnim poljem. Ovde je
ID ključno polje u tabeli.

Trenutno posmatranu tabelu čine zapisi sa podacima o nastavnicima. Svaki


nastavnik je zapisan u jednom zapisu, odnosno u jednom slogu (u odgovarajućem redu).
Svaki podatak o nastavniku (ID, prezime i ime, predmet koji predaje) ima svoje mesto u toj

8
tabeli i to je polje u koje se podatak unosi. Polja smo grupisali po kolonama i u zaglavlju
kolone imamo naziv kolone, odnosno naziv odgovarajućeg polja.

Posmatrajmo evidenciju na drugi način. Koje su kolone potrebne da se


evidentiraju podaci o nastavnicima, odnosno koja će polja sadržati naša tabela

Posmatrana tabela treba da sadrži ključno polje ID, koje se može i automatski
redom dodeljivati (1, 2, 3...), i tekstualna polja u koja bi se upisivali ime i prezime nastavnika
i gde bi se upisao predmet koji nastavnik predaje. Tabele ćemo kasnije sami dizajnirati, ali
već sada možemo primetiti da bi pri dizajniranju naša tabela mogla da izgleda kao na slici 1.4.

Slika 1.4. Dizajn tabele u kojoj su evidentirani nastavnici

Pokušaj da formiraš nekoliko zapisa za :


Odeljenja (oznaka odeljenja, smer, odeljenski
starešina...)
Učenici (ime, prezime, odeljenje, mesto stanovanja,
adresa, telefon ...)
...

U kakvoj su vezi svi pomenuti podaci?

1.3. Povezanost podataka

Neka su podaci o odeljenjima zapisani kao na slici 1.5.

Slika 1.5. Podaci o odeljenjima

9
Treba primetiti da u podacima o odeljenjima nismo upisali broj učenika u razredu. Taj
broj predstavlja izvedenu informaciju i dobija se prebrojavanjem upisanih učenika u
odgovarajuće odljenje. Računari su pre svega izmišljeni da računaju (otuda im i
naziv), pa ćemo taj posao prepustiti njima, kasnije ćemo videti kako ćemo to i
realizovati. Za sada treba shvatimo da mi u računaru evidentiramo samo podatke. Pri
tome pokušavamo da to uradimo na što je moguće jednostavniji način, bez
nepotrebnog ponavljanja, što ćemo shvatiti već kod upisivanja učenika.
Sada treba upisati učenike naprimer iz 2-3 odeljenja. Upisaćemo im sledeće podatke:
ime, prezime, odeljenje... Da bi znali koji smer pohađaju učenici 2-3 nije potrebno da
za svakog od njih upisujemo smer. Smer je već upisan kod odeljenja i tamo ga
možemo tražiti, odnosno odatle ga treba koristiti. Isto važi i za odeljenskog starešinu.
Znači, nećemo se ponavljati.

Podaci o učenicima mogu da budu upisani na način kao na slici 1.6.

Slika 1.6. Podaci o učenicima

Na Slici 1.7. je dat primer podataka u školi, organizovanih u tabele. Linije medju
tabelama prikazuju veze među podacima. Detaljna obrada biće data u narednim lekcijama.

Slika 1.7. Primer organizovanih podataka koji se evidentiraju u školi.

10
Kako bi sada (posle novih saznanja) bili organizovani podaci:
u prodavnici
u biblioteci
u videoteci
u avio-saobraćaju
u apoteci
u bolnici
u automehaničarskoj radnji
....

 Rezime:

Podaci se nalaze svuda oko nas. Organizovana evidencija podataka čini osnovu za
formiranje baze podataka.

11
12
2.1. Pokretanje Mirosoft Access-a

2.2. Prozor Microsoft Access-a


• Toolbars – trake s alatkama
• Prozor baze podataka
Objekti u prozoru baze podataka:
• Tables - Tabele
• Queries - Upiti
• Forms – forme, formulari, obrasci
• Reports – Izveštaji

13
2.1. Pokretanje Microsoft Accessa

Microsoft Access je program koji omogućava organizovani način zapisivanja


podataka u računaru. Podaci se organizuju u tabele, uspostavljaju se relacije među podacima i
formira se takozvana relaciona baza podataka. Ali Access nije samo baza podataka. Access je
skup alatki namenjenih krajnjem korisniku koji želi da upravlja bazom podataka. Access ima
ugrađene programe za pravljenje i povezivanje tabela, za pravljenje obrazaca, za sastavljanje
upita i izveštaja, kao i za pravljenje stranica za pristup podacima. Access je okruženje za
razvoj aplikacija.

Kao i većina instaliranih programa na računaru, Access se može pokrenuti sa


Desktopa, iz Start menija, izborom: Start  Programs  Microsoft Access (Slika 2.1)

Slika 2.1. Pokretanje Access-a

ili klikom na odgovarajuću ikonu-prečicu (ako je postavljena).

Ako na računaru postoji neka baza podataka u Access-u, jednostavno se otvara klikom na
njenu ikonicu.

2.2. Prozor Microsoft Accessa

Prozor Microsoft Accessa (Slika 2.2.) u mnogome podseća na prozor ostalih alata
iz Microsoft Office. U središtu je radna površina, a u samom vrhu je naslovna linija. Ispod
nje je linija menija, a ispod su najčešće postavljene trake sa alatkama (toolbars). Trake sa
alatkama se postavljaju na isti način kao u Word-u, s tim da se neke od njih automatski
aktiviraju kada radimo sa njima pripadajućim objektima. (Table Design, Report Design...)

Umesto trake Standard, kakva se sretala recimo u Word-u, ovde je interesantna


traka Database (slika 2.3.).

14
Traka Formatting delimično podseća na istoimenu kakva se sretala u Word-u, ali
ovde ima nekoliko svojih varijanti kao što su: Formatting Datasheet (Slika 2.4.) ili
Formatting Form/Report (Slika 2.5.).

Slika 2.2. Početni prozor Microsoft Access-a

Slika 2.3. traka Database

Slika 2.4. traka Formatting (Datasheet)

Slika 2.5. traka Formatting (Form / Report)

Slika 2.6. traka Toolbox

Traka Toolbox, odnosno kutija sa alatka (Slika 2.6), se automaski aktivira kada
hoćemo da dizajiramo formu ili izveštaj...

Prozor sa zadacima, odnosno Task Pane, koji se opciono može postaviti na ekran
(najčešće s desne strane) jeste novina u Microsoft Office od verzije 2000. (u desnom delu
Slike 2.2.). Koristi se za otvaranje već postojećih baza podataka, ili za otvaranje nove baze
podataka (Blank Database)

15
Otvori bazu podataka Skola sa CD-a.
Prvi nacin je da se lociraš na CD uređaj, i da je izabereš, da se otvori.
Drugi način da u početnom prozoru Microsoft Accessa izabereš postojeću bazu
podatka, bilo da se ona nalazi u priloženom spisku ili da je prethodno pronađeš na CD-u, sa
.
Nakon otvaranja baze podataka, centralni deo radne površine zauzima prozor
izabrane baze podataka (Slika 2.7.)

Slika 2.7. Prozor Microsoft Access-a sa otvorenom bazom podataka Skola

Prozor baze podataka sadrži nekoliko vrsta objekata (uoči ih na ekranu), od kojih
ćemo na ovom nivou učenja, obraditi sledeće:
• Tables – tabele
• Queries – upiti
• Forms – forme / formulari / obrasci
• Reports – izveštaji.

 Vežbanje:

Ukoliko na računaru posedujete neku ranije napravljenu bazu podataka iskoristite


sva znanja koja ste ranije stekli koristeći operativni sistem Windows. Napravite njenu kopiju,
otvorite je, a zatim otvorite u okviru tabela neku od postojećih na isti način kako bi otvarali
bilo koji program. Šetajte se po poljima pomoću tastature ili koristeći miša, promenite sadržaj,
dopišite nove zapise u tabelu. Možete da promenite font (vrstu, boju, veličinu) ili pozadinu na
isti način kako se to radi recimo u Word-u. Na isti način se koriste i naredbe iz padajućeg
menija Edit: Cat, Copy i Paste, ili Find i Replace.

16
3.1. Kreiranje tabele
i ažuriranje podataka u tabeli
• Design View
• Datasheet View

3.2. Modifikovanje tabele


Tipovi Polja
Osobine polja
Korišćenje Help-a

3.3. Primarni ključ tabele

3.4. Sortiranje i filtriranje podataka

3.5. Podaci iz više tabela

3.6. Pravljenje padajuće liste


Lookup

3.7. Potreba za padajućom listom

17
3.1. Kreiranje tabele i ažuriranje podataka u tabeli

 Pre nego što napraviš svoju prvu tabelu, treba da napraviš svoju prvu bazu
podataka gde ćeš tabelu (ili više tabela) da smestiš.

 Otvori Microsoft Access, izaberi u prozoru zadataka (Task Pane) Blank


Database i dodeli joj ime Moja prva baza. Bilo bi zgodno da za sve tvoje baze unapred
formiraš odgovarajući folder na disku. Objekat Tables je verovatno odabran (Slika 3.1.), a
ako nije, odaberi ga.

Slika 3.1. Prozor baze podataka spreman za kreiranje nove tabele

 Prva tabela koju ćemo napraviti biće Adresar. U nju treba da upišeš izvesne
osobe, adrese, telefone... Microsoft Access nudi više načina da se kreira tabela. Ako zaista
znaš koje podatke želiš da unosiš u tvoju tabelu, najjednostavnije je da tabelu kreiraš u Design
View, odnosno u prikazu za dizajniranje odnosno oblikovanje. To znači da ćeš u prozoru baze
podataka izabrati

ili ćeš izabrati


(Slika 3.2.) i Design View

Slika 3.2. Kreiranje


tabele

18
 U prozoru baze pojavljuje se traka sa alatkama Table Design (Slika 3.3)

Slika 3.3. traka Table Design

 Tabela se otvara u obliku za dizajniranje. Dok ne dobije drugo ime, zove se


Table1. Prozor tabele je spreman da se u njemu upišu polja koja će se kasnije popunjavati.

Gornji deo prozora sadrži:


o Field Name – ime polja
o Data Type – tip podatka koji će se u polje unositi
o Description – opis
dok se u donjem delu prozora nalazi Field Properties sa karticama General i
Lookup

Slika 3.4. Tabela spremna za dizajniranje, prikaz Design View

 U koloni Field Name definiši redom sledeća polja: Ime, Prezime i Nadimak.
Računar će ih sam dodeliti tip tekstualnog polja (kasnije ćemo o tipu opširnije razmatrati).

19
 Sačuvaj svoju tabelu (najjednostavnije je da klikneš na ikonicu sa disketom
(Save) na traci Table Design (Slika 3.3.)) i dodeli tabeli ime. Neka se zove Adresar (Slika
3.5.)

Slika 3.5. Tabela dobija ime Adresar.

 Pre nego što zaista upamti tabelu, Access javlja upozoravajuću poruku (Slika
3.6.) da tabela nema definisan primani ključ (i mada on nije obavezan, preporučuje se...) pa
predlaže da ga sam kreira. Prihvatićemo opciju Yes (zasad bez dodatnih objašnjenja).

Slika 3.6. poruka koju Access javlja pre upisa tabele

 Tabela je snimljena, u naslovnoj liniji se prikazuje njeno ime, a kao prvo polju
tabele Access je upisao ID (tip polja AutoNumber)

 Tabela ima dva osnovna prikaza, dva moda:

Design View – koristi se za dizajniranje tabele i


Datasheet View – koristi se za popunjavanje podataka u tabeli.

 Sada već možeš da pređeš u Datasheet View i popunjavaš svoju tabelu.

 Najjednostavniji prelazak iz jednog u drugi prikaz ostvaruje se klikom na

ikonicu View, prvu u traci Table Design. (ista se razvija kao na Slici 3.7).

Slika 3.7. View

 Primeti da je prelaskom iz jednog u drugi prikaz ikonica menja svoj izgled u


skladu sa narednom očekivanom naredbom.

 Popuni nekoliko zapisa i primetićeš da se polje ID automatski popunjava


brojevima 1, 2, 3... i da u ta polja nemaš pristupa. (Slika 3.8.)

 Pogledaj prozor baze podataka. Pojavile su se dve odgovarajuće trake s


alatkama za formatiranje podataka u tabeli, Formatting (Datasheet) i Table Datasheet .

20
Slika 3.8. Tabela sa podacima, Datasheet View.

 Koristi ikonicu View da se nekoliko puta prebaciš iz Design View u


Datasheet View i obrnuto.

 U Datasheet View popuni tačno pet zapisa u tvojoj tabeli. Upiši pod rednim
(ID) brojem 6 zapis sa podacima: Petar Petrović Pera, a pod rednim brojem 7 zapis sa
podacima: Danica Jovanović Dana.

 U Datasheet View selektuj ceo podatak za Peru (selektuj ceo red, počev od
sivog polja) i obriši ga (Slika 3.9.). Nije dovoljno da obrišeš samo slova! Treba da nestane ceo
red zajedno sa ID brojem (Slika 3.10.).

Slika 3.9. Selektovan zapis u tabeli

Slika 3.10. Tabela posle brisanja selektovanog zapisa.

21
 Zapis o Peri je zauvek nestao iz tabele, a time je u tabeli nestao i zapis sa ID
brojem 6. Posmatrj to na ovaj način: Pera je otišao zajedno sa svojom ličnom kartom i njegov
broj lične karte se ne dodeljuje nikom drugom, niti se ostalima zbog toga menja njihov broj
lične karte. Broj ID je jedinstveno obeležje posmatranog zapisa. Dalje, zapisi se po tom polju
mogu lako pretraživati. Ovakvo polje u tabeli predstavlja njen Primarni ključ, odnosno
Primary Key. Access je to zapisao na sledeći način:

 Izgled tabelarnog prikaza možeš da menjaš menjanjem redosleda polja,


podešavanjem širine i visine redova ili promenom fonta i pozadine.

 Vežbanje:

Ažuriraj svoju tabelu u Datasheet View. Znači, možeš da dopišeš nove


zapise, menjaš podatke u postojećim ili pak da brišeš nepotrebene zapise. Kreći se po
podacima na način kako si to ranije radio, pomoću tastature i pomoću miša. Primeti da je
selektovan slog označen sa . Posmatraj kako se u dnu prozora tabele (Slika 3.11) menjaju
podaci u traci za navigaciju dok se krećeš po zapisima. Koristi dugmad na traci za navigaciju
da se krećeš po zapisima.

Slika 3.11. Prozor tabele sa trakom za navigaciju.

 Zatvori svoju tabelu. Posmatraj prozor svoje baze podatak i primeti da se u


skupu objekata Tables nalazi tvoja tabela. Možeš uvek da je otvoriš da bi je pregledao, da bi
ažurirao podatke, ili pak da je modifikuješ, odnosno da je izmeniš u Design View.

 Vežbanje:

Napravi još neke tabele u istoj bazi podataka, ili kreiraj nove baze podataka sa
novim tabelama. Možeš recimo da napraviš tabele Glumci, Pevači, Sportisti i druge po svom
izboru u koju ćeš upisati neke podatke za svoje omiljene glumce, pevače, sportiste i drugo.

22
 Rezime:

Tabela je osnovni oblik organizovanog zapisivanja podataka. U Access-u je


posmatramo u prikazu za dizajniranje (Design View) i tabelarnom prikazu (Datasheet View) i
možemo se premeštati iz jednog prikaza u drugi.

U prikazu za dizajniranje definišemo polja koja ćemo popunjavati u tabelarnom


prikazu, dok u tabelarnom prikazu ažuriramo podatke (unosimo, menjamo, brišemo).

3.2. Modifikovanje tabele. Tipovi polja. Osobine polja.

 Otvori tabelu Adresar u Design View. Postavi kursor na polje ID, zatim na
polje Ime. Posmatraj kako se za polja različitog tipa menja kartica General (slika 3.9.).

Slika 3.12. Kartica General nad poljem Ime

 U kartici General navodimo osobine posmatranog polja.

23
U daljem radu ćemo na primeru proučiti nekoliko osnovnih tipova polja i osobine.

 Dopuni dizajniranje tvoje tabele Adresar na sličan način kako je to urađeno na


Slici 3.13. Obrati pažnju na način izbora tipa podataka. Takđe možeš da se pozabaviš
popunjavanjem kolone sa opisom polja (Description). Pronađi zatim u Datasheet View gde se
ovaj opis koristi i razmisli koja mu je uloga.

Slika 3.13. Dizajniranje tabele Adresar

DataType - Text

 Tekstualno polje koristimo za popunjavanje podataka kao što su ime, prezime.


U tekstualno polje se upisuju alfanumerički znaci, odnosno mogu da se upisuju slova, ali i
brojevi i neki specijalni znaci (adresa se sastoji iz imena ulice i kućnog broja, broj telefona se
sastoji iz brojeva razdvojenih crticama).

 U kartici General osobina Field Size odredjuje maksimalnu predviđenu dužinu


posmatranog tekstualnog polja. Access nudi 50, a može se promeniti tako da u njega stane od
1 do 255 slova.

 Promeni vrednost osobine Field Size za polja Ime, Prezime i Nadimak prema
svojim željama. Prebaci se posle svake izmene da pogledaš i dopuniš svoje podatke. Ne
obraćaj puno pažnje na Access-ove upozoravajuće poruke. Pogledaj kako izgledaju tvoji
podaci ako Nadimak svedeš recimo na tri slova. Zatim se vrati da povećaš ovu vrednost.

DataType - Memo

 Memo polje koristimo na sličan način kao tekstualno ali za popunjavanje


podataka promenljive dužine u svakom zapisu. To znači da će neki zapis imati popunjeno 0,
neki 100 a neki 5000 znakova, a u memoriji će zauzeti onoliko prostora koliko je za svaki
zapis potrebno. U verziji Access 2000 ova vrednost je bila ograničena na 64.000 karaktera.

24
 Popuni podatke u tvojoj tabeli tako što ćeš u nekim zapisima popuniti i polje
Napomena, tipa Memo.

DataType - Number

 Numerička polja koristimo kada hoćemo vrednsoti u tim poljima da koristimo


kasnije za neke matematičke proračune. U posmatranoj tabeli kao numeričko polje se može
upisivati godište, odnosno godina kada je rodjena osoba čije podatke upisujemo u Adresar.

 U tvojoj tabeli je usmesto polja Godiste moglo da se upisuje polje Godine.


Razmisli zašto to nije najbolji izbor. Koji bi dodatni posao bio potreban da se tabela stalno
održava ažurnom (sa tačnim podacima u trenutku posmatranja), ukoliko bi u njoj upisivali
godine.

 Pogledaj karticu General. Osobina Field Size više nema brojčano označenu
veličinu. Access nudi Long Integer. Umesto ovog može se izabrati odgovarajuća veličina
između ponuđenih:

 Koju veličinu ćeš izabrati? Access nudi odličan Help, koji ponekad možeš da
koristiš i sa minimalnim znanjem Engleskog jezika.

Pokreni Help (ili pritisni tipku F1) i pitaj Čarobnjaka (Answer Wizard)
za ono što treba da popuniš, (Field Size Property) i treba da dobiješ odgovor kao na Slici 3.14.

25
Slika 3.14. Field Size Property u Help-u

DataType – Currency

 Novčano polje se koristi slično kao numeričko polje za novčane iznose, s tim
da ima upisanu i oznaku valute.

 Kod nas se za novčane iznose ipak češće koristi polje tipa Number, Format
Standard, koji obezbeđuje upis vrednosti sa dva decimalna mesta i razdvaja hiljade.

DataType - AutoNumber

 Koristi se za numerička polja koja će Access sam popunjavati celobrojnim


vrednostima od jedan pa nadalje. Veoma je interesantan za popunu ključnog polja u tabeli
kako bi se očuvala jedinstvenost.

DataType – Data / Time

 Datumsko polje uglavnom koristimo za prikaz datuma, ređe i/ili vremena.

 Menjaj u tvojoj tabeli različite formate za upis datuma rođenja, pogledaj svaki
put kako izgledaju tvoji podaci zapisani na izabrani način, zatim zadrži tebi najinteresantniji.
U kom formatu možeš naći informaciju kog dana u sedmici je ko rodjen?

DataType – Yes / No

 Logičko polje uglavnom koristimo za podataka koji imaju samo jednu od ove
dve mogućnosti.

26
 Popuni podatke u tvojoj tabeli za logičko polje Putnik (da li je osoba putnik ili
nije). Po želji modifukuj tvoju tabelu dodajući u nju još neko polje ovog tipa.

DataType – OLE Object

 Koristi se za popunu polja slikom, zvučnim zapisom, poslovnom grafikom pa


čak i video zapisom.

DataType – Hyperlink

 koristi se za najčešće kao referenca na adresu Web stranice na Internetu.

 Pozabavi se još neko vreme osobinama polja na koje možeš da utičeš:

 Osobina Required u kartici General zahteva da posmatrano polje bude


popunjeno.

 Promeni vrednost Required za polje Ime na Yes. Pokušaj da u podatke upišeš


nekoga za koga hoćeš da preskočiš ime. (Kroz polje ćeš proći, ali zapis nećeš moći da upišeš).

 Osobina Default Value u kartici General automatski popunjava posmatrano


polje podrazumebamom vrednošću, odnosno vrednošću koja je ovde uneta. Koristi se za bržu
popunu tabele.

 Popuni Default Value za polje Mesto i upiši tu naziv mesta iz koga ćeš imati
najviše zapisa (npr. Novi Sad). U Datasheet View dopiši nekoliko novih zapisa. Access
automatski popunjava mesto stanovanja u novim zapisima, a isti se po potrebi može izmeniti.

 Definiši novo polje u tabeli Adresar, u koje ćeš upisati pol osobe. Polje može
da se zove Pol i i njega i u njega treba upisati samo jedno slovo M – za muški pol ili Z – za
ženski pol. Treba definisati i pravilo ispravnosti za popunu ovog polja, tako da se u njega ne
može upisati ništa osim jednog od ova dva slova.

∼ Da li si definisao polje kao tekstualno, dužine 1?


∼ Gde si u katici General pronašao osobinu gde bi se moglo upisati pravilo za
proveru ispravnosti unetog polja?
∼ Ako dosad nisi uspeo, pokušaj da u osobinu Validation Rule upišeš: M or Z
∼ Access će dopuniti sintaksu tvoje rečenice i napisaće: "M" Or "Z"
∼ Pokušaj sada da u podatke za pol uneseš neko treće slovo.
∼ Ako si sve dobro uradio, pogledaj kakvu poruku javlja Access u slučaju
neprihvatljive vrednosti.
∼ Kakvu bi poruku ti napisao. Upiši je u osobinu Validation Text i ponovo
testiraj unos podataka.
∼ Ako si sve dobro uradio, Access treba na pogrešan unos podatka da odgovori
prikazivanjem tvoje poruke.
∼ Ukoliko nisi postigao šta se tražilo, proveri da li si posmatrane osobine
postavlja za polje Pol (ili neko drugo) ili koriguj svoju karticu General za
polje Pol sa vrednostima datim u Slici 3.15.

27

Slika 3.15. Kartica General sa osobinama polja Pol

 Osobina Validation Rule u kartici General proverava da li se podaci u polje


upisuju ispravno u skladu sa ove upisanim pravilom

 Osobina Validation Text u kartici General javlja ovde upisanu poruku u slučaju
kada uneti podaci nisu prihvatljivi od strane definisanog pravila ispravnosti.

 Kada si dizajnirao tabelu Adresar, verovatno si zapazio da nisi u nazivu polja


DatumRodj (ili Datum Rodjenja ) mogao upisati tačke, te da nisi mogao nazvati polje recimo
Dat.Rodj. Tačke možeš da koristiš kada popunjavaš za to polje osobinu Caption. Popuni je
sa: Dat.Rodj. Pogledaj tvoje podatke u Datasheet View, pogledaj zaglavlje kolona u tabeli.

 Naslovne linija kolona u Datasheet View nose naziv polja koje se u koloni
popunjava. Osobina Caption u kartici General može da promeni ovu vrednost.

Ukoliko je potrebno, uporedi svoju tabelu sa tabelom Adresar


iz istoimene baze, sa CD-a.

 Vežbanje:

Napravi još neke tabele u istoj bazi podataka, ili kreiraj nove baze podataka sa
novim tabelama. Možeš i da koristiš tabele koje si napravio u prethodnom vežbanju. Menjaj
dizajn tvoje tabele koristeći sve što si naučio.
Imaj na umu da u strukturi tabele uvek možeš da promeniš redosled polja, da
umetneš novo polje, da izbrišeš ili preimenuješ postojeće.
Popuni svoje tabele podacima.
Tabela se može napraviti u prikazu za oblikovanje (Design View), kako smo
dosad i radili, ali i na drugi način. Pokušaj da napraviš tabelu u tabelarnom prikazu (Datasheet
View) ili uz pomoć Čarobnjaka za tabele (Wizard)..

28
 Rezime:

Modifikovanje tabele predstavljaju izmene strukture postojeće tabele odnosno


preoblikovanje. Može se uvek menjati redosled polja, umetnuti novo polje, izbrisati ili
promeniti postojeće.
Za svako polje definišemo naziv polja, tip podataka i osobine polja. Od tipova
polja koristićemo tekstualni, numerički, novčani, AutoNumber, datumski, logički i Memo.
Svako polje ima osobine (svojstva) kao što su veličina polja, format, natpis,
podrazumevana vrednost, pravilo ispravnosti, poruku u slučaju neprihvatljive vrednosti.
Access ima odličan HELP. Preko Answer Wizard uvek možemo pitati Čarobnjaka
ono što nas u posmatranom trenutku interesuje.

3.3. Primarni ključ tabele.

Već smo se u ranijim primerima sretali sa poljem ID u tabelama, tipa


AutoNumber, i videli smo da on predstavlja jedinstveno obeležje posmatranog zapisa. Rekli
smo da ovakvo polje u tabeli predstavlja njen Primarni ključ, odnosno Primary Key. Access
je to zapisao na sledeći način: . Ovo jeste najčešći ali ne i jedini način za
dodeljivanje primarnog ključa tabeli.

 Kreiraj tabelu u kojoj ces upisati države (tekstualno polje dužine 30) i kao
dodatni podatak oznaku države (dovoljno je teksualno polje dužine 3) i dozvoli Access-u da
kreira ID kao primarni ključ tabele. Podaci u tabeli mogu da izgledaju kao na Slici 3.16.

Slika 3.16. Tabela Drzave sa primarnim ključem ID

 Svaki podatak upisan je pod jednim ID brojem kojim je taj podataka


jednoznačno određen. Dalje, u našem primeru postoji i Oznaka koja je takođe jednoznačna.
Oznaka A je oznaka za Austriju i nije takva ni za jednu drugu državu. Otuda se oznaka države
mogla izabrati kao ključno polje navedene tabele. U tom slučaju podaci u tabeli bi bili kako
na slici 3.17, a tabela je dizajnirana kao na slici 3.18.

29
Slika 3.17. Tabela Drzave sa primarnim ključem Oznaka

Slika 3.18. Dizajniranje tabele Drzave sa primarnim ključem Oznaka

Kada u tabeli postoji polje koje je kratko i jednostavno i kada ono jednoznačno
određuje zapis u tabeli, to polje postavljamo za ključno polje tabele. Ako takvo polje ne
postoji, onda je najjednostavnije ostaviti Access-u da on postavi polje ID tipa AutoNumber za
ključno polje tabele.
Ključno polje ne mora uvek da sastoji samo od jednog polja. Interesantan je
primer sa tabelom odeljenja, gde je primarni ključ tabele složen iz oznake razreda i oznake
odeljenja, kao na slici 3.19, odnosno slici 3.20.
Da bi sami postavili primarni ključ u neko polje prilikom dizajniranja ovog polja
u njega dovesti oznaku Primary Key, najjednostavnije iz trake za alatkama.

Slika 3.19. Tabela Odeljenja sa složenim primarnim ključem

30
Slika 3.20. Dizajniranje tabele Odeljenja sa složenim primarnim ključem.

 Vežbanje:

Kreiraj bazu podataka Skola i u njoj odgovarajuće tabele, kao na Slici 3.21.

Slika 3.21. Prikaz tabela baze podataka Skola.

 Tabele najčešće imenujemo prema podacima koji su u njih upisani.

Tabela Mesta sadrži tekstualno polje Mesto u koje se upisuje naziv mesta.
Ključno polje u tabeli je ID tipa AutoNumber, koje smo dosad već sretali i koje Access može
sam da dodeli. To je primarni ključ tabele.

31
U Tabeli Smerovi u tekstualnom polju Smer upisuju se nazivi smerova koji se
izučavaju u posmatranoj školi. Primarni ključ je polje ID.

U Tabeli Predmeti u tekstualnom polju Predmet upisuju se nazivi predmeta koji


se izučavaju u posmatranoj školi. Primarni ključ je polje ID.

U Tabeli Nastavnici popunjavaju se tekstualna polja PrezimeIme nastavnika i


Predmet koji taj nastavnik predaje. Primarni ključ je polje ID.

Tabela Ucenici sadrži podatke o učenicima različitih tipova. Primarni ključ je ID.

Tabela Odeljenja sadrži podatke o odeljenjima, oznaku razreda i odeljenja koje


čine primarni ključ, te tekstualna polja za smer i za odeljenskog starešinu.

 Dizajniraj tabele i popuni ih sa podacima iz tvoje škole. Primeti da su podaci u


tabelarnom prikazu složeni po redosledu koji je određen vrednošću primarnog ključa.

Ukoliko je potrebno, uporedi svoje tabele sa tabelama u bazi podataka


Skola sa CD-a.

 Rezime:

Primarki ključ tabele jeste ono polje u zapisu koje obezbeđuje da zapis bude
jednoznačno određen i po čemu se razlikuje od svih drugih zapisa tabele. Access lako i tačno
pronalazi podatake po primarnom ključu, a prema njemu i sortira podatke. Jedinstvenost
ključnog polja se na najjednostavniji način obezbeđuje preko ID tipa AutoNumber. Ponekad
se za ključ tabele bira neko drugo polje koje se po svom sadržaju samo nameće kao osnovno
obeležje zapisa. Ključ tabele može da bude i složen, odnosno sastavljen iz više odgovarajućih
polja.

3.4. Sortiranje i filtriranje podataka u tabeli.

 Posmatraj podatke u tabelama. Zapisi su poređani u redosledu kako to određuje


primarni ključ. Posmatraj ikonice u trakama s alatkama. Imaš li ideja kako da sortiraš podatke
po drugim kolonama? Kako bi mogao da izdvojiš (filtriraš) samo neke od podataka?

 Otvori tabelu Adresar u tabelarnom prikazu. Podaci su prikazani i redosledu


ID broja. Selektuj kolonu u kojoj je upisano ime. Verovatno si već primetio ikonice za
sortiranje podataka u traci sa alatkama Table Datasheet . Naizmenično pritisni jednu
pa drugu. Primeti da se tvoji podaci sortiraju prema imenu, a u rastućem redosledu (Sort
Ascending) kada klikneš prvu, odnosno u opadajućem redosledu (Sort Descending) kada
klikneš drugu ikonicu. Pokušaj da isto odradiš kada selektuješ prezime, ili prezime i ime
istovremeno. Sortiraj svoje podatke po mestu stanovanja, datumu rodjenjia i drugo po želji .

32
 Proveri kako možeš promeniti redosled kolona u tabelarnom prikazu i
selektovati proizvoljan broj kolona radi sortiranja.

 Primeni sortiranje na tabelu Ucenici u bazi podataka Skola.

 Za proučavanje filtera možeš da koristiš tvoj Adresar ili tabelu Ucenici.

Filtriranje podataka u tabeli znači prikazivanje samo onih zapisa koji ispunjavaju
zadati uslov odabira. Za filtriranje podataka koristimo odgovarajuće ikonice sa trake sa
alatkama Table Datasheet:
 Filter by Selection omogućava izdvajanje podataka na osnovu izabrane
vrednosti u selektovanom polju.

 Smesti se u tabelarnom pregledu na polje gde je kao mesto stanovanja upisan


"Novi Sad" postavi Filter by Selection. Prikazaće se svi zapisi kod kojih je Novi Sad upisan
kao mesto stanovanja.

 Pokusaj više pota zaredom da postavljaš Filter by Selection u istoj tabeli.


Izvedi zaključak.

 Apply / Remove Filter tj. primeni / ukloni filter, se postavlja u stanje


Remove Filter kada je u tabeli postavljen filter ili u Apply Filter radi postavljanja uslova.

 Filter by Form ima više mogućnosti kada je u pitanju odabir podataka.


Može se istovremeno postaviti više uslova, ali i kombinacija uslova u kojoj za povezivanje
istih koristimo logičke operatore And i Or. Jedan od načina zadavanja uslova prikazan je na
Slici 3.22. Kada postaviš uslovi, primeni ga sa Apply Filter. Uklonićeš ga sa Remove Filter.

 Za postavljanja uslova za sortiranje i filtriranje, osim ikonica, možeš da koristiš


naredbe iz padajućeg menija Record.

Slika 3.22. Zadavanje uslova za filtriranje podataka.

 Vežbanje:
33
Postavi filter u tvojim podacima tako da izdvojiš zapise u kojima je pol jednak
"M" i mesto stanovanja "Novi Sad". Kasnije napravi filter da izdvojiš zapise u kojima su
podaci iz izabranog odeljenja i putnici. Sam postavi još neke uslove za filtriranje.

Kombinuj uslove za sortiranje i filtriranje podataka na raznim tabelama.

 Rezime:
Podaci u tabeli se mogu sortirati i filtrirati čime se omogućava prikazivanje
odabranih zapisa u željenom redosledu.

3.5. Podaci iz više tabela.

U lekciji 1.3. govorili smo o načinu organizovanja podataka povezanosti podataka


medju tabelama. Za dalji rad koristićemo ranije kreiranu bazu podataka Skola.

Na Slici 3.23. je dat tabelarni prikaz tabela Smerovi i Odeljenja. U tabeli


Odeljenja upisujemo smer koji pohadja posmatrano odeljenje. Pošto su smerovi već
prijavljeni u posebnoj tabeli bilo bi veoma zgodno da se nekako mogu odatle iskoristiti za
popunjavanje tabele Odeljenja, umesto da za svako odeljenje pišemo smer.

Slika 3.23. Tabelarni prikaz tabela Smerovi i Odeljenja.

Jedna od prvih ideja da se za popunjavanje smera u tabeli Odeljenja iskoristi


tabela Smerovi, vodi do toga da se u tabeli Odeljenja umesto naziva smera upisuje
odgovarajući ID broj smera pod kojim je smer zapisan u tabeli Smerovi. U tom slučaju bi

34
podaci bili kao na Slici 3.24. Podaci bi se brže popunjavali, ali bi za ažuriranje ili čitanje
podataka bilo neophodno držati obe tabele otvorene.

Slika 3.24. Pokušaj povezivanja podataka.

Access zaista može na osnovu ID broja smera da pronadje odgovarajući naziv


smera u tabeli Smerovi, a takodje da nam ga i pokazuje. Takodje može da nam pomogne i da
iskoristimo jednu tabelu za popunjavanje druge na vrlo jednostavan način. Za početak,
možemo od Accessa tražiti da nam prikazuje podatke kako je prikazano na slici 3.25.

Slika 3.25. Napredniji pokušaj povezivanja podataka.

Najzad, korišćenje podataka jedne tabele u drugoj ne treba da nas uopšte


opterećuje ID brojevima. O tome Access može da brine sam, a ono što treba nama, kao
korisnicima programa, treba da izgleda kao na Slici 3.26. Umesto da upisujemo naziv smera,
treba da odaberemo odgovarajući podatak iz padajuće liste (Combo box).

35
Slika 3.26. Korišćenje podataka jedne tabele u drugoj.

Vratimo se na primer tabele učenika, gde, između ostalog, treba da popunimo i


mesto gde učenik stanuje. Tekstualni upis svakog pojedinačnog podatka je zamoran, a podaci
se često ponavljaju. Pravilan izbor jeste upisati mesta u drugu tabelu, pa ih ovde samo koristiti
(Slika 3.27). Osim brzine upisa podataka, dobijamo i na njihovoj preciznosti, jer se
nepreciznost kod upisa podataka može odraziti i na netačnost izvedenih podataka.

Slika 3.27. Korišćenje podataka u tabeli Mesta radi popune podataka u tabeli Ucenici.

36
3.6. Pravljenje padajuće liste. Lookup.

Za pravljenje padajuće liste, koristićemo se podacima iz tabela Mesta i Ucenici.


Kreiraćemo padajuću listu radi izbora mesta stanovanja učenika. Način prikazivanja podataka
u padajućij listi definisaćemo u Design prikazu tabele Ucenici, za polje MestoStan. Dalje
ćemo koristiti karticu Lookup.

Pre nego što pristupimo popunjavanju vrednosti u kartici Lookup treba zapaziti
da tabela Mesta ima dve kolone, u prvoj je upisan ID mesta, a u drugoj naziv mesta (Mesto).
Prva od ove dve kolone jeste ključno polje po kome će računar izvršiti prepoznavanje i
pamćenje izabranog podatka, a u drugoj koloni jeste naziv mesta koji je potreban korisniku
računara da se može opredeliti prilikom izbora. Znači, obe kolone su bitne u Lookup-u, ali je
zgodno što podatke iz prve kolone ne moramo prikazivati korisniku.

Slika 3.26. Popunjavanje kartice Lookup.

U delu Display Control treba ponuđeni Text Box zameniti za Combo Box.
Zatim se otvaraju ostale mogućnosti za popunjavanje (Slika 3.26.):

• Row Source Type – tabela, odnosno Table/Query kao tip izvora podataka.
• Row Source – konkretna tabela iz koje crpimo podatke (u primeru tabela Mesta).
• Bound Column – redni broj kolone potrebne računaru za povezivanje tabela. U
navedenom primeru je to 1 (prva kolona tabele Mesta).

37
• Column Count - ukupan broj kolona iz te tabele čije podatke kupimo (u
navedenom primeru to je 2 (prva kolona je ID - broj mesta i druga kolona je
Mesto - naziv mesta).
• Column Width – širine posmatranih kolona. Ovde možemo neke kolone, koje su
bitne računaru za povezivanje, da sakrijemo (dajemo im širinu 0) ako nisu nama
bitne za posmatranje, a stavljamo odgovarajuću širinu polja za kolone koje želimo
da vidimo. (U primeru smo sakrili ID broj mesta, a prikazali samo Mesto tj. naziv
mesta, ID treba računaru za povezivanje, a nama naziv mesta da se opredelimo kod
izbora).
• List Width - ukupna širina posmatranih kolona (nije obavezno ali je zgodno).

3.7. Potreba za padajućom listom.

Prva potreba za padajućom listom javlja se kod unosa velike količine podataka,
radi jednostavnijeg i bržeg unosa, što smo videli u prethodnim primerima. Dalje, padajuća
lista obezbedjuje tačnost, odnosno jedinstvenost unetih podataka. Posmatraćemo ponovo našu
tabelu Ucenici s jedne strane (Slika 3.27.), i tabelu učenika kakva bi bila da se podaci u mesto
stanovanja pojedinačno unose, bez korišćenja padajuće liste (Slika 3.28.).

Slika 3.27. podaci popunjeni pad. listom Slika 3.28. pojedinačno unošeni podaci

 Primeti da se mesto Novi Sad može zapisati proizvoljno kada se ne koristi


padajuća lista: Novi Sad, N. Sad, Novi sad... a slično i za ostala mesta. Kako bi sada izdvojio
filterom podatke za učenike iz Novog Sada? Koliko bi različitih mesta stanovanja Access
pronašao? Koliko bi tvoji podaci bili tačni?

38
Ponekad je zgodno da u padajućoj listi imaš više kolona.

Pogledaj kako su formirane padajuće liste u tabelama u bazi podataka


Skola sa CD-a.

 Vežbanje:

Pokušaj da napraviš padajuće liste u tabelama iz baze podataka Skola koju si


ranije pravio. Proveri svoje ideje za polja u kojima se formira padajuća lista prema Slici 1.2. u
početku udžbenika ili na CD-u.
Uvežbaj formiranje padajuće liste na raznim tabelama koje si ranije pravio, gde to
ima smisla.
Napravi još neke baze podataka, sa tabelama koje je interesantno povezivati.
Možeš recimo da povezuješ pisce i njihova dela, izvodjače pesama i njihove pesme, sportiste i
klubove i drugo čega se setiš.

 Rezime:
Podaci se u Access-ovoj bazi unose u više tabela. Podaci jedne tabele se mogu
iskoristiti kao izvor za popunjavanje podataka u drugoj tabeli. Time se obezbedjuje brži i
tačniji unos podataka.

39
40
4.1. Razumevanje relacija

4.2. Tipovi relacija. Veza jedan prema


više
• jedan prema više
• jedan prema jedan
• više prema više

• Referencijalni integritet
• Kaskadno ažuriranje
• Kaskadno brisanje

4.3. Relaciona baza podataka

41
4.1. Razumevanje relacija

Slika 4.1. Baza podataka sa tabelama Drzave i Gradovi.

 Formiraj novu bazu podataka sa tabelama Drzave i Gradovi, kao na slici 4.1.
Obrati pažnju da ključno polje u tabeli Drzave jeste Oznaka, koja treba da bude tekstualno
polje, dužine 3 karaktera. Izbor države u tabeli Gradovi mora biti istog tipa i dužine, da bi se
ovde upisala odgovarajuća oznaka.
Formiranje padajuće liste samo olakšava unos podataka u tabeli i tačnost prilikom
unosa podataka. Međutim, podaci u tabeli Drzave su nezavisni od tabele Gradovi, pa lako
možemo obrisati bilo koju državu iz tabele Drzave. U tabeli Gradovi, gradovi će ostati, a
nećemo imati informaciju o nazivu države kojoj pripadaju, kao na slici 4.2.

Slika 4.2. Baza podataka sa tabelama Drzave i Gradovi sa nepotpunim podacima.

42
Da ne bi došlo do ovakih problema, među tabelama je potrebno uspostaviti
relaciju i to takvu koja neće dozvoliti brisanje podataka u jednoj tabeli ako su oni potrebni u
drugoj tabeli. Formiranje relacije vrši se izborom alatke Relationships kao na Slici 4.3. pri
čemu se otvara prozor Relationships, kao na Slici 4.4.

Slika 4.3. Izbor alatke Relationships.

Slika 4.4. Prozor Relationships.

Postavljanjem tabela u prozor Relationships, potrebno je mišem povući vezu od


polja OznakaDrzave u tabeli Drzave do polja Drzava u tabeli Gradovi. Dalje se na ekranu
pojavljuje prozor Edit Relationships, kao na slici 4.5.a. u kome treba potvrditi Enforce
Referential Integrity. Relacija među tabelama postaje jedan prema više, što znači da država
koja se jednom prijavi u tabeli Države može više puta da se koristi u tabeli Gradovi. Veza
takođe onemogućava brisanje zapisa na strani jedan ako je isti korišćen na strani više,
odnosno brisanje države čije gradove smo prijavili, a istovremeno onemogućava i upis
podatka za grad čija država nije u listi sa državama. Uspostavljena relacija je prikazana na
slici 4.5.b.

Ukoliko je potrebno, pogledaj relaciju među tabelama u bazi


DrzaveGradovi sa CD-a.

43
Slika 4.5.a. i 4.5.b. Uspostavljanje relacije između tabela Drzave i Gradovi.

4.2. Tipovi relacija.

Sprovođenje referencijalnog integriteta (Enforce Referential Integrity)


podrazumeva da se ne može upisati podatak na stranu više ako nema podatka na strani jedan
(ne može se prijaviti nijedan grad u državi koja nije prijavljena u tabeli Drzave). Takođe, ne
može se obrisati podatak na strani jedan ako je potreban, odnosno zastupljen, na strani više
(u državama se ne može obrisati Italija, ako među gradovima postoji prijavljen bar jedan grad
iz Italije).

Međutim, ako je dodatno izabrano i kaskadno brisanje povezanih podataka


(Cascade Delete Related Records), brisanjem podatka na strani jedan (brisanjem Italije),
izvršiće se i kompletno brisanje svih povezanih podataka na strani više (automatski će biti
obrisani i svi gradovi Italije).

Kaskadno ažuriranje povezanih polja (Cascade Update Related Fields)


podrazumeva da će izmena ključnog polja u tabeli na strani jedan prouzrokovati i izmenu na
strani više veznog polja, a ako ova opcija nije izabrana, neće biti mogućnosti za izmenu
podatka u ključnom polju na strani jedan.
U našem primeru, izmena oznake YU u oznaku SCG, svi gradovi koji su pripadali
državi sa oznakom YU sada će pripadati državi sa oznakom SCG.

Relacija među tabelama koju smo prikazali je tipa jedan prema više: Jednom
upisana država u tabeli Drzave koristi se više puta u tabeli Gradovi.

Osim relacije tipa jedan prema više, među tabelam može da postoji relacija tipa
jedan prema jedan, kao na primer tabela u kojoj su upisane države i tabela u kojoj su upisani
samo glavni gradovi. Međutim, ova veza nije interesantna, bolje je onda ove podatke držati u
istoj tabeli. Veza više prema više se retko koristi i uglavnom se razrešava umetanjem
pomoćne tabele. Takav tip relacija bi bio između tabela sa predmetima i nastavnicima, kada
jedan predmet predaje više nastavnika ali i kada imamo sučaj da jedan nastavnik može da
predaje više predmeta.

44
4.3. Relaciona baza podataka.

Relaciona baza podataka sadrži tabele koje su međusovno povezane i gde se


zahteva sprovođenje referencijalnog integriteta.

 Podseti se tabela koje smo koristili u bazi podataka Skola, slika 4.6. Već smo
koristili podatke jedne tabele za popunjavanje podataka u drugoj tabeli. Pokušaj da uspostaviš
relacije kao na slici.

Ukoliko nastavnik predaje više predmeta, između tabela Nastavnici i Predmeti


formirala bi se veza više prema više koja ne figuriše kao takva. U tom slučaju treba formirati
još jednu pomoćnu tabelu koja bi služila za vezu, a u kojoj bi se postojala dva polja,
nastavnici i predmeti.

Slika 4.6. Relaciona baza podataka Skola.

Na Slici 4.7. prikazana je baza podataka UceniciTabele Sa CD-a.


Proanaliziraj zašto među tabelama Ucenici i Sportovi nije uspostavljen referencijalni
integritet.

Slika 4.7. Prikaz tabela baze podataka UceniciTabele.

45
 Za uspostavljanje referencijalnog integriteta potrebno je:
∼ podaci koji se povezuju moraju biti istog tipa
∼ podatak na strani 1 mora biti ključno polje u tabeli
∼ ukoliko ima unetih podataka u tabelama pre uspostavljanja relacije, oni
moraju unapred da podržavaju referencijalni integritet, odnosno svi podaci
koji se nalaze na strani više moraju imati svoj par na strani jedan.

Proanaliziraj relacije u bazama podataka Sport i Knjige ili


MojaMuzika sa CD-a.

 Vežbanje:

Pokušaj da napraviš relacije među tabelama u svim bazama podataka koje si do


sada koristio. Ukoliko još nisi, napravi još neke baze podataka, sa tabelama koje je
interesantno povezivati. Možeš recimo da povezuješ pisce i njihova dela, izvođače pesama i
njihove pesme, sportiste i klubove i drugo čega se setiš.

 Rezime:
Podaci se u Access-ovoj bazi unose u više tabela. Podaci jedne tabele se mogu
iskoristiti kao izvor za popunjavanje podataka u drugoj tabeli. Time se obezbedjuje brži i
tačniji unos podataka. Pri tome dalje treba omogućiti trajnu tačnost unetih podataka, odnosno
formirati relacije među tabelama i zahtevati sprovođenje referencijalnog integriteta.

46
5.1. Upiti – dinamički skup
podataka

5.2. Upiti za izdvajanje podataka


(Select)

5.3. Zbirni upiti (Totals)

47
5.1. Upiti - dinamički skup podataka

U Access-u Query označava upit odnosno pitanje koje se postavlja bazi podataka
radi izdvajanja i prikazivanja samo zapise koje tražimo. Izdvojeni zapisi najčešće služe radi
prikazivanja u raznim izveštajima ili obrascima.
Upitom se izvrši odabir i prikaz određenih zapisa koji se prikazuju u tabelarnom
prikazu kao i zapisi tabele. Međutim, podaci u upitu nisu podaci tabele, to je samo dinamički
(virtuelni) skup zapisa koji se ne čuva u bazi podataka. U bazi se čuva samo struktura upita,
a upit se izvršava svaki put kada se pozove. Tada se iz najsvežije verzije svih zapisa izdvoje
zapisi kako je zadato u upitu. Zatvaranjem upita, dinamički skup nestaje i ne zauzima prostor
na disku. Znači, rezultati upita su uvek u tabelarnom prikazu, ali oni nisu stvarno upisani na
disk kao tabela, traju samo dok je pokrenut upit, kao dinamički skup zapisa, a podaci u njemu
oslikavaju vrednost podataka u tabelama iz kojih upit crpi podatke. U većini upita se ova
vrednost može menjati, čime se ustvari menja vrednost podataka u izvornoj tabeli.

Postoji više vrsta upita, koji se mogu izabrati iz padajućeg menija Query,
prikazanih na slici 5.1.
Upitom za izdvajanje podataka (Select query) se mogu
izdvojiti podaci iz jedne ili više tabela, pri čemu se odabir podataka
vrši po zadatom kriterijumu, bira se način sortiranja, a mogu se
prikazati i neka nova izračunata polja. Posebna vrsta upita za
izdvajanje podataka predstavljaju takozvani zbirni upiti
(Totals), kojima se mogu dobiti zbirovi i međuzbirovi nad
nekim podacima, izračunavaju proseci, prebrojavaju podaci po nekom
kriterijumu...

Slika 5.1. Izbor upita

Akcionim upitima (Make-Table, Update, Append i Delete) se mogu praviti nove


tabele, menjati vrednosti u tabelama, dodavati grupe zapisa u tabelu ili brisati grupe zapisa.

48
5.2. Upiti za izdvajanje podataka (Select query)

 Formiraj novu bazu podataka MojaMuzika sa tabelama VrstaMuzike,


Izvodjaci i Pesme, kao na slici 5.2. Postavi odgovarajuće padajuće liste kao i relacije među
tabelama. Polje Grupa u tabeli Izvodjaci je tipa Yes/No i označava da li je u pitanju grupa
(Yes) ili solo izvodjac (No).
Razmisli koje podatke treba da upisuješ u tabele pre nego pristupiš samom
kreiranju. Svaka tabela treba da ima odgovarajući primarni ključ. Napravi i odgovarajuće
padajuće liste. Najzad, tabele poveži odgovarajućim relacijama i popuni podacima. Tvoja
nova baza podataka može da izgleda kao na Slici 5.2. Razmisli, do kojih informacija možeš
da dođeš iz konkretnih podataka. Da li je interesantno prikazati koliko koji izvođač ima
pesama, koje su ili koliko ima pesama za neku od vrsta muzike...

Ukoliko je potrebno, preuzmi bazu podataka MojaMuzika sa CD-a.

Slika 5.2. Tabele i relacije u bazi podataka MojaMuzika

U prozoru Database, osim objekata Tables, postoje i drugi. Objekti grupe


Queries, odnosno Upiti su zamišljeni kao pitanja postavljena bazi podataka koja se odnose na
podatke smeštene u njenim tabelama. Rad sa upitima počinjemo kao na Slici 5.3.

49
Slika 5.3. Prozor baze podataka spreman za kreiranje novog upita

Za kreiranje upita možeš da koristiš pomoć čarobnjaka, vrlo je zgodno, pa to


probaj sam, počni kao što te vodi Slika 5.4.

Slika 5.4. Kreiranje novog upita uz pomoć čarobnjaka.

Takođe možeš da kreiraš upit prema svojoj želji, znači u prikazu za dizajniranje
Design View, kao kad smo kreirali tabele. Jednom kreirani upit se koristi isto kao tabela, to
znači da se njegovi podaci vide u tabelarnom prikazu, odnosno u Datasheet View. Osim toga,
jednom kreirani upit, bilo uz pomoć čarobnjaka ili u prikazu za dizajniranje, se uvek može
naknadno modifikovati, opet u prikazu za dizajniranje.

50
Slika 5.5. Prozor za dizajniranje upita, treba izabrati tabele koje će služiti kao izvor podataka
u upitu.

Za dizajniranje upita Access daje mogućnost izbora tabela i izbor polja. Kao na
Slici 5.5. koja će se prikazati u rezultatu upita. Način kreiranja upita i mogućnosti upita
odradićemo kroz zadatke.

Zadatak 1.
 Napravi upit u kome će se prikazati podaci iz tabele Izvodjaci, i to samo Ime,
Prezime i Grupa.

 Izaberi u prozoru Show Table tabelu Izvodjaci, pa taj prozor zatvori. U donjem
delu prozoru upita u vrsti Field redom izaberi polja te tabele: Ime, Prezime, Grupa (možeš i
da ih izabereš klikom na njih u tabeli). Po završetku rada, upit bi trebao da izgleda kao na
Slici 5.6.
 Prilikom snimanja upita, dodeli mu ime tako da te asocira na zapise koje on
prikazuje.

Slika 5.6. Prozor za dizajniranje upita i prozor sa tabelarnim prikazom zapisa dobijen upitom.

51
Zadatak 2.
 Napravi upit u kome će se prikazati podaci iz tabele Izvodjaci, i to samo Ime,
Prezime i Grupa, a pri tome ih sortirati po imenu izvođača.

 Zadatak odradi kao prethodni, a u prozoru za dizajniranje upita zapazi gde


možeš izabrati mogućnost sortiranja podataka po željenoj koloni.

Zadatak 3.
 Napravi upit u kome će se
prikazati podaci iz tabele Izvodjaci, i to samo
Ime i Prezime, ali sada samo za solo izvođače.

 Zadatak odradi kao prethodni,


a u prozoru za dizajniranje upita zapazi gde
možeš izabrati mogućnost postavljanja
kriterijuma za odabir podataka koji će se
prikazivati. Upit treba da bude kreiran kao na
Slici 5.7. Razmisli zašto je skolonjena oznaka
za prikazivanje kolone grupa. Po kreiranju
upita, u tabelarnom prikazu, proveri rezultate
dobijene upitom.
Slika 5.7. Prozor za dizajniranje upita sa izborom podataka za prikaz

Zadatak 4.
 Napravi upit u kome će se prikazati podaci iz tabele Izvodjaci, samo grupe, a
od kolona samo Ime i BrojClanova, a pri tome ih sortirati po imenu grupe.

 Zadatak odradi slično prethodni, a obavezno proveri rezultat upita u


tabelarnom prikazu.

Zadatak 5.
 Napravi upit u kome će se prikazati vrste muzike i odgovarajuće izvođače.
Obrati pažnju da se naziv vrste muzike nalazi u jednoj tabeli, a imena izvođača u drugoj.

 Za prikazivanje podataka u upit treba dovesti dve tabele. Ako su unapred


kreirane relacije među tabelama, relacija se pojavljuje i u upitu, što omogućava dobar rezultat
upita (proveri u tabelarnom prikazu). Pokušaj da obrišeš relaciju u upitu, pa dobijeni rezultat
uporedi sa prethodnim. Uporedi svoj upit sa upitom na Slici 5.8.

52
Slika 5.8. Prozor upita sa podacima iz dve povezane tabele.

Zadatak 6.

 Napravi upit u kome će se prikazati vrste muzike i odgovarajuće pesme. Obrati


pažnju da se naziv vrste muzike nalazi u jednoj tabeli, a pesme u drugoj, a da te tabele nisu
povezane relacijom.

 Razmisli na koji način je ostvarena veza između tabela VrstaMuzike i Pesme.


Dovedi i treću tabelu Izvodjaci u upit da bi se ta veza ostvarila. Izdvoj podatke koje hoćeš da
dobiješ u rezultatu upita i proveri da li si dobio sve potrebne zapise u rezultatu upita.
Verovatno si primetio da Access pokušava da poveže sve tabele u upitu ako već nisu
povezane. Pri tome formira i vezu između tabela VrstaMuzike i Pesme spajajući ih na
osnovu istog naziva polja, kao na Slici 5.9. Razmisli o zapisima koji se nalaze u ovim
tabelama sa istim ID brojem. Proveri kako ova veza utiče na rezultat upita. Kakvi su rezultatu
u upitu ako se ova nakaradna veza obriše, a ostave samo veze koje su unapred formirane u
bazi podataka, kao na Slici 5.10.

Slika 5.9. Prozor upita sa pogrešno povezanim tabelama.

53
Slika 5.10. Prozor upita sa ispravno povezanim tabelama.

Zadatak 7.
 Napravi upit u kome će se
prikazati izvođače tvoje omiljene vrste
muzike.

 U upitu treba prikazati


naziv vrste muzike i ime izvođača. U
prikazu za dizajniranje, kao kriterijum za
izbor zapisa možeš da upišeš naziv tvoje
omiqene vrste muzike. Pri tome obrati
pažnju da je taj naziv upisan u tabeli
VrstaMuzike, a da je u tabeli Izvodjaci
samo referenca na tu vrstu, te da se
kriterijum mora zadati tamo gde je upisan
naziv. Po kreiranju upita, obavezno
proveri rezultat upita u tabelarnom
prikazu. Uporedi svoj upit sa upitom na
Slici 5.11.
Slika 5.11. Postavljanje kriterijuma za izbor zapisa u upitu

Zadatak 8.
 Napravi upit u kome će se prikazati izvođače za vrstu muzike koju biraš
prilikom pokretanja upita.

 U upitu treba, umesto konkretnog naziva


vrste muzike, kao kriterijum postaviti parametar, odnosno
upisati recimo [Izaberi vrstu muzike]. Tada izvršenje
upita počinje pitanjem kao na slici 5.12. Po kreiranju upita,
obavezno proveri rezultate upita u tabelarnom prikazu,
menjajuću paramere.
Slika 5.12. Postavljanje parametra za izbor zapisa u upitu

54
Zadatak 9.
 Napravi upit u kome će se prikazati izvođače i njihove pesme, a za vrstu
muzike koju biraš prilikom pokretanja upita.

 Upit uraditi na sličan način kao u prethodnom zadatku, ali uključiti i zapise iz
tabele sa pesmama. Upit treba da izgleda kao na slici 5.13. Obavezno proveri rezultate upita u
tabelarnom prikazu, menjajući parametre.

Slika 5.13. Prozor upita za izbor zapisa iz tri povezane tabele.

Ukoliko je, preuzmi bazu podataka MojaMuzika sa CD-a i pogledaj


kako su tamo kreirani upiti.

55
5.3. Zbirni upiti (Totals)

Zbirni upiti su posebna vrsta upita za izdvajanje podataka.


Računari su pre svega smišljeni sa računaju, pa to od njih i očekujemo. U
sledećim zadacima čemo formirati upite koji računaju, odnosno koji prebrojavaju, sabiraju...
I dalje ćemo koristiti bazu podataka MojaMuzika.

Zadatak 10.
 Napravi upit u kome će se prikazati koliko koji izvođač ima upisanih pesama.

 Za prikazivanje podataka u upit treba dovesti dve tabele, Izvodjaci i Pesme.


Da bi Access vršio grupisanje podataka, prebrojavanje, sabiranje i drugo, treba u upitu zadati
novi red Totals, najjednostvnije izborom odgovarajuće ikone iz trake sa alatkama
Query Design koja se otvara kod kreiranja upita, kao na Slici 5.14., ili izborom
naredbe Totals iz padajućeg menija View. Podatke treba grupisati po izvođačima - Group By,
i zadati računaru da izvrši prebrojavanje pesama, odnosno Count.

Slika 5.14. Upit u kome treba prebrojati grupisane zapise

Zadatak 11.
 Napravi upit u kome će se prikazati koliko pesama ima upisanih po svakoj vrsti
muzike.

56
 Upit napravi slično kao u prethodnom zadatku. Proveri rezultate dobijene
upitom. Proveri koji se zapisi dobijaju u rezultatu upita kada se umesto Count koriste First ili
Last.

Ukoliko je, preuzmi bazu podataka MojaMuzika sa CD-a i pogledaj


kako su tamo kreirani upiti, redom kao na slici 5.15. Upit Q2_xxSortPesmePoVrstiMuzike je
prikazan sa greškom koju pravi Access povezujući tabele prilikom njihovog izbora u upitu, i
koja je otklonjena u upitu Q2_SortPesmePoVrstiMuzike.

Slika 5.15. Upiti u bazi MojaMuzika.

Upiti su korisni za prikazivanje izabranih zapisa ili izvedenih informacija u


raznim izveštajima ili obrascima.

 Napravi potreban upit da bi se dobio izveštaj kao na Slici 5.16.

 Ako se već dovoljno snalaziš u Access-u, pokušaj sam da napraviš takav


izveštaj uz pomoć čarobnjaka. Kao i kod upita, i dobijeni izveštaj uvek možeš da modifikuješ
po svojoj želji.

57
Slika 5.16. izveštaj dobijen iz podataka odgovarajućeg upita.

 Napravi novu bazu podataka i kreiraj u njoj tabelu Roba, kao na Slici 5.17, pa
pokušaj da kreiraš upite redom kao na slici 5.18.

Slika 5.17. Tabela Roba.

Slika 5.18. Upiti nad tabelom Roba.

58
 Zapazi da se vrednost robe može prikazati u novokreiranom polju u upitu, kao
na Slici 5.19. Za prikaz ukupne vrednsoti zaliha može se koristiti tabela Roba, kao na Slici
5.20, ali i prethodno kreirani upit, kao na Slici 5.21.

Slika 5.19. kreiranje novog polja u upitu

Slika 5.20. Total u upitu nad poljima tabele

Slika 5.21. Total u upitu nad poljem ranije kreiranog upita.

Ukoliko je, preuzmi bazu podataka Roba1 sa CD-a i pogledaj kako su


tamo kreirani upiti, redom kao na slici 5.18.

59
 Bazu podataka Roba dopuni novom tabelom, Nabavka, kao na Slici 5.22, pa
pokušaj da kreiraš upite redom kao na slici 5.23.

Slika 5.23. Baza podataka Roba2

Slika 5.24. Upiti u bazi podataka Roba2.

Preuzmi bazu podataka Roba2 sa CD-a i pogledaj kako su tamo


kreirani upiti, redom kao na slici 5.23.

Preuzmi bazu podataka Roba3 sa CD-a, pogledaj kako se baza mogla


dopuniti novom tabelom sa grupama artikala i pogledaj kako su u bazi kreirani upiti.

Preuzmi bazu podataka Roba4 (Slika 5.25) sa CD-a, razmisli o


tabelama i relacijama, pokušaj sam da kreiraš neke upite, pa pogledaj kako su u bazi kreirani
upiti.

Slika 5.25. Baza podatka Roba4.

60
Preuzmi bazu podataka Roba5 (Slika 5.26) sa CD-a, razmisli o
tabelama i relacijama, pokušaj sam da kreiraš neke upite, pa pogledaj kako su u bazi kreirani
upiti.

Slika 5.26. Baza podatka Roba5.

 Rezime:
Upiti su dinamički skup podataka sa zapisima koji žive samo dok je upit otvoren.
Omogućavaju izdvajanje podataka za prikazivanje, njihovo sortiranje, grupisanje, sabiranje,
računanje proseka i drugo. Omogućavaju dobijanje različitih informacija iz više tabela ili
ranije kreiranih upita, pa su interesantne kao izvor podataka u izveštajima.

61
62
6.1 Forma – obrazac za
ažuriranje polja tabele

6.2 Forma – komandna tabla

63
6.1. Forme - obrasci za ažuriranje podataka tabele

Form u našem jeziku možemo da prevedemo kao (elektronski) obrazac, formular,


a odomaćio se i izraz forma. Forme predstavljaju zamenu za papirne obrasce raznih vrsta.
Jednostavne su za oblikovanje, a gotovo nezamenjive za popunu podataka. Takođe su
pogodne za prikazivanje na ekranu raznih kombinovanih podataka.
Za dalji rad koristićemo bazu podataka Ucenici, sa Slike 6.1.

Slika 6.1. Baza podataka Ucenici

Najjednostavniji način za kreiranje forme jeste forma kreirana uz pomoć


čarobnjaka, koja se pravi automatski kada selektujemo posmatranu tabelu.

U objektima kartice Tables selectuj tabelu Mesta. Izvrši događaj klik na dugme
New Object: AutoForm, iz trake sa alatkama Database. Na taj način smo ustvari
pozvali program koji će automatski kreirati formu za ažuriranje selektovane tabele. Nova
forma uglavnom ima izgled kao na Slici 6.2. Drugi način za dobijanje takve forme je bio da
izaberemo opciju Form na dugmetu New Object (Slika 6.3), a zatim da kreiramo formu
opcijom AutoForm: Columnar nad tabelom Mesta (Slika 6.4).
Kreirana forma se prikazuje na ekranu i kada pokušamo da je zatvorimo, treba da
odgovorimo pod kojim imenom ćemo je sačuvati (ponuđeno nam je isto ime forme kao i ime
tabele).

Slika 6.2. Forma za ažuriranje podatka tabele

64
Slika 6.3 Slika 6.4. izbor načina kreiranja forme.

Kreirana forma se nalazi u prozoru baze podataka među objektima Forms. Tamo
takođe imamo mogućnost otvaranja postojeće forme, dizajniranja ili brisanja selektovane
forme, kao i kreiranje nove forme.

Record Selector (Birač zapisa)

Text Box (Polje za tekst)

Label (Natpis)

Dividing Lines (Traka za razdvajanje)

Navigation Buttons (Dugmad za navigaciju)

Slika 6.5. Forma za ažuriranje tabele i kontrolni objekti na formi.

Na Slici 6.5. prikazani su kontrolni objekti na formi koje koristimo za ažuriranje


tabele. Na neke kontrolne objekte smo navikli dok smo popunjavali tabele u tabelarnom
prikazu.
Popunjavali smo podatke u poljima za tekst i tako koristili kontrolni objekat polje
za tekst (Text Box), a kontrolni objekat natpis (Label) služi kao tekstualno objašnjenje njemu
pripadajućeg polja za tekst u kojem podatak ažuriramo.
Birač zapisa (Record selector) služi da se selektuje ceo zapis, a traka za
razdvajanje (Dividing lines) služi da odvoji jedan zapis od drugog kada se ovi nalaze jedan
ispod drugog.
Dugmad za navigaciju (Navigation Buttons) imaju ulogu kretanja među zapisima.
Omogućavaju kretanja na prvi zapis, na prethodni (ako već nismo na prvom), na sledeći (ako
već nismo na poslednjem), odnosno na poslednji zapis tabele, kao i da se postavimo iza
poslednjeg zapisa radi upisivanja novog.
Forma za ažuriranje zapisa tabele Mesta mogla je da se formira i kao AutoForm:
Tabular (Slika 6.6), ili pomoću čarobnjaka (Wizard) na neki sličan način (Slika 6.7), odnosno
dodatno dizajnirana po želji dizajnera aplikacije (Slika 6.8).

65
Slika 6.7. Slika 6.8. Slika 6.9.
Različito dizajnirane forme za ažuriranje tabele Mesta.

Ukoliko kreiramo formu za ažuriranje podataka složenije tabele kakva je tabela


Ucenici, to će i sama forma imati više različitih komponenti, odnosno na njoj će biti
posatvljeno više kontrolnih objekata. Kreirana kao AutoForm: Columnar, može da izgleda
kao na slici 6.10, ili, dodatno dizajnirana, kao na slikama od 6.11 do 6.16.

Slika 6.10. forma za ažuriranje tabele Ucenici.

66
Slika 6.11. Slika 6.12.

Slika 6.13. Slika 6.14.

Slika 6.15. Slika 6.16.

Slike 6.11. – 6.16. raličito dizajnirane forme za ažuriranje tabele Ucenici.

Forma se može dobiti uz pomoć čarobnjaka, pa zatim modifikovati, ili samostalno


kreirati. Modifikovanje forme vrši se u prikazu za dizajniranje, Design View (što smo već
navikli), a može da izgleda kao na slici 6.17. Podaci u formi se ažuriraju u prikazu Form
View.

67
Slika 6.17. Forma u prikazu za dizajniranje.

Traka sa alatkama potrebnim za dizajniranje se obično postavlja uz levu ivicu


prozora, kao na Slici 6.17. Jednostavnim izborom odgovarajuće komponente iz trake sa
latkama, komponenta se postavlja na formu. Svaka komponenta se može po želji dalje
dizajnirati, odnosno možemo uticati na svojstva kontrolnog objekta - Properties.

 Napravi uz pomoć čarobnjaka forme za ažuriranje tabela u bazi Ucenici.

Preuzmi bazu podataka Ucenici sa CD-a i pogledaj kako su tamo


kreirane forme.

 Kreiranje forme uz pomoć čarobnjaka ide dosta jednostavno. Za složenija


dizajniranja potrebno je malo više znanja, ali i mašte i snalažljivosti. Pokušaj prvo da
samostalno modifikuješ forme koje si dizajnirao uz pomoć čarobnjaka.

68
Prilikom dizajniranja forme, u radnom prozoru su prisutne odgovarajuće trake sa
alatkama:
Umesto trake Standard, kakva se sretala recimo u Word-u, u prozoru baze
podataka se nalazi traka Database prikazana na Slici 6.18.

Slika 6.18. traka Database

Traka Formatting delimično podseća na istoimenu traku kakva se sretala u Word-


u, a u Access-u ima nekoliko svojih varijanti i prilikom dizajniranja forme pojavljuje se kao
Formatting Form/Report prikazana na Slici 6.18. Pogodna je za formatiranje objekata na
formi, odnosno za jednostavniju promenu nekih vrednosti svojstava objekata forme.

Slika 6.19. traka Formating

Traka Toolbox, odnosno kutija sa alatkama, prikazana na Slici 6.20, se automaski


aktivira kada hoćemo da dizajiramo formu ili izveštaj, a sadrži (osim prve dve alatke)
komponente koje možemo birati radi postavljanja na formu.

Slika 6.20. traka Toolbox

U nastavku ćemo ukratko objasniti osnovne alatke trake Toolbox:


Selects Objects – omogućava selekciju većeg broja komponenti već postavljenih na
formu.
Control Wizards – čarobnjak za kontrolne objekte - može biti uključen ili
isključen kada pravimo određenu vrstu kontrolnog objekta (grupu opcija, listu,
padajuću listu, podobrazac, okvir za objekat i komandno dugme) i olakšava dodatnu
popunu svojstava koja je neophodno definisati za odgovarajući kontrolni objekat.
Label – Natpis – prikazuje zadati tekst u obliku natpisa.

Text Box – Polje za tekst – polja za upisivanje podataka.


Option Group – Grupa opcija – grupa koja sadrži više dugmadi opcija, polja za
potvrđivanje ili prekidača od kojih najviše jedno treba da bude izabrano.
Toggle Button – Prekidač, preklopnik – dugme sa dva stanja, uključeno je kada je
pritisnuto.
Option Button - Dugme opcije ili Radio dugme – objekat najčešće u grupi takvih
objekata, omogućava izbor tačno jedne od ponuđenih opcija.
Check Box – Polje za potvrđivanje – polje sa dva stanja, uključeno je kada je
popunjeno znakom potvrde, odnosno čekirano ili štiklirano.
Combo Box – Padajuća lista – lista koja omogućava korisniku da odabere podatak
iz liste ili da upiše novi u listu, prikazan u jednom redu do aktiviranja, a prilikom
aktiviranja prikazuje i ostale podatke u listi.
List Box – Lista – lista unapred zadatih vrednosti radi izbora.

69
Command Button – Komandno dugme – objekat koji omogućava pokretanje ili
zaustavljanje neke akcije koja je isprogramirana u VBA kodu.
Image – Slika – prikazuje bitmapiranu sliku, najčešće se koristi kao pozadina forme.
Ne zauzima mnogo resursa.
Unbound Object Frame – Okvir za nevezani objekat - Okvir koji sadrži OLE
objekat (sliku, dijagram, video ili zvučni zapis) koji nije vezan za polje tabele.
Bound Object Frame – Okvir za vezani objekat – Okvir koji sadrži OLE objekat
koji je vezan za polje tabele.
Page Braek - Prelom strane – koristi se za izveštaje.

Tab Control – Grupa kartica – omogućava prikazivanje jedne forme u više delova
Subform/Subreport – Podobrazac/Podizveštaj – prikazuje drugi obrazac unutar
glavnog.
Line – Linija, crta – linija određene boje i debljine, najčešće se koristi radi
razdvajanja grupa objekata na formi.
Rectangle – Pravougaonik – pravougaonik određene boje i debljine, popunjen ili
prazan, najčešće se koristi radi isticanja pojedinih delova forme.
More Controls – Dodatne kontrole – mogućnost dodavanja još nekih kontrolnih
objekata.

Dodavanje kontrolnih objekata na formu se vrši tako što se u traci sa alatkama


selektuje željeni objekat a onda se klikom na određenom delu forme definiše mesto tog
objekta.

Kontrolni objekat komandno dugme se postavlja na formu izborom iz trake sa


alatkama. Možemo ga postaviti na formu i po želji formatirati, kao na Slici 46.

Slika 6.21. Komandno dugme Slika 6.22. Postavljanje kom. dugmeta

Kao što pojavljivanje polja za tekst na formi očekuje da se u njega unosi neki
sadržaj, tako i komandno dugme očekuje da se na njemu izvrši događaj klik, a samim
postavljanjem komandnog dugmeta na formu, to je i omogućeno.
Ukoliko je uključen čarobnjak za pomoć, možemo recimo formirati dugme koje
će izvršiti zatvaranje forme, pri tome biramo Form Operations – Close Form, kada
pokrenemo formu, ona će se zatvarati klikom na novopostavljeno komandno dugme.

70
Pošto smo već navikli na grafičku radnu sredinu, prirodno je da očekujem da se
klikom na komandno dugme “nešto desi”, odnosno očekujemo neku akciju. Da bi se ta akcija
zaista desila, nije dovoljno da na formi kliknemo na komandno dugme, nego takva akcija
mora biti prethodno isprogramirana. U prethodnom primeru, ovu akciju je isprogramirao
čarobnjak za pomoć, kao [Event Procedure] a kôd ove procedure možemo videti kada
pogledamo svojstva komandnog dugmeta (Properties) u kartici Event, On Click, i pritisnemo
dugme Builder (...), kako je prikazano na slici 6.22. Na ekranu će se dalje otvoriti prozor
Visual Basic-a, kao na slici 6.23. Ovde se nećemo baviti posebno Visual Basic-om, osim što
ćemo zapaziti da on radi u pozadini Access-ove forme. Osim programskog koda koji nam
isprogramira čarobnjak za pomoć, postoji i mogućnost da sami isprogramiramo neke akcije.

Slika 6.23. Programski kod za zatvaranje forme koji je napravio čarobnjak za pomoć

Pisanjem programskog koda vrši se obrada događaja, odnosno definiše se akcija


koja prati odgovarajući događaj, kao što je klik na komandno dugme. Osim tog događaja
mogu se izvršiti i drugi događaji kako na komandnom dugmetu (Slika 6.24), tako i na ostalim
kontrolnim objektima forme, a zavise od vrste kontrolnih objekata. Tako za kontrolni objekat
polje za tekst može biti vezan događaj After Update (i još neki, kao na Slici 6.25), koji se ne
može vezati za komandno dugme.

Slika 6.24. Događaji nad kom.dugmetom Slika 6.25. Događaji nad poljem za tekst

71
6.2. Forma – komandna tabla

Komandna tabla u Access-u jeste forma tipa menija, koja pre svega u sebi sadrži
komandnu dugmad radi pozivanja drugih formi (ili izveštaja).
Kreiranjem komandne table možemo grupisati sve forme (i izveštaje) u jednu
celinu koja bi mogla biti korisnička aplikacija. Ostalo je još da korisnika aplikacije uputimo
odmah u program, odnosno na startnu formu, a da ne ulazi u radno okruženje za kreiranje
baze podataka. U tu svrhu treba da pokrenemo padajući meni Tools, zatim odaberemo Startup
i podesimo parametre. Najvažnije je da odredimo koja će od naših formi da se prikazuje
odmah po otvaranju aplikacije i da izaberemo da se Database Window ne prikazuje.

Preuzmi bazu podataka Roba5 sa CD-a i pogledaj kako je tamo


kreirana početna forma.

Na Slici 6.26 prikazana je početna forma aplikacije u bazi podataka Roba5.

Slika 6.26. Početna forma aplikacije

 Rezime:
Forme se prvenstveno koriste za ažuriranje i prikaz podatka iz tabela ili upita.
Osim toga, mogu da sadrže komandnu dugmad radi povezivanja svih formi i izveštaja baze
podataka u jedinstvenu aplikaciju.

72
7.1 Izveštaji

73
7.1. Izveštaji

Izveštaj, engleski Report pokazuje podatke u štampanom obliku. Cilj prikupljanja


podataka u bazu podataka jeste davalje kvalitetnih informacija u vidu izveštaja. Izveštaj može
da prikazuje zapise iz neke tabele, ili iz unapred kreiranog upita.
Izveštaj se vrlo jednostavno pravi uz pomoć čarobnjaka Report by Wizard, a
zatim se može modifikovati, u prikazu za dizajniranje, DesignView, kao na Slici 7.1.
Korišćena je tabela PoslovniPartneri baze podataka Roba5, a zapisi su grupisani po mestima
i dalje sortirani po nazivu poslovnog partnera. Na slici 7.2. prikazan je složeniji izveštaj iz iste
baze podataka, za čije dizajniranje nije bilo dovoljno koristiti čarobnjaka. Traka sa alatkama
za dizajniranje izveštaja odgovara traki sa alatkama za dizajniranje forme i obično se postavlja
sa leve strane ekrana

Slika 7.1. – Izveštaj u prikazu za dizajniranje.

74
Slika 7.2. – Složeniji izveštaj u prikazu za dizajniranje.

Preuzmi bazu podataka Roba5 sa CD-a i pogledaj kako su tamo


kreirani izveštaji.

 Vežbanje:

Dopuni baze podataka koje si dosad kreirao formama i izveštajima. Pokušaj da ih


povežeš u aplikaciju. Pokušaj da osmisliš i kreiraš neke manje aplikacije.

 Rezime:
Izveštajima se prikazuju podaci u štampanom obliku. Cilj prikupljanja podataka u
bazu podataka jeste davalje kvalitetnih informacija u vidu izveštaja. Izveštaj može da
prikazuje zapise iz neke tabele, kao i obrađene informacije iz unapred kreiranog upita.

75
1. Kaufeld, John: Access 97 za Windows za neupućene, Mikro knjiga, 1996.
2. Maletin Svetlana: Jedan metodički prikaz nastave poslovne informatike u ekonomskoj
školi, specijalistički rad, Novi Sad 2003.
3. Marinčić Dragan, Sardelić Miroslav: Poslovna informatika za III razred ekonomske
škole, Zavod za udžbenike i nastavna sredstva Beograd, 2002.
4. Novalis Susann: Access 97 Makroi i VBA, Mikro knjiga, 1997.
5. Novalis Sussan, Jones Dana: Majstor za Access 2002 VBA, Kompjuter biblioteka,
2002.
6. Prague Cary N. i Irwin Michael R.: Microsoft Access 2000 biblija, Mikro knjiga,
1999.
7. Stankić Rade, Marinčić Dragan: Računarstvo i informatika za III razred gimnazije,
Zavod za udžbenike i nastavna sredstva Beograd, 2000.
8. Stojanović Miodrag, Vasić Dragoljub: Osnove informatike i računarstva za 8. razred
osnovne škole, ZUNS Beograd, 2004.
9. Zavod za unapređivanje obrazovanja i vaspitanja: Radovi sa nagradnog konkursa
Kreativna škola 2004/2005.
a. Maletin Svetlana: Baze podataka. Microsoft Access: Modifikovanje tabele.
Tipovi polja.
b. Spajić Stevan: Relacije u bazi podataka, relacije u programu Microsoft Access.

76

You might also like