ecdl modul 5 - baza podataka v1.2 demo.pdf
TRANSCRIPT
Lanaco ECDL® priručnik
Modul 5: Baze podataka
Microsoft Access
Lanaco Edukacija
Banja Luka, 2011.
v.1.2.
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
2
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 ................................................................................. 6
5.1.1.4 Primjena baza podataka......................................................................................................... 7
5.1.1.5 Organizacija baze podataka ................................................................................................... 8
5.1.1.6 Princip kreiranja tabela .......................................................................................................... 8
5.1.1.7 Princip definisanja polja tabele .............................................................................................. 9
5.1.1.8 Princip definisanja sadržaja polja tabele ................................................................................ 9
5.1.1.9 Karakteristike polja: veličina polja, format, standardna vrijednost ..................................... 11
5.1.1.10 Šta je primarni ključ (Primary Key)? ................................................................................. 12
5.1.1.11 Šta je indeks i kako on omogućava brži pristup podacima? ............................................ 13
5.1.1.12 Veze između tabela (Relationships) ................................................................................. 14
5.1.1.13 Razlog uvođenja relacionih tabela ................................................................................... 14
5.1.1.14 Veza između tabela - Jedinstveno polje ........................................................................... 14
5.1.1.15 Održavanje integriteta veza između tabela ..................................................................... 14
5.1.2 Rad sa bazom podataka ........................................................................................................... 16
5.1.2.1 Profesionalni dizajn baze podataka ..................................................................................... 16
5.1.2.2 Unos i održavanje podataka - korisnici ................................................................................ 16
5.1.2.3 Pristup podacima za određenog korisnika ........................................................................... 17
5.1.2.4 Vraćanje podataka prilikom kraha baze i pojavljivanja grešaka u bazi ................................ 18
5.2 Korištenje aplikacije MS Access ....................................................................................................... 19
5.2.1 Rad sa bazama podataka ......................................................................................................... 19
5.2.1.1 Otvaranje i zatvaranje programa za baze podataka ............................................................ 19
5.2.1.2 Otvaranje i zatvaranje baze podataka ................................................................................. 19
5.2.1.3 Kreiranje nove baze i spremanje na neku lokaciju .............................................................. 21
5.2.1.4 Trake sa alatima (Ribbons) ................................................................................................... 22
5.2.1.5 Korištenje Help funkcije – funkcije pomoći ......................................................................... 22
5.2.2 Uobičajeni zadaci ..................................................................................................................... 24
5.2.2.1 Otvaranje, spremanje i zatvaranje tabele, upita, forme i izvještaja .................................... 24
5.2.2.2 Mod (način) rada u tabeli, upitu, obrascu i izvještaju .......................................................... 26
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
3
5.2.2.3 Brisanje tabele, upita, obrasca i izvještaja ........................................................................ 31
5.2.2.4 Kretanje između zapisa u tabeli, upitu i obrascu ................................................................. 32
5.2.2.5 Sortiranje informacija u tabeli, upitu i obrascu po rastućem ili opadajućem redu
(numeričkom ili abecedenom redu) .................................................................................................... 32
5.3 Tabele ............................................................................................................................................... 34
5.3.1 Zapisi (slogovi) .......................................................................................................................... 34
5.3.1.1 Unos i brisanje zapisa u tabeli .............................................................................................. 34
5.3.1.2 Dodavanje, brisanje i modifikovanje podataka zapisa ......................................................... 34
5.3.2 Dizajn tabela............................................................................................................................. 36
5.3.2.1 Kreiranje i imenovanje tabele i njenih polja ........................................................................ 36
5.3.2.2 Podešavanje formata polja (broj, datum/vrijeme, standardna vrijednost) ......................... 38
5.3.2.3 Kreiranje pravila provjere za broj, datum/vrijeme i valute.................................................. 41
5.3.2.4 Posljedice prilikom izmjene tipa podataka i karakteristike polja u tabeli............................ 42
5.3.2.5 Podešavanje polja primarnog ključa ................................................................................... 43
5.3.2.6 Indeksiranje polja (sa i bez dozvole duplih polja) ................................................................ 47
5.3.2.7 Dodavanje polja u postojeću tabelu .................................................................................... 48
5.3.2.8 Promjena širine kolona u tabeli ........................................................................................... 49
5.4 Povrat informacija ............................................................................................................................ 50
5.4.1 Glavne operacije ...................................................................................................................... 50
5.4.1.1 Pretraživanje baze za pronalaženje određene riječi, broja i datuma u polju ..................... 50
5.4.1.2 Primjena filtera u tabeli i formi ............................................................................................ 51
5.4.1.3 Uklanjanje filtera iz tabele i forme ....................................................................................... 52
5.4.2 Upiti .......................................................................................................................................... 54
5.4.2.1 Izdvajanje i analiza podataka pomoću upita ....................................................................... 54
5.4.2.2 Kreiranje upita nad jednom tabelom ................................................................................... 54
5.4.2.3 Kreiranje upita nad dvije tabele ........................................................................................... 56
5.4.2.4 Dodavanje kriterija u upit korištenjem jednog ili više operatora ........................................ 57
5.4.2.5 Dodavanje kriterija u upit korištenjem jednog ili više logičkih operatora (AND, OR, NOT) . 58
5.4.2.6 Korištenje specijalnih znakova u upitu................................................................................. 59
5.4.2.7 Uređivanje upita (dodavanje, uklanjanje, modifikovanje kriterija) ..................................... 60
5.4.2.8 Uređivanje upita (dodavanje, uklanjanje, pomjeranje, sakrivanje polja) ............................ 61
5.4.2.9 Pokretanje upita ................................................................................................................... 63
5.5 Objekti za prikaz i uređivanje podataka ........................................................................................... 65
5.5.1 Obrasci – forme ........................................................................................................................ 65
5.5.1.1 Korištenje obrazaca za prikaz i održavanje podataka ......................................................... 65
5.5.1.2 Kreiranje i imenovanje obrasca............................................................................................ 65
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
4
5.5.1.3 Korištenje obrazaca za unos novih podataka ...................................................................... 71
5.5.1.4 Korištenje forme za brisanje podataka ................................................................................ 71
5.5.1.5 Korištenje obrasca za dodavanje, promjenu i brisanje podataka unutar zapisa ............... 72
5.5.1.6 Dodavanje i modifikovanje teksta u zaglavlju i podnožju obrasca ...................................... 72
5.6 Izvještaji ........................................................................................................................................... 75
5.6.1 Izvještaji i eksport podataka .................................................................................................... 75
5.6.1.1 Svrha izvještaja ..................................................................................................................... 75
5.6.1.2 Kreiranje i imenovanje izvještaja na osnovu tabele i upita.................................................. 75
5.6.1.3 Promjena rasporeda polja i zaglavlja unutar izvještaja ....................................................... 78
5.6.1.4 Predstavljanje određenih polja u grupnom izvještaju (sumarno, minimum, maksimum,
prosjek) 79
5.6.1.5 Dodavanje i modifikovanje zaglavlja i podnožja u izvještaju ............................................... 82
5.6.1.6 Eksportovanje podataka iz tabele i upita ............................................................................. 83
5.6.2 Štampanje ................................................................................................................................ 85
5.6.2.1 Promjena orijentacije, Promjena veličine papira ................................................................. 85
5.6.2.2 Štampanje stranice, određenog podataka ili kompletne tabele ......................................... 86
5.6.2.3 Štampanje svih podataka ili određenih stranica iz obrasca ................................................. 86
5.6.2.4 Štampanje rezutata upita..................................................................................................... 87
5.6.2.5 Štampanje određene strane u izvještaju ili cijelog izvještaja ............................................... 88
5.7 DODATAK ......................................................................................................................................... 90
5.7.1 Primjer kreiranja baze “Baza klijenata” ................................................................................... 90
5.7.2 Rječnik stranih pojmova ......................................................................................................... 100
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 obradićemo jedan od jednostavnijih programa za kreiranje i upravljanje
bazama podataka – Microsoft Access.
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. komponujući 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.
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).
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
7
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.
Bilo koji sistem koji mora upravljati sa većim 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
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
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.
5.1.1.5 Organizacija baze podataka
5.1.1.6 Princip kreiranja tabela
U bazi podataka, veze između podataka su predstavljene u tabelama pomoću 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 sljedećoj slici u tabeli “Narudzbe” detalji o narudžbi sa ID brojem 2, datumom narudžbe 22.5.2009,
datumom isporuke 1.6.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
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
9
5.1.1.7 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 Mihić) 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
najveća pažnja treba obratiti upravo na kreiranje tabela u samom planiranju.
5.1.1.8 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 “čistoće” njenih podataka.
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 sljedeće 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 neće 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 neće moći unijeti tekst ili nešto što se neće moći koristiti u
kalkulacijama (formulama). Izuzetak je unos valute u ovo polje (pored iznosa se automatski upisuje valuta).
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
10
U ovakvo polje se može smjestiti specifičan tip broja određen sa Field Size osobinom:
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 će izvršiti zaokruživanje unesene vrijednosti na cijeli broj). Ukoliko želite omogućiti 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 biće protumačen kao
datum ili vrijeme. Ujedno će 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 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)
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
11
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 će 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 sljedećeg rednog broja kad se dodaje novi zapis.
Najčešće 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 moguće vrijednosti unosa (da - ne, tačno -
netačno, uključeno - isključeno , plaćeno - neplaćeno 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 će se unositi u ovo polje biće hiperveza.
Čarobnjak pretrage (engl. Lookup Wizard)
Koristite ovaj tip polja ukoliko želite polje koje će vam omogućavati unos podatka kao izbor neke vrijednosti
iz druge.
5.1.1.9 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, pojaviće se i dodatne
karakteristike polja koje možete dodatno definisati.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
12
5-6. Karakteristike polja (Field Properties prodručje)
Npr. za polje tipa Broj (Number), moguće 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) – već unešena neka vrijednost
Pravilo provjere da li su zadovoljeni neki uslovi pri unosu podatka (Validation Rule)
Tekst koji će se prikazati pri validaciji unosa (Validation Text)
Da li je unos obavezan (Required)?
Da li će polje biti indeksirano ili ne (sa ili bez mogućnosti duplikata) (Indexed)
Pomoćni savjeti (Smart Tags)
5.1.1.10 Š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).
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 upućivanje
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)
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
13
Slika 5-7 Veza između tabela preko polja primarnog ključa (KupacID)
Ova veza preko polja KupacID označava da će u vašoj bazi podataka svaka narudžba biti vezana za nekog
kupca, tj. svaki kupac će 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.1.11 Šta je indeks i kako on omogućava 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.
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 će se često
sortirati i pretraživati.
Indeksiranje se vrši pomoću određivanja karakteristika polja u dizajnu tabele – opcija Indexed.
Slika 5-8 Indeksiranje polja
Savjeti za indeksiranje:
Indeksirati polja koja se najčešće 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 će to kasnije usporiti rad programa
Neka polja se ne mogu indeksirati (polja tipa: memo, OLE i hiperlink polja)
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
14
Polja primarnih ključeva se automatski indeksiraju (čim označite polje kao Primarni ključ, Access će
ga sam indeksirati)
Indeksiranje omogućava i praćenje, tj. onemogućavanje duplih unosa (označite opciju u
karakteristici polja Indexed – Yes (No Duplicates).
5.1.1.12 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.1.13 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”.
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 sljedećoj slici:
Slika 5-9 Odnos "jedan prema više"
5.1.1.14 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 moguće 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.1.15 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 mogućih grešaka u radu sa podacima. Ako je npr. jedan kupac upisan više
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
15
puta u tabelu, biće tretiran kao dva različita kupca (jer će 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 neće
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 će biti pokazano
kasnije.
5-10 Kreiranje veza između tabela sa održavanje integriteta
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
16
5.1.2 Rad sa bazom podataka
5.1.2.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 omogućava pristup svježe ažuriranim, tačnim informacijama. Budući 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 ćete se snaći u bazi podataka koja
zadovoljava vaše potrebe i lako prihvaća promjene.
Slika 5-11 Primjer dizajna baze podataka sa vezama između tabela
5.1.2.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 ćemo opisati kako se kreiraju jednostavni i laki za rad obrasci.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
17
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.2.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šće,
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.
Dakle, administrator je taj ko može omogućiti (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.
Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access
18
5.1.2.4 Vraćanje podataka prilikom kraha baze i pojavljivanja grešaka u bazi
Kad se baza podataka kreira i pusti u upotrebu, nakon izvjesnog vremena biće 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 vraćanje 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
neće biti u mogućnosti da sam ispravi grešku, administrator će 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šće (svaki
sat npr.).