76

PREDGOVOR - zadaci.weebly.comzadaci.weebly.com/uploads/2/3/2/3/2323686/knjigabazepodataka.pdf · 3 PREDGOVOR Priru čnik treba da pomogne savladavanje gradiva iz baza podataka, konkretno

  • Upload
    vandan

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

2

3

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

4

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

5

1.1. Upoznavanje sa bazom podataka

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

1.2. Način organizovanja podataka 1.3. Povezanost podataka

6

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.

7

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.

8

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

9

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

10

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.

11

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.

12

13

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

14

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.).

15

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)

16

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.

17

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

18

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

19

� 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).

20

� 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 .

21

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.

22

� 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.

23

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.

24

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.

25

� 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.

26

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.

27

� 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.

28

∼ 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)..

29

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.

30

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

31

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.

32

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 .

33

� 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:

34

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

35

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).

36

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.

37

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).

38

• 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?

39

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.

40

41

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

42

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.

43

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.

44

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.

45

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.

46

� 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.

47

5.1. Upiti – dinamički skup

podataka 5.2. Upiti za izdvajanje podataka

(Select)

5.3. Zbirni upiti (Totals)

48

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.

49

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.

50

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.

51

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.

52

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.

53

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.

54

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

55

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.

56

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.

57

� 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.

58

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.

59

� 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.

60

� 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.

61

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.

62

63

6.1 Forma – obrazac za

ažuriranje polja tabele 6.2 Forma – komandna tabla

64

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

65

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.

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).

Record Selector (Birač zapisa)

Label (Natpis)

Text Box (Polje za tekst)

Dividing Lines (Traka za razdvajanje)

Navigation Buttons (Dugmad za navigaciju)

66

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.

67

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.

68

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.

69

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.

70

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.

71

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

72

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.

73

7.1 Izveštaji

74

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.

75

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.

76

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.