Upload
seka-dasha
View
34
Download
9
Embed Size (px)
DESCRIPTION
ECDL Modul 5 - Baze podataka - demo
Citation preview
Lanaco ECDL prirunik
Modul 5: Baze podataka
Microsoft Access
Lanaco Edukacija
Banja Luka, 2010.
v.1.1.
Copyright
2010
Umnoavanje, reprodukcija ili na drugi nain koritenje i objavljivanje tekstova iz ovog prirunika, bez
naknade i bez dozvole autora ili izdavaa, kanjivi su po lanu 120. Zakona o autorskom pravu i
srodnim pravima (Slubeni glasnik BiH, broj 7/02).
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
3
Sadraj
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 izmeu 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 sadraja polja tabele ..................................................................... 9
5.1.2.4 Karakteristike polja: veliina 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 bri pristup podacima? ..................................... 14
5.1.3 Veze izmeu tabela (Relationships) .............................................................................. 15
5.1.3.1 Razlog uvoenja relacionih tabela ............................................................................ 15
5.1.3.2 Veza izmeu tabela - Jedinstveno polje .................................................................... 16
5.1.3.3 Odravanje integriteta veza izmeu 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 odravanje podataka - korisnici ..................................................................... 18
5.1.4.3 Pristup podacima za odreenog korisnika ................................................................ 19
5.1.4.4 Vradanje podataka prilikom kraha baze i pojavljivanja greaka u bazi ..................... 20
5.2 Koritenje 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 Koritenje Help funkcije funkcije pomodi .............................................................. 29
5.2.2 Uobiajeni zadaci .......................................................................................................... 30
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
4
5.2.2.1 Otvaranje, spremanje i zatvaranje tabele, upita, forme i izvjetaja ......................... 30
5.2.2.2 Mod (nain) rada u tabeli, upitu, obrascu i izvjetaju ............................................... 35
5.2.2.3 Brisanje tabele, upita, obrasca i izvjetaja ............................................................. 41
5.2.2.4 Kretanje izmeu zapisa u tabeli, upitu i obrascu ...................................................... 43
5.2.2.5 Sortiranje informacija u tabeli, upitu i obrascu po rastudem ili opadajudem redu
(numerikom 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 Podeavanje 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 Podeavanje polja primarnog kljua ........................................................................ 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 Pretraivanje baze za pronalaenje odreene rijei, 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 koritenjem jednog ili vie operatora ............................. 74
5.4.2.5 Dodavanje kriterija u upit koritenjem jednog ili vie logikih operatora (AND, OR,
NOT) ................................................................................................................................... 75
5.4.2.6 Koritenje specijalnih znakova u upitu ...................................................................... 77
5.4.2.7 Ureivanje upita (dodavanje, uklanjanje, modifikovanje kriterija) .......................... 79
5.4.2.8 Ureivanje upita (dodavanje, uklanjanje, pomjeranje, sakrivanje polja) ................. 79
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
5
5.4.2.9 Pokretanje upita ........................................................................................................ 81
5.5 Objekti za prikaz i ureivanje podataka ................................................................................ 83
5.5.1 Obrasci forme ............................................................................................................. 83
5.5.1.1 Koritenje obrazaca za prikaz i odravanje podataka .............................................. 83
5.5.1.2 Kreiranje i imenovanje obrasca ................................................................................. 83
5.5.1.3 Koritenje obrazaca za unos novih podataka ........................................................... 91
5.5.1.4 Koritenje forme za brisanje podataka ..................................................................... 92
5.5.1.5 Koritenje obrasca za dodavanje, promjenu i brisanje podataka unutar zapisa .... 93
5.5.1.6 Dodavanje i modifikovanje teksta u zaglavlju i podnoju obrasca ........................... 93
5.6 Izvjetaji ................................................................................................................................ 96
5.6.1 Izvjetaji i eksport podataka ......................................................................................... 96
5.6.1.1 Svrha izvjetaja .......................................................................................................... 96
5.6.1.2 Kreiranje i imenovanje izvjetaja na osnovu tabele i upita ....................................... 96
5.6.1.3 Promjena rasporeda polja i zaglavlja unutar izvjetaja ............................................ 99
5.6.1.4 Predstavljanje odreenih polja u grupnom izvjetaju (sumarno, minimum,
maksimum, prosjek) ................................................................................................................ 101
5.6.1.5 Dodavanje i modifikovanje zaglavlja i podnoja u izvjetaju .................................. 104
5.6.1.6 Eksportovanje podataka iz tabele i upita ................................................................ 106
5.6.2 tampanje ................................................................................................................... 107
5.6.2.1 Promjena orijentacije, Promjena veliine papira .................................................... 107
5.6.2.2 tampanje stranice, odreenog podataka ili kompletne tabele............................. 108
5.6.2.3 tampanje svih podataka ili odreenih stranica iz obrasca .................................... 109
5.6.2.4 tampanje rezutata upita ........................................................................................ 110
5.6.2.5 tampanje odreene strane u izvjetaju ili cijelog izvjetaja .................................. 111
5.7 DODATAK ............................................................................................................................ 113
5.7.1 Primjer kreiranja baze Baza klijenata ...................................................................... 113
5.7.2 Rjenik stranih pojmova .............................................................................................. 127
Lanaco ECDL prirunik - 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 grafikom okruenju).
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 odreenom,
obino duem, vremenskom periodu. Baza podataka je ureena grupa podataka pohranjena na
sistematski nain tako da raunarski program moe poslati upit bazi podataka na koji ona odgovara.
Baze podataka slue za bolju dostupnost i razvrstavanje podataka.
Razliite vrste podataka moete organizovati i uvati u tabelama (poput MS Excel-a) ili u tekstualnim
fajlovima (poput dokumenata MS Word-a), ali najefikasniji nain rada sa podacima je sa bazama
podataka.
5.1.1.2 Razlike izmeu podataka i informacija
Podatak je prosta injenica. Podaci se procesiraju, organizuju, struktuiraju ili predstavljaju u
odreenom kontekstu da bi predstavljali korisnu informaciju.
Podaci, sami po sebi, nisu obino od neke koristi dok se ne interpetiraju na neki nain ili uoblie da bi
se dobilo neko znaenje. Tad postaju informacija.
Primjeri podataka su: krompir, 1, 50
Tek kad se podaci poveu na odreen nain predstavljaju informaciju, pa npr. komponujudi
navedene podatke iz primjera na nain: krompir i 1 (KM) i 50 (kg) moe predstavljati informaciju
da je kupljeno 50 kg kromrpira po cijeni od 1 KM; ili na nain: krompir i 1 (kg) i 50 (din) predstavlja
informaciju da jedan kg krompira kota 50 din itd.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
7
Raunar radi sa podacima. Informacija je ljudsko tumaenje 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 slui za organizovanje informacija. U
MS Access programu, tabela je jedan od objekata koji slui 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, moete imati tabelu koja sadri podatke o narudbama i proizvodima, zatim tabelu sa
podacima o zaposlenima i njihovom zaradom za odreeni mjesec. Svaki zapis, tj. slog u tabeli sadri
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 moe ukljuivati cijene i fotografije proizvoda
Inventurnu listu, gdje je ta uskladiteno i koliko komada
Slika 5-1 Primjer tabele klijenata
5.1.1.4 Primjena baza podataka
Baze podataka mogu biti manje, poput nekog linog adresara, do vrlo velikih baza sa ogromnim
brojem podataka.
Primjeri baza velikog kapaciteta koje se danas koriste su: sistem rezervacije letova, dravni zapisi,
baze podataka o raunima u bankama, baze podataka o bolnikom lijeenju (pacijentima), baze
podataka o potroaima elektrine 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 prirunik - Modul 5: Baze podataka Microsoft Access
8
Bilo koji sistem koji mora upravljati sa vedim brojem podataka, koji moraju biti dostupni i tani u
svakom momentu baziran je na sistemu relacionih baza podataka.
U relacionim bazama podataka svi podaci se smjetaju u tabele - svakoj tabeli dodjeljuje se ime,
svakoj koloni u tabeli dodjeljuje se atribut koji opisuje podatke koji se smjetaju u toj koloni, svaki
red u tabeli predstavlja jedan zapis u bazi podataka. Prosjena baza sadri na stotine tabela, a
izmeu tabela postoje veze, tako da kad se izmijeni neki podatak (vrijednost polja) u jednoj tabeli, to
utie na sve tabele sa kojima je prva tabela povezana. Operacije nad tabelama su matematiki
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 sjedita itd...
Informacija o letu ukljuuje mjesto polaska i dolaska kao i termine, tip aviona, itd.
Informacije o cijenama, taksama itd..
Tipine pretrage koje izvrava agent za rezervacije su izlistavanje letova na nekoj destinaciji u
odreenim terminima, pronalaenje alternativnih ruta i tome slino. Tipine izmjene podataka su
rezervisanje mjesta na odreenom letu. Sistem mora obezbijediti ukupni integritet baze u sluaju da
vie 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 raunima: tip rauna, kredita itd.
Veza izmeu rauna i klijenta
Kao i u prethodnom sluaju vie subjekata istovremeno treba da moe pristupiti raunu, npr. klijent
preko ATM aparata i slubenik na alteru preko raunara. Sistem mora da biljei sve promjene i da
radi i u izvanrednim uslovima poput gubitka elektrine energije.
Primjer 3: Sistem tarifiranja potronje
Sistemi tarifiranja potronje elektrine ili toplotne energije, ili sistemi tarifiranja potronje impulsa za
korisnike fiksne i mobilne telefonije, moraju da sadre:
Informacije o klijentima: ime, prezime, adresa, broj telefona, broj sata za oitavanje
Informacije o utroku za protekli mjesec
Obraun i kreiranje dugovanja po klijentu
Uplate, Kamate na dugovanje
U ovakvim sistemima vrlo je bitno imati pouzdane sisteme koji imaju razliite izvjetaje i opcije za
pruaoca usluga i za klijenta.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
9
5.1.2 Organizacija baze podataka
5.1.2.1 Princip kreiranja tabela
U bazi podataka, veze izmeu podataka su predstavljene u tabelama pomodu zapisa ili slogova (engl.
records) i polja ili atributa (eng. fields).
Svaka tabela u bazi podataka treba da sadri podatke vezane samo za jedan tip informacija, poput
adresa zaposlenih, narudbe kupaca, metode isporuke, dobavljai itd. Svaka stavka i podaci o njoj
predstavljaju zapis ili slog.
Npr. na sljededoj slici u tabeli Narudzbe detalji o narudbi sa ID brojem 2, datumom narudbe
5/22/2009, datumom isporuke 6/1/2009, te oznakom kupca, sainjavaju jedan zapis slog. Svaka
specifina informacija o odreenoj stavci poput broja (oznake), datuma kad je uraena narudba 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 lakeg pretraivanja 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 odreeno 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 drugaiji tekst ili broj. U polje koje oznaava jedinstveni broj (ID) ne moe biti
nita 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 panja treba obratiti upravo na kreiranje tabela u samom planiranju.
5.1.2.3 Princip definisanja sadraja polja tabele
Kad se kreiraju tabele, odreivanjem sadraja polja i duine polja, definiete ta korisnik moe unijeti
u odreeno polje, a sve to zbog ouvanja strukture i ureenosti baze, te istode njenih podataka.
Lanaco ECDL prirunik - 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 Duina 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 moe unijeti
slovo, nego mora biti broj (tip polja je Number) sa maksimalno dvije cifre (duina polja je 2). Na taj
nain smanjujete i greke pri unosu podataka. Dakle, ne moe korisnik baze unijeti u polje Broj
stana neto poput 6a ili 163 ili neto to nije broj sa jednom ili dvije cifre.
Pri definisanju polja moete odabrati sljedede tipove polja:
Tekst (engl. Text)
Ovaj tip polja se koristi pri unoenju teksta ili kombinacije teksta i brojeva, poput imena, adresa ili
brojeva koji se nede koristiti pri izraunavanju u formulama (poput broja telefona, broj stana i sl.).
Maksimalan broj karaktera koji moe biti unesen u ovakvo polje je 255, meutim kreator tabele
moe ograniiti to polje na odreen broj karaktera za unos (kao u prethodnoj tabeli).
Dui tekst (engl. Memo)
Ovakva vrsta polja se koristi za unos i uvanje dueg teksta, poput napomena ili opisa. Moe da
smjesti do 63,999 karaktera.
Broj (engl. Number)
Ako je tip polja Number u ovo polje korisnik nede modi unijeti tekst ili neto 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 moe smjestiti specifian tip broja odreen sa Field Size osobinom:
Lanaco ECDL prirunik - 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) odreuje, u
stvari, veliinu broja koja moe biti smjetena u polje (npr. Integer i Long Integer dozvoljava unos
samo cijelog broja ili de izvriti zaokruivanje 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
protumaen kao datum ili vrijeme. Ujedno de se pojaviti i obavezan nain unosa ovog tipa podatka
(Input Mask).
Slika 5-4 Tip polja Date/Time i Input Mask (maska unosa)
U polju Format moete izabrati oblik datuma, a u polju Input Mask nain unosa datuma. MS Access
ita regionalna podeavanja operativnog sistema, pa ako elite format datuma koji odgovara naem
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
12
podruju (dan-mjesec-godina, za razliku od amerikog mjesec-dan-godina), morate izvriti
promjene u regionalnim podeavanjima raunara.
Valuta (engl. Currency)
Ovaj tip polja se koristi za unos podatka u odreenoj valuti. Ukoliko elite da to budu KM
(konvertibilne marke), morate izvriti podeavanje regionalnih postavki u Control Panel-u. U polju
Decimal Places moete 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. Najede 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 sluaju kad imate dvije mogude vrijednosti unosa (da - ne, tano -
netano, ukljueno - iskljueno , 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 prirunik - Modul 5: Baze podataka Microsoft Access
13
5.1.2.4 Karakteristike polja: veliina polja, format, standardna vrijednost
Svako polje tabele ima svoje karakteristine vrijednosti, koje definiete pri kreiranju tabela, poput
veliine polja, formata, standarne vrijednosti itd. Zavisno od tipa polja koje ste izabrali, pojavide se i
dodatne karakteristike polja koje moete dodatno definisati.
5-6. Karakteristike polja (Field Properties prodruje)
Npr. za polje tipa Broj (Number), mogude je dodatno definisati:
Veliinu broja (Field Size)
Format polja, tj. njegov oblik
Broj decimalnih mjesta
Maska unosa
Oznaka (engl. Caption)
Predefinisana vrijednost (Default Value) ved uneena 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 prirunik - Modul 5: Baze podataka Microsoft Access
14
U relacionoj bazi podataka informacije se dijele u posebne tabele. Veze izmeu tabela ostvarene
preko primarnih kljueva govore programu MS Access na koji nain dobija i predstavlja odreenu
informaciju. MS Access koristi polja primarnog kljua za brzo povezivanje podataka iz vie tabela i
spajanje podataka na smisleni nain.
Kad se definie primarni klju u jednoj tabeli, moe 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 moe se pojaviti i u tabeli Narudbe. U tabeli Kupci to je
primarni klju. U tabeli Narudbe zove se vanjski klju. Vanjski klju, jednostavno reeno, je primarni
klju neke druge tabele.
Npr., u Tabeli Kupci polje Primarnog kljua je polje KupacID, dok je u Tabeli Narudzbe, polje KupacID
vanjski klju (a primarni klju Tabele Narudzbe je polje NarudzbaID)
Slika 5-7 Veza izmeu tabela preko polja primarnog kljua (KupacID)
Ova veza preko polja KupacID oznaava da de u vaoj bazi podataka svaka narudba biti vezana za
nekog kupca, tj. svaki kupac de imati jednu ili vie narudbi.
esto, jedinstveni identifikacijski broj, poput ID broja ili serijskog broja ili ifre, slui 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 moe biti primarni klju.
Pravilan izbor polja primarnog kljua je vrlo vaan u kreiranju tabela i veza izmeu tabela. Dakle, on
jedinstveno identifikuje svaki zapis tabele, te zato nikad nije prazno polje (null) uvijek sadri neku
vrijednost (obavezno je). Taj primarni klju se rijetko (najbolje nikada) ne mijenja.
Primjer loe odabranog primarnog kljua je naziv ili adresa. Oboje sadre informacije koje se mogu
promijeniti s vremenom. Primjer dobrog primarnog kljua moe biti jedinistveni matini broj kupca. .
5.1.2.6 ta je indeks i kako on omogudava bri pristup podacima?
MS Access automatski stvara indeks (engl. index) za primarni klju koji ubrzava upite i ostale
operacije. Access takoe provjerava da svaki zapis ima vrijednost u polju primarnog kljua, te da je
on uvijek jedinstven.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
15
Indeksiranje tabele pomae programu bre traenje i sortiranje informacije, pogotovo kad su u
pitanju velike tabele (sa hiljade slogova, tj. zapisa). Indeksirati se moe bilo koje polje u tabeli, koje
de se esto sortirati i pretraivati.
Indeksiranje se vri pomodu odreivanja karakteristika polja u dizajnu tabele opcija Indexed.
Slika 5-8 Indeksiranje polja
Savjeti za indeksiranje:
Indeksirati polja koja se najede pretrauju i sortiraju (npr. ako imate mnogo kupaca u bazi i
ako ih esto pretraujete po prezimenu, dobro bi bilo indeksirati polje KupacPrezime).
Nemojte previe polja indeksirati, jer de to kasnije usporiti rad programa
Neka polja se ne mogu indeksirati (polja tipa: memo, OLE i hiperlink polja)
Polja primarnih kljueva se automatski indeksiraju (im oznaite polje kao Primarni klju,
Access de ga sam indeksirati)
Indeksiranje omogudava i pradenje, tj. onemogudavanje duplih unosa (oznaite opciju u
karakteristici polja Indexed Yes (No Duplicates).
5.1.3 Veze izmeu tabela (Relationships)
Da bismo napravili neki upit, obrazac ili izvjetaj, potrebno je imati tabele koje su meusobno
povezane. Za dobijanje prave informacije iz neke baze podataka, potrebno je koristiti podatke iz vie
tabela. Vrlo je vano da su ti podaci uvezani na neki nain, tj. da su u meusobnoj zavisnosti.
5.1.3.1 Razlog uvoenja relacionih tabela
MS Access sadri sistem upravljanja relacionih baza podataka. Kod relacionih baza podataka,
informacije moete podijeliti u odvojene tabele kreirane prema odreenom predmetu. Koristite
odnose tabela za povezivanje informacija, ako je potrebno.
Stvaranje odnosa jedan prema vie
Npr. ukoliko kreirate tabele Kupci i Narudbe u svojoj bazi podataka, moe se zakljuiti da jedan
kupac moe imati vie narudbi. To znai, da za sve kupce koji su predstavljeni u tabeli Kupci
postoje mnoge narudbe predstavljene u tabeli Narudzbe.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
16
Odnos izmeu tabele Kupci i tabele Narudzbe je zato odnos jedan-prema-vie.
Taj odnos, tj. veza jedan-prema-vie izmeu tabela Kupci i Narudzbe prikazan je na sljededoj slici:
Slika 5-9 Odnos "jedan prema vie"
5.1.3.2 Veza izmeu tabela - Jedinstveno polje
Kao to smo vidjeli u prethodnom primjeru vezu izmeu tabela uspostavljamo preko jedinstvenih
polja, tj. polja primarnog kljua.
Dakle, koritenjem 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 narudbom bez greke. Svaka narudba je jedinstvena (moe da sadri
mnogo stavki), ali je jedinstveno oznaena identifikacionim polje NarudzbaID, ali ima i polja poput
datuma narudbe i isporuke. Polje KupacID koje se ponavlja u tabeli Narudzbe ini neraskidivu vezu
jedne ili vie narudbi sa odreenim (jedinstvenim) kupcem.
5.1.3.3 Odravanje integriteta veza izmeu tabela
Osnovna svrha vezanih tabela u bazi podataka je smanjenje duplih podataka. Dupliranje podataka
zauzima prostor bez potrebe, te vodi do mogudih greaka u radu sa podacima. Ako je npr. jedan
kupac upisan vie puta u tabelu, bide tretiran kao dva razliita kupca (jer de imati dva razliita
identifikaciona broja KupacID, iako su uneseni pod istim imenom).
Osnova za povezivanje relacionih tabela ini uspostavljanje parova primarnih i vanjskih kljueva. Ako
niste sigurni koje tabele trebaju dijeliti odreene kolone, postojanje odnosa jedan-prema-vie je
siguran znak da dvije tabele koje su u njega ukljuene trebaju imati zajedniku kolonu, u
prethodnom primjeru KupacID.
Postoji opcija koja odrava integritet u vezanim tabelama, tako da ukoliko je ona ukljuena, MS
Access nede dozvoliti sluajno brisanje nekog objekta koji je vezan za drugi objekat. Ta opcija se
naziva Enforce Referential Integrity i oznaava se ako se kreiraju veze - odnosi izmeu tabela, to
de biti pokazano kasnije.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
17
5-10 Kreiranje veza izmeu tabela sa odravanje integriteta
Lanaco ECDL prirunik - 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 sloene i mogu da sadravaju na hiljade
tabela sa hiljadama zapisa. Zbog toga je jako bitno da dizajn baze podataka (pravilan izbor tabela,
polja, te veza izmeu njih) rade profesionalni dizajneri baza.
Pravilno dizajnirana baza podataka omogudava pristup svjee auriranim, tanim informacijama.
Bududi da je pravilan dizajn kljuan za postizanje vaih ciljeva u radu s bazom podataka, ima smisla
uloiti dovoljno vremena potrebnog za uenje principa dobrog dizajna. Puno lake dete se snadi u
bazi podataka koja zadovoljava vae potrebe i lako prihvada promjene.
Slika 5-11 Primjer dizajna baze podataka sa vezama izmeu tabela
5.1.4.2 Unos i odravanje podataka - korisnici
Dobro kreirana (dizajnirana) baza podataka, sa svojim tabelama, upitima, obrascima, treba da bude
jednostavna za koritenje, tj. za unos i operacije nad samim podacima. Unos i odravanje podataka
treba da vre korisnici koji nisu IT profesionalci (radnici na alterima u bankama, u turistikim
agencijama, na aerodromima, itd.)
Unos i promjena podataka se vri 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 prirunik - Modul 5: Baze podataka Microsoft Access
19
Slika 5-12 Primjer obrasca za unos podataka o kupcu (korisniki prikaz)
Unos podataka o kupcu se vri preko obrasca u tabelu koju obini korisnik ne vidi, ali je dostupna
kreatoru baze (administratoru).
Slika 5-13 Primjer tabele sa uneenim 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 odreenog korisnika
Korisnici baze osnovne operacije sa podacima obavljaju preko specijalno kreiranih obrazaca. Ti
obrasci se kreiraju upravo iz razloga da se mogu kontrolisati odreeni vidovi, tj. dozvole pristupa
podacima. Najede, baze podataka se prave na taj nain da se svaka promjena nad podatkom biljei,
kad je uneena, ko ju je unio i sl. Razne baze podataka imaju vrlo osjetljiv sadraj, te se ograniava
pristup i nivo manipulacije nad nekim podacima.
Npr. kod bankarskih aplikacija i baza podataka, vrlo je bitno ko i na koji nain moe vriti izmjenu
stanja nad odreenim raunom klijenta banke, jer postoje podaci poput stanja na raunu, uplate,
isplate, itd.
Lanaco ECDL prirunik - Modul 5: Baze podataka Microsoft Access
20
Dakle, administrator je taj ko moe omoguditi (po instrukcijama nadlenih organa) ko moe pristupiti
i na koji nain odreenim podacima, te koja prava ima neko nad tim podacima.
5.1.4.4 Vradanje podataka prilikom kraha baze i pojavljivanja greaka 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 neto desi sa hardverom na kojem se baza nalazi (pokvari se neki dio)
administrator mora osigurati nesmetan rad ili vradanje tih rezervnih kopija na novu mainu
hardver.
Ponekad se moe desiti da korisnik sluajno napravi neku greku pri unosu, brisanju ili promjeni
podataka, a nede biti u mogudnosti da sam ispravi greku, administrator de opet biti pozvan za
povrat starijih podataka (onih koji su bili prisutni prije greke korisnika).
Pravljenje rezervne kopije baze podataka naziva se backup baze podataka, a radi se onoliko esto
koliko to zahtjevaju poslovni procesi. Npr. backup se moe vriti mjeseno, sedmino, dnevno ili ak i
ede (svaki sat npr.).
5 Baze podataka5.1 Uvod u baze podataka5.1.1 Osnovni koncepti5.1.1.1 ta je baza podataka?5.1.1.2 Razlike izmeu podataka i informacija5.1.1.3 Organizacija (struktura) baze podataka5.1.1.4 Primjena baza podataka
5.1.2 Organizacija baze podataka5.1.2.1 Princip kreiranja tabela5.1.2.2 Princip definisanja polja tabele5.1.2.3 Princip definisanja sadraja polja tabele5.1.2.4 Karakteristike polja: veliina polja, format, standardna vrijednost5.1.2.5 ta je primarni klju (Primary Key)?5.1.2.6 ta je indeks i kako on omoguava bri pristup podacima?
5.1.3 Veze izmeu tabela (Relationships)5.1.3.1 Razlog uvoenja relacionih tabela5.1.3.2 Veza izmeu tabela - Jedinstveno polje5.1.3.3 Odravanje integriteta veza izmeu tabela
5.1.4 Rad sa bazom podataka5.1.4.1 Profesionalni dizajn baze podataka5.1.4.2 Unos i odravanje podataka - korisnici5.1.4.3 Pristup podacima za odreenog korisnika5.1.4.4 Vraanje podataka prilikom kraha baze i pojavljivanja greaka u bazi
5.2 Koritenje aplikacije MS Access5.2.1 Rad sa bazama podataka5.2.1.1 Otvaranje i zatvaranje programa za baze podataka5.2.1.2 Otvaranje i zatvaranje baze podataka5.2.1.3 Kreiranje nove baze i spremanje na neku lokaciju5.2.1.4 Trake sa alatima5.2.1.5 Koritenje Help funkcije funkcije pomoi
5.2.2 Uobiajeni zadaci5.2.2.1 Otvaranje, spremanje i zatvaranje tabele, upita, forme i izvjetaja5.2.2.2 Mod (nain) rada u tabeli, upitu, obrascu i izvjetaju5.2.2.3 Brisanje tabele, upita, obrasca i izvjetaja5.2.2.4 Kretanje izmeu zapisa u tabeli, upitu i obrascu5.2.2.5 Sortiranje informacija u tabeli, upitu i obrascu po rastuem ili opadajuem redu (numerikom ili abecedenom redu)
5.3 Tabele5.3.1 Zapisi (slogovi)5.3.1.1 Unos i brisanje zapisa u tabeli5.3.1.2 Dodavanje, brisanje i modifikovanje podataka zapisa
5.3.2 Dizajn tabela5.3.2.1 Kreiranje i imenovanje tabele i njenih polja5.3.2.2 Podeavanje formata polja (broj, datum/vrijeme, standardna vrijednost)5.3.2.3 Kreiranje pravila provjere za broj, datum/vrijeme i valute5.3.2.4 Posljedice prilikom izmjene tipa podataka i karakteristike polja u tabeli5.3.2.5 Podeavanje polja primarnog kljua5.3.2.6 Indeksiranje polja (sa i bez dozvole duplih polja)5.3.2.7 Dodavanje polja u postojeu tabelu5.3.2.8 Promjena irine kolona u tabeli
5.4 Povrat informacija5.4.1 Glavne operacije5.4.1.1 Pretraivanje baze za pronalaenje odreene rijei, broja i datuma u polju5.4.1.2 Primjena filtera u tabeli i formi5.4.1.3 Uklanjanje filtera iz tabele i forme
5.4.2 Upiti5.4.2.1 Izdvajanje i analiza podataka pomou upita5.4.2.2 Kreiranje upita nad jednom tabelom5.4.2.3 Kreiranje upita nad dvije tabele5.4.2.4 Dodavanje kriterija u upit koritenjem jednog ili vie operatora5.4.2.5 Dodavanje kriterija u upit koritenjem jednog ili vie logikih operatora (AND, OR, NOT)5.4.2.6 Koritenje specijalnih znakova u upitu5.4.2.7 Ureivanje upita (dodavanje, uklanjanje, modifikovanje kriterija)5.4.2.8 Ureivanje upita (dodavanje, uklanjanje, pomjeranje, sakrivanje polja)5.4.2.9 Pokretanje upita
5.5 Objekti za prikaz i ureivanje podataka5.5.1 Obrasci forme5.5.1.1 Koritenje obrazaca za prikaz i odravanje podataka5.5.1.2 Kreiranje i imenovanje obrasca5.5.1.3 Koritenje obrazaca za unos novih podataka5.5.1.4 Koritenje forme za brisanje podataka5.5.1.5 Koritenje obrasca za dodavanje, promjenu i brisanje podataka unutar zapisa5.5.1.6 Dodavanje i modifikovanje teksta u zaglavlju i podnoju obrasca
5.6 Izvjetaji5.6.1 Izvjetaji i eksport podataka5.6.1.1 Svrha izvjetaja5.6.1.2 Kreiranje i imenovanje izvjetaja na osnovu tabele i upita5.6.1.3 Promjena rasporeda polja i zaglavlja unutar izvjetaja5.6.1.4 Predstavljanje odreenih polja u grupnom izvjetaju (sumarno, minimum, maksimum, prosjek)5.6.1.5 Dodavanje i modifikovanje zaglavlja i podnoja u izvjetaju5.6.1.6 Eksportovanje podataka iz tabele i upita
5.6.2 tampanje5.6.2.1 Promjena orijentacije, Promjena veliine papira5.6.2.2 tampanje stranice, odreenog podataka ili kompletne tabele5.6.2.3 tampanje svih podataka ili odreenih stranica iz obrasca5.6.2.4 tampanje rezutata upita5.6.2.5 tampanje odreene strane u izvjetaju ili cijelog izvjetaja
5.7 DODATAK5.7.1 Primjer kreiranja baze Baza klijenata5.7.2 Rjenik stranih pojmova