Professional Documents
Culture Documents
Knjigabazepodataka PDF
Knjigabazepodataka PDF
Knjigabazepodataka PDF
PREDGOVOR
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
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.
7
Slika 1.2. Podaci o predmetima
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.
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.
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.
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.
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
13
2.1. Pokretanje Microsoft Accessa
Ako na računaru postoji neka baza podataka u Access-u, jednostavno se otvara klikom na
njenu ikonicu.
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...)
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.).
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.)
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:
16
3.1. Kreiranje tabele
i ažuriranje podataka u tabeli
• Design View
• Datasheet View
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š.
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
18
U prozoru baze pojavljuje se traka sa alatkama Table Design (Slika 3.3)
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.)
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).
Tabela je snimljena, u naslovnoj liniji se prikazuje njeno ime, a kao prvo polju
tabele Access je upisao ID (tip polja AutoNumber)
ikonicu View, prvu u traci Table Design. (ista se razvija kao na Slici 3.7).
20
Slika 3.8. Tabela sa podacima, Datasheet View.
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.).
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:
Vežbanje:
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:
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.).
23
U daljem radu ćemo na primeru proučiti nekoliko osnovnih tipova polja i osobine.
DataType - Text
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
24
Popuni podatke u tvojoj tabeli tako što ćeš u nekim zapisima popuniti i polje
Napomena, tipa Memo.
DataType - Number
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
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 – Hyperlink
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.
Osobina Validation Text u kartici General javlja ovde upisanu poruku u slučaju
kada uneti podaci nisu prihvatljivi od strane definisanog pravila ispravnosti.
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.
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:
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.
29
Slika 3.17. Tabela 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.
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.
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.
Tabela Ucenici sadrži podatke o učenicima različitih tipova. Primarni ključ je ID.
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.
32
Proveri kako možeš promeniti redosled kolona u tabelarnom prikazu i
selektovati proizvoljan broj kolona radi sortiranja.
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.
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.
Rezime:
Podaci u tabeli se mogu sortirati i filtrirati čime se omogućava prikazivanje
odabranih zapisa u željenom redosledu.
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.
35
Slika 3.26. Korišćenje podataka jedne tabele u drugoj.
Slika 3.27. Korišćenje podataka u tabeli Mesta radi popune podataka u tabeli Ucenici.
36
3.6. Pravljenje padajuće liste. 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.
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).
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
38
Ponekad je zgodno da u padajućoj listi imaš više kolona.
Vežbanje:
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
• Referencijalni integritet
• Kaskadno ažuriranje
• Kaskadno brisanje
41
4.1. Razumevanje relacija
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.
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.
43
Slika 4.5.a. i 4.5.b. Uspostavljanje relacije između tabela Drzave i Gradovi.
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.
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.
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.
Vežbanje:
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
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...
48
5.2. Upiti za izdvajanje podataka (Select query)
49
Slika 5.3. Prozor baze podataka spreman za kreiranje novog upita
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 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 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 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.
52
Slika 5.8. Prozor upita sa podacima iz dve povezane tabele.
Zadatak 6.
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.
Zadatak 8.
Napravi upit u kome će se prikazati izvođače za vrstu muzike koju biraš
prilikom pokretanja upita.
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.
55
5.3. Zbirni upiti (Totals)
Zadatak 10.
Napravi upit u kome će se prikazati koliko koji izvođač ima upisanih pesama.
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.
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.
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.
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.
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.
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
63
6.1. Forme - obrasci za ažuriranje podataka tabele
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).
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.
Label (Natpis)
65
Slika 6.7. Slika 6.8. Slika 6.9.
Različito dizajnirane forme za ažuriranje tabele Mesta.
66
Slika 6.11. Slika 6.12.
67
Slika 6.17. Forma u prikazu za dizajniranje.
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.
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.
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ć
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.
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
74
Slika 7.2. – Složeniji izveštaj u prikazu za dizajniranje.
Vežbanje:
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