5. Базе података [pdf; 798kb]

20

Upload: vuongnhan

Post on 29-Jan-2017

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 5. Базе података [PDF; 798KB]
Page 2: 5. Базе података [PDF; 798KB]

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).

Page 3: 5. Базе података [PDF; 798KB]

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

Page 4: 5. Базе података [PDF; 798KB]

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

Page 5: 5. Базе података [PDF; 798KB]

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

Page 6: 5. Базе података [PDF; 798KB]

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.

Page 7: 5. Базе података [PDF; 798KB]

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)

Page 8: 5. Базе података [PDF; 798KB]

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.

Page 9: 5. Базе података [PDF; 798KB]

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.

Page 10: 5. Базе података [PDF; 798KB]

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:

Page 11: 5. Базе података [PDF; 798KB]

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

Page 12: 5. Базе података [PDF; 798KB]

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.

Page 13: 5. Базе података [PDF; 798KB]

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).

Page 14: 5. Базе података [PDF; 798KB]

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.

Page 15: 5. Базе података [PDF; 798KB]

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”.

Page 16: 5. Базе података [PDF; 798KB]

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.

Page 17: 5. Базе података [PDF; 798KB]

Lanaco ECDL priručnik - Modul 5: Baze podataka Microsoft Access

17

5-10 Kreiranje veza između tabela sa održavanje integriteta

Page 18: 5. Базе података [PDF; 798KB]

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.

Page 19: 5. Базе података [PDF; 798KB]

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.

Page 20: 5. Базе података [PDF; 798KB]

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.).