Professional Documents
Culture Documents
Baze Podataka-Seminarski Rad
Baze Podataka-Seminarski Rad
SEMINARSKI RAD
Profesor: Studenti:
Dr. Miroslav Medenica Dejan Živanović 162/15
Miloš Denić 163/15
SADRŽAJ:
1. UVOD................................................................................................................2
2. PRVI KORACI U RADU SA BAZAMA PODATAKA…………………….. 3
2.1. Osnovni pojmovi......................................................................................... 4
2.2. Modeli baza podataka……………………………………………………. 4
3. RELACIONE BAZE PODATAKA.................................................................. 6
3.1. Vrste relacija između tabela……………………………………………….6
4. KREIRANjE BAZE PODATAKA…………………………………………. 10
4.1. Osnovni koraci…………………………………………………………...10
4.2. Osnovna pravila za dizajniranje………………………………………….10
4.3. Kreiranje baze podataka, tabela i polja…………………………………..13
4.4. Kretanje kroz tabelu i editovanje podataka……………………………... 17
4.4.1. Kretanje kroz tabelu korišćenjem tastature.........................................17
4.4.2. Kretanje kroz tabelu korišćenjem ikona za navigaciju i menija..........18
4.5. Kreiranje primarnog ključa i indeksa…………………………………… 18
4.6. Podešavanje tipa i parametara polja…………………………………….. 20
5. KORIŠĆENjE FORMI……………………………………………………… 23
5.1.Kreiranje nove forme korišćenjem čarobnjaka (Wizard)........................... 23
5.2. Kreiranje dugmeta (button) za navigaciju................................................. 24
6. KREIRANJE UPITA (Query)………………………………………………. 26
6.1. Vrste upita..................................................................................................26
6.2. Kreiranje upita........................................................................................... 26
6.3. Upiti sa kriterijumima............................................................................... 29
7. IZVEŠTAJI…………………………………………………………………..30
8. ZAKLjUČAK.................................................................................................. 33
LITERATURA.................................................................................................... 34
1. UVOD
1
Od samog početka korišćenja računara, obrada različitih vrsta podataka bila je jedan od
osnovnih zadataka. Podaci i informacije su postali pokretačka snaga modernog poslovanja na
Zapadu pa i u celom svetu. Kada želimo da imamo kvalitetne informacije o svim segmentima
našeg poslovnog ili čak privatnog života najbolje je da na određen način organizujemo sve
podatke koje mogu da nam pruže informacije koje su od velike važnosti u trenutku kada su nam
potrebne. Tada bi bilo najbolje da podaci za svaki pojedini element budu organizovani tako da se
mogu smestiti u tabele sa jednim zaglavljem. Može, a veoma često i mora da bude više tabela
koje bi obuhvatili sve segmente našeg interesovanja. Svi ti segmenti se neretko zbog svoje
prirode moraju organizovati u posebne tabele , a te tabele se mogu povezivati preko određenih
zajedničkih elemenata. Skup više tih tabela koje služe jednom zajedničkom cilju, zajedno sa
njihovim veznim elementima naziva se BAZOM PODATAKA. Njihov zajednički cilj se odnosi
na svođenje veoma brze i uspešne informacije o svim događajima koji se dešavaju unutar jedne
celine. Kada kucamo nešto u Wordu , vršimo neke tabelarne proračune u Exelu u više tabela onda
imamo dodira sa bazom podataka. To je u stvari pitanje organizacije naših podataka. Ako
ispisujemo datoteke u Wordu i smeštamo ih po određenim direktorijumima na neki način
organizujemo bazu podataka. U slučaju kada naša baza postane toliko komplikovana da nismo
više u stanju da jednostavno kontrolišemo tok i razvoj podataka potrebno je početi razmišljati o
sistemu za upravljanje bazom podataka.
Najranija poznata upotreba termina “baza podataka” potiče iz 1963. kada je održan
simpozijum pod naslovom “Razvoj i upravljanje računarsko centralizovanom bazom podataka”.
Baza podataka kao jedinstvena reč postala je uobičajena u Evropi u ranim 1970-im. Prvi sistemi
upravljanja bazom podataka razvijeni su 1960-ih. Začetnik u tom polju je Charles Bachman .
Njegovi rani radovi pokazuju da mu je bio cilj stvaranje delotvornije upotrebe novih uređaja sa
direktnim pristupom uskladištenim informacijama koji su postali dostupni . Do tada se obrada
podataka temeljila na bušenim karticama i magnetskoj traci, pa je tako serija obrada bila
dominantna aktivnost. Dva su se ključna modela podataka pojavila u to vreme: CODASYL je
razvio mrežni model baziran na Bachamanovim idejama, North American Rockwell je razvio
hijerarhijski model. Odosni model je predložio E.F. Codd 1970. godine. Oracle i DB2 su se
pojavili tek oko 1980.godine.
Za vreme 1980-ih godina istraživačka aktivnost se usredsredila na sisteme distributivnih baza
podataka i na aparate baza podataka, međutim taj je napredak imao mali učinak na tržište. U
1990-im godinama pažnja se prebacila na baze podataka orijentisane prema objektu. Tu je bilo
nekakvog uspeha gde je bilo potrebno rukovoditi komleksnijim podacima.
U 2000-im godinama nastale su XML baze podataka. Glavni cilj XML baza podataka je
uklanjanje tradicionalne podele između dokumenata i podataka, dopuštajući svim organizacionim
informacijskim resursima da se drže na jednom mestu bez obzira da li su visoko struktuirani ili
ne.
2
Baza podataka predstavlja kolekciju međusobno povezanih podataka koji su organizovani u
tabele i druge strukture podataka, a koriste za jednu ili više aplikacija.
Osnovna namena baze podataka je da bude repozitorijum (skladište) za podatke. Podaci mogu
biti različitog tipa, tekstualni, numerički, slike, audio i video zapisi i sl.
Podaci u bazi čuvaju se tako da je unos novih podataka, čitanje i pretraživanje postojećih
jednostavno, efikasno i ako je moguće, bez grešaka.
Iz „definicije" baze podataka vidi se da je ona kolekcija međusobno povezanih podataka
organizovanih u tabele. U ovoj „definiciji" dve su činjenice od značaja - organizacija podataka
u tabele i njihova međusobna povezanost.
Podaci u bazama podataka su organizovani u dvodimenzionalne tabele. Tabela može da ima
više kolona, gde svaka kolona predstavlja neku osobinu ili atribut. Vrste tabele čine konkretni
podaci, odnosno konkrente vrednosti osobina/atributa nekog objekta.
Na primer, jedna tabela može da sadrži informacije o učenicima. Kolone tabele mogu da definišu
ime, prezime, godinu rođenja učenika, i sl. Vrste u takvoj tabeli su učenici, tako da se svaka vrsta
odnosi na jednog učenika.
Koje će tabele da sadrži baza podataka zavisi od problema za koji treba realizovati bazu
podataka. Na primer, baza podataka se može odnosti na školu, pa će u tom slučaju tabele biti o
učenicima, nastavnicima, odeljenjima, i sl. Postupak izbora i definisanja tabela za bazu podataka
je deo procesa modeliranja odnosno izgradnje modela podataka.
Međusobna povezanost podataka je ono po čemu se baza podataka razlikuje u odnosu na
fajl sisteme (datoteke) i programe za unakrsna izračunavanja ko što je Excel. Povezanost
podataka obezbeđuje značajne prednosti kod pretraživanja kada korisnik može da na osnovu veza
izvuče mnogo više podataka. Na primer, ako postoji tabela koja čuva podatke o učenicima i
tabela sa podacima o odeljenjima, veza između učenika i odeljenja može da obezbedi da
odgovarajućim zahtevom (SQL upitom) izvučete sve učenike željenog odeljenja.
Baza podataka sadrži i tzv. metapodatke, odnosno podatke o samoj strukturi baze podataka.
Metapodaci mogu da se odnose na imena tabela, imena kolona u svakoj tabeli, na podatke o
korisnicima podataka, kao i raznim pomoćnim strukturama koje obezbeđuju brz prstup podacima
(indeksi).
4
c) Skup pravila integriteta čini integritetni deo modela. Pravila integriteta definišu uslove
integriteta podataka u bazi podataka, tj. svojstva podataka ili odnosa među podacima, koji moraju
biti zadovoljeni da bi stanje baze bilo valjano.
Postoje različiti modeli baza podataka, zavisno od toga, na koji način su podaci interno
organizovani.
Razlikuju se sledeći modeli baza podataka:
hijerarhijski,
mrežni (CODASYL),
relacioni,
objektno-orijentisani,
objektno-relacioni,
prilagođen za WEB,
XML i
multimedijalni model.
Svaki od ovih modela ima svoje prednosti i nedostatke.
Dosadašnji DBMS-i obično su podržavali neki od sledećih modela:
Hijerarhijski i mrežni model bili su u upotrebi u 60-tim i 70-tim godinama 20. veka. Od 80-tih
godina pa sve do današnjih dana preovladava relacijski model. Očekivani prelaz na objektni
model za sada se nije desio, tako da se današnje baze podataka uglavnom još uvek poistovećuju
sa relacijskim bazama.
3. RELACIONE BAZE PODATAKA
5
Relativno niska fleksibilnost hijerarhijske i mrežne strukture baza podataka, koje zahtevaju
da elementi baze budu unapred specificirani (direktorijumi, indeksi…) uslovili su pojavu
fleksibilnijih struktura organizacije baze podataka, te se od 1970 godine zapažaju prve najave
relacionih baza podataka.
Osnovna karakteristika relacionih baza podataka je da su informacije podeljene u logičke
skupove podataka. Svaki logički skup podataka predstavlja tabelu baze podataka. Tabele su
osnovni objekti relacione baze podataka. Kad se podaci smeste u tabele, moguće je sa njima
obavljati razne operacije npr. prikazivanje, dodavanje, brisanje, pretraživanje i štampanje.
Postoji nekoliko značajnih razloga za raspodelu podataka u tabele u okviru baze podataka:
o Smanjuje se broj ponavljanja istih podataka u okviru baze.
o Ako je potrebna promena podataka u bazi ona se vrši samo na jednom mestu (u
tabeli).
o Svaka tabela u relacionoj bazi podataka predstavlja jedan objekat sa podacima koji
predstavljaju logičku celinu (učenici, ocene, zaposleni...).
o Tabele mogu biti među sobom povezane što omogućava grupisanje, pretraživanje i
dobijanje informacija u različitim oblicima.
o Lakše se i brže dolazi do potrebnih informacija.
Relacioni model je još uvek najpopularniji model podataka zbog svoje jednostavne strukture i
jednostavnog jezika baze podataka (SQL).
Modeli poslovnih sistema poseduju pretežno jednostavne objekte.
Relacione baze podataka se uspešno primenjuju za veliki broj tzv. “poslovnih baza podataka”.
Savremene baze podataka su uglavnom relacione. To znači da se baza podataka sastoji od
više međusobno povezanih tabela.
Kada jedan (one) KUPAC naruči robu, sigurno naručuje više (many) proizvoda. Ova relacija
se naziva one-to-many. Grafički se ova relacija prikazuje kao na slici 3.1.
Jedan (one) KUPAC može da ima više (many) NARUDžBI. Na gornjem primeru oznaka '1' na
liniji koja simbolizuje relaciju između dve tabele znači 'one', a oznaka '∞' znači 'many'.
6
Najprostija relacija između tabela je one-to-one. To znači da jedan rekord u jednoj tabeli
odgovara samo jednom rekordu u drugoj tabeli. Grafički se ova relacija prikazuje kao na slici 3.2.
Primarni ključ
Relacione baze podataka zahtevaju da svaki rekord (zapis) u tabeli bude jednoznačno
određen. To znači da ne smeju da se pojave dva rekorda u tabeli sa istim vrednostima u poljima.
Svaka tabela ima jedno polje ili kombinaciju polja koji jednoznačno određuju rekord (zapis) u
tabeli. Na prethodnoj slici u tabeli PROIZVODI polje ProizvodId jednoznačno određuje zapis u
tabeli. Dozvoljeno je da više polja jednoznačno određuju zapis. U tabeli STAVKANARUDZBE
polja NarudzbaId + ProizvodId jednoznačno određuju zapis. Polje (ili polja) koje jednoznačno
određuju zapis u tabeli naziva se primarni ključ (primary key). Pojam primarni ključ je jedan od
najvažnijih pojmova u relacionim bazama podataka. Prilikom kreiranja tabela uvek se mora
definisati primarni ključ.
Spoljnji ključ
Jedna od osnovnih osobina relacionih baza podataka je međusobna povezanost podataka. Za
ostvarivanje veza između podataka predstavljenih relacijom koriste se strani (spoljni) ključevi.
7
Strani ključ predstavlja atribut koji se uparuje sa ključem iz neke relacije. Primer spoljnjeg ključa
je dat u sledećoj one-to-many relaciji, slika 3.4.
U tabeli KUPCI primarni ključ je polje KupacID. U tabeli NARUDZBE polje Kupac je spoljnji
ključ (Foreign key). To polje sadrži isti tip podatka kao i primarni ključ u tabeli KUPCI. Skup
vrednosti u polju Kupac (u tabeli NARUDZBE) je podskup vrednosti u polju KupacID (u tabeli
KUPCI).
Uz strani ključ koji predstavlja vezu mogu se čuvati i druge vrednosti preko atributa veze. Preko
stranih ključeva se mogu ostvariti veze između podataka u tabelama. Međutim, ovakav način
povezivanja omogućava predstavljanje veza 1:1 i 1:N. Pri tome, 1 i N se odnose na kardinalnost
(brojnost).
brži rad,
jednostavno korišćenje,
omogućava rad sa velikim brojem podataka,
jednostavan unos i promena podataka,
lako pretraživanje i selektovanje podataka,
mogućnost sortiranja podataka,
prezentacija podataka iz baze podataka može da bude na razne načine,
mogućnost razmene podataka sa drugim aplikacijama (programima),
tačnost podataka i izbegavanje dupliciranja podataka,
više korisnika istovremeno mogu da koriste iste podatke,
sigurnost podataka je veća.
8
za upotrebu, lako se uči i ne zahteva da korisnik bude profesionalac za baze podataka. MS
ACCESS dozvoljava izmene u bazi podataka i onda kada su uneti podaci.
Organizacija MS ACCESS-a
MS Access sve podatke čuva u jednom fajlu. Takav pristup značajno olakšava rad i
održavanje baze podataka. Fajl u kojem se nalazi struktura tabela, podaci, izveštaji, upiti, forme
za unos i drugi objekti MS Access-a, ima ekstenziju 'MDB'.
Forme
Forme se koriste za unos, editovanje, pretraživanje i prikazivanje podataka.
Forme omogućavaju prikaz podataka na način na koji se želi.
Izgled formi može da bude takav da liče na papirne dokumente.
Query (upit)
Query omogućava da se postavi pitanje i automatski dobije odgovor, na primer: ”Koliko ima
proizvoda u magacinu?" Svaki put kada se postavi upit (query) MS Acces će dati odgovor na
osnovu trenutnih podataka.
Report (izveštaj)
Report se koristi za prikazivanje i štampanje podataka iz tabela ili upita, u željenom obliku.
Takođe, na report-u mogu da se obave i neke matematičke operacije (izračunavanje sume ili
proseka, na primer), da se grupišu ili sortiraju podaci.
9
4. KREIRANjE BAZE PODATAKA
Definisanje zahteva
Korisno je da se, za definisanje zahteva, koriste dijagrami i tekstualno se opišu.
PRIMER: Prodavnica igračaka STR IGRICE, nabavlja igračke od više dobavljača. Narudžbina
može da sadrži jednu ili više vrsta igračaka. Igračke su podeljene po kategorijama prema uzrastu
dece. U prodavnici je zaposleno četvoro prodavaca, slika 4.1.
Slika 4.1.
10
Na primer, ako treba da se vodi evidencija u kojim je firmama radio zaposleni, normalno je da se
pretpostavi da može da se dogodi da je neko radio u više firmi.
Ali, ako se onda kreira tabela koja ima polja: Firma1, Firma2, Firma3..., uvek će se pojaviti
zaposleni koji je radio u četiri ili više firmi. Da se ne bi menjala struktura tabele, u ovakvim
situacijama je najbolje kreirati dve tabele, jednu u kojoj su podaci o zaposlenom i drugu u kojoj
su podaci o ranijim zaposlenjima, slika 4.2.
Slika 4.2.
Sada struktura podataka ne zavisi od pojedinačnih slučajeva, tj. od toga u koliko firmi je radio
pojedini zaposleni.
Slika 4.3.
Polje NASTAVNIK sadrži ime i prezime nastavnika, a polje DATUM početak kursa.
Ova tabela je POGREŠNO kreirana.
PRVI RAZLOG: onaj koji unosi podatke mora za svakog polaznika da unosi isto ime nastavnika
i isti datum početka kursa. Ovo je nepotrebno umnožavanje posla prilikom unosa podataka.
DRUGI RAZLOG: naravno da uvek postoji mogućnost greške prilikom unosa podataka, kao što
je napravljena u imenu nastavnika. Program će tumačiti grešku kao da postoje dva nastavnika.
TREĆI RAZLOG: ukoliko se do početka kursa (Datum) promeni nastavnik i/ili datum početka
kursa, mora da se napravi izmena u svakom zapisu.
11
ČETVRTI RAZLOG: ovakav pristup značajno povećava veličinu baze podataka jer tekst 'Jovana
Jovanovic' ili datum, zauzimaju više memorije nego broj, na primer '2'.
Pravilan pristup je kreiranje tri tabele, slika 4.4.
Slika 4.4.
Slika 4.5.
Ukoliko je sada potrebno da se promeni nastavnik ili datum početka kursa, dovoljno je da se to
uradi samo na jednom mestu. Ukoliko se pojavi greška prilikom unosa podataka, opet, potrebno
je da se izmena napravi samo na jednom mestu. Memorija koju zauzimaju podaci je značajno
smanjena.
12
Polja u tabeli treba da sadrže najmanje logičke celine
Polje u tabeli ne treba da sadrži složene podatke koji mogu da se podele na manje delove. Jedan
od primera je polje koje sadrži mesto i poštanski broj. U tom slučaju bolje je kreirati dva polja,
jedno koje sadrži poštanski broj i drugo koje sadrži naziv mesta.
Polja u tabeli ne smeju da sadrže vrednosti koje se izračunavaju.
Polje u tabeli ne sme da sadrži podatke koji mogu da se izračunaju na osnovu vrednosti drugih
polja.Takođe, promena vrednosti u jednom polju ne sme da prouzrokuje promenu vrednosti u
drugim poljima.
levim tasterom miša se klikne na ikonu New: Na ekranu će se pojaviti dialog box, slika 4.6.
Slika 4.6.
Izabere se ikona Database, klikne se na dugme OK, a zatim na novom dijalog box-u unese se ime
baze podataka.
13
Slika 4.7.
Tabele koje mogu da se kreiraju podeljene su u dve kategorije: Business i Personal.
U listi Sample Tables može se selektovati jedna od tabela koja se kreira. Svaka od tabela ima
svoju listu polja (Sample Fields) koje mogu da se selektuju pritiskom na ikonu: Polja koja će
sadržati tabela nabrojana su u listi Fields in my new table. Ukoliko želimo da promenimo ime
polja, selektujemo to polje na listi Fields in my new table, a zatim kliknemo na taster Rename
Field, slika 4.8.
Slika 4.8.
Na Rename field dialog box-u unosi se novo ime polja, slika 4.9.
Slika 4.9.
Kada se završi sa kreiranjem polja na ekranu će se pojaviti sledeći dialog box, slika 4.10.
14
Slika 4.10.
Ukoliko želimo, možemo promeniti ime tabele i odlučiti se da li želimo sami da kreiramo
primarni ključ ili želimo da Table Wizard to uradi za nas. Kliknimo na dugme Next. Na sledećem
dialog box-u biramo da li ćemo da modifikujemo tabelu koju je kreirao Table Wizard, da
unosimo podatke ili da automatski kreiramo formu za unos podataka, slika 4.11.
Slika 4.11.
Selektujmo opciju Enter data direcly into the table, a zatim kliknimo na taster Finish.
Na ekranu će se pojaviti novi prozor datasheet view nove tabele u kojem se mogu unositi podaci,
slika 4.12.
Slika 4.12.
15
tasterom miša na opciju Create table in Design view. Na ekranu će se prikazati Design view nove
tabele, slika 4.13.
Slika 4.13.
Kreiranje polja
Uneti ime polja (Field name), slika 4.14.
Slika 4.14.
Neka naziv polja u tabeli bude 'Ime'. Klikom na taster Tab se prelazi na sledeću ćeliju u kojoj se
definiše tip podatka koje polje sadrži. Svako polje u tabeli, pored imena, mora da ima definisan i
tip podatka koji sadrži, slika 4.15.
Slika 4.15.
U donjem delu prozora se pojavio niz parametara koji definišu polje. Parametri u donjem delu
prozora (Field Properties) se menjaju u zavisnosti od toga koji tip podatka (Data Type) se
izabere, slika 4.16.
16
Slika 4.16.
Ukoliko izaberemo da tip podatka bude broj (Number) MS Access će ograničavati da se unose
samo brojevi. Ili, ako se izaberete da tip podatka bude datum (Date/Time) moći će se unositi
samo datum i/ili vreme. Svaki tip podatka ima svoja pravila prilikom unosa podataka.
Kreiranje ostalih polja
Klikom na taster Tab se prelazi na kreiranje sledećeg polja, a zatim se ponavlja predhodno
opisana procedura.
Bez obzira da li se podaci unose na datasheet-u tabele ili na formi, uvek postoji mnogo
načina da se kreće kroz tabelu. Da bi se editovali podaci, u većini slučajeva je potrebno da se
prvo selektuju podaci, a zatim da se menjaju. Da bi se promeno sadržaj nekog polja, prvo se polje
selektuje, a zatim se ukuca nova vrednost. Sa leve strane tabele nalazi se Record Selektor, siva
ikona u svakom redu prikazuje status rekorda:
tekući rekord
selektovani rekord
rekord koji se trenutno edituje
prvi slobodni zapis
17
↑ (taster sa strelicom na gore) - da bi se prešlo na prethodni rekord,
Ctrl-Home - da bi se prešlo na prvo polje u prvom rekordu,
Ctrl-End - da bi se prešlo na poslednje polje u poslednjem rekordu,
Page Up - prethodna strana,
Page Down - naredna strana.
Pritiskom taster F5 ili klikom dva puta levim tasterom miša na polje koje prikazuje redni
broj rekorda:
- sledeći rekord
- prethodni rekord
- poslednji rekord
- prvi rekord
- novi rekord (na kraju tabele)
Slika 4.17.
18
Primarni ključ jedinstveno određuje zapis u tabeli. Kreiranjem primarnog ključa, automatski
se kreira i indeks koji ubrzava pretraživanje i sortiranje. Relacije između tabela se uspostavljaju
korišćenjem primarnog ključa. U jednoj tabeli nije moguće kreirati dva rekorda sa istim
primarnim ključem. Primarni ključ može da bude sastavljen od jednog ili više polja (atributa).
Primarni ključ omogućuje da svi slogovi u jednoj tabeli budu povezani sa zapisima u drugoj
tabeli. Ako tabela nije uređena na neki drugi način, primarni ključ određuje njeno uređenje.
Primarni ključ od više polja koristi se kada vrednost u polju koje bi trebalo da bude primarni
ključ nije jedinstvena. Prilikom povezivanja tabela najčešće se koristi zavisnost jedan prema više
(one to many). Ova zavisnost se koristi kada jednom slogu prve (primarne) tabele odgovara više
slogova u drugoj (sekundarnoj) tabeli. Kod ovakve zavisnosti primarna tabela mora imati
primarni ključ jedinstvene vrednosti.
Strani ključ je polje u sekundarnoj tabeli sa kojim se vrši povezivanje i ne mora imati jedinstvenu
vrednost.
Određivanje polja koji čine primarni ključ
U Design prozoru tabele selektuje se polje (polja) koje treba da bude primarni ključ. U meniju
Edit selektuje se opcija Primary Key ili se klikne na ikonu . Sa leve strane prozora, pored
imena polja pojaviće se ista ikona, koja označava primarni ključ, slika 4.18.
Slika 4.18.
Indeks
Indeks obezbeđuje brže pretraživanje i sortiranje rekorda. Takođe, indeks može da obezbedi da u
jednoj tabeli u istom polju ne mogu da se pojave dve iste vrednosti.
Kreiranje indeksa
U Design prozoru tabele selektuje se polje nad kojim se kreira indeks. Na donjem delu prozora,
na tab-u General, slika 4.19.
19
Slika 4.19.
Tekstualni tip polja (Text) - Sadrži do 255 karaktera teksta, ili onoliko koliko je zadato u polju
Field Lenght.
Tekstualni tip polja (Memo) - Sadrži do 65535 karaktera teksta.
Numerički tip polja (Numeric) - Sadrži broj, čiji opseg vrednosti zavisi od vrednosti koja je
zadata u polju Field Lenght:
Date/Time tip polja - Sadrži datum i vreme. Opseg vrednosti može da bude od 100. do 9999
godine.
Currency tip polja - Sadrži numeričku vrednost. Opseg vrednosti sadrži negativne i pozitivne
brojeve. Broj cifara sa leve strane decimalne tačke može da bude 15, a sa desne 4. U memoriji
zauzima 8 bajtova. Prilikom prikazivanja vrednosti, simbol za valutu je onaj koji je podešen u
Control Panel-u (sistemski parametar MS Windows-a). Verzija MS Accesss 2000 (i više verzije)
ima mogućnost da se podesi tip polja da bude Euro.
AutoNumber tip polja - AutoNumber je broj (Long Integer) koji se generiše automatski. Postoje
dva načina generisanja:
20
Inkrementiranjem (najveća vrednost + 1)
Generisanjem slučajnih brojeva
MS Access obezbeđuje da se vrednosti u polju koje je tipa AutoNumber budu jedinstveni.
Logički tip polja (Yes/No) - Ovaj tip polja može da sadrži samo dve vrednosti Yes ili No
(True/False, On/Off). U memoriji zauzima 1 bajt.
OLE object polje - Sadrži bilo koji dokument (MS Word, MS Excel, zvuk, grafika, video
snimak, ili neki drugi objekat). Polje ovog tipa sadrži putanju fajla u kojem se nalazi dokument
(Linked) ili sam dokument (Embeded).
Hyperlink polje - Polje ovog tipa sadrži Hyperlink adresu.
Lookup Wizard polje - Ako se izabere tip polja Lookup Wizard, MS Access će startovati
Wizard koji omogućava da se napravi relacija sa nekom drugom tabelom ili upitom (Query).
Kada se završi procedura koju zahteva Wizard, tip polja će biti promenjen u isti tip kao što ima
polje u tabeli sa kojim je napravljena relacija.
Parametri polja
U zavisnosti od izbora tipa podatka u donjem panelu Design View prozora prikazuje se
dodatna lista svojstava svrstanih u dve grupe (kartice): General i Lookup.
General kartica sadrži listu opštih svojstava polja. Broj i vrsta parametara polja zavise od
tipa podatka koji selektovano polje sadrži. Na primer, tip polja 'Text' ima jedne parametre, a tip
'Number' druge. Na sledećoj slici su prikazani parametri za tip polja 'Text', slika 4.20.
Slika 4.20.
Ako se klikne levim tasterom miša na desnu ivicu polja koje sadrži vrednost parametra, desiće se
jedna od tri varijante:
21
1. Pojaviće se ikona , koja označava da postoji lista sa koje može da se izabere vrednost
parametra, slika 4.21.
Slika 4.21.
2. Pojaviće se ikona , koja startuje Expression Builder koji može da se iskoristi za unos
vrednosti parametara.
3. Neće se pojaviti ikona, parametri moraju da se ukucaju korišćenjem tastature.
Osnovni parametri polja
Field Size - sadrži dužinu tekstualnog polja. Podrazumevani tip i dužina se podešavaju opcijama
u MS Access-u. Najčešće je to 50 karaktera za tekst a Long Integer za brojeve. Ukoliko je tip
polja Numeric, može se izabrati jedna od nabrojanih vrednosti.
Format - definiše poseban izgled tekstualnog polja, dok je za brojeve predloženo nekoliko
standardnih tipova (General Number, Currency, Fixed, Standard, Percent, Scientific), kao i za
Date/Time (General, Long, Medium, Short). Ovi formati u velikoj meri zavise od podešavanja u
Regional Settings servisu Control Panel-a.
Input Mask - omogućava da se prilikom unosa podataka koristi maska koja olakšava unos
podataka. Za kreiranje maske može se koristiti Input Mask Wizard.
Caption - tekst koji se prikazuje, umesto naziva polja, na formama, izveštajima, itd. Ukoliko se
ovde ne unese ništa, uzima se već postavljeno ime polja u Field Name. Na primer, ako se polje
zove 'ID', a Caption je 'Identifikacioni broj', onda će na datasheet-u tabele biti naziv polja
'Identifikacioni broj', a ne 'ID'.
Default Value - određuje vrednost koju polje dobija automatski prilikom kreiranja novog rekorda.
Korisnik kasnije može da promeni vrednost polja.
Validation Rule - sadrži pravila i ograničenja koja moraju da se poštuju prilikom unosa podataka.
Na primer, ako se unosi količina artikala koji su primljeni u magacin, logično je da vrednosti
moraju da budu veće od nule.
Validation Text - sadrži poruku koja će se prikazati korisniku prilikom unosa podataka ako naruši
pravila definisana u polju Validation Rule. Na primer: "Broj artikala mora biti veći od nule!'.
Required - ovo polje obavezno mora da sadrži vrednost. Nije moguće kreiranje novog rekorda
ako je ovo polje prazno.
Allow Zero Length - primenljivo za Text i Memo polja. Omogućava da sadržaj polja bude Space
karakter(i).
22
Indexed - svojstvo kojim se uključuje indeksiranje na određeno polje u cilju izbegavanja
dupliranja podataka i bržeg pretraživanja ili sortiranja po zadatom polju. Efekat indeksiranja se
može sagledati tek kod rada sa velikim tabelama (par hiljada slogova) i baza podataka sa više
ovakvih tabela, a ponuđene su tri opcije:
No - polje nije indeksirano,
Yes-Duplicates OK - polje je indeksirano, a duplikati vrednosti su dozvoljeni ili
Yes-No Duplicates - polje indeksirano, ali duplikati nisu dozvoljeni.
Kod polja koje predstavlja primarni ključ mora biti odabrano Yes-No Duplicates.
Unicode Compression - omogućava da polja koja su tipa Text, Memo i Hyperlink zauzimaju
manje memorijskog prostora. Ovo svojstvo je omogućeno iz razloga što Unicode Text zauzima
dvostruko veći memorijski prostor (1 znak zauzima 16 a ne 8 bita kao ASCII Text).
Lookup kartica sadrži svojstva u slučaju da se podatak u tekućem polju bira iz liste vrednosti.
23
5. KORIŠĆENjE FORMI
Forme, maske, elektronski obrasci ili formulari su neki od naziva koji su odomaćeni za
englesku reč Forms. Elektronski obrasci predstavljaju ekvivalent papirnim obrascima, a koriste se
za unos podataka u elektronske, računaru razumljive, baze podataka. Prednost elektronskih
obrazaca nad papirnim je višestruka: unos podataka može biti delimično kontrolisan, u određenim
poljima se mogu unapred ponuditi vrednosti (recimo tekućim datumom) dok se pojedina polja
mogu popuniti automatski proračunom jedne ili više unetih vrednosti u druga polja.
Forme čine onaj deo aplikacije nad bazom podataka koji omogućava unos podataka u tabele,
umesto da se direktno pristupa tabelama, zatim izmenu postojećih podataka i njihov sofisticirani
prikaz.
Potrebno je kreirati formu za tabelu Radnik. Iz tab-a Create izabrati More Forms, pa Form
Wizard, kao što je prikazano na sledećoj slici 5.1.
Slika 5.1.
Izabrati tabelu Radnik i sva polja prebaciti u desno prazno polje klikom na dvostruku strelicu
(>>) i kliknuti na Next, kao što je prikazano na sledećoj slici 5.2.
Slika 5.2.
Sada je moguće izabrati na koji način će se prikazivati polja na formi, da li svako polje odvojeno
jedno od drugog ili tabelarno. Sa leve strane prikazuje se izgled svake opcije. Izabrati, npr.
Columnar, što znači da se polja ređaju jedno za drugim u koloni i kliknuti Next. Ovo je prikazano
na sledećoj slici 5.3.
24
Slika 5.3.
Dalje, moguće je izabrati stil forme. Ovo izabrati po želji, a ukoliko se izabere None, izgled
forme će biti najjednostavniji, odnosno forme neće biti dizajnirane.
Na kraju, unosi se ime forme, a po default-u je ponuđeno ime tabele za koju se forma kreira.
Kliknuti na Finish za kraj kreiranja forme.
Nakon klika na dugme Finish, otvara se upravo kreirana forma. Desnim klikom na tab ove forme
otvara se meni iz kog je moguće izabrati opciju Design View, tj. mod koji dozvoljava izmene
dizajna forme. U Design View-u moguće je pomerati, smanjivati i proširivati polja. Primećuje se
da nije moguće pomeriti pojedinačno polje. Za to je potrebno selektovati željeno polje (polja) i na
njega kliknuti desnim tasterom miša. Tada se pojavljuje meni gde treba izabrati Layout ->
Stacked, pri čemu će se selektovana polja odvojiti od ostalih i moći će da se premeste na neko
drugo mesto,slika 5.4.
Slika 5.4.
Dok je forma otvorena u Design View, mogu se postaviti i dugmići za jednostavnije kretanje kroz
podatke o zaposlenima. Izabrati opciju Button iz Design tab-a, kao što je prikazano na sledećoj
slici 5.5.
Slika 5.5.
25
Kliknuti na prazno mesto na formi gde je pogodno postaviti dugme. Nakon toga, otvara se prozor
prikazan na sledećoj slici 5.6.
Slika 5.6.
Na levoj strani izabrati Record Navigation, a na desnoj Go To First Record i kliknuti na Next.
Ovim izborom vrši se kreiranje dugmeta koje prikazuje prvog zapisanog radnika. U sledećem
prozoru izabrati da se na dugmetu prikazuje slika (ili izabrati Text, pa ispisati npr. Idi na prvi).
Ovo je prikazano na sledećoj slici. Kliknuti Next. U sledećem prozoru omogućeno je imenovanje
samog dugmeta, a taj naziv mora biti jedinstven. Ostaviti ponuđeno ime. Kliknuti na
Finish. Važno je razumeti razliku između naziva dugmeta i teksta koji se ispisuje na dugmetu.
Naziv dugmeta je jedinstven, a tekst na dugmetu nije. Takođe, moguće je kreirati dugme za
dodavanje novog radnika. Ovo se razlikuje samo po tome što se u prvom prozoru na desnoj strani
izabere Record Operations, a na levoj Add New Record.
Ukoliko korisniku ne odgovara da se vidi mreža linija dok je forma otvorena u Design View,
moguće ju je ukloniti klikom desnim tasterom miša, pri čemu se pojavljuje pomoćni meni iz kog
treba izabrati, tj. isključiti opciju Grid. Tada je površina forme u Design View čista.
Desnim klikom na tab ove forme, izabrati Form View da bi se moglo videli kako će forma
izgledati krajnjim korisnicima. Da bi se sakrilo polje, potrebno je prvo otvoriti formu u Design
View, kliknuti desnim tasterom miša na ovo polje i izabrati Properties, kao što je prikazano na
sledećoj slici 5.7.
Slika 5.7.
26
6. KREIRANJE UPITA (Query)
Podaci u bazi podataka su uvek smešteni u više manjih međusobno povezanih tabela. Kada
se kreiraju izveštaji ili pretražuju podaci, obično je potrebno da se koriste podaci iz više tabela.
Da bi se kreirao izveštaj koji sadrži željene podatke, prvo mora da se kreira odgovarajući upit
(Query). Upiti se mogu kreirati i na osnovu drugih upita. Mogu se i menjati podaci u tabelama ili
da se prave nove tabele sa samo potrebnim podacima. Upiti se takođe mogu koristiti i kao osnova
za izradu izveštaja ili formi.
Select Query. Ovo je najčešće korišćen tip upita. Omogućava traženje određenih
podataka, njihovo grupisanje i eventualno sumiranje. Kada se pokrene upit dobija se
dinamički set podataka. To znači da su samo određeni podaci izvučeni iz tabela i prikazani u
novoj tabeli. Kada se zatvori upit, podaci su i dalje u tabelama.
Parameter Query. Ovaj tip upita, pri pokretanju, traži da se unese parametar tj. kriterijum
za filtriranje podataka koji će se prikazati. Dosta se primenjuju upravo zbog njihove
fleksibilnosti. Npr. ako se želi videti prodaja za zadati datum, onda datum stavljamo kao
parametar i upit će iz tabela za prodaju izvući samo stavke koje zadovoljavaju taj kriterijum.
Crosstab Query. Prikazuje podatke unakrsno, sa levim i gornjim zaglavljem. Dobri su za
razna analiziranja (mesečna, kvartalna, …) jer omogućavaju da se podaci prebrojavaju,
računaju prosečne vrednosti i slično.
Action Query. Sam naziv kaže da ovi upiti izvode neke akcije. To znači da mogu da
menjaju podatke u tabelama (Delete, Update, Insert).
Union Query. Upiti koji od dva skupa podataka, iste strukture, prave uniju.
Upit se može kreirati pomoću čarobnjaka ili u dizajn modu. Potrebno je da se zna kako su
povezane tabele i da se ima zadatak tj. da se zna šta se traži od podataka.
Kao primer upita uzećemo zadatak gde treba da se prikaže trenutni lager u svim magacinima,
tako da se vide sledeća polja: Nazivmagacina, Sifrarobe, Nazivrobe, Dimenzije, Dezen,
Jedinicamere, Količina, Mpcena. Naziv Upita je Trenutni lager.
Upit se kreira na tabu Create izborom komande Query Design. Otvara se prozor Show Table gde
se biraju potrebne tabele. U ovom slučaju se bira samo tabela Lager. Tabela Roba se dodaje
kasnije. Sada se prevuku imena polja (Siframagacina, Sifrarobe i Kolicina) levim tasterom miša
u donju zonu tj. u Field (može i dupli klik na ime polja).
Da bi proverili, da li upit radi, pokrenućemo upit na dugme View u gornjem levom uglu. To isto
dugme sada postaje Design i pomoću njega se vraćamo u dizajn mod. To znači da pomoću ovog
komandnog dugmeta može stalno da se prelazi iz jednog moda u drugi (View/Design) i tako da se
prati razvoj upita, slika 6.1.
27
Slika 6.1.
U upitu ima slogova koliko i u tabeli Lager. To je zato što nije ubačen ni jedan kriterijum. U
upitu se još uvek ne zna o kojim proizvodima je reč. Potrebno je da se u upit ubaci i tabela Roba,
i da se iz nje dodaju polja Nazivrobe, Dimenzije, Dezen, Jedinicamere, Mpcena. To se radi tako
što se klikne desnim klikom na pozadinu upita, pa Show Table i doda se tabela Roba. Kada se
dodaju potrebna polja potrebno je da se premeste po redosledu traženom u zadatku tj.
polje Kolicina ide ispred polja Mpcena. Kolona se premešta tako što se najpre selektuje klikom
na vrh kolone (obeleženo crvenom linijom na slici dole) pa se onda ”uhvati” levim tasterom miša
za vrh i odvuče na željenu poziciju, slika 6.2.
Slika 6.2.
Ako se sad pokrene upit videće se da se pored šifre robe vide i ostala polja koja su ”povučena” iz
tabele Roba. Međutim, zadatak još uvek nije gotov. U zadatku se tražilo da se vidi naziv
magacina a ne šifra magacina. To znači da treba da se u upit ubaci i tabela Magacini, i da se iz
nje ubaci polje Nazivmagacina a iz upita obriše Siframagacina.
Ukoliko se, kada se pokrene upit, vide i polja koja nisu ubačena u upit, potrebno je da se
uključi Property Sheet i da se opcija Output All Fields postavi na No (slika 6.3.). Posle ovoga
će se u upitu videti samo tražena polja. Ista opcija važi i za korišćenje dugmeta Totals (dobija se
poruka Cannot group on fields selected with *).
28
Slika 6.3.
Kada se uključi dugme Totals, dobija se mogućnost da se grupišu podaci ili da se primeni neka
od ponuđenih funkcija (Sum, Avg, Min, Max, Count,…). U tabelu Lager, za svaku šifru robe su
unete količine, i to pozitivne od nabavke i negativne od prodaje. Kada se grupišu slogovi prema
šifri i primeni se funkcija Sum na količinu, dobijaju se sabrane količine tj. trenutni lager za
pojedinačne šifre, slika 6.4.
Slika 6.4.
29
6.3. Upiti sa kriterijumima
Kriterijumi u upitima omogućavaju da se dodatno filtriraju i izdvoje samo podaci koji su
potrebni. Kriterijumi se primenjuju na polje i zavise od tipova podataka. Mogu biti brojevi,
konstante ili izrazi sa operatorima. Kriterijumi se unose u polje Criteria, i sintaksa je vrlo bitna.
Kriterijumi za polje tipa Text se unose između navodnika, npr. “Beograd” . U ovom slučaju
se traži podudaranje. Suprotno ovome je Not “Beograd”. Ako se koristi Like B* program
izbacuje sva polja koja počinju slovom B. * je u stvari džoker znak i predstavlja bilo koji niz
karaktera. Slično ovome, može se koristiti i Not Like.
Kriterijumi za polje tipa Number su najčešće kombinacije logičkih operatora i brojeva.
Npr. >=100. Ukoliko stoji samo broj, traži se podudaranje. Pored ovoga, moguće su i
kombinacije tipa >50 and <150 ili Between 50 And 150.
Za tip Date važe slična pravila kao za brojeve. Razlika je u tome što se datum izdvaja
znakom #. Npr. #06.06.2012# ili prva polovina godine <=#06.06.2012# ili drugi kvartal Between
#01.04.2012# And #30.06.2012#. Za datum se mogu koristiti i funkcije.
Na sledećoj slici je prikazano podešavanje da se vidi lager robe samo u magacinu Beograd i da se
ne prikazuje roba koje nema na lageru, slika 6.5.
Slika 6.5.
Kod polja za računanje, važi opšta matematika. Operatori su isti. Treba poštovati prioritete
računskih operacija i zagrade. Jedino se umesto znaka jednako koriste dve tačke (operator
dodeljivanja
Parametarski upiti
Ako se ima više prodavnica, treba i više upita za trenutni lager. Za prodaju, tj. dnevni izveštaj
prodate robe ne mogu se praviti upiti za svaki dan pojedinačno. Umesto toga, napraviće se samo
jedan upit za trenutni lager i samo jedan upit za dnevni pregled prodate robe.
Npr. umesto konkretnog datuma, u kriterijum se unosi parametar [Unesite datum]. Ovo je
inače sintaksa za parametarske upite. U srednjim zagradama se unosi poruka koju operater vidi.
Kada se pokrene upit program traži da se unese datum. To znači da postoji samo jedan upit za
dnevnu prodaju i da, kada se pokrene, može da se ukuca bilo koji datum.
30
7. IZVEŠTAJI
Slika 7.1.
Slika 7.2.
31
Kreiranje jednostavnog izveštaja - Tabular
• Na Design prozoru selektuje se tab Reports.
• Klikne se na ikonu
• Na ekranu će se prikazati prvi dialog box na kojem treba selektovati opciju AutoReport:
Tabular, a zatim i tabelu ili upit koji će se koristiti u izveštaju (u ovom primeru je selektovana
tabela PROIZVODI), slika 7.3.
Slika 7.4.
Slika 7.5.
32
Vrste objekata na izveštaju
Postoje tri vrste objekata (Controls) koji mogu da se nalaze na izveštaju:
1. Bound control - objekat koji je povezan sa nekim poljem u tabeli ili upitu koji se koristi u
izveštaju. Ovi objekti mogu da sadrže tekstualne podatke, brojeve, datum ili vreme,
logičke podatke...
2. Unbound control - sadrži tekst, broj, liniju, pravougaonik, sliku, ali njihov sadržaj nije
povezan sa sadržajem polja u tabeli.
3. Calculated control - sadržaj ovih objekata je izveden iz sadržaja tabele. Na primer, na
prethodnom izveštaju može da se doda polje u kojem je izračunata ukupna vrednost svih
proizvoda.
Slika 7.6.
Klikne se levim tasterom miša na selektovano polje i pomeranjem kursora miša na mesto u
izveštaju gde treba da bude polje kursor miša će promeniti izgled. Kada se izabere mesto na
izveštaju gde treba da bude novo polje otpusti se taster miša. Na izveštaju će se pojaviti novo
polje sa labelom. Sada može da se podesi tačna lokacija na kojoj treba da bude kreirano polje
(objekat).
33
8. ZAKLjUČAK
Važnost baza podataka nalazi se u tome što uveliko olakšavaju organizovanje podataka
potrebnih za svakodnevno poslovanje. Baze podataka omogućuju preglednost i dostupnost
podataka koji se nalaze na jednom mestu što poslovanje čini jednostavnijim i kvalitetnijim.
Koristeći MS Access u poslovanju, preduzeća mogu u svakom trenutku imati uvid u podatke
vezane za obavljanje svakodnevnih zadataka organizujući ih i ostavljajući ih dostupnima, te su ih
preduzeća u stanju vrlo lako ispraviti ili nadopuniti. Velika prednost je i jednostavnost kreiranja
novih izveštaja, obrazaca, upita i slično. Preduzeća koja koriste MS Access u poslovanju imaju
određenu prednost, a kako je vreme novac, MS Access može poslovanje samo učiniti lakšim i
profitabilnijim što je i cilj svakog preduzeća.
Sistemi upravljanja bazom podataka obično se kategorišu prema modelu podataka koji
podržavaju : odnosni, orjentisani prema objektu, mrežni itd. Veliki deo internog inženjerstva
SUBP-a, ipak je nezavistan od modela podataka, te je zaokupljen upravljanjem faktorima poput
performansi, podudarnosti, integrititeta i obnove nakon hardverskih popusta . U ovim područjima
postoje velike razlike među proizvodima.
Naziv „baza podataka „ se strogo odnosi na zbirku zapisa , a na softver bi se trebalo odnositi kao
na sistem upravljanja bazom podataka ili SUBP. Mnogi administratori ipak koriste termin „baza
podataka„ da pokriju oba značenja.
Mnogi profesionalci će smatrati da zbirka podataka stvara bazu podataka jedino ako ima
određena svojstva: na primer, ako se podacima upravlja kako bi osigurali svoj integritet i kvalitet,
ako omogućava zajednički pristup nekoj zajednici korisnika, ako ima šemu, ili ako podržava
upitni jezik. Ipak dogovorena definicija ovih svojstava ne postoji.
34
LITERATURA:
[1]. Turban,E., McLean,E. Wetherbe,J. John Wiley & Sons, Inc.2002: „INFORMATION
TECHNOLOGY FOR MANAGEMENT“, 3rd edition, („Informaciona tehnologija za
menadžment“), Zavod za udžbenike i nastavna sredstva , 2003. Beograd
[2]. Stankić, R., Krsmanović, B: „Elektronsko poslovanje“, Fakultet spoljne trgovine.
Materijal sa interneta:
internet,Access 2007 Biblija John Walkenbach
www.znanje.org-Baze podataka_-_Kompletan prirucnik.
35