5. Базе података [pdf; 798kb]
TRANSCRIPT
Lanaco ECDL® priručnik
Modul 5: Baze podataka
Microsoft Access
Lanaco Edukacija
Banja Luka, 2010.
v.1.1.
Copyright©
2010
Umnožavanje, reprodukcija ili na drugi način korištenje i objavljivanje tekstova iz ovog priručnika, bez
naknade i bez dozvole autora ili izdavača, kažnjivi su po članu 120. Zakona o autorskom pravu i
srodnim pravima (“Službeni glasnik BiH”, broj 7/02).
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
3
Sadržaj
5 Baze podataka ................................................................................................................................. 6
5.1 Uvod u baze podataka ............................................................................................................ 6
5.1.1 Osnovni koncepti ............................................................................................................ 6
5.1.1.1 Šta je baza podataka? ................................................................................................. 6
5.1.1.2 Razlike između podataka i informacija ....................................................................... 6
5.1.1.3 Organizacija (struktura) baze podataka ...................................................................... 7
5.1.1.4 Primjena baza podataka .............................................................................................. 7
5.1.2 Organizacija baze podataka ............................................................................................ 9
5.1.2.1 Princip kreiranja tabela ............................................................................................... 9
5.1.2.2 Princip definisanja polja tabele ................................................................................... 9
5.1.2.3 Princip definisanja sadržaja polja tabele ..................................................................... 9
5.1.2.4 Karakteristike polja: veličina polja, format, standardna vrijednost .......................... 13
5.1.2.5 Šta je primarni ključ (Primary Key)? .......................................................................... 13
5.1.2.6 Šta je indeks i kako on omogudava brži pristup podacima? ..................................... 14
5.1.3 Veze između tabela (Relationships) .............................................................................. 15
5.1.3.1 Razlog uvođenja relacionih tabela ............................................................................ 15
5.1.3.2 Veza između tabela - Jedinstveno polje .................................................................... 16
5.1.3.3 Održavanje integriteta veza između tabela .............................................................. 16
5.1.4 Rad sa bazom podataka ................................................................................................ 18
5.1.4.1 Profesionalni dizajn baze podataka .......................................................................... 18
5.1.4.2 Unos i održavanje podataka - korisnici ..................................................................... 18
5.1.4.3 Pristup podacima za određenog korisnika ................................................................ 19
5.1.4.4 Vradanje podataka prilikom kraha baze i pojavljivanja grešaka u bazi ..................... 20
5.2 Korištenje aplikacije MS Access ............................................................................................ 21
5.2.1 Rad sa bazama podataka .............................................................................................. 21
5.2.1.1 Otvaranje i zatvaranje programa za baze podataka ................................................. 21
5.2.1.2 Otvaranje i zatvaranje baze podataka ...................................................................... 23
5.2.1.3 Kreiranje nove baze i spremanje na neku lokaciju.................................................... 24
5.2.1.4 Trake sa alatima ........................................................................................................ 27
5.2.1.5 Korištenje Help funkcije – funkcije pomodi .............................................................. 29
5.2.2 Uobičajeni zadaci .......................................................................................................... 30
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
4
5.2.2.1 Otvaranje, spremanje i zatvaranje tabele, upita, forme i izvještaja ......................... 30
5.2.2.2 Mod (način) rada u tabeli, upitu, obrascu i izvještaju ............................................... 35
5.2.2.3 Brisanje tabele, upita, obrasca i izvještaja ............................................................. 41
5.2.2.4 Kretanje između zapisa u tabeli, upitu i obrascu ...................................................... 43
5.2.2.5 Sortiranje informacija u tabeli, upitu i obrascu po rastudem ili opadajudem redu
(numeričkom ili abecedenom redu) ......................................................................................... 43
5.3 Tabele .................................................................................................................................... 46
5.3.1 Zapisi (slogovi) ............................................................................................................... 46
5.3.1.1 Unos i brisanje zapisa u tabeli ................................................................................... 46
5.3.1.2 Dodavanje, brisanje i modifikovanje podataka zapisa .............................................. 47
5.3.2 Dizajn tabela .................................................................................................................. 48
5.3.2.1 Kreiranje i imenovanje tabele i njenih polja ............................................................. 48
5.3.2.2 Podešavanje formata polja (broj, datum/vrijeme, standardna vrijednost) .............. 50
5.3.2.3 Kreiranje pravila provjere za broj, datum/vrijeme i valute ....................................... 54
5.3.2.4 Posljedice prilikom izmjene tipa podataka i karakteristike polja u tabeli ................. 56
5.3.2.5 Podešavanje polja primarnog ključa ........................................................................ 58
5.3.2.6 Indeksiranje polja (sa i bez dozvole duplih polja) ..................................................... 62
5.3.2.7 Dodavanje polja u postojedu tabelu ......................................................................... 63
5.3.2.8 Promjena širine kolona u tabeli ................................................................................ 64
5.4 Povrat informacija ................................................................................................................. 65
5.4.1 Glavne operacije ........................................................................................................... 65
5.4.1.1 Pretraživanje baze za pronalaženje određene riječi, broja i datuma u polju .......... 65
5.4.1.2 Primjena filtera u tabeli i formi ................................................................................. 67
5.4.1.3 Uklanjanje filtera iz tabele i forme ............................................................................ 68
5.4.2 Upiti ............................................................................................................................... 70
5.4.2.1 Izdvajanje i analiza podataka pomodu upita ............................................................ 70
5.4.2.2 Kreiranje upita nad jednom tabelom ........................................................................ 71
5.4.2.3 Kreiranje upita nad dvije tabele ................................................................................ 73
5.4.2.4 Dodavanje kriterija u upit korištenjem jednog ili više operatora ............................. 74
5.4.2.5 Dodavanje kriterija u upit korištenjem jednog ili više logičkih operatora (AND, OR,
NOT) ................................................................................................................................... 75
5.4.2.6 Korištenje specijalnih znakova u upitu ...................................................................... 77
5.4.2.7 Uređivanje upita (dodavanje, uklanjanje, modifikovanje kriterija) .......................... 79
5.4.2.8 Uređivanje upita (dodavanje, uklanjanje, pomjeranje, sakrivanje polja) ................. 79
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
5
5.4.2.9 Pokretanje upita ........................................................................................................ 81
5.5 Objekti za prikaz i uređivanje podataka ................................................................................ 83
5.5.1 Obrasci – forme ............................................................................................................. 83
5.5.1.1 Korištenje obrazaca za prikaz i održavanje podataka .............................................. 83
5.5.1.2 Kreiranje i imenovanje obrasca ................................................................................. 83
5.5.1.3 Korištenje obrazaca za unos novih podataka ........................................................... 91
5.5.1.4 Korištenje forme za brisanje podataka ..................................................................... 92
5.5.1.5 Korištenje obrasca za dodavanje, promjenu i brisanje podataka unutar zapisa .... 93
5.5.1.6 Dodavanje i modifikovanje teksta u zaglavlju i podnožju obrasca ........................... 93
5.6 Izvještaji ................................................................................................................................ 96
5.6.1 Izvještaji i eksport podataka ......................................................................................... 96
5.6.1.1 Svrha izvještaja .......................................................................................................... 96
5.6.1.2 Kreiranje i imenovanje izvještaja na osnovu tabele i upita ....................................... 96
5.6.1.3 Promjena rasporeda polja i zaglavlja unutar izvještaja ............................................ 99
5.6.1.4 Predstavljanje određenih polja u grupnom izvještaju (sumarno, minimum,
maksimum, prosjek) ................................................................................................................ 101
5.6.1.5 Dodavanje i modifikovanje zaglavlja i podnožja u izvještaju .................................. 104
5.6.1.6 Eksportovanje podataka iz tabele i upita ................................................................ 106
5.6.2 Štampanje ................................................................................................................... 107
5.6.2.1 Promjena orijentacije, Promjena veličine papira .................................................... 107
5.6.2.2 Štampanje stranice, određenog podataka ili kompletne tabele............................. 108
5.6.2.3 Štampanje svih podataka ili određenih stranica iz obrasca .................................... 109
5.6.2.4 Štampanje rezutata upita ........................................................................................ 110
5.6.2.5 Štampanje određene strane u izvještaju ili cijelog izvještaja .................................. 111
5.7 DODATAK ............................................................................................................................ 113
5.7.1 Primjer kreiranja baze “Baza klijenata” ...................................................................... 113
5.7.2 Rječnik stranih pojmova .............................................................................................. 127
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
6
5 Baze podataka
5.1 Uvod u baze podataka
U ovom modulu ECDL obuke obradidemo jedan od jednostavnijih programa za kreiranje i upravljanje
bazama podataka – Microsoft Access. Uporedno demo prikazati rad sa komandama iz Microsoft
Access verzije 2003 i 2007 (koncepti su isti, razlikuju se u grafičkom okruženju).
Microsoft Access je program iz Microsoft Office paketa proizvoda namijenjenih kancelarijskom
poslovanju (u Microsoft Office paket spadaju još i Microsoft Word, Microsoft Excel, Microsoft
PowerPoint, Microsoft Outlook i drugi programi).
5.1.1 Osnovni koncepti
5.1.1.1 Šta je baza podataka?
Baza podataka (engl. database) je skup informacija (podataka) koje su prikupljene u određenom,
obično dužem, vremenskom periodu. Baza podataka je uređena grupa podataka pohranjena na
sistematski način tako da računarski program može poslati upit bazi podataka na koji ona odgovara.
Baze podataka služe za bolju dostupnost i razvrstavanje podataka.
Različite vrste podataka možete organizovati i čuvati u tabelama (poput MS Excel-a) ili u tekstualnim
fajlovima (poput dokumenata MS Word-a), ali najefikasniji način rada sa podacima je sa bazama
podataka.
5.1.1.2 Razlike između podataka i informacija
Podatak je prosta činjenica. Podaci se procesiraju, organizuju, struktuiraju ili predstavljaju u
određenom kontekstu da bi predstavljali korisnu informaciju.
Podaci, sami po sebi, nisu obično od neke koristi dok se ne interpetiraju na neki način ili uobliče da bi
se dobilo neko značenje. Tad postaju informacija.
Primjeri podataka su: krompir, 1, 50
Tek kad se podaci povežu na određen način predstavljaju informaciju, pa npr. komponujudi
navedene podatke iz primjera na način: “krompir i 1 (KM) i 50 (kg)” može predstavljati informaciju
da je kupljeno 50 kg kromrpira po cijeni od 1 KM; ili na način: “krompir i 1 (kg) i 50 (din)” predstavlja
informaciju da jedan kg krompira košta 50 din itd.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
7
Računar radi sa podacima. Informacija je ljudsko tumačenje podataka. Rad sa podacima da bi se
dobila korisna informacija se izvodi sa programom kao što je Microsoft Access (u daljem tekstu MS
Access).
5.1.1.3 Organizacija (struktura) baze podataka
Baza podataka je organizovana u smislu tabela, zapisa i polja.
Tabela (engl. table) postoji skoro u svakom Office programu, a služi za organizovanje informacija. U
MS Access programu, tabela je jedan od objekata koji služi za pohranjivanje podataka u svojim
redovima i kolonama. U redovima se nalaze zapisi ili slogovi (engl. records), a u kolonama su polja ili
atributi (eng. fields).
Na primjer, možete imati tabelu koja sadrži podatke o narudžbama i proizvodima, zatim tabelu sa
podacima o zaposlenima i njihovom zaradom za određeni mjesec. Svaki zapis, tj. slog u tabeli sadrži
informaciju o jednoj stavci, npr. o nekom zaposlenom, a zapis je sastavljen od polja poput imena,
adrese i broja telefona.
Primjeri tabela koje se kreiraju:
Tabela u kojoj čuvate imena svojih klijenata
Katalog proizvoda koje prodajete, koji može uključivati cijene i fotografije proizvoda
Inventurnu listu, gdje je šta uskladišteno i koliko komada
Slika 5-1 Primjer tabele klijenata
5.1.1.4 Primjena baza podataka
Baze podataka mogu biti manje, poput nekog ličnog adresara, do vrlo velikih baza sa ogromnim
brojem podataka.
Primjeri baza velikog kapaciteta koje se danas koriste su: sistem rezervacije letova, državni zapisi,
baze podataka o računima u bankama, baze podataka o bolničkom liječenju (pacijentima), baze
podataka o potrošačima električne energije, baze podataka korisnika fiksne i mobilne telefonije itd.
Cijeli red predstavlja jedan zapis (slog) (record) u tabeli
Polje u tabeli (field)
Polje u tabeli (field)
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
8
Bilo koji sistem koji mora upravljati sa vedim brojem podataka, koji moraju biti dostupni i tačni u
svakom momentu baziran je na sistemu relacionih baza podataka.
U relacionim bazama podataka svi podaci se smještaju u tabele - svakoj tabeli dodjeljuje se ime,
svakoj koloni u tabeli dodjeljuje se atribut koji opisuje podatke koji se smještaju u toj koloni, svaki
red u tabeli predstavlja jedan zapis u bazi podataka. Prosječna baza sadrži na stotine tabela, a
između tabela postoje veze, tako da kad se izmijeni neki podatak (vrijednost polja) u jednoj tabeli, to
utiče na sve tabele sa kojima je prva tabela povezana. Operacije nad tabelama su matematički
definisane relacionom algebrom (presjek, unija, razlika itd...).
Primjer 1: Sistem za rezervaciju avionskih karata
Neki od podataka koji se pohranjuju u ovakvu bazu podataka su:
Informacija o rezervaciji: ime i prezime putnika, vrsta obroka, dodjeljeni broj sjedišta itd...
Informacija o letu uključuje mjesto polaska i dolaska kao i termine, tip aviona, itd.
Informacije o cijenama, taksama itd..
Tipične pretrage koje izvršava agent za rezervacije su izlistavanje letova na nekoj destinaciji u
određenim terminima, pronalaženje alternativnih ruta i tome slično. Tipične izmjene podataka su
rezervisanje mjesta na određenom letu. Sistem mora obezbijediti ukupni integritet baze u slučaju da
više agenata istovremeno rade na rezervaciji mjesta na letu.
Primjer 2: Bankarski sistem
Neki od podataka koji se pohranjuju u ovakve baze podataka su:
Informacije o klijentima: ime, prezime, adresa, broj telefona, itd.
Informacije o računima: tip računa, kredita itd.
Veza između računa i klijenta
Kao i u prethodnom slučaju više subjekata istovremeno treba da može pristupiti računu, npr. klijent
preko ATM aparata i službenik na šalteru preko računara. Sistem mora da bilježi sve promjene i da
radi i u izvanrednim uslovima poput gubitka električne energije.
Primjer 3: Sistem tarifiranja potrošnje
Sistemi tarifiranja potrošnje električne ili toplotne energije, ili sistemi tarifiranja potrošnje impulsa za
korisnike fiksne i mobilne telefonije, moraju da sadrže:
Informacije o klijentima: ime, prezime, adresa, broj telefona, broj sata za očitavanje
Informacije o utrošku za protekli mjesec
Obračun i kreiranje dugovanja po klijentu
Uplate, Kamate na dugovanje
U ovakvim sistemima vrlo je bitno imati pouzdane sisteme koji imaju različite izvještaje i opcije za
pružaoca usluga i za klijenta.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
9
5.1.2 Organizacija baze podataka
5.1.2.1 Princip kreiranja tabela
U bazi podataka, veze između podataka su predstavljene u tabelama pomodu zapisa ili slogova (engl.
records) i polja ili atributa (eng. fields).
Svaka tabela u bazi podataka treba da sadrži podatke vezane samo za jedan tip informacija, poput
adresa zaposlenih, narudžbe kupaca, metode isporuke, dobavljači itd. Svaka stavka i podaci o njoj
predstavljaju zapis ili slog.
Npr. na sljededoj slici u tabeli “Narudzbe” detalji o narudžbi sa ID brojem 2, datumom narudžbe
5/22/2009, datumom isporuke 6/1/2009, te oznakom kupca, sačinjavaju jedan zapis – slog. Svaka
specifična informacija o određenoj stavci poput broja (oznake), datuma kad je urađena narudžba ili
isporuka i sl. predstavlja atribut (polje) te stavke.
Slika 5-2 Zapisi (slogovi) i polja (atributi) jedne tabele
5.1.2.2 Princip definisanja polja tabele
Zbog lakšeg pretraživanja i rada sa bazama podataka, svako polje i zapis u tabeli trebaju biti
jedinstveni. Npr. oznaka kupca 3 (koja, u stvari, predstavlja kupca pod imenom Zlata Mihid) treba da
se pojavi samo u jednom zapisu i samo u jednom polju tog zapisa.
Ujedno, svaki unos u određeno polje treba da bude istog formata i tipa, pa npr. u polje Telefon
trebaju da budu uneseni brojevi telefona po formatu prikazanom na slici 5.1 (065 / 333-444 ili 051 /
333-222), a ne neki drugačiji tekst ili broj. U polje koje označava jedinstveni broj (ID) ne može biti
ništa drugo uneseno od rednog broja itd.
Od pravilno kreiranih tabela zavisi kasnije cijela struktura baze podataka i rad sa njom, tako da se
treba najveda pažnja treba obratiti upravo na kreiranje tabela u samom planiranju.
5.1.2.3 Princip definisanja sadržaja polja tabele
Kad se kreiraju tabele, određivanjem sadržaja polja i dužine polja, definišete šta korisnik može unijeti
u određeno polje, a sve to zbog očuvanja strukture i uređenosti baze, te “čistode” njenih podataka.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
10
Recimo da imate tabelu sa podacima o stanarima u zgradi. Polja tabele koje trebate definisati su:
Naziv polja Tip polja Dužina polja
Prezime Tekst (engl. Text) 40
Ime Tekst (engl. Text) 20
Broj stana Broj (engl. Number) 2
Broj telefona Tekst (engl. Text) 6
Broj stanara Broj (engl. Number) 1
Dakle, sa tipom polja ste odredili da se u tabelu pod kolonom “Broj stana” nikako ne može unijeti
slovo, nego mora biti broj (tip polja je Number) sa maksimalno dvije cifre (dužina polja je 2). Na taj
način smanjujete i greške pri unosu podataka. Dakle, ne može korisnik baze unijeti u polje “Broj
stana” nešto poput “6a” ili “163” ili nešto što nije broj sa jednom ili dvije cifre.
Pri definisanju polja možete odabrati sljedede tipove polja:
Tekst (engl. Text)
Ovaj tip polja se koristi pri unošenju teksta ili kombinacije teksta i brojeva, poput imena, adresa ili
brojeva koji se nede koristiti pri izračunavanju u formulama (poput broja telefona, broj stana i sl.).
Maksimalan broj karaktera koji može biti unesen u ovakvo polje je 255, međutim kreator tabele
može ograničiti to polje na određen broj karaktera za unos (kao u prethodnoj tabeli).
Duži tekst (engl. Memo)
Ovakva vrsta polja se koristi za unos i čuvanje dužeg teksta, poput napomena ili opisa. Može da
smjesti do 63,999 karaktera.
Broj (engl. Number)
Ako je tip polja Number u ovo polje korisnik nede modi unijeti tekst ili nešto što se nede modi koristiti
u kalkulacijama (formulama). Izuzetak je unos valute u ovo polje (pored iznosa se automatski upisuje
valuta).
U ovakvo polje se može smjestiti specifičan tip broja određen sa Field Size osobinom:
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
11
Slika 5-3 Vrste brojeva (tj. Field Size) koje se mogu unijeti u ovakvo polje
Osobina Field Size (Byte, Integer, Long Integer, Single, Double, Decimal, Replication ID) određuje, u
stvari, veličinu broja koja može biti smještena u polje (npr. “Integer” i “Long Integer” dozvoljava unos
samo cijelog broja ili de izvršiti zaokruživanje unesene vrijednosti na cijeli broj). Ukoliko želite
omoguditi unos i rad sa decimalnim brojevima potrebno je da izaberete npr. “Decimal”, “Single” ili
“Double”.
Datum i vrijeme (engl. Date/Time)
Ako je polje okarakterisano tipom Date/Time, svaki podatak koji se unese u ovo polje bide
protumačen kao datum ili vrijeme. Ujedno de se pojaviti i obavezan način unosa ovog tipa podatka
(Input Mask).
Slika 5-4 Tip polja – Date/Time i Input Mask (maska unosa)
U polju Format možete izabrati oblik datuma, a u polju Input Mask način unosa datuma. MS Access
čita regionalna podešavanja operativnog sistema, pa ako želite format datuma koji odgovara našem
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
12
području (“dan-mjesec-godina”, za razliku od američkog “mjesec-dan-godina”), morate izvršiti
promjene u regionalnim podešavanjima računara.
Valuta (engl. Currency)
Ovaj tip polja se koristi za unos podatka u određenoj valuti. Ukoliko želite da to budu KM
(konvertibilne marke), morate izvršiti podešavanje regionalnih postavki u Control Panel-u. U polju
Decimal Places možete odrediti broj decimalnih mjesta koje de program koristiti.
Slika 5-5 Izabran tip polja Currency za kolonu Cijena sa dva decimalna mjesta
Automatsko numerisanje (engl. AutoNumber)
Automatsko numerisanje se koristi za automatski unos sljededeg rednog broja kad se dodaje novi
zapis. Najčešde se prvom polju tabele koje imenujete kao neki ID dodjeljuje ovaj tip podatka.
Da/Ne (eng. Yes/No )
Ovaj tip podatka se koristi samo u slučaju kad imate dvije mogude vrijednosti unosa (da - ne, tačno -
netačno, uključeno - isključeno , pladeno - nepladeno itd. ). Ova polja ne mogu imati Null vrijednost
(da budu prazna – bez unesenog podatka).
OLE Objekat
Koristite OLE objekat (kao što je Microsoft Word dokument, Microsoft Excel fajl, sliku, zvuk, ili neki
drugi binarni zapis) kad želite u polje unositi takve vrste podataka (kreirane u drugom programu) .
Hiperveza (engl. Hyperlink)
Podatak koji de se unositi u ovo polje bide hiperveza.
Čarobnjak pretrage (engl. Lookup Wizard)
Koristite ovaj tip polja ukoliko želite polje koje de vam omogudavati unos podatka kao izbor neke
vrijednosti iz druge.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
13
5.1.2.4 Karakteristike polja: veličina polja, format, standardna vrijednost
Svako polje tabele ima svoje karakteristične vrijednosti, koje definišete pri kreiranju tabela, poput
veličine polja, formata, standarne vrijednosti itd. Zavisno od tipa polja koje ste izabrali, pojavide se i
dodatne karakteristike polja koje možete dodatno definisati.
5-6. Karakteristike polja (Field Properties prodručje)
Npr. za polje tipa Broj (Number), mogude je dodatno definisati:
Veličinu broja (Field Size)
Format polja, tj. njegov oblik
Broj decimalnih mjesta
Maska unosa
Oznaka (engl. Caption)
Predefinisana vrijednost (Default Value) – ved unešena neka vrijednost
Pravilo provjere da li su zadovoljeni neki uslovi pri unosu podatka (Validation Rule)
Tekst koji de se prikazati pri validaciji unosa (Validation Text)
Da li je unos obavezan (Required)?
Da li de polje biti indeksirano ili ne (sa ili bez mogudnosti duplikata) (Indexed)
Pomodni savjeti (Smart Tags)
5.1.2.5 Šta je primarni ključ (Primary Key)?
Svaka tabela u bazi podataka treba imati polje koje jedinstveno predstavlja svaki zapis koji je
spremljen u tabeli. To se zove primarni ključ. Dakle, primarni ključ je polje u tabeli koji programu MS
Access predstavlja jedinstveni identifikator sloga za svaki red tabele (odnosno njen zapis).
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
14
U relacionoj bazi podataka informacije se dijele u posebne tabele. Veze između tabela ostvarene
preko primarnih ključeva govore programu MS Access na koji način dobija i predstavlja određenu
informaciju. MS Access koristi polja primarnog ključa za brzo povezivanje podataka iz više tabela i
spajanje podataka na smisleni način.
Kad se definiše primarni ključ u jednoj tabeli, može se koristiti i u drugim tabelama kao veza za
upudivanje na originalnu tabelu otkud je potekao primarni ključ.
Na primjer, polje ID kupca u tablici Kupci može se pojaviti i u tabeli Narudžbe. U tabeli Kupci to je
primarni ključ. U tabeli Narudžbe zove se vanjski ključ. Vanjski ključ, jednostavno rečeno, je primarni
ključ neke druge tabele.
Npr., u Tabeli Kupci polje Primarnog ključa je polje KupacID, dok je u Tabeli Narudzbe, polje KupacID
vanjski ključ (a primarni ključ Tabele Narudzbe je polje NarudzbaID)
Slika 5-7 Veza između tabela preko polja primarnog ključa (KupacID)
Ova veza preko polja KupacID označava da de u vašoj bazi podataka svaka narudžba biti vezana za
nekog kupca, tj. svaki kupac de imati jednu ili više narudžbi.
Često, jedinstveni identifikacijski broj, poput ID broja ili serijskog broja ili šifre, služi kao primarni
ključ u tabeli. Na primjer, ako imate tabelu Kupci gdje svaki kupac ima jedinstveni ID kupca, polje
Idkupac ili KupacID ili kako god ga nazovete može biti primarni ključ.
Pravilan izbor polja primarnog ključa je vrlo važan u kreiranju tabela i veza između tabela. Dakle, on
jedinstveno identifikuje svaki zapis tabele, te zato nikad nije prazno polje (null) – uvijek sadrži neku
vrijednost (obavezno je). Taj primarni ključ se rijetko (najbolje nikada) ne mijenja.
Primjer loše odabranog primarnog ključa je naziv ili adresa. Oboje sadrže informacije koje se mogu
promijeniti s vremenom. Primjer dobrog primarnog ključa može biti jedinistveni matični broj kupca. .
5.1.2.6 Šta je indeks i kako on omogudava brži pristup podacima?
MS Access automatski stvara indeks (engl. index) za primarni ključ koji ubrzava upite i ostale
operacije. Access takođe provjerava da svaki zapis ima vrijednost u polju primarnog ključa, te da je
on uvijek jedinstven.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
15
Indeksiranje tabele pomaže programu brže traženje i sortiranje informacije, pogotovo kad su u
pitanju velike tabele (sa hiljade slogova, tj. zapisa). Indeksirati se može bilo koje polje u tabeli, koje
de se često sortirati i pretraživati.
Indeksiranje se vrši pomodu određivanja karakteristika polja u dizajnu tabele – opcija Indexed.
Slika 5-8 Indeksiranje polja
Savjeti za indeksiranje:
Indeksirati polja koja se najčešde pretražuju i sortiraju (npr. ako imate mnogo kupaca u bazi i
ako ih često pretražujete po prezimenu, dobro bi bilo indeksirati polje KupacPrezime).
Nemojte previše polja indeksirati, jer de to kasnije usporiti rad programa
Neka polja se ne mogu indeksirati (polja tipa: memo, OLE i hiperlink polja)
Polja primarnih ključeva se automatski indeksiraju (čim označite polje kao Primarni ključ,
Access de ga sam indeksirati)
Indeksiranje omogudava i pradenje, tj. onemogudavanje duplih unosa (označite opciju u
karakteristici polja Indexed – Yes (No Duplicates).
5.1.3 Veze između tabela (Relationships)
Da bismo napravili neki upit, obrazac ili izvještaj, potrebno je imati tabele koje su međusobno
povezane. Za dobijanje prave informacije iz neke baze podataka, potrebno je koristiti podatke iz više
tabela. Vrlo je važno da su ti podaci uvezani na neki način, tj. da su u međusobnoj zavisnosti.
5.1.3.1 Razlog uvođenja relacionih tabela
MS Access sadrži sistem upravljanja relacionih baza podataka. Kod relacionih baza podataka,
informacije možete podijeliti u odvojene tabele kreirane prema određenom predmetu. Koristite
odnose tabela za povezivanje informacija, ako je potrebno.
Stvaranje odnosa jedan prema više
Npr. ukoliko kreirate tabele “Kupci” i “Narudžbe” u svojoj bazi podataka, može se zaključiti da jedan
kupac može imati više narudžbi. To znači, da za sve kupce koji su predstavljeni u tabeli “Kupci”
postoje mnoge narudžbe predstavljene u tabeli “Narudzbe”.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
16
Odnos između tabele Kupci i tabele Narudzbe je zato odnos “jedan-prema-više”.
Taj odnos, tj. veza “jedan-prema-više” između tabela Kupci i Narudzbe prikazan je na sljededoj slici:
Slika 5-9 Odnos "jedan prema više"
5.1.3.2 Veza između tabela - Jedinstveno polje
Kao što smo vidjeli u prethodnom primjeru vezu između tabela uspostavljamo preko jedinstvenih
polja, tj. polja primarnog ključa.
Dakle, korištenjem jedinstvenog polja KupacID (nije mogude postojanje dva kupca sa istim
identifikacionim poljem KupacID), i njegovog ubacivanja u tabelu Narudzbe, osigurali ste da svaki
kupac bude spojen sa svojom narudžbom bez greške. Svaka narudžba je jedinstvena (može da sadrži
mnogo stavki), ali je jedinstveno označena identifikacionim polje NarudzbaID, ali ima i polja poput
datuma narudžbe i isporuke. Polje KupacID koje se ponavlja u tabeli Narudzbe čini neraskidivu vezu
jedne ili više narudžbi sa određenim (jedinstvenim) kupcem.
5.1.3.3 Održavanje integriteta veza između tabela
Osnovna svrha vezanih tabela u bazi podataka je smanjenje duplih podataka. Dupliranje podataka
zauzima prostor bez potrebe, te vodi do mogudih grešaka u radu sa podacima. Ako je npr. jedan
kupac upisan više puta u tabelu, bide tretiran kao dva različita kupca (jer de imati dva različita
identifikaciona broja KupacID, iako su uneseni pod istim imenom).
Osnova za povezivanje relacionih tabela čini uspostavljanje parova primarnih i vanjskih ključeva. Ako
niste sigurni koje tabele trebaju dijeliti određene kolone, postojanje odnosa “jedan-prema-više” je
siguran znak da dvije tabele koje su u njega uključene trebaju imati zajedničku kolonu, u
prethodnom primjeru KupacID.
Postoji opcija koja održava integritet u vezanim tabelama, tako da ukoliko je ona uključena, MS
Access nede dozvoliti slučajno brisanje nekog objekta koji je vezan za drugi objekat. Ta opcija se
naziva “Enforce Referential Integrity” i označava se ako se kreiraju veze - odnosi između tabela, što
de biti pokazano kasnije.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
17
5-10 Kreiranje veza između tabela sa održavanje integriteta
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
18
5.1.4 Rad sa bazom podataka
5.1.4.1 Profesionalni dizajn baze podataka
Baze podataka koje se danas koriste u poslovanju su jako složene i mogu da sadržavaju na hiljade
tabela sa hiljadama zapisa. Zbog toga je jako bitno da dizajn baze podataka (pravilan izbor tabela,
polja, te veza između njih) rade profesionalni dizajneri baza.
Pravilno dizajnirana baza podataka omogudava pristup svježe ažuriranim, tačnim informacijama.
Bududi da je pravilan dizajn ključan za postizanje vaših ciljeva u radu s bazom podataka, ima smisla
uložiti dovoljno vremena potrebnog za učenje principa dobrog dizajna. Puno lakše dete se snadi u
bazi podataka koja zadovoljava vaše potrebe i lako prihvada promjene.
Slika 5-11 Primjer dizajna baze podataka sa vezama između tabela
5.1.4.2 Unos i održavanje podataka - korisnici
Dobro kreirana (dizajnirana) baza podataka, sa svojim tabelama, upitima, obrascima, treba da bude
jednostavna za korištenje, tj. za unos i operacije nad samim podacima. Unos i održavanje podataka
treba da vrše korisnici koji nisu IT profesionalci (radnici na šalterima u bankama, u turističkim
agencijama, na aerodromima, itd.)
Unos i promjena podataka se vrši preko obrazaca koji su kreirani od strane kreatora baze podataka,
profesionalca. Kasnije demo opisati kako se kreiraju jednostavni i laki za rad obrasci.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
19
Slika 5-12 Primjer obrasca za unos podataka o kupcu (korisnički prikaz)
Unos podataka o kupcu se vrši preko obrasca u tabelu koju obični korisnik ne vidi, ali je dostupna
kreatoru baze (administratoru).
Slika 5-13 Primjer tabele sa unešenim podacima (administratorski prikaz)
Tabela prikazana na prethodnoj slici nije laka za čitanje i rad sa podacima, te se i ne prikazuje
korisniku baze podataka.
5.1.4.3 Pristup podacima za određenog korisnika
Korisnici baze osnovne operacije sa podacima obavljaju preko specijalno kreiranih obrazaca. Ti
obrasci se kreiraju upravo iz razloga da se mogu kontrolisati određeni vidovi, tj. dozvole pristupa
podacima. Najčešde, baze podataka se prave na taj način da se svaka promjena nad podatkom bilježi,
kad je unešena, ko ju je unio i sl. Razne baze podataka imaju vrlo osjetljiv sadržaj, te se ograničava
pristup i nivo manipulacije nad nekim podacima.
Npr. kod bankarskih aplikacija i baza podataka, vrlo je bitno ko i na koji način može vršiti izmjenu
stanja nad određenim računom klijenta banke, jer postoje podaci poput stanja na računu, uplate,
isplate, itd.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
20
Dakle, administrator je taj ko može omoguditi (po instrukcijama nadležnih organa) ko može pristupiti
i na koji način određenim podacima, te koja prava ima neko nad tim podacima.
5.1.4.4 Vradanje podataka prilikom kraha baze i pojavljivanja grešaka u bazi
Kad se baza podataka kreira i pusti u upotrebu, nakon izvjesnog vremena bide ispunjena podacima
koji su vrlo bitni za poslovanje. Administrator baze je odgovoran za pravljenje rezervnih kopija tih
podataka, tako da ako se nešto desi sa hardverom na kojem se baza nalazi (pokvari se neki dio)
administrator mora osigurati nesmetan rad ili vradanje tih rezervnih kopija na novu mašinu –
hardver.
Ponekad se može desiti da korisnik slučajno napravi neku grešku pri unosu, brisanju ili promjeni
podataka, a nede biti u mogudnosti da sam ispravi grešku, administrator de opet biti pozvan za
povrat starijih podataka (onih koji su bili prisutni prije greške korisnika).
Pravljenje rezervne kopije baze podataka naziva se „backup“ baze podataka, a radi se onoliko često
koliko to zahtjevaju poslovni procesi. Npr. backup se može vršiti mjesečno, sedmično, dnevno ili čak i
češde (svaki sat npr.).