You are on page 1of 49

ACCESS BAZA PODATAKA

Seminarski rad
Sadržaj:
1. Uvod ............................................................................................................................... 2
2. Pojam entiteta, podatka i informacije ............................................................................. 3
3. Organizacija podataka .................................................................................................... 4
4. Microsoft ACCESS ........................................................................................................ 5
4.1 Tabele...................................................................................................................... 6
4.2 Obrasci .................................................................................................................... 7
4.3 Upiti ........................................................................................................................ 7
4.4 Izveštaji ................................................................................................................... 8
4.5 Makroi ..................................................................................................................... 9
4.6 Moduli ................................................................................................................... 10
4.7 Forme .................................................................................................................... 10
5. Projekat “STUDENTSKA SLUŽBA” ......................................................................... 11
5.1 Analiza sistema ..................................................................................................... 11
5.2 Kreiranje tabela ..................................................................................................... 14
5.3 Postavlјanje relacija .............................................................................................. 22
5.4 Kreiranje upita ...................................................................................................... 28
5.7 Kreiranje formi ..................................................................................................... 40
5.8 Kreiranje izveštaja ................................................................................................ 43
6. Zaključak ...................................................................................................................... 47
7. Literatura ...................................................................................................................... 48

1
1. Uvod

Baza podataka je alatka za prikuplјanje i organizovanje informacija. U njoj se mogu


skaladištiti informacije o lјudima, proizvodima, porudžbinama, kao i o bilo čemu drugom.
Postoje različite vrste baza podataka, i zavisno od toga, na koji način su podaci
interno organizovani razlikuju se: hijerarhijske, mrežne (CODASYL), relacionalne,
objektno-orijentisane, objektno-relacione, prilagođene za WEB, XML i multimedijske baze
podataka.
Podaci su predstavlјeni na uniformni način (tako npr. u relacionim bazama podataka
podaci su organizovani u tabelama), što olakšava pristup i korišćenje od strane eksternih
programa. Tako jednu bazu podataka može koristiti niz različitih programa, pisanih u
različitim programskim jezicima.
Baza podataka u računaru je kontejner objekata. Što znači da jedna baza podataka
može da sadrži više tabela. Access baza podataka čuva tabele u jednoj datoteci zajedno sa
objektima, kao što su: obrasci, izveštaji, makroi, moduli... Ukoliko nije posebno dizajnirana
kako da koristi podatke.
U ovom radu biće prikazane osnove u radu sa ACCESS 2013 bazom podataka na
konkretnom primeru projektovanja baze podataka za jednu studentsku službu.

2
2. Pojam entiteta, podatka i informacije

U svakodnevnom životu često se koriste izrazi podatak, obaveštenje i informacija.


Često se smatraju sinonimima? PODATAK=OBAVEŠTENJE=INFORMACIJA?
Svet koji nas okružuje može se shvatiti kao sistem entiteta koji su u međusobnom
delovanju. Pod entitetom se najčesće podrazumeva objekat posmatranja koji je važan sa
određenog stanovišta i koji se može identifikovati, tj. izdvojiti iz okoline i opisati.
Entitet može biti:
 realni objekat (osoba, mašina, dokument, kuća...)
 apstraktni pojam (mera, količina, boja, preduzeće, radno mesto..)
 događaj (rođenje, upis, isplata, prekršaj...)
 odnos – asocijacija (predmet – nastavnik, kupac – dobavljač, ...)
Svaki entitet ima različita svojstva (obeležja), kojima se bliže određuje posmatrani
entitet. Skup entiteta je kolekcija entiteta iste vrste (opisuju se na isti način). Svako svojstvo
ima ime i vrednost, pa se entitet identifikuje :
1. imenom skupa entiteta kome pripada
2. imenom svojstva entiteta pomoću kog se izdvaja iz skupa
3. vrednošću imenovanog svojstva.
Svojstva mogu biti ključna i atributivna. Ključno svojstvo (ključ) omogućava
identifikaciju entiteta u skupu entiteta. Ključevi mogu biti primarni (omogućava
jednoznačnu identifikaciju entiteta u skupu e.) i sekundarni (služe za identifikaciju
grupe entiteta u skupu entiteta). Kao ključevi se koriste šifre (omogućavaju identifikaciju
entiteta, klasifikaciju entiteta ili pružanje informacija uz uštedu memorijskog prostora).
Primer: JMBG 2811954710128 (dan rođenja, mesec, godina, republika, region, pol,
kontrolni broj).
Atributivna svojstva opisuju entitet (ne identifikuju).

3
Primeri entiteta
ENTITET OBELEŽJA KONKRETIZACIJA (vrednost) OBELEŽJA
(podatak)
MAGACIN dužina 200 m
širina 50 m
lokacija Beograd, Cetinjska 30
stanje zaliha 35 000
kapacitet 1 000 000

DOBAVLJAČ mesto Kikinda, Zmajeva 34


roba keks
učešće u ukupnom prometu 7,56%
rok plaćanja 60 dana
Konkretizacija obeležja etntiteta je PODATAK. Podaci mogu biti numerički,
znakovni i mešoviti. Obaveštenje da u Australiji pada kiša je vest, ali obaveštenje da u
mestu u kome se nalazimo pada kiša može da bude informacija koja pokreće akciju poneti
kišobran.
INFORMACIJA je kvalitetnija od podatka, najčešće je rezultat obrade
podataka i od nje se ima korist ili podstiče na neku akciju.

3. Organizacija podataka

U bazama podataka razlikujemo se sledeće nivoe logičkih jedinica podataka:


Razlikuju se sledeći nivoi logičkih jedinica podataka:
1. Podatak (data)- je konkretna vrednost obeležja tj. ono sto Access beleži,
rasporedjuje. Npr. ime predstavlja jedan podatak, ime i prezime 2 podataka, ako je tu i titula
– vise podataka. Koliko će ih biti zavisi od načina organizacije.
2. Polja (field) u bazi podataka: mesta u kojima “žive” podaci; prostor u koji se
smeštaju podaci; U Accessu poistovećuje se sa kolonom, jer sva polja u jednoj koloni imaju
isto ime tj. odnose se na isto obeležje (svojstvo).

4
3. Zapis ili slog (records) predstavlja skup polja koja se odnose na isti entitet.
Svaki zapis sadrži istovetna polja, ali se u tim poljima nalaze ≠ podaci. U tabeli predstavljen
je redom.
4. Tabela (table) je skup zapisa koji čine slične podatke. Npr. podaci o fudbalskim
timovima i knjigovodstveni podaci ne mogu biti u istim tabelama ( u Dbase se tab. naziva
baza podataka !!?). Podaci se mogu čuvati i u nekoliko povezanih tabela (Relations..)
5. Baza podataka (database): datoteka baze podataka je skup svega sto se odnosi
na određenu klasu informacija (entiteta). Baza podataka (u Access-u) sadrzi sve tabele,
upite, izveštaje i ostale objekte koji se stvaraju u cilju sto bolje organizacije podataka – dakle
jedna zbirna datoteka (u Dbase je catalog !!?).

4. Microsoft ACCESS

Microsoft Access je Microsoftov program za upravljanje relacijskim bazama


podataka.
Access, za razliku od aplikacija za obradu teksta i aplikacija za tabelarne propračune,
zaista predstavlja multifunkcionalni program. Sastoji se od mnoštva povezanih alata za
generisanje, organizovanje, izdvajanje, prikazivanje, štampanje i objavljivanje podataka.
Access sprema podatke baze u vlastitom formatu - Access Jet Databease Engine. Isto tako,
može prebaciti ili ostvariti vezu s podacima u drugoj Access bazi, Excelu, SharePoint
listama, tekstom, XML-om, Outlooku, dBaseu, Paradoxu, Lotusu 1-2-3 ili pomoću ODBC
izvora podataka kao što su Microsoft SQL Server, Oracle, MySQL i PostgreSQL.
Access koriste profesionalci za razvoj aplikacija, ali ga jednako tako mogu koristiti
i amateri, power useri za razvoj jednostavnijih aplikacija.
Microsoft Access je deo programskog paketa Microsoft Office i najpopularnija je
Windows baza. Namenjena je korisnicima koji imaju potrebu za relacijskim bazama
podataka.
Da bi se okvalifikovala kao potpun sistema za upravljanje relacionom bazom
podataka (relation database management system, RDBMS), aplikacija mora da izvršava
sledeće četiri osnovne funkcije, od kojih svaka ima sopstvenu prezentaciju za korisnika:

5
 Organizajica podataka obuhvata izradu i rukovanje tabelama koje sadrže
podatke u konvencionalnom tabelarnom formatu (red-kolona ili format
aplikacija za teabelarne proračune), koju Access naziva prikaz Datasheet.
 Povezivanje tabela I izdvajanje podataka koristi upite (eng.queries) za
povezivaje više tabela prema relacijama između podataka i izradu virtuelnih
(privremenih) tabela, koje se nazivanju zapisi, a sadrže izabrane podatke koji
se čuvaju u memoriji računara il u privremenim datotekama na disku.
 Unos i uređivanje podataka.
 Prikazivanje podataka zahteva izradu izveštaja koji možete da pregledate,
štampate ili objavljujete na Internetu. Dijagrami i grafikoni prikladno
sumiraju podatke za one koji imaju ,,uopšten” pristup.

Access baza podataka sadrži sledeće:


 Tabele
 Obrasce
 Upite
 Izveštaje
 Makroe
 Module
 Forme

4.1 Tabele

Tabela baze podataka je po izgledu slična unakrsnoj tabeli po tome što su podaci
smešteni u redove i kolone, zbog toga je veoma lako unakrsnu tabelu uvesti u tabelu baze
podataka. Glavna razlika između skladištenja podataka u unakrsnoj tabeli i tabeli u bazi
podataka je u načinu organizacije podataka. A u cilјu što veće fleksibilnosti baze podataka,
podaci moraju da budu organizovani u tabele tako da se ne pojavlјuju suvišni podaci.

6
Svaki red u tabeli predstavlјa jedan zapis. U zapisima se skladište pojedinačne
informacije. Svaki zapis se sastoji od jednog ili više polјa. Polјa odgovaraju kolonama u
tabeli.

Slika 1. Tabela

4.2 Obrasci

Obrasci se ponekad zovu i „ekrani za unos podataka“. Oni predstavlјaju interfejs koji
se koristi za rad sa podacima i često sadrži komandnu dugmad koja izvršava različite
komande.
Dugmad se mogu programirati kako bi se odredili podaci koji će se pojavlјivati u
obrascu, da bi se otvarali drugi obrasci ili izveštaji, odnosno izvršavali brojni drugi obrasci.
Na primer, imamo „Obrazac kupaca“ koji sadrži podatke o kupcima. Taj obrazac
može da sadrži dugme koje otvara obrazac porudžbine, a u koji se mogu uneti nove
porudžbine kupaca.

4.3 Upiti

Upiti predstavlјaju pravu radnu snagu baze podataka i mogu da izvrše veliki broj
različitih funkcija. Nјihova najčešća funkcija je preuzimanje određenih podataka iz tabela.
Podaci se obično nalaze u više tabela, a upiti omogućavaju njihovo prikazivanje u jednom
listu sa podacima. Osim toga, upiti omogućavaju da se dodaju određeni kriterijumi kako bi

7
se „filtrirali“ podaci i dobili samo želјeni zapisi. Upiti često služe kao izvor zapisa za obrasce
i izveštaje.
Neki upiti mogu da se „ažuriraju“, što znači da se mogu uređivati podaci u osnovnim
tabelama koristeći list sa podacima upita. Upiti koji mogu da se da ažuriraju, stvaraju
promene u tabelama, a ne samo u listu sa podacima upita.
Postoje dve osnovne vrste upita: upiti za izdvajanje i radni upiti.
Upit za izdvajanje preuzima podatke i čini ih dostupnima za upotrebu. Rezultati upita
mogu se prikazati na ekranu, odštampati ili kopirati u ostavu.
Radni upit, kao što mu samo ime govori, izvršava neki zadatak u vezi sa podacima.
Radni upiti mogu se koristi za kreiranje novih tabela, dodavanje podataka u postojeće tabele,
ažuriranje podataka ili brisanje podataka.

Slika 2. Upiti

4.4 Izveštaji

Izveštaji se koriste za rezimiranje i predstavlјanje podataka iz tabela. Oni mogu da


se pokrenu bilo kada i uvek će odražavati aktuelne podatke u bazi podataka. Izveštaji se
najčešće oblikuju za štampanje, ali mogu da se prikažu i na ekranu, odnosno izvezu u drugi
program ili pošalјu u vidu e-poruke.

8
Izveštaji su elektronski oblik klasičnih papirnih obrazaca koje možemo gledati na
ekranu ili štampati na papir. Podaci prikazani u izveštaju mogu biti izvedeni iz tabela ili iz
upita (filtrirani podaci). Dizajniranje izveštaja je veoma slično dizajniranju formi.

Slika 3. Izveštaj

4.5 Makroi

Makroi u programu Access mogu da se shvate kao pojednostavlјeni programski


jezik koji može da se koristi kako bi se dodala funkcionalnost u bazu podataka.
Na primer, makro se može priložiti komandnom dugmetu u obrascu tako da se
makro pokrene svaki put kada se klikne na dugme.
Makro sadrži radnje koje izvršavaju zadatke, poput otvaranja izveštaja, pokretanja
upita ili zatvaranja baze podataka. Većina operacija koje se ručno izvršavaju u bazama

9
podataka mogu da se automatizuje pomoću makroa, tako da oni mogu značajno da utiču na
uštedu vremena.

4.6 Moduli

Moduli, kao i makroi, predstavlјaju objekte koji se koriste da bi se dodala


funkcionalnost bazi podataka. Dok se makroi u programu Access kreiraju odabirom opcija
sa liste radnji makroa, moduli se pišu u programskom jeziku Visual Basic for Applications
(VBA). Modul je kolekcija deklaracija, izraza i procedura koje se skladište zajedno kao
celina.
Modul može da bude modul klase ili standardni modul.
Modul klase se prilaže uz obrasce ili izveštaje i obično sadrži procedure koje su
karakteristične za obrazac ili izveštaj uz koji se prilaže.
Standardni moduli sadrže opšte procedure koje nisu pridružene ni jednom drugom
objektu. Standardni moduli su navedeni u oknu za navigaciju pod stavkom Moduli, dok
moduli klasa nisu.

4.7 Forme

Forma je samo "pogled" na tabelu u čoveku prihvatljivijem izgledu. Nad formiranom


tabelom koja sadrži podatke o nekom čitaocu formiramo masku za unos koja ima izgled
papirnog obrasca - kartice, te manipulant ne mora da poznaje rad sa Accessom nego samo
koristi elektronske obrasce (maske) i unosi podatke putem tastature, baš kao što je to ranije
činio olovkom.

10
Slika 4. Forma

5. Projekat “STUDENTSKA SLUŽBA”

5.1 Analiza sistema

Da bi smo napravili bazu podataka moramo se prvo što bolje upoznati sa sistemoom
za koji radimo bazu podataka, tako da naš prvi zadatak postaje projektovanje opšte strukture
sistema. Potrebno je da prepoznamo entitete, odnosno osnovne skupove podataka koji čine
studentsku službu.
Ako posmatramo studentsku službu uočićemo tri osnovna skupa podataka i to:
 Studenti
 Profesori
 Predmeti

11
Studenti Profesori

Predmeti

Slika 5. Osnovni skupovi podataka

Pošto smo utvrdili osnovne skupove podataka , potrebno je te skupove dodatno


razložiti, tj. napraviti podskupove podataka.

Skup podataka o studentima možemo razložiti na :


 Lične podatke (ime i prezime, datum rođenja, …)
 Statusne podatke (način studiranja, broj indeksa, datum upisa, godina studija,
…)
 Podatke o semestru (koje je student semestre upisao i overio)
 Podatke o uspehu (koje je to student ispite položio).

Studenti

Lični podaci Statusni podaci Podaci o semestru Podaci o uspehu

Slika 6. Skup podataka o studentima

12
Kada utvrdimo skup podataka o studentima, potrebno je utvrditi koje su osobine tih
podataka. Osobine predstavljaju opis svakog od entiteta.

Lični Statusni Podaci o Podaci o


podaci podaci semestru uspehu

Broj Upisani
Ime Predmet
indeksa semestar

Godina Overeni
Prezime Ocena
studija semestar

Ime Upisani Datum


Datum
roditelja semestar upisa

Datum Način Datum


Profesor
rođenja studiranja overe

....

Slika 7. Osobine entiteta

Ovo su samo neke od osobina, pored ovih može se dodati još puno osobina, ali za
potrebe ovog rada koristićemo samo gore navedene.

Kada je u pitanju skup podataka o profesorima dovoljno je da vodimo samo osnovne


podatke.

Profesori

Ime

Prezime

Zvanje

Status

Email

Slika 8. Osobine entiteta

13
Skup podataka o predmetima razložićemo na dva podskupa.

Plan i
Predmeti
program

Akademska
Naziv
godina

Godina
Oznaka
studija

Aktivan Predmet

Profesor

ESPB

Slika 9. Osobine entiteta

5.2 Kreiranje tabela

Kada se završi sa analizom sistema i određivanjem entiteta i podentiteta, prelazi se


na kreiranje tabela. Sada ćemo svaki entitet i podentitet, koji smo utvrdili, da prikažemo u
tabeli.
Prvo kreiramo bazu podataka za studentsku službu, tako što na početnoj stranici
ACCESS – a odaberemo opciju Blank desktop database.

Slika 9. Kreiranje baze podataka

14
Tabele u Access-u se mogu formirati na nekoliko načina:
Datasheet View omogućava direktno unošenje podataka u tabelu, pri čemu program
sam određuje tip polja. Ime polja se daje opcijom Rename Column iz menija koji se dobija
desnim klikom na naslov kolone. Ovaj način se retko koristi, jedino ako nije poznata
struktura tabele ili ako je potrebno ubaciti kopirane podatke iz nekog drugog programa
(npr.MS Excel).
Design View omogućava kreiranje tabele detaljnim izborom svojstava polja
podataka, kao što su imena polja, tip podataka i veličina polja, određivanje primarnog ključa,
i slično. To je najčešće korišćen pristup.
Table Wizard poziva čarobnjaka koji koristi biblioteku već formiranih tabela. Ova
mogućnost je korisna kada se kreiraju standardni objekti kao što su adresari, računi u fazi
učenja, ali se u praksi ne koristi mnogo.
Import Table omogućava uvoz tabele iz nekog drugog izvora podataka, druge
Access baze, MS Excel dokumenta, kao i fajlova tekstualnog formata.
Link Table obezbeđuje povezivanje sa tabelama iz druge MS Access baze (može i
neki drugi format baze), pri čemu tabela ostaje u matičnoj bazi, a linkom se omogućuje veza
na nju u cilju pregleda i eventualno ažuriranja podataka. U ovoj situaciji, pristup dizajnu
tabele nije moguć iz baze koja ima link na datu tabelu, ved samo iz matične (izvorne) baze.
Dizajnu tabele se ne može pristupiti dok se svi aktivni linkovi na odnosnu tabelu ne isključe,
što znači da pri dizajnu tabele niko (kroz mrežu) ne može da je ažurira.

15
Tabele kreiramo tako što izaberemo tab Create i onda odaberemo opciju Table
Design.

Slika 10. Kreiranje tabele

Dobijamo tabelu u kojoj ćemo mi da dizajniramo stvarni izgled naše tabele, odnosno
projektujemo našu tabelu koja će čuvati naše podatke.
Prvo kreiramo tabelu STUDENTI. Unosimo sve one entitete i podentitete koje smo
utvrdili prilikom analize sistema.
Za svaku od navedenih osobina potrebno je da odredimo tip podatka.

16
Slika 11. Tabela STUDENTI

MS Access podržava sledede tipove podataka (Data Type):


Text - tekst (slova, brojevi i svi specijalni znaci) sa kojim se ne vrše računske
operacije, a dužine do 255 karaktera.
Number brojevi koji se upotrebljavaju u aritmetčkim izrazima, a veličina polja zavisi
od "podtipa" koji može biti: Byte, Integer, Long Integer, Single, Double, Replication ID,
Date/Time, Currency, Auto Number (koji može biti Long Integer ili Replication ID
opsega) ili Yes/No.
OLE Object Objekat kao MS Word dokument, MS Excel tabela, zvuk, grafikon,
slika, a može biti povezan (Linked) ili ugrađen (embedded) u MS Access tabelu.
Lookup Wizard-om se kreiraju polja koja omogućavaju izbor vrednosti iz druge
tabele ili iz (ograničene) liste vrednosti upotrebom ComboBox ili ListBox kontrole. Izborom
ove stavke startuje se Lookup Wizard, kojim se definiše vrsta izvora, način popunjavanja i
broj polja.

17
Slika 12. Tipovi podataka

Sledeći i poslednji važan korak je postavljanje primarnog ključa.


Pravilnim izborom polja u tabelama treba stvoriti uslove za njihovo međusobno
povezivanje tj. povezivanje podataka iz više tabela kroz upite, obrasce i izveštaje.
Ključnu ulogu u povezivanju tabela igra polje primarnog ključa u tabeli.
* Najčešće je primarni ključ tabele definisan pomoću jednog polja jedinstvenih
vrednosti u svakom zapisu.
* Ređi je slučaj da se primarni ključ mora definisati pomoću dva i više polja i u tom
slučaju je reč o složenom primarnom ključu.
* Vrednosti u polju primarnog ključa se najčešće prikazuju pomoću brojčanih šifri:
broj indeksa, matični broj, razne šifre propisane posebnim šifrarnicima (šifre zanimanja,
šifre proizvoda, ..)
* Polje primarnog ključa može biti formirano automatski, od strane Access
programa, u slučaju da ga dizajner baze ne može na drugi način definisati.
* Ulogu polja primarnog ključa mogu uzeti polja sledećih tipova podataka:
Text, Number, AutoNumber, Currency, Date/Time, a najčešće su to polja tipa:
Text, Number i AutoNumber. Polje tipa Yes/No može ali nema smisla tabela bi imala
samo 2 sloga.

18
* Polje primarnog ključa ne može biti tipa: OLE object, Attachment i Hyperlink.
* Zapisi u tabeli se automatski sortiraju prema polju primarnog ključa.
* Polje primarnog ključa igra ključnu ulogu u povezivanju tabela, to je najvažnija
uloga ovog polja.

Kao primarni ključ tabela STUDENTI izabraćemo polje StudentID a kao tip
podataka izabrati AutoNumber. Na taj način, ACCESS će nam sam automatski generisati
određenu vrednost za svaku unetog studenta u tabelu.

Slika 13. Primarni ključ

Nakon dodeljivanja primarnog ključa, sačuvamo našu tabelu i unosimo određeni broj
podataka, kao što je prikazano na slici ispod.

Po istom principu formiramo i ostale potrebne tabele. Priparni ključ u ovim tabelama
dodelićemo u narednom poglavlju.

19
Slika 14. Tabela Studenti_ocene

Slika 15. Tabela Studenti_statusi

Slika 16. Tabela Studenti_semestri

20
Slika 17. Tabela Profesori

Slika 18. Tabela Predmeti

Slika 19. Tabela Plan_program

21
5.3 Postavlјanje relacija

Sledeći korak posle kreiranja tabela je definisanje veza. Neophodan uslov za


povezivanje dve tabele je da polja između kojih se uspostavlja veza budu istog tipa (i
veličine), dok im se imena mogu razlikovati. Veza se najčešće uspostavlja tako što se
međusobno povezuje primarni ključ jedne tabele sa spoljnim ključem druge tabele.
Primarni ključ relacije je atribut (prost ključ) ili skup atributa relacije (složeni ključ)
koji jedinstveno indentifikuje n-torku u relaciji (jednu vrstu u tabeli). Primarni ključ u
prikazu relacije se podvlači.
Spoljni ključ je atribut (ili skup atributa) u relaciji R1 koji se povezuje sa primarnim
ključem relacije R2, pri čemu ovaj atribut nije primarni ključ u R1. Spoljini ključevi služe
za uspostavljanje veza između relacija (tabela).
Prost ključ je polje koje jednoznačno identifikuje svaki zapis u tabeli.
Složen ključ čini grupa polja koja jedinstveno identifikuje zapis.
Baza podataka je sastavljena od različitih tabela, ali te tabele čine jednu celinu i
podaci koji su zapamćeni u tim tabelama su logički povezani.
Kada, na primer, čovek otvori račun u banci onda se zapamte njegovi osnovni podaci,
ime, prezime, adresa itd. Kada sledeći put dođe u banku da podigne novac, njegovi podaci
ne treba ponovo da se unose, nego se iskoriste postojeći i izvrši novčana transakcija. To je i
osnovni koncept u relacionim bazama podataka. Tabele u bazi su povezane, odnosno nalaze
se u nekoj relaciji tako da je moguća razmena informacija između tabela.
U Access-u je relacije između tabela moguće uspostaviti na dva mesta – (1) u prozoru
Relationships gde će biti uspostavljene na nivou tabela i (2) kada se prave upiti da bi se
prikazale informacije iz više tabela i u tom slučaju govrimo o uspostavljanju relacija na
nivou upita.
Relacije uspostavljene na nivou tabela se pamte u bazi i automatski će biti prepoznate
i uspostavljene kada se formira upit nad više tabela. Takve relacije imaju prvenstvo nad
onima koje su uspostavljene na nivou upita.
Postoje 3 tipa relacija:
1. jedan-prema-jedan (1:1)
2. jedan-prema-više (1:N)
3. više-prema-više (N:N)

22
Relacija jedan-prema-jedan
Relacija jedan-prema-jedan, iako retko korišćena u sistemima za rad sa bazama
podataka, može biti veoma korisna kao način da se dve tabele povežu. Dobar primer relacije
jedan-prema-jedan se javlja kod većine sistema za naplaćivanje; tabela za naplatu se formira
da bi se obezbedile dodatne informacije neophodne za fakturisanje kupaca na lokaciji koja
nije njihova uobičajena adresa. Ova tabela obično sadrži broj kupca i skup polja za adresu.
Samo nekolicina kupaca će imati zasebnu adresu za naplaćivanje, pa se taj podatak neće
dodavati u glavnu tabelu kupaca. Relacija jedan-prema-jedan između tabele kupaca i tabele
naplaćivanja se može uspostaviti da bi se obezbedila adresa za naplaćivanje za one kupce
koji žele da imaju zasebnu adresu za naplaćivanje. Iako se sve informacije iz jedne tabele
mogu dodati drugoj, tabele se drže odvojene zbog efikasnog korišćenja prostora.
Generalno, relacija jedan-prema-jedan se može iskoristiti i da bi se jedna velika
tabela podelila na dve manje tabele. Kod relacije jedan-prema-jedan najčešće se primarni
ključ jedne tabele povezuje sa primarnim ključem druge tabele.
Relacija jedan-prema-više
Relacija jedan-prema-više se koristi da se jedan zapis primarne tabele poveže sa više
zapisa sekundarne tabele. Ovo povezivanje se praktično vrši definisanjem stranog ključa
sekundarne tabele.
Relacija više-prema-više
Relacija više-prema-više je najteža za razumevanje. To je slučaj kada jednom zapisu
iz primarne tabele (A) odgovra više zapisa iz sekundarne (B) i obrnuto. Ova vrsta relacije je
moguća jedino uvođenjem treće tabele koja sadrži najmanje dva polja koja su strani ključevi
iz tabela A i B. Ova dva polja se mogu iskoristi i za kreiranje primarnog ključa treće tabele,
mada to nije obaveza. Relacija više-prema-više u stvari predstavlja dve jedan-prema-više
relacije, tabela A i B sa trećom tabelom.

23
Zašto kreirati relacije među tabelama?
Postoji više razloga zbog kojih se kreiraju relacije među tabelama, pre nego što
kreiramo druge objekte baze podataka, kao što su obrasci, upiti i izveštaji.
1. Relacije među tabelama utiču na dizajn upita
2. Relacije među tabelama obezbeđuju informacije za dizajn obrazaca i izveštaja
3. Relacije među tabelama predstavlјaju osnovu na koju se može nametnuti
referencijalni integritet i dr.

Slika 20. Formirane tabele

24
U ovom delu uvešćemo referentne tabele. Referentna tabela je lista predefinisanih
vrednosti, gde mi možemo da odaberemo ponuđenu vrednost.

Slika 21. Referentna tabela Gradovi

Na slici 22 vidimo da nam je primarni ključ u tabeli Gradovi GradID a kao spoljni
ključ u tabeli Studenti imamo GradID.
Relaciju ćemo ostvariti pomoću primarnog i spoljnog ključa tako što ćemo primarni
ključ iz tabele Gradovi, levim klikom miša prevući na spoljni ključ u tabeli Studenti.

Slika 22. Postavljanje relacija

25
Preporuka je, mada to nije obavezno, da se primarnom i spoljnom ključu dodeli isti
naziv, radi lakšeg snalaženje prilikom izrade velikih baza podataka.
Napravićemo i referentnu tabelu Drzave.

Slika 23. Referentna tabela Drzave

Slika 24. Postavljanje relacija

Po istom principu izvršene su relacije koje su prikazane na slici 25.

26
Slika 25. Izvršene relacije

27
5.4 Kreiranje upita

Upiti su objekti baze podataka koji vam omogućavaju da izdvajate podatke iz baze
podataka da biste ih koristili u druge svrhe, kao izvor podataka koji se koriste za štampani
izveštaj, na primer, ili da dobijete listu stavki koja će se koristiti za kontrolu traženja na
obrascu za unos podataka. Upit može da se zasniva na jednoj ili više povezanih tabela. Pored
polja koja se izvlače direktno iz tabela, upit može takođe da sadrži polja izračunavanja koja
transformišu podatke-dodaju, na primer, porez iznosu računa ili izvode statističku analizu
nad grupom zapisa koji su izvučeni iz više tabela.
Access vam omogućava da pravite više tipova upita. Najčešći je upit biranja koji
izvlači informacije iz jedne ili više tabela. Možete takođe da napravite upit unakrsnih tabela,
koji grupiše i sumira informacije u formatima redova i kolona slično kao što radi Pivot Table
u Excelu. Neke od najmoćnijih stvari koje možete da uradite sa Accessom uključuje upite
radnje, koji menjaju podatke tabele nad kojom se vrši upit na osnovu kriterijuma koje
definišete u upitu.
Upiti (Query, Queries) predstavljaju moćan alat koji pruža pogled na podatke u bazi
podataka ili daje odgovore na specifična pitanja u vezi tih podataka. Na primer, ukoliko je
potrebno izlistati, tj. pogledati samo imena i prezimena svih studenata i datum rodjenja, ali
ne i ostale podatke, moguće je kreirati upit koji prikazuje samo ova tri podatka. Ili, ukoliko
je potrebno pogledati imena i prezimena samo onih studenata koji žive, recimo, u Beogradu,
onda bi se upit ograničio samo na njih.
Upiti se pišu posebnim upitnim jezikom koji se naziva SQL. Da bi se kreirali upiti
u MS Access 2013, nije potrebno veliko znanje SQL-a.
Za početak, ćemo kreirati upit koji će prikazati imena i prezimena studenata i
datum rodjenja. U ovom, kao i narednim primerima, koristiće se Query Design koji se
nalazi u tab-u Create, u delu Queryes što je prikazano na slededoj slici (Slika 26).

Slika 26. Kreiranje upita

28
Izborom ove opcije otvara se prozor za kreiranje upita.
U pop-up prozoru Show Table potrebno je izabrati tabelu(e) nad kojom će se upit
kreirati. Za opisani primer potrebna je tabela Studenti. Izabrati je, kliknuti na dugme Add,
pa Close. Tada će se izabrana tabela pojaviti u prostoru za kreiranje upita. Ovo je prikazano
na slikama u nastavku (Slika 27 i Slika 28).

Slika 27. Kreiranje upita

Slika 28. Kreiranje upita

29
U donjem delu prozora za kreiranje upita nalaze se prazne kolone. Klikom na
potrebne atribute tabele Studenti, te kolone će se popuniti. Kako su za upit potrebni ime,
prezime i datum rodjenja, svaki od ovih atributa izabraćemo dvostrukim klikom miša.
Rezultat ovoga prikazan je na sledećoj slici (Slika 29).

Slika 29. Kreiranje upita

30
Field predstavlja polje iz tabele koja je upisana u deo Table. Ovo je upit koji
prikazuje podatke iz samo jedne tabele, Studenti.
Rezultat prethodno kreiranog upita može se pogledati klikom na opciju Run iz
Design tab-a, u delu Results, što je prikazano na sledećoj slici (Slika 30).

Slika 30. Pokretanje upita

Dobijeni rezultati upita su predstavljeni na sledećoj slici (Slika 31).

Slika 31. Rezultat upita


1) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime, Studenti.Datumrodjenja
FROM Studenti;

U nastavku ćemo kreirati još nekoliko upita.


Upite je, takođe, moguće sortirati u opadajućem (descending) ili rastućem
(acsending) redosledu po zadatom atributu. Ovo se vrši u okviru sort polja prozora Query
Design. Takođe, rezultat upita se može sortirati po više atributa, a redosled zavisi od
redosleda specificiranja sortiranja. Da bi se, upit sortirao prvo po imenu, pa po prezimenu,

31
potrebno je specificirati sortiranje prvo za ime, a zatim za prezime. Ovo je prikazano na
sledećoj slici (Slika 32).
Kreiraćemo upit koji će nam prikazati imena i prezimena studenata, datum rodjenja
i JMBG s tim što će nam rezultati upita biti sortirani.

Slika 32. Sortiranje upita


Dobijeni rezultati upita su predstavljeni na sledećoj slici (Slika 33).

Slika 33. Rezultat upita


2) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime,
Studenti.Datumrodjenja, Studenti.JMBG
FROM Studenti
ORDER BY Studenti.Ime, Studenti.Prezime;

32
Kreiraćemo upit koji će nam prikazati imena i prezimena studenata i datum rodjenja
s tim što će nam rezultati upita biti sortirani po imenima, ali će ujedno biti i filtrirani tako da
dobijemo kao rezultat samo studente muškog pola. To se postiže tako što u koloni Pol u redu
Criteria upišemo pol koji upit treba da nam filtrira, što je prikazano na sledećoj slici (Slika
34).

Slika 34. Filtriranje upita

Dobijeni rezultati upita su predstavljeni na sledećoj slici (Slika 35).

Slika 35. Rezultat upita

3) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime,
Studenti.Datumrodjenja, Studenti.Pol
FROM Studenti
WHERE (((Studenti.Pol)="M"));

33
Pojam nulte vrednosti (NULL)

Jedna od osnovnih razlika između relacione baze podataka i starijih baza podataka
jeste pojam nulte vrednosti koji je prisutan u relacionim bazama podataka. Ova specijalna
vrednost u relacionim bazama podataka ukazuje na odsustvo bilo kakve vrednosti u polju
znakovnog ili numeričkog tipa.
U relacionoj bazi podataka nulta vrednost u koloni moze izrazavati različite
koncepte:
• Koloni nije moguće dodeliti vrednost za dati red.
• Koloni još uvek nije dodeljena vrednost.

Kreiraćemo upit koji će nam prikazati imena i prezimena studenata i ime roditelja s
tim što će nam rezultati upita biti prikazami samo za studente koji nemaju upisan email. To
se postiže tako što u koloni Email u redu Criteria upišemo is null, što je prikazano na
sledećoj slici (Slika 36).

Slika 36. Formiranje upita

Dobijeni rezultati upita su predstavljeni na sledećoj slici (Slika 37).

Slika 37. Rezultat upita

34
4) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime,
Studenti.Imeroditelja, Studenti.Email
FROM Studenti
WHERE (((Studenti.Email) Is Null));

Kao što smo dobili imena studenata kojima nije upisan email, tako možemo dobiti i
imena studenata kod kojih jeste upisan email. To se postiže tako što u koloni Email u redu
Criteria upišemo is not null, što je prikazano na sledećoj slici (Slika 38).

Slika 38. Formiranje upita


Dobijeni rezultati upita su predstavljeni na sledećoj slici (Slika 39).

Slika 39. Rezultat upita

5) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime, Studenti.Imeroditelja,
Studenti.Email
FROM Studenti
WHERE (((Studenti.Email) Is Not Null));

35
Formiraćemo upit koji će nam prikazati ime i prezime studenata koji imaju ocenu
veću od 7 iz predmeta Programiranje 1.

Slika 40. Formiranje upita

Slika 41. Rezultat upita


6) SQL kod:
SELECT Studenti.Ime, Studenti.Prezime, Predmeti.Naziv,
Studenti_ocene.Ocena
FROM Studenti INNER JOIN (Predmeti INNER JOIN
Studenti_ocene ON Predmeti.PredmetID =
Studenti_ocene.PredmetID) ON Studenti.StudentID =
Studenti_ocene.StudentID
WHERE (((Predmeti.Naziv)="Programiranje 1") AND
((Studenti_ocene.Ocena)>7));

Sledeći upit koji kreiramo, prikazaće nam broj indeksa, ime i prezime studenata,
njihov matični broj i njihovu prosečnu ocenu.

Slika 42. Formiranje upita

36
Slika 43. Rezultat upita
7) SQL kod:
SELECT Studenti.BrojIndeksa, Studenti.Ime, Studenti.Prezime,
Studenti.JMBG, Avg(Studenti_ocene.Ocena) AS AvgOfOcena
FROM Studenti_ocene AS Studenti_ocene_1, Predmeti INNER JOIN
(Studenti INNER JOIN Studenti_ocene ON Studenti.StudentID =
Studenti_ocene.StudentID) ON Predmeti.PredmetID =
Studenti_ocene.PredmetID
GROUP BY Studenti.BrojIndeksa, Studenti.Ime,
Studenti.Prezime, Studenti.JMBG;

Formiraćemo upit koji će nam dati kao rezultat prosečnu starost studenata muškog i
ženskog pola, a oni naravno moraju biti stariji od 18 godina.

Slika 44. Formiranje upita

Slika 45. Rezultat upita

37
8) SQL kod:
SELECT Studenti.pol, avg(Int((Date()-[datumrodjenja])/365))
AS Expr1
FROM Studenti
GROUP BY Studenti.pol
HAVING (((avg(Int((Date()-[datumrodjenja])/365)))>18));

Upit koji ćemo sada formirati, prikazaće nam broj indeksa i JMBG studenata koji su
položili manje od 2 ispita.

Slika 46. Formiranje upita

Slika 47. Rezultat upita

9) SQL kod:
SELECT Studenti.BrojIndeksa, Studenti.JMBG,
Count(Studenti_ocene.Ocena) AS CountOfOcena
FROM Studenti INNER JOIN Studenti_ocene ON
Studenti.StudentID = Studenti_ocene.StudentID
GROUP BY Studenti.BrojIndeksa, Studenti.JMBG
HAVING (((Count(Studenti_ocene.Ocena))<2))
ORDER BY Studenti.BrojIndeksa;

38
Navešćemo još jedan primer upita, koji će nam ispisati ime i prezime, JMBG
studenata koji imaju ocene veće od prosečne, a to će biti sortirano po broju indeksa.

Slika 48. Formiranje upita

Slika 49. Rezultat upita

10) SQL kod:


SELECT Studenti.BrojIndeksa, Studenti.Ime, Studenti.Prezime,
Studenti.JMBG, Studenti_ocene.Ocena
FROM Studenti INNER JOIN Studenti_ocene ON
Studenti.StudentID = Studenti_ocene.StudentID
WHERE Studenti_ocene.Ocena>(select avg(Studenti_ocene.Ocena)
from Studenti_ocene)
ORDER BY Studenti_ocene.Ocena;

39
5.7 Kreiranje formi

Forma je objekat baze podataka čija je uloga interakcija s korisnikom. Korisnik,


pritom, ne vidi tabele već obrasce koji prikazuju slogove, koje je na taj način lakše
pregledavati i menjati.
Kreiraćemo formu za unos podataka u tabelu Profesori. Preko taba Create
formiraćemo novu formu klikom na Form, što je prikazano na sledećoj slici (Slika 50).

Slika 50. Kreiranje formi

Dizajniranje forme je prikazano na sledećoj slici (Slika 51).

Slika 51. Dizajniranje forme

40
Kreirali smo formu za unos podataka u Tabelu Profesori (Slika 52) i formu za unos
podataka u tabelu Studenti (Slika 53).

Slika 52. Profesori

41
Slika 53. Studenti

Postoji mnogo opcija i podešavanja prilokom formiranja formi, koje u ovom radu ne
mogu biti prikazane, zbog svoje obimnosti.

42
5.8 Kreiranje izveštaja

Izveštajima se vrši organizacija i sumiranje podataka radi njihovog preglednijeg


prikazivanja i analize na ekranu ili na papiru nakon štampanja. Detaljni izveštaji uključuju i
sumirane podatke kao što su konačne sume, prebrojavanja, procentualna izračunavanja i sl.
U Access 2013 izveštaji se mogu vrlo jednostavno kreirati ručno, a takođe postoji mogućnost
korišćenja čarobnjaka (wizard). Izveštaji mogu prikazivati podatke iz jedne, ali i iz više
tabela.
U primeru koji sledi, kreiran je izveštaj koji prikazuje podatke o studentima i
gradovima iy kojih dolaze, dakle ime i prezime studenta, broj indeksa i grad iz kojeg dolaze.
Pre kreiranja izveštaja, potrebno je kreirati upit koji će nam prikazati te željene podatke, što
je prikazano na slikama 54 i 55.

Slika 54. Formiranje upita

Slika 55. Rezultat upita

43
Izveštaj se pomoću čarobnjaka kreira izborom opcije Report Wizard iz tab-a Create.
Nakon izbora ove opcije, otvara se prozor iz kojeg je potrebno izabrati tabelu(e) i/ili upit(e),
a zatim i njihove atribute koje treba prikazati na izveštaju. Kao što smo već rekli, za
formiranje ovog izveštaja koristićemo upit Query_studenti_gradovi.

Slika 56. Formiranje izveštaja

Klikom na dugme Next se prelazi na korak u kojem je potrebno specificirati ukoliko


postoji potreba za određenim grupisanjem podataka.

44
Slika 57. Formiranje izveštaja
Na sledeći korak prelazi se klikom na dugme Next gde je potrebno specificirati
sortiranje ukoliko je potrebno i sumiranje željenih podataka. U ovom primeru najsmislenije
je sortiranje sortirati po atributu broj indeksa. Dakle, potrebno je u padajućoj listi izabrati
ovaj atribut, a zatim klikom na dugme pored označiti način sortiranja, rastući (acsending) ili
opadajudi (descending). Ovo je prikazano na sledećoj slici (Slika 58).

Slika 58. Formiranje izveštaja

45
Potrebno je izabrati odgovarajući način prikaza podataka (Layout), kao i orijentaciju
izveštaja, uspravno (Portrait) ili vodoravno (Landscape). Takođe, može se označiti opcija
za automatsko podešavanje širine kolona, kako bi sve mogle stati na papir (opcija Adjust the
field width so all fields fit on a page).
Dobijamo izveštaj koji je prikazan na slici 59.

Slika 59. Primer izveštaja

46
6. Zaključak

Kompanija Microsoft je, kao odgovor na nove tehnologije i korisničke zahteve,


stvorila poboljšanu verziju Access sistema za upravljanje bazom podataka, Access 2013.
Oslanjajući se na prethodne verzije ovog softvera i uz pomoć savremenih tehnologija,
Microsoft sada pruža proizvod većeg kvaliteta i omogućava svojim korisnicima
jednostavniji i kvalitetniji rad.
Access 2013 omogućava kreiranje baze podataka i aplikacije nad njom, koja
podrazumeva kreiranje korisničkih formi i izveštaja. S obzirom na to da je korisnički
interfejs novog Access-a prilagođen ostalim Office 2013 proizvodima, njihovi verni korisnici
će se lako snaći. Korisnički interfejs je user-friendly, kako za one koji stvaraju aplikacije
pomoću Access 2013, tako i za one koji te aplikacije koriste.
Cilj ovog rada bio je da se prikažu osnove za dalji rad u Microsoft Access 2013 kroz
osnovna svojstva tabela, upita, formi, izveštaja.

47
7. Literatura

[1] Bečejski-Vujaklija Dragana, Pantelić Ognjen, Valok Tamara, Microsoft Access 2007
– priručnik, Fakultet organizacionih nauka, Beograd, 2010.
[2] Čelebić Gordana, Dujlo Mario, Baze podataka – Microsoft Access 2010 – priručnik,
Otvoreno društvo za razmenu ideja (ODRAZI), Zagreb, 2011.
[3] Veinović Mladen, Šimić Goran, Uvod u baze podataka, Univerzitet Singidunum,
Beograd, 2010.

48

You might also like