Vous êtes sur la page 1sur 72

DEO

Deo I
Izrada jednokorisnikih aplikacija
o o

I
o o

U ovom odeku
Poglave 1
ta su podaci?

Poglave 2
Projektovae i izrada tabela

Odeak I
Rad s tabelama za podatke i upitima

Poglave 3
Unoee podataka u tabele i obrasce

Poglave 4
Povezivae tabela

Poglave 5
Prikazivae izabranih podataka pomou upita

Poglave 6
Operatori, funkcije i izrazi

Poglave 7
Rad sa sponim podacima

POGLAVLJE

ta su podaci?

1
o o o o

ovom poglavu savladaete koncepte i terminologiju baza podataka i nauiete da projektujete baze podataka koje ete koristiti u svojim obrascima i izvetajima. I najzad, napraviete tabele potrebne za primer aplikacije Access Auto Auctions, koji koristimo u celoj kizi. Pre nego to ponete da koristite bilo koji softver za upravae bazama podataka, morate savladati nekoliko osnovnih koncepata. Najvaniji koncept jeste taj da se podaci smetaju u crnu kutiju poznatu kao tabela, a pomou alatki koje vam stava na raspolagae sistem za upravae bazama podataka moete da uitavate podatke i da ih prikazujete na ekranu ili na izvetajima u svakom formatu koji poelite. Kada shvatite osnovne koncepte i terminologiju, sledea vana lekcija jeste da nauite kako se pravilno projektuju strukture baze podataka. Kada struktura podataka nije dobra, morate je neprestano meati i prilagoavati, a moda neete biti ni u stau da iz baze podataka uitate podatke koji vam trebaju. Iz ove kige nauiete kako da koristite upite, obrasce i izvetaje, i kako da svaki od tih objekata projektujete pre nego to ga napravite u bazi. Projekat aplikacije Access Auto Auctions sadri izmiene primere, ali koncepti primeeni u ima nisu izmiotine. Ovo poglave nije lako razumivo; u emu su opisani i neki sloeniji pojmovi. Ako vam je ci da odmah ponete da radite u Accessu, moda bi bilo boe da preete u odeak o izradi tabela u ovom poglavu. Ako imate prilino iskustvo sa Accessom, ali ste poetnik u projektovau i izradi tabela, proitajte ovo poglave pre nego to ponete da pravite tabele.
U prvom poglavu ne koristi se pratei CD. Ovo poglave treba da itate, da prouavate slike ekrana i da savladate mnogobrojne koncepte koje ete koristiti u nastavku ove kige. Da biste odmah preli na praktinu upotrebu Accessa, preite u odeak nasloven Izrada tabela baze podataka, u poglavu 2.

U ovom poglavu
ta je baza podataka Razlike izmeu baza podataka, tabela, zapisa, poa i vrednosti Zbog ega baza podataka sadri vie tabela Objekti baze podataka Metod projektovaa u sedam koraka Upotreba primera Access Auto Auctions Projektovae opte strukture sistema Izrada izvetaja Izdvajae poa za izvetaje radi projektovaa strukture tabela Projektovae tabela i relacija Definisae pravila za unoee i ispravnost podataka Obrasci za unoee podataka Projektovae menija

Na CD-u

Referenca

Terminologija baza padataka koja se koristi u Accessu


Pre nego to preete na tabele koje ete koristiti u ovoj kizi, korisno bi bilo da u potpunosti savladate terminologiju koja se koristi kada se radi s bazama podataka, naroito u Accessovim bazama podataka.

Deo I, Odeak I o Rad s tabelama za podatke i upitima

ta je baza podataka?
Izraz baza podataka (engl. database) najee se odnosi na grupu ili skup podataka koji se odnose na odreenu temu ili pripadaju odreenoj poslovnoj aplikaciji. Baze podataka omoguavaju da se srodni podaci organizuju i urede na logiki nain radi jednostavnijeg pristupa i uitavaa podataka. Osim raunarskih, postoje i druge baze podataka. Na primer, postoje rune baze podataka koje poznajemo kao rune sisteme za skladitee dokumenata ili kao runi sistem za upravae podacima. Takvi sistemi za skladitee dokumenata sastoje se najee od udi, papira, omotnica i ormana za dokumente papir je od kune vanosti u runim bazama podataka. U pravoj runoj bazi podataka verovatno biste imali i korpe za ulazne i izlazne dokumente, kao i odreena formalna pravila za skladitee dokumenata. Podacima se pristupa runo tako to se otvori orman, uzima odgovarajua omotnica i pronalazi traeni dokument. Za unoee podataka koriste se papirni obrasci, koji se popuavaju verovatno pomou pisae maine. Podatke pronalazimo tako to papire sortiramo runo ili tako to podatke iz vie dokumenata kopiramo u nov dokument (ili ak u tabelu programa za tabelarne proraune). Za dau analizu podataka ili za izradu izvetaja na osnovu ih koristimo kalkulator ili program za tabelarne proraune. Raunarska baza podataka nije nita drugo nego automatizovana verzija funkcija skladitea i pronalaea podataka runog sistema za skladitee papirnih dokumenata. Raunarske baze podataka skladite podatke u strukturiranom formatu koji vi definiete. Podaci mogu da se uvaju u raznim oblicima, od redova obinog teksta (poput imena i adrese), do sloenih struktura podataka koje se sastoje od slika ili zvunih i video zapisa. uvae podataka u preciznom i unapred poznatom formatu omoguava da sistem za upravae bazama podataka (engl. Database Management System, DBMS) sirove podatke pretvara u korisne informacije putem raznih oblika izlaznih rezultata, kao to su upiti i izvetaji. U automatizovanom sistemu za upravae bazama podataka, kao to je Access, raunar slui za pristupae podacima koji se uvaju u obliku tabela podaci se unose pomou obrazaca za unoee podataka, a uitavaju se pomou upita. Mogu se praviti upiti koji iz tabela uitavaju samo odreeni podskup podataka, koji se potom pomou izvetaja prikazuju na ekranu ili au na tampa. Makroi i moduli omoguavaju da automatizujete postupak, kao i da pravite nove menije i okvire za dijalog. Sistem za upravae relacionim bazama podataka (engl. Relational Database Management System, RDBMS), kao to je Access, uva podatke rasporeene u vie tabela koje su meusobno povezane. Pomou upita moete da postavate sloena pitaa koja se odnose na podatke u jednoj od tih povezanih tabela ili u vie ih, a odgovore ete dobiti u obliku obrazaca ili izvetaja.

Rad s vie baza podataka istovremeno


Kada radite u Accessu, najee otvarate samo jednu bazu podataka. Meutim, Access moe da pristupa podacima u vie baza podataka istovremeno. Kada budete prouavali i dopuavali primere iz ove kige, u odreenoj fazi razdvojiete podatke (tabele) od svih drugih objekata (obrazaca, izvetaja, upita itd.) tako to ete tabele za podatke premestiti u zasebnu bazu podataka i pristupati im potom tako to ete tu bazu povezati s drugom bazom podataka koja sadri sve druge objekte.

Poglave 1 o ta su podaci?

Baze podataka, tabele, zapisi, poa i vrednosti


Microsoftov Access sledi uobiajenu terminologiju baza podataka. Izrazi baza podataka, tabela, zapis, poe i vrednost formiraju hijerarhiju od najvieg ka najniem.

Baze podataka
U Accessu baza podataka (engl. database) predstava skladite u koje se smetaju svi podaci i ima pridrueni objekti. Meutim, to je vie od jednostavne zbirke tabela baza podataka sadri sve objekte. Objekti baze podataka su tabele, upiti, obrasci, izvetaji, stranice za pristupae podacima, makroi i moduli. U nekim softverskim proizvodima izraz baza podataka odnosi se na objekat u koji se smetaju podaci; u Accessu tu ulogu igra tabela. U drugim takvim proizvodima izraz baza podataka odnosi se na zbirku svih tabela koje pripadaju sistemu. Access moe da radi samo sa po jednom bazom podataka u svakom datom trenutku. Meutim, unutar jedne baze podataka moete imati stotine tabela, obrazaca, upita, izvetaja, stranica, makroa i modula koji su smeteni u istu datoteku s nastavkom .MDB (multiple database) ili .ADP ukoliko koristite SQL Server Desktop Engine.
Referenca

ADP format datoteka je specijalan format koji Access koristi kada pristupa podacima koji se nalaze na SQL Serveru (u MDF formatu). Accessovi projekti detano su objaeni u poglavu 28. U poglavu 7 detano je opisano kako se tabele premetaju iz jedne u drugu bazu podataka. U poglavima 27 i 28 detano je opisana upotreba SQL Servera u Accessovim projektima.

Referenca

Tabele
Tabela je samo kontejner za sirove podatke, slino kartonskoj omotnici u runim sistemima za dokumente koja sadri izvetaje. Kada u Accessu unosite podatke, tabela skladiti srodne podatke u obliku odreenih logikih grupa (na primer, tabela tblProducts /artikli/ sadri podatke o artiklima koji se prodaju), a struktura tabele je tako projektovana da se podaci organizuju u obliku redova i kolona. Tabele se prave posle detane analize podataka koji e se uvati u tabelama; postupak je opisan u nastavku ovog poglava, u odeku Zadavae imena, tipa i veliine poa. Poto formirate strukturu tabele, podatke koji su u oj smeteni moete da vidite u prikazu koji se zove tabelarni prikaz (engl. Datasheet) iji je oblik veoma slian tabelama programa za tabelarne proraune. Prikaz Datasheet sastoji se od redova (zapisi) i kolona (poa). Na slici 1-1 prikazana je tabela tblContacts, otvorena u prikazu Datasheet.

Zapisi i poa
Kao to se vidi na slici 1-1, tabelarni prikaz sastoji se od redova zvanih zapisi ili slogovi (engl. records) i kolona, koje se zovu poa (engl. fields), pri emu prvi red (zaglava na poetku svake kolone) sadri imena poa baze podataka. Svaki red predstava jedan zapis koji sadri vrednosti poa od kojih se sastoji taj zapis. U runom sistemu za rad s podacima zapisi bi bili pojedinani obrasci (listovi papira), a poa bi bila ekvivalentna praznim mestima koja korisnik popuava na predtampanom obrascu. Podaci prikazani u tabeli grupisani su u kolone koje sadre podatke iste vrste, kao to su ifra klijenta (Contact ID), tip (Contact Type), ime (First Name) i prezime (Last Name); te kolone podataka zovu se poa tabele. Svako poe ima svoje ime

Deo I, Odeak I o Rad s tabelama za podatke i upitima

(vidivo u prvom redu tabelarnog prikaza) koje opisuje vrstu podataka koje poe sadri. Osim toga, za svako poe zadat je tip podataka (znakovno, numeriko, datumsko itd.) i duina prihvativih podataka koji se mogu uneti u poe.

Slika 1-1: Tabelarni prikaz sadraja tabele.

Redovi podataka sadranih u tabeli ine zapise tabele. Svaki red podataka smatra se zasebnom celinom kojoj se moe pristupati direktno ili red po red, u zavisnosti od potreba, a svaki zapis sastoji se od poa. U svakom zapisu sadrana su sva poa (po jedno) iz strukture tabele. Na primer, na slici 1-1, prvi red sadri poe Contact ID, ija je vrednost 1, poe Contact Type, ija je vrednost Buyer, poe First Name, ija je vrednost John, kao i sva ostala poa tabele. Drugi red sadri poe Contact ID, ija je vrednost 2, poe Contact Type, ija je vrednost Seller, poe First Name, ija je vrednost Hank, kao i sva ostala poa tabele. Svaki red i zapis sadri sva poa strukture tabele, a svako poe sadri odreenu vrednost (moe se dogoditi da neka poa nemaju vrednost; u tom sluaju kae se da poe ima vrednost null). Sva poa s podacima o odreenom klijentu firme sadrana su u zapisu koji se odnosi na tog klijenta.

Vrednosti
Na preseku izmeu svakog reda (zapisa) i kolone (poa) nalazi se vrednost (engl. value) tj. stvarni podatak. Na primer, u pou First Name prvog zapisa, John predstava vrednost podatka. Moda sada sebi postavate neka pitaa, na primer:
N

Koji je prvi zapis? To je zapis prikazan u prvom redu tabelarnog prikaza u kojem je ime osobe John Jones. A ta ako u bazi podataka ima vie osoba koje se zovu John Jones? Poa zapisa identifikujemo po imenima poa, dok pojedinane zapise identifikujemo po nekoj odlici ili vrednosti iz jednog ili vie poa koja je jedinstvena za svaki zapis. Zbog te jedinstvene vrednosti, svaki zapis je razliit od svih

Poglave 1 o ta su podaci?

ostalih zapisa. U tabeli tblContacts poe Contact ID ini da je svaki zapis jedinstven; poa Contact Type, First Name i Last Name ne omoguavaju jedinstvenost zapisa zato to u istoj tabeli moemo imati vie osoba koje se zovu John Jones ili imaju status Buyer (kupac). Ponekad je neophodno kombinovati vie poa da bi se dobila jedinstvena vrednost. Moete kombinovati poa Company i Contact Type, ali moe se dogoditi da vie osoba u tabeli radi za istu firmu i sve mogu biti kupci ili prodavci. Moete kombinovati poa Company, Contact Type i Last Name. Meutim, ne moe se iskuiti sluaj da imate dva klijenta koji dou i kau: Dobar dan, zovem se Jones, radim u kompaniji Acme i elim da prodam kola. Ako se redu doda poe s jedinstvenim identifikatorom (kao to je poe Contact ID), zapisi se mogu razlikovati jedan od drugog bez obaveze da gledate vrednosti u svim ostalim poima.

Upotreba vie od jedne tabele


Baza podataka je, po definiciji, zbirka vie tabela. Isto kao to orman za dokumente obino sadri vei broj kartonskih omotnica, baza podataka sadri jednu ili vie tabela, (tj. logikih grupa srodnih podataka). Veina aplikacija razvijenih u Accessu radi s vie meusobno povezanih tabela da bi efikasno prikazivala podatke. Aplikacija koja radi s vie tabela obino efikasnije radi s podacima nego to bi to inila kada bi svi podaci bili u jednoj velikoj tabeli.

Rad s vie tabela


Kada su podaci raspodeeni u vie tabela, unoee podataka i izrada izvetaja su jednostavniji jer se tada unosi mai broj dupliranih podataka. Na primer, ako u aplikaciji koja koristi podatke o kupcima definiete dve tabele, nema potrebe da upisujete ime, prezime i adresu istog kupca svaki put kad on neto kupi. Poto definiete tabele, morate ih povezati jednu s drugom. Na primer, ako imate tabelu Contacts (klijenti) i tabelu Sales (prodaja), morate povezati tabelu Contacts s tabelom Sales da biste mogli da uitate sve raune koji se odnose na odreenog klijenta iz tabele Contacts. Kada biste imali samo jednu tabelu, morali biste da upisujete ime i prezime kupca u svakom raunu izdatom odreenom kupcu. Kada imate dve tabele, za svaki raun iz tabele Sales moete uitati odgovarajue podatke iz tabele Contacts pomou povezanih poa Contact ID i Buyer ID. To omoguava da kada kupac (na primer) promeni adresu, izmene morate da unesete samo u jedan zapis tabele Contacts; kada na ekranu prikazujete podatke iz tabele Sales, uvek e biti prikazana i tana adresa. Kada su podaci raspodeeni u vie tabela baze podataka, sistem se lake odrava zato to se svi zapisi odreene vrste nalaze u istoj tabeli. Ako se potrudite da podatke pravilno razdvojite u vie tabela, trebae vam znatno mae vremena za projektovae i izradu baze podataka. Taj postupak se zove normalizovae podataka.
Savet

Korisno je da napravite zasebnu bazu podataka u koju ete smestiti samo tabele. Kada objekte koje projektujete (upite, obrasce, izvetaje, stranice za pristup podacima, makroe i module) i tabele razdvojite dve zasebne baze podataka, to olakava odravae aplikacije.

U nastavku ovog poglava imaete priliku da prouite primer aplikacije Access Auto Auctions, koja se sastoji od pet tabela.
Referenca

Vie o Accessovom arobaku Splitter saznaete u poglavu 7.

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Zbog ega je korisno da se podaci rasporede u vie tabela


Pomisao da e morati da naprave vie tabela uvek preplai poetnike u oblasti baza podataka. Oni obino rade tako to naprave samo jednu tabelu koja sadri sve podatke u ovom sluaju tabelu Customer (klijent) s podacima o svemu to je odreeni klijent firme prodao ili kupio. Tako naprave jednu tabelu koja sadri sva poa, to podrazumeva poa za line podatke klijenta, poa za podatke o obavenoj prodaji (datum prodaje, iznos isplaen prodavcu, popust itd.), poa za podatke o prodatim artiklima (prodate koliine, nazivi, cene itd.), a sve navedeno za svaku prodaju. Takva tabela zaas naraste na 50 ili vie poa. Svaki put kada pomisle da treba da evidentiraju novu vrstu podataka, dodaju novo poe. Kao to vidite, projektovae strukture tabele poie da postaje sve sloenije. Kada napravite tu jednu tabelu za sve podatke, en sadraj se jo tee odrava. Poeete da uviate da za svaku obavenu prodaju morate da upisujete podatke o klijentu (osobi) za svaku prodaju koju klijent izvri (i da ih vie puta ponavate). Isto vai i za artikle koji su pri tom prodati, kojih obino ima vie pri svakoj prodaji (ime se takoe dupliraju odreeni podaci). Tako se podaci koji su sadrani u tabelama ne mogu efikasno odravati jer su u mnogim zapisima neka poa moda nepotrebna, usled ega tabela sadri veliki broj praznih poa. Vano ja da pravite takve tabele koje sadre minimalan broj poa, ali koje ipak omoguavaju jednostavnu upotrebu sistema i, po potrebi, egovo lako proirivae. Da biste to obezbedili, razmotrite reee s vie tabela u kojem e svaka tabela sadrati samo podatke koji se odnose na svrhu tabele. Kada napravite takve tabele, moete ih meusobno povezati na nain koji omoguava da iz ih izdvajate korisne podatke. Iako se cela ideja na prvi pogled ini veoma sloenom, ena izvedba je relativno jednostavna. Postupak deea jedne tabele na vie ih zove se normalizovae tabela.

Objekti i prikazi Accessove baze podataka


Ukoliko ste poetnik u oblasti baza podataka (ili ak iskusan korisnik baza podataka), pre nego to ponete da koristite Access, neophodno je da shvatite nekoliko kunih pojmova u Accessu. Accessova baza podataka moe da sadri sledeih sedam vrsta objekata, koji se sastoje od podataka i alatki koje su vam potrebne da biste koristili Access:
N N N N N N N

Tabela. U oj su smeteni podaci (sirovi podaci iz tabele prikazuju se u prikazu Datasheet). Upit. Omoguava da pronalazite, sortirate i uitavate traene podatke. Obrazac. Omoguava da unosite i prikazujete podatke u formatu koji zadate. Izvetaj. Omoguava da prikazujete i tampate podatke u formatiranom obliku, ukuujui i proraune i ukupne zbirove. Stranica. Omoguava da na intranet kompanije postavate obrasce s dinamikim sadrajem. Makro. Obezbeuje jednostavne komande pomou kojih bez programiraa moete da automatizujete odreene poslove. Modul. Program napisan na jeziku VBA (Visual Basic for Applications).

Poglave 1 o ta su podaci?

Tabelarni prikazi
Tabelarni prikazi (engl. datasheets) jedan su od mnogih oblika prikazivaa podataka. Iako tabelarni prikaz nije objekat baze podataka, on prikazuje zapise iz tabele u obliku koji poznajemo kao tabela. Tabelarni prikaz prikazuje podatke u obliku niza redova i kolona (slino programima za tabelarne proraune). Tabelarni prikaz samo prikazuje sadraj tabele u sirovom obliku. Takav format, slian programima za tabelarne proraune, podrazumevani je nain prikazivaa svih poa svih zapisa. Kroz sadraj tabelarnog prikaza moete da se kreete pomou kursorskih tastera. U tabelarnom prikazu moete da prikazujete i zapise iz vie povezanih tabela. Osim toga, moete i da meate vrednosti prikazanih podataka.
Upozoree

Budite oprezni kada u ovom formatu unosite promene ili kada dozvolite da to korisnik ini. Kada se u tabelarnom prikazu promeni sadraj zapisa, neposredno se meaju i podaci u samoj tabeli.

Upiti i dinamiki skupovi


Upit (engl. query) se koristi za uitavae podataka iz baze podataka. Upit izdvaja i definie grupu zapisa koji ispuavaju odreene uslove. Upit moete da upotrebite pre nego to poaete izvetaj na tampae da biste odtampali samo eene podatke. Obrasci mogu da koriste upite kao izvor podataka da bi se samo odreeni zapisi (koji ispuavaju zadate uslove) pojavivali na ekranu. Upiti mogu da se koriste i unutar procedura koje meaju, dodaju ili briu zapise baze podataka. Primer upita je kada neko iz odeea prodaje kae: Trebaju mi podaci, sloeni po abecednom redosledu prezimena, o svim naim klijentima koji ive u dravi Masausets i koji su bilo ta kupili u posledih est meseci ili Prikaite mi sve nae klijente koji su u posledih est meseci kupili vozilo vredno 35.000 dolara ili vie; podaci treba da budu sortirani po prezimenu kupca, pa po vrednosti vozila. Umesto da to pitae postavi govornim jezikom, slubenik bi koristio metodu poznatu kao QBE (skraenica od Query By Example upit po primeru). Poto unesete naredbe u QBE prozor, upit prevodi va zahtev u jezik SQL (Structured Query Language strukturirani jezik za upite) i uitava podatke koje ste traili. U prvom navedenom primeru, upit najpre kombinuje podatke iz tabela Sales i Contacts tako to ih povezuje putem poa Contact ID (koja postoje u obe tabele). Zatim uitava poa First Name, Last Name i sva ostala poa koja biste eleli da vidite. Uitane zapise Access zatim filtrira, izdvajajui samo one u kojima poe Sales Date (datum prodaje) sadri vrednost koja se nalazi u opsegu od est meseci unazad od tekueg datuma. Izdvojene zapise Access sortira, najpre po imenu, a zatim i po prezimenu kupca. I najzad, sadraj izdvojenih zapisa prikazuje na ekranu u tabelarnom obliku. Slina akcija odvija se i u drugom primeru koriste se tabele Sales, Contacts, Invoice Items, a uslovi su da poe Description sadri naziv vozila ija je cena jednaka ili vea od 35.000 dolara. Tako izdvojeni zapisi zovu se dinamiki skup (engl. dynaset) jer se egov sadraj dinamiki mea u zavisnosti od sirovih podataka u izvornim tabelama. Poto izvrite upit, dinamiki skup koji dobijete kao rezultat moete da koristite u obrascu koji ete prikazati na ekranu u zadatom formatu ili tampati ga u obliku izvetaja. Tako korisniku dozvoavate pristup samo podacima koji ispuavaju uslove na osnovu kojih je formiran dinamiki skup.

10

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Obrasci za unoee i prikazivae podataka


Obrasci za unoee podataka (engl. data-entry forms) korisnicima omoguavaju da brzo i jednostavno iz baze uitaju tane podatke. Obrasci za unoee i prikazivae podataka omoguavaju strukturiraniji prikaz podataka nego to je tabelarni. Takav strukturirani prikaz prua uvid u zapise baze podataka i omoguava ihovo dodavae, aurirae i brisae. Unoee podataka pomou obrazaca za unoee podataka jeste najuobiajeniji nain upisivaa podataka u tabelu baze podataka. Obrasci za unoee podataka mogu se programirati tako da ograniavaju pristup odreenim poima u tabeli. Osim toga, obrasce moete da iskoristite i za proveravae ispravnosti podataka pre nego to ih upiete u bazu podataka. Veina korisnika podatke radije unosi pomou namenskih obrazaca nego direktno u tabelarnom prikazu; ti obrasci mogu se napraviti tako da lie na papirne dokumente koje korisnici poznaju. Obrasci omoguavaju da unoee podataka bude samo po sebi razumivo tako to korisnika vode kroz poa tabele iji sadraj aurira. Ekrani i obrasci iji sadraj moe samo da se ita (a ne i da se mea) slue iskuivo za uvid u podatke. Takvi obrasci omoguavaju prikazivae samo zadatih poa odreene tabele. Prikazivaem sadraja samo odreenih poa, korisnika spreavate da pristupi poverivim podacima dok mu istovremeno omoguavate itae sadraja drugih poa.

Izvetaji
Izvetaji (engl. reports) prikazuju podatke u tampanom obliku. Sistem za upravae bazama podataka omoguava sastavae mnogobrojnih vrsta izvetaja. Na primer, izvetaj moe da prikae sve zapise iz odreene tabele, kao to je tabela kupaca. Moete da napravite i izvetaj koji prikazuje samo kupce koji ispuavaju odreeni uslov; na primer, sve one koji ive u Novom Sadu. To ete obezbediti tako to ete napraviti izvetaj zasnovan na upitu. Upit formira dinamiki skup koji se sastoji od svih zapisa u kojima poe Grad sadri vrednost NS. Izvetaji mogu da kombinuju podatke iz vie tabela da bi predstavili sloene veze izmeu raznih skupova podataka. Primer toga je tampae fakture (rauna). Tabeli kupaca pristupate da biste dobili ime, prezime i adresu kupca (i druge potrebne podatke o emu), a da biste odtampali pojedinane stavke rauna, pristupate tabeli prodatih artikala. Access moete da programirate tako da izrauna i prikae na obrascu ukupan iznos rauna, u formatu koji vam odgovara. Osim toga, izlazne podatke Access moe da prikae i u obliku fakturnog izvetaja (engl. invoice report), tj. tabele koja predstava fakturu (raun).
Savet

Kada projektujete strukturu tabela baze podataka, vodite rauna o vrstama podataka koje nameravate da tampate. Tako ete obezbediti da podaci koji su potrebni za razne izvetaje budu sadrani u tabelama baze podataka. Opise ostalih objekata baze podataka (stranica za pristup podacima, makroa i modula) nai ete u u odgovarajuim poglavima.

Referenca

Projektovae objekata koji ine sistem


Da biste napravili objekte baze podataka, kao to su tabele, obrasci i izvetaji, prethodno morate da obavite niz poslova koji su poznati pod optim imenom projektovae (engl. design). to je projekat boe uraen, boe e aplikacija raditi. to vie

Poglave 1 o ta su podaci?

11

pae posvetite projektovau, bre ete zavriti rad na sistemu. Projektovae nije nuno zlo, niti mu je svrha da obezbedi to obimniju dokumentaciju. Jedina svrha projektovaa jeste da obezbedi jasna uputstva za izradu aplikacije.

Metoda projektovaa aplikacija u sedam koraka


Na slici 1-2 prikazana je verzija metode projektovaa koja je posebno prilagoena za upotrebu u Accessu. Postupak se sastoji od sedam koraka i odvija se od elemenata na najviem nivou ka onima na najniem, poev od projektovaa osnovne strukture sistema i zavravajui s projektovaem strukture menija.

Opta struktura sistema Izvetaji (izlazni podaci) Strukture podataka (poa)


Tabele (i relacije)

Slika 1-2: Dijagram metode projektovaa u sedam koraka. Ova metodologija projektovaa posebno je prilagoena upotrebi u Accessovim bazama podataka.

Poa (provera ispravnosti) Obrasci (unoee podataka) Meniji (automatizovae)

Iz ovog postupka u sedam koraka, zajedno sa sistemom za upravae bazom podataka koji ilustruju primeri u ovoj kizi, nauiete mnogo o Accessu i stei ete osnovno znae o projektovau aplikacija baza podataka koje obuhvataju baze podataka, tabele, upite, obrasce i stranice s podacima, izvetaje, makroe i jednostavne VBA (Visual Basic for Applications) module. U svakom koraku postupka projektovaa uvek razmotrite ulazne i izlazne podatke. Iako emo pomiati same komponente sistema (klijenti, vozila, prodaja, stavke rauna), imajte u vidu da je namena ovog poglava da objasni kako se projektuje svaki pojedinani korak. Dok prouavate projekat sistema Access Auto Auctions, usredsredite se na postupak projektovaa, a ne na sistem koji projektujemo. Postupak razmatraa ulaza/izlaza esto se naziva analiza potreba (engl. needs analysis).

Korak 1: Osnovna skica od ideje ka stvarnosti


Svi projektanti softvera i kraji korisnici suoavaju se sa istim problemima. Prva grupa problema jeste utvrivae ta bi trebalo uraditi da bi se zadovoili zahtevi

12

Deo I, Odeak I o Rad s tabelama za podatke i upitima

krajeg korisnika (najee naruioca projekta, vaeg saradnika ili vas samog). Veoma je vano da pre nego to ponete da se bavite detaima, tano shvatite koje sve zahteve sistem treba da zadovoi. Metoda projektovaa u sedam koraka (prikazana na slici 1-2) omoguava da izgradite zahtevani sistem po ceni (izraenoj u vremenu ili novcu) koja je za vas prihvativa. Na primer, Access Auto Auctions je aplikacija baze podataka koja klijentima kompanije omoguava da prodaju razne artikle (vozila i rezervne delove) kupcima. Aplikacija moe da radi na lokalnom raunaru ili na Internetu i treba da automatizuje sledee poslove:
N N

N N N N N N N

Unoee i odravae podataka o klijentima (kupci, prodavci) ime, prezime, adresa, kao i finansijske podatke o ostvarenom prometu. Unoee i odravae podataka o kupoprodajnim transakcijama datum prodaje, nain plaaa, ukupan iznos (zajedno s porezom), ifra kupca i drugi podaci. Unoee i odravae podataka za stavke rauna analitiki podaci o prodatim artiklima. Prikazivae podataka sadranih u svim tabelama, kao to su rauni, klijenti, stavke rauna i nain plaaa. Postavae raznih vrsta upita nad sadrajem baze podataka. tampae imenika tekuih klijenata. tampae mesenog pregleda izdatih rauna. tampae pregleda kupoprodaje po kupcima. tampae cirkularnih pisama i nalepnica sa adresama.

Konceptualni deo projekta


U ovoj fazi, navedenih devet poslova koje aplikacija Access Auto Auctions treba da automatizuje postoji tek u konceptualnom obliku, tj. samo kao lista zahteva naruioca projekta. Kada zaponete projektovae, mogu se pojaviti i drugi zahtevi. Postupak projektovaa je iterativne prirode, tj. im zavrite jedan od koraka, potrebno je da ponovo razmotrite sve prethodne da biste proverili da li se neto promenilo u osnovnom konceptu. Na primer, ako prilikom definisaa odreenog pravila koje e vaiti pri unoeu podataka ustanovite da vam treba jo jedno poe (koje ne postoji u tabeli) da biste mogli da proveravate ispravnost prvog poa, moraete da se vratite i ponovite sve prethodne korake potrebne za dodavae novog poa. Novo poe morate obavezno da dodate u svaki izvetaj u kojem elite da ga vidite. Osim toga, morate da obezbedite i to da se novo poe nalazi barem na jednom obrascu za unoee podataka u kojem se koristi tabela kojoj to poe pripada. Tek kada sve to obavite, novo poe moe da se koristi u sistemu.

Razgovori s buduim korisnicima


Veinu informacija koje su vam neophodne za graee sistema moete dobiti od udi za koje gradite sistem, tj. od egovih buduih korisnika. To znai da treba da se sastajete s ima i razgovarate kako biste saznali ta i kako radi postojei runi sistem. To ete postii analizom potreba korisnika ili tekueg sistema na osnovu ega ete osmisliti nain egovog automatizovaa. Jedan od naina da to obavite jeste da sastavite spisak pitaa koja omoguavaju da saznate kako naruilac projekta trenutno obava svoje poslovne aktivnosti.

Poglave 1 o ta su podaci?

13

Na primer, kada je u pitau automatizovae poslovaa sistema za prodaju vozila javnim nadmetaem, mogu biti korisni odgovori na sledea pitaa:
N N N N N N

Kakvi su izvetaji i obrasci trenutno u upotrebi? Kako se trenutno odravaju podaci o kupoprodaji? U kom obliku se uvaju runi zapisi/dijagrami o klijentima firme, prodaji ihovih vozila ili drugih artikala koje nude? ta se dogaa ako se u roku od jedne godine ili due odreeni klijent ne javi ponovo? ta se radi s egovim podacima kad proe godina? ta posle pet godina? Kako se izdaju rauni?

Dok postavate ova i druga pitaa, naruilac projekta e se verovatno setiti i drugih ienica u vezi s drugim svojim poslovnim aktivnostima koje bi trebalo da uzmete u obzir. Prouavae tekueg runog naina poslovaa neophodno je i zato da biste stekli pravi oseaj. Verovatno ete morati vie puta da posmatrate kako se odvija runi nain poslovaa i ta pojedini slubenici rade. Kad god se pripremate da preete na naredni korak, obavestite naruioca o tome opiite mu ta trenutno radite i u vezi s tim od ega zatraite povratne informacije da biste obezbedili da vai rezultati zadovoavaju egove potrebe.

Izrada prototipa
Ponekad je boe da prvo napravite prototip sistema koji e naruilac projekta ispitati i na osnovu svojih zapaaa pruiti vam dodatne informacije o onome to bi trebalo da uradite da bi konana verzija sistema zadovoila sve zahteve. U svom najjednostavnijem obliku prototip je radni model budueg sistema koji ilustruje sve egove osnovne funkcije. Sastoji se od jedne ili vie tabela koje slue za demonstrirae rada obrazaca i izvetaja koji pripadaju sistemu. Prototip obuhvata vizuelne komponente budueg sistema, ali nedostaje mu logika na osnovu koje e taj sistem biti sagraen. Prototip slui samo da korisnici steknu vizuelni utisak naina na koji e budui sistem izgledati i raditi kada bude zavren. On se esto moe sagraditi za samo nekoliko dana i isporuiti naruiocu projekta da bi vam on prosledio svoja zapaaa. Time korisniku omoguavate da ispita funkcionalni prototip koji prikazuje podatke i naine pristupaa podacima putem obrazaca i izvetaja. Ponekad graee prototipa moe da bude uzrok veoma jakog stresa za projektanta. Sutina je u tome da se pomou prototipa pokua doarati budui izgled aplikacije i ugradi mogunost unoea izmena. Problem je u tome to se taj posao esto zapoie bez jasne vizije kakav bi trebalo da bude konaan rezultat. Imajte u vidu da je prototip samo funkcionalni model budueg sistema, to znai da su izmene neizbene. Zbog ega se onda uopte prave prototipovi? Oni su korisni kada treba pretoiti u vizuelni oblik buduu strategiju ili pravac razvoja, ili kada treba pokazati funkcionalnost odreenog obrasca, ili dokazati vaanost odreenog koncepta. Osim toga, pomou prototipa moete da ispitujete reagovae korisnika, funkcije sistema, kao i pojedine koncepte ili pravce razvoja sistema. Zbog svih nabrojanih razloga prototipovi predstavaju dragocenu alatku u postupku graea aplikacije baze podataka.

14

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Da biste napravili prototip osnovnih funkcija sistema, na osnovu informacija koje prikupite tokom poetnih razgovora s naruiocem projekta morate brzo odrediti glavne komponente budue baze podataka. Ne bi trebalo da prototip postane konana verzija sistema to je tek egov model. Ako o toj ienici vodite rauna, ne bi trebalo da na pravee prototipa potroite nedee i mesece. Trebalo bi da imate na umu sledeu dobru analogiju: prototip zamislite kao naslikanu kuu koja se postava za snimae uline scene u nekom filmu. Spreda kua lepo izgleda, ali kada otvorite vrata, s druge strane je samo prazna livada; sve je samo obian dekor! Sutina je u tome da dobar prototip tedi vreme i znaajno smauje ukupnu cenu projekta.

Korak 2: Projektovae izvetaja postavae poa


Poto smo definisali potrebe sistema Access Auto Auctions sa aspekta onoga to treba uraditi, moemo da preemo na sledei korak, tj. na projektovae izvetaja. Na osnovu poznavaa tekueg sistema, postupak projektovaa treba ralaniti na najnie nivoe detaa tog sistema. Ponite svaki novi korak tako to ete ponovo razmotriti opte cieve projekta. U primeru kompanije Access Auto Auctions, cievi su evidentirae podataka o klijentima (prodavcima i kupcima), kupoprodajama, evidentirae svih prodatih artikala, izrada imenika klijenata i tampae nalepnica sa adresama. Slike 1-3 i 1-4 prikazuju izgled dva izvetaja koja bi se mogla koristiti u sistemu.
Slika 1-3: Izvetaj koji prikazuje podatke o klijentu firme.

Poglave 1 o ta su podaci?

15

Slika 1-4: Izvetaj tipa raun prikazuje podatke o obavenoj prodaji.

Razmetae poa izvetaja


Kada gledate izvetaje koje ete napraviti u ovom odeku, moda se pitate: ta je starije, kokoka ili jaje? Treba li prvo da napravite skicu izvetaja, ili je boe da najpre odredite koji podaci i tekst treba da se pojave u emu? U stvari, treba raditi istovremeno na oba aspekta. U ovoj fazi izvetaja nije vano kako ete razmestiti podatke. Meutim, to vie pae posvetite tome sada, lake ete napraviti konani oblik izvetaja. Neki udi idu tako daleko da na skicu izvetaja ak postavaju linije (voice) kako bi znali tano mesto koje e svako pojedinano poe zauzeti. U ovom primeru, samo vaa ruka bie dovono precizna. Izvetaji na slikama 1-3 i 1-4 imaju razliite namene. Izvetaj sa slike 1-3 prikazuje podatke o jednom klijentu kompanije (kupcu, prodavcu ili oboje). Za razliku od toga, izvetaj prikazan na slici 1-4 tipian je primer rauna koji sadri podatke o kupcu i razne iznose. Oba ta izvetaja, iako razliita, napravena su razmatraem vrsta podataka koji treba da se pojavuju u ima. Vizuelni izgled izvetaja osmien je uporedo sa analizom potreba ta sve treba da se prikae u izvetaju.
Savet

Kad god pravite nov izvetaj, trebalo bi da prvi korak napravite pomou olovke i papira. Poto pregledate sve postojee i nove izvetaje u sistemu, moi ete da utvrdite vrste podataka koji bi trebalo da se uvaju u novom automatizovanom sistemu. Ako elite da saznate vie o izvetajima u aplikaciji Access Auto Auctions, pogledajte poglava 12 i 13.

Referenca

16

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Korak 3: Projektovae struktura podataka koja poa vam trebaju?


Poto sada znate koji su vam izlazni podaci potrebni, vreme je da razmislite o tome kako ete ih organizovati unutar sistema da bi bili na raspolagau za izvetaje koje ste definisali (kao i za budue ad hoc upite). Sledei korak u postupku projektovaa jeste da sastavite spisak poa baze podataka koja e vam biti potrebna da biste obezbedili zahtevane izlazne podatke u obliku obrazaca i izvetaja. Jedan od najboih naina da to uradite jeste da sastavite spisak svih poa koja se pojavuju u izvetajima. Dok to radite, paivo pribeleite sva poa koja se pojavuju u vie izvetaja. Proverite da li se ime podatka koje se pojavuje u dva ili vie izvetaja zaista odnosi na isti podatak. Druga metoda jeste da utvrdite da li odreene podatke moete da organizujete u logike celine. Kasnije ete te podatke grupisati u logike strukture tabela i povezati sa obrascima za unoee podataka koje procenite da su smisleni i potrebni za rad aplikacije. Na primer, podatke o klijentima kompanije (kupci i prodavci) unosiete u okviru funkcije odravaa tabele klijenata kompanije, a ne kao deo funkcije evidentiraa jedne kupoprodaje.
Savet

Postupak grupisaa srodnih informacija poznat je pod imenom normalizovae baze podataka. Dok sa elementima podataka (poima) radite na konceptualnom nivou, trebalo bi da ih grupiete u logike celine (na primer, poa koja e sadrati podatke o klijentima kompanije, poa za podatke o kupoprodajama itd).

Utvrivae koji su podaci o klijentima potrebni


Najpre prouite pojedinano svaki izvetaj koji ste pogledali ili pokuali da napravite za aplikaciju Access Auto Auctions. Za ovaj sistem, ponite tako to ete napraviti spisak podataka koji se pojavuju u tim izvetajima i koji se odnose na klijente kompanije (tabela 1-1). Tabela 1-1 Podaci koji se odnose na klijente kompanije i koji se pojavuju u izvetajima
Izvetaj o klijentima kompanije Customer Name (ime i prezime, ili naziv klijenta) Street (ulica) City (mesto) State (savezna drava) ZIP Code (potanski broj) Phone Numbers (telefonski brojevi) Type of Customer (vrsta klijenta) E-Mail Address (adresa e-pote) Web Site Information (adresa Web lokacije) Contact Log Information (podaci o prolim aktivnostima klijenta, 4 poa) Discount Rate (procenat popusta) Customer Since (klijent od) Last Sales Date (datum poslede kupoprodaje) Sales Tax Rate (poreska stopa na promet) Credit Information (podaci o kreditirau, 4 poa) Raun za obavenu prodaju Customer Name Street City State ZIP Code Phone Number

Poglave 1 o ta su podaci?

17

Kao to vidite, kada uporedite podatke o klijentu koji se pojavuju u oba izvetaja, mnoga poa se dupliraju. Veina podataka o klijentu pojavuje se u oba izvetaja. Tabela 1-1 prikazuje samo deo poa koja se koriste u navedenim izvetajima, tj. poa koja sadre podatke o klijentu. Poa koja se pojavuju u oba izvetaja prikazana su u istom redu tabele da biste lake uoili koje poe kojem izvetaju pripada. Moete potraiti u istom redu, umesto da ista imena traite u celoj tabeli. Poto su u odgovarajuem redu imena poa jednaka, lako moete da proverite da li ste pobrojali sve elemente podataka. Mogunost jednostavnog utvrivaa da li ste neki element podataka ve popisali nije tako vana u ovoj maloj bazi podataka; meutim, to je veoma korisno kada radite s velikim tabelama.

Utvrivae koji su podaci neophodni za evidentirae kupoprodaje


Poto smo izdvojili podatke o klijentima, prelazimo na podatke o obavenim kupoprodajama. U ovom sluaju treba samo da analiziramo izvetaj koji predstava raun za obavenu kupoprodaju da bismo iz ega izdvojili podatke koji se tiu kupoprodaje. U tabeli 1-2 prikazana su poa iz tog izvetaja koja sadre podatke koji se odnose na kupoprodaju. Tabela 1-2 Podaci koji se u izvetajima odnose na prodaju
Izvetaj koji predstava raun Broj rauna (Invoice Number) Datum prodaje (Sales Date) Datum rauna (Invoice Date) Nain plaaa (Payment Method) Ime prodavca (Salesperson) Ukupan popust na ceo iznos prodaje (Discount) Mesto oporezivaa (Tax Location) Poreska stopa (Tax Rate) Nazivi prodatih artikala (kolona Product, vie redova) Koliine prodatih artikala (kolona Qty, vie redova) Nazivi prodatih artikala (Description, vie redova) Cene prodatih artikala (kolona Price, vie redova) Popust po stavci (kolona Disc %, vie redova) Oporezivo (kolona Taxable?, vie redova) Nain uplate (kolona Payment Type, vie redova) Datum uplate iznosa (kolona Payment Date, vie redova) Iznos uplate (kolona Payment Amount, vie redova) Broj kreditne kartice (kolona Credit card Number, vie redova) Rok za uplatu (kolona Expiration Date, vie redova)

Kao to vidite, kada uporedite vrste podataka o kupoprodaji koji se pojavuju u raunu, nekoliko stavki (poa) se ponavaju; na primer, naziv, koliina i cena prodatog artikla. Raun moe imati vie stavki, a u svakoj od ih potrebne su iste vrste podataka koliina i cena prodatog artikla. Svaki raun e verovatno imati vie od jedne stavke prodatih i obraunatih artikala. Osim toga, uplata ukupnog iznosa

18

Deo I, Odeak I o Rad s tabelama za podatke i upitima

svakog rauna moe biti podeena na vie deliminih uplata, tj. jednom raunu moe biti pridrueno vie stavki uplata; zbog toga su te ponavajue stavke postavene u zasebnu grupu.

Utvrivae koji su podaci potrebni za svaku stavku rauna


Prodate artikle koji se pojavuju na raunu moemo izdvojiti u zasebnu grupu. Tabela 1-3 prikazuje podatke koji se pojavuju u svakoj stavci rauna. Tabela 1-3 Izdvajae podataka o stavkama rauna
Podaci koji se pojavuju u stavkama rauna Naziv prodatog artikla (Product) Koliina prodatog artikla (Quantity) Naziv prodatog artikla (Description) Jedinina cena prodatog artikla (Price) Popust po stavci (Discount) Oporezivo (Taxable?)

Ako ponovo pogledate izvetaj prikazan na slici 1-4, uoiete da u tabeli nije navedeno poe za izraunat iznos stavke, ali takvo poe moete lako postaviti u izvetaj.
Savet

Ako nije neophodno da se vrednost odreenog poa uva u tabeli, moete je izraunati pri svakom tampau izvetaja (ili pri otvarau obrasca). Tabele ne bi trebalo da sadre poa ija se vrednost izraunava na osnovu sadraja drugih poa jer se takva izraunata poa mogu postaviti i prikazivati na obrascima i izvetajima. Nemojte rasipati prostor na disku, da o vaem dragocenom vremenu i ne govorimo!

Kombinovae podataka
Sada dolazi tei deo. Treba da utvrdite koja su poa potrebna u tabelama na osnovu kojih ete praviti izvetaje. Poto razmotrite mnogobrojna poa i proraune koji se pojavuju u dokumentima do kojih ste doli, poeete da shvatate koje poe pripada kojoj tabeli. (Jedan deo posla ve ste obavili razmetaem poa u logike grupe.) Zasad ukuite u tabele sva poa koja ste izdvojili. Kasnije ete morati da dodate i druga (iz razliitih razloga), mada se neka poa nee pojaviti ni u jednoj tabeli. Poto iz svih izvetaja iscrpite sva poa s podacima, razvrstajte podatke po funkcijama (na primer, grupisano po logikim grupama), a zatim ih uporedite gledano iz ugla funkcija. Da biste to uradili, prvo treba da prouite sve podatke o klijentima kompanije koje imate i da iz ih izdvojite skup osnovnih podataka koji su dovoni za opisivae klijenta. Zatim uradite to isto s podacima koji se odnose na raun i stavke rauna. Tabela 1-4 daje uporedni pregled te tri grupe podataka. Tabela 1-4 Uporedni pregled tri grupe podataka
Podaci koji se odnose na klijenta Customer Name Street City State Podaci koji se odnose na raun Invoice Number Sales Date Invoice Date Payment Method Podaci koji se odnose na stavke rauna Product Quantity Description Price

Poglave 1 o ta su podaci?

19

Tabela 1-4 Uporedni pregled tri grupe podataka (nastavak)


Podaci koji se odnose na klijenta ZIP Code Phone Numbers (2 poa) Type of Customer E-Mail Address Web Site Information Discount Rate Customer Since Last Sales Date Sales Tax Rate Credit Information (sadri 4 poa) Podaci koji se odnose na raun Payment Salesperson Discount (ukupno po raunu) Tax Location Tax Rate Payment Type (vie redova) Payment Amount (vie redova) Credit card Number (vie redova) Expiration Date (vie redova) Podaci koji se odnose na stavke rauna Discount for each item (po stavci) Taxable?

Contact Log Information (4 poa) Payment Date (vie redova)

Grupisae i poreee podataka dobar je nain da zaponete postupak definisaa tabela za aplikaciju Access Auto Auctions, ali ima jo mnogo toga to treba da uradite. Kada budete stekli vie znaa o projektovau struktura podataka, otkriete da podatke koji se pojavuju u koloni o klijentima morate da razdvojite u dve kolone. Neki od tih podataka se pojavuju samo po jednom za svakog klijenta; drugi se, pak, pojavuju vie puta; na primer, podaci koji spadaju u grupu Contact Log. Slino vai i za podatke u koloni o raunu podaci koji se odnose na uplaene iznose mogu se sastojati od vie redova, Te dve vrste podataka moraju se dae razdvojiti u vlastite kolone to predstava primer dela postupka projektovaa koji se zove normalizovae (engl. normalization). Na primer, kompanija moe vie puta da stupi u kontakt sa istim klijentom. Osim toga, klijent moe da isplati ukupan iznos jednog rauna u vie deliminih uplata. Razume se, podatke smo ve razdvojili u tri kolone prethodne tabele: klijenti, rauni i stavke rauna. Imajte u vidu da jednom klijentu moe biti izdato vie rauna, a svaki raun moe imati vie stavki. Grupu podataka o klijentu ine podaci o osobama (kupcima i prodavcima), grupa podataka koji se odnose na raune sadri podatke o kupoprodajama, dok se grupa podataka o stavkama rauna sastoji od podataka o prodatim artiklima. Obratite pau na to da su te tri kolone meusobno povezane; na primer, jedan kupac moe imati vie rauna, a svaki raun moe sadrati vie stavki. Veze izmeu tabela mogu se razlikovati, u zavisnosti od toga s koje strane posmatrate. Na primer, jedan raun moe biti povezan sa samo jednim kupcem (to se zove veza, ili relacija, tipa jedan prema jedan). Nasuprot tome, jedan kupac moe imati vie rauna, to ini vezu tipa jedan prema vie. Veza tipa jedan prema vie postoji i izmeu rauna i stavki rauna.
Referenca

U poglavu 2 opisane su relacije izmeu tabela i kako se one uspostavaju.

U ovoj fazi, osim postojee tri, u tabelu 1-4 mogli biste da dodate nove kolone koje opisuju podatke koji se potencijalno mogu pojaviti u vie redova, kao to su podaci o kontaktima s klijentom i podaci o uplatama. Meutim, postojee tri kolone predstavaju tri glavne grupe podataka (tri glavne tabele) aplikacije koje su neophodne

20

Deo I, Odeak I o Rad s tabelama za podatke i upitima

za aplikaciju Access Auto Auctions. Bie potrebne i druge tabele, a svakoj grupi podataka, ako je pretvorimo u tabelu, bie neophoda i dodatna poa. Kolone tabele 1-4 sadre veinu poa koja su potrebna za tabele baze podataka Access Auto Auctions. Uneete i mnoge druge izmene dok budete razmatrali i poboavali strukture tabela.

Povezivae grupa/tabela
Ako pretpostavimo da tri grupe podataka predstavaju tri tabele sistema koji projektujete, bez poa koja ete kasnije dodati, potrebno je i da na neki nain meusobno poveete te tabele. To znai da ete svakoj grupi podataka morati da dodate jedan ili vie identifikacionih poa. Nijedna od tih grupa/tabela ne sadri identifikaciono poe koje sadri jedinstvene vrednosti (nain da svaki zapis u grupi postane jedinstven i da se lako pronalazi), to znai da ete svakoj grupi morati da dodate barem jedno poe ija e namena biti da povee odreeni zapis, ili grupu zapisa, iz jedne tabele sa odgovarajuim zapisom ili grupom zapisa u drugoj tabeli. Na primer, u tabelu Contacts moete dodati poe Contact ID, koje e sadrati neku numeriku vrednost. Zatim, tu istu vrednost moete staviti u tabelu Invoice (rauni), to e omoguiti da se za svaki raun iz tabele rauni pronau odgovarajui podaci o kupcu u tabeli Contacts. Na slian nain mogu se povezati tabela Invoices i tabela Line Items (stavke rauna) dodajte poe za broj rauna (Invoice Number) u obe tabele. Jedna grupa podataka povezuje se s drugom putem specijalnih poa poznatih kao kuna poa. Poto sada znate zbog ega je potrebno da poveete jednu grupu podataka s drugom, moete dodati nova poa u svaku grupu. Tabela 1-5 prikazuje novu grupu i vezivna poa dodata u svaku grupu/tabelu. Ta vezivna poa, poznata kao poa primarnih kueva i poa sponih kueva, mogu se upotrebiti za meusobno povezivae tabela. Tabela 1-5 Tabele sistema i ihovi kuevi
Contacts (klijenti) Contact ID (ifra klijenta) Customer name (ime i prezime kupca) Street (ulica) City (grad) State (savezna drava) ZIP Code (potanski broj) Phone Numbers (tel. brojevi, dva poa) Type of Customer (vrsta klijenta) Invoice (raun) Invoice ID (broj rauna) Contact ID Line Items (stavke rauna) Invoice ID (broj rauna) Contact Log (istorijat kontakata) Contact ID (ifra klijenta) Sales Payment (uplate po raunu) Invoice ID (broj rauna) Payment Type (vrsta uplate) Payment Date (datum uplate) Payment Amount (iznos uplate)

Line Number Contact Date (redni broj stavke) (datum kontakta) Product (prodati artikal) Quantity (koliina) Description (opis prodatog artikla) Notes (napomena) Folow up? (odgovor?)

Sales Date (datum prodaje) Invoice Date (datum rauna) Payment Method (nain uplate)

Follow up date Credit card Number (datum odgovora) (broj kred. kartice) Expiration Date (rok vaea kartice)

Payment SalesperPrice (cena artikla) son (korisnik uplate) Discount (ukupan popust na ceo iznos rauna) Discount (popust, na iznos pojedinane stavke)

Tax Location Taxable? (mesto oporezivaa) (oporezivo?)

Poglave 1 o ta su podaci?

21

Tabela 1-5 Tabele sistema i ihovi kuevi (nastavak)


Contacts (klijenti) E-Mail Address (adresa e-pote) Web Site Information (adresa Web lokacije) Discount Rate (procenat popusta) Customer Since (klijent od) Last Sales Date (datum poslede prodaje) Sales Tax Rate (vaea poreska stopa) Invoice (raun) Tax Rate (poreska stopa) Line Items (stavke rauna) Contact Log (istorijat kontakata) Sales Payment (uplate po raunu)

Kada svakoj tabeli dodate vezivno poe, potom u tabelama moete pronai poa koja omoguavaju da odreenu tabelu poveete s drugom kada vam je takva veza potrebna. Na primer, iz tabele 1-5 vidi se da poe Contact ID postoji i u tabeli Contacts i u tabeli Invoice (rauni) (kasnije emo je nazvati Sales prodaja).
Referenca

Kako se uspostavaju razne vrste relacija izmeu tabela i vanost tih veza detanije je opisano u poglavu 2, u odeku o relacijama. Potraite u poglavu 2 detana objaea kueva i relacija izmeu tabela.

Korak 4: Projektovae tabela i veza izmeu ih


Dosad ste odredili tri primarne tabele koje e se koristiti u sistemu, ije su strukture date u prve tri kolone tabele 1-5. To je osnovni, ili prvi korak ka konanoj strukturi tabela. Napravili ste dodatne tabele (kolone) od poa prikazanih u tabeli 1-4. Vreme koje posvetite osmiavau pravilnih struktura baze podataka i tabela koje ona sadri opravdano se smatra najvanijim korakom u razvoju aplikacije koja radi s bazom podataka. Ukoliko osmislite efikasnu strukturu baze podataka, odraete kontrolu nad podacima, to e omoguiti da se pri unoeu podataka izbegnu greke i da se podaci unose samo u neophodna poa. Iako namena ove kige nije uee teorije baza podataka i svih enih finesa, korisno je da ukratko opiemo postupak normalizovaa baze podataka.

Normalizovae baze podataka


Normalizovae baze podataka moe se definisati otprilike kao postupak optimizovaa naina skladitea i upotrebe podataka u tabelama. Godine 1972, E.C. Kod (E.C.Codd), istraiva u IBM-u, prvi je predloio formalan postupak normalizovaa (lanci Normalized Data Structure: A Brief Tutorial i Relational Completeness od Database Sublanguages, 1972). Kod je predloio da projektant podvrgne svaku tabelu nizu testova da bi utvrdio da li se ona nalazi u jednoj od normalnih formi. Na poetku je predloio tri normalne forme: prvu, drugu i treu.

22

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Opisano jednostavnim reima, te normalne forme zasnivaju se na funkcionalnim zavisnostima poa u tabeli i naina na koji se ona povezuju s drugim tabelama u sistemu baze podataka. Normalizovaem se obezbeuje da se podaci u tabelama efikasno koriste i skladite.

Normalizovae u treu normalnu formu


Kad god moete, treba da pokuate da strukturu tabele osmislite tako da tabela bude u treoj normalnoj formi. To samo znai da tabele treba da raspodelite tako da odgovaraju grupama podataka koje ste utvrdili prethodnom analizom (kolone u tabelama 1-4 i 1-5). Poto to obavite, moete da prouite svaku tabelu pojedinano da biste utvrdili da li moete da je jo vie optimizujete. To je svrha postupka koji se zove normalizovae u treu normalnu formu (engl. Third Normal Form, 3NF), a sastoji se od tri koraka, koji su opisani u narednim odecima.
Napomena

Postupak se esto obava posle definisaa svih poa koja su potrebna u tabeli. Moe biti korisno da se vratite u ovaj odeak poto zavrite formirae tabela aplikacije Access Auto Auctions.

Razlozi zbog kojih bi trebalo da se potrudite da svoje tabele normalizujete u treu normalnu formu jesu sledei:
N

Eliminisae dupliranih podataka. Kada upisujete podatke u tabele, moete naii na dva problema: prvo, upisivaem istovetnih podataka na vie mesta troi se vie prostora na disku i drugih resursa nego to je to zaista neophodno; drugo, kada se upisuju isti podaci na vie mesta, moe doi do tipografskih greaka. Boa prilagodivost na budue izmene. Posle uvoea u redovnu upotrebu, baza podataka nastava da raste i ivi nekim svojim ivotom. Ako tabele ne normalizujete, rizikujete da zapeete poa koja ete kasnije moda morati da proirujete. Na primer, moda u svom sistemu imate dva poa za telefonske brojeve (jedno za kuni broj, a drugo za broj na poslu). Kasnije ustanovite da vam trebaju i poa za broj mobilnog, a moda ak i broj pejdera. Promeniti strukture tabela da bi mogle da prihvate nove podatke nije nimalo jednostavan posao. Sistem mora biti u stau da se brzo prilagodi takvim problemima koji se mogu pojaviti usled promena u okrueu baze podataka.

Tu vrstu problema moete izbei ako tabele formirate u skladu s pravilima normalizovaa tako da svaka tabela bude u treoj normalnoj formi.

Prva normalna forma (1NF)


Usklaivae tabele s prvom normalnom formom relativno je jednostavno. Prvo pravilo glasi da treba da uklonite sve grupe podataka koje se ponavaju tako to ete ih prebaciti u zasebnu tabelu. Na primer, ako u tabeli 1-4 pogledate grupu podataka o klijentima, uoiete da unutar e postoji grupa podataka koji se ponavaju. Te podatke koji se odnose na klijenta (Contacts) moete premestiti u zasebnu tabelu, a zatim te dve tabele poveite putem vezivnog poa koje ete dodati u obe tabele. Tabela 1-5 prikazuje kako su ta poa premetena u zasebnu tabelu, koja je potom povezana s prvobitnom tabelom pomou poa Contact ID.

Poglave 1 o ta su podaci?

23

Trea normalna forma u aplikaciji Access Auto Auctions


Tabele sadrane u bazi podataka za primer aplikacije Access Auto Auctions nisu usklaene s treom normalnom formom. U mnogim aplikacijama u stvarnom poslovnom svetu okolnosti su takve da se ponekad mora odstupiti od slepog pridravaa odreenog pravila. Na primer, prva normalna forma propisuje da se isti podaci ne smeju nalaziti na vie mesta. Tabela tblProducts sadri vrednosti koje se odnose na cene (poe Price) prodajnih artikala. Stavke rauna, sadrane u tabeli tblSalesLineItems, takoe sadre poe s cenom prodatog artikla. Meutim, cene se meaju. Kada se raunu doda nova stavka, kopira se tekua cena. Ako bi se u stavci rauna uvala samo ifra artikla, a cena uitavala iz tabele tblProducts kada se tampa raun, nastao bi sledei problem: ako je u tabeli tblProducts cena izmeena nakon datuma kupoprodaje, ne biste prihvatili novu cenu koja bi se tada pojavila na raunu (osim ako je nia). To je poznato kao vremenski zavisan podatak, koji je tehniki razlog zbog kojeg se prva normalna forma ne potuje u tabeli. Razlog je tehniki jer se budui da se u jednoj tabeli evidentira cena samo kada se promeni, a u drugoj se uva cena koja je vaila u nekom trenutku ta dva podatka smatraju razliitim. Imajte to u vidu dok itate ovaj odeak. Da bi razlika bila jasnija, mogli biste dati razliita imena tim poima. Da biste zadovoili treu normalnu formu, moete napraviti jednu povezujuu tabelu koja sadri cenu artikla koja je vaila u trenutku prodaje i da je veete za tabelu stavki rauna to bi jo vie komplikovalo primer koji obraujemo u ovoj kizi. Radi jednostavnosti, opredelili smo se da isto poe zadrimo u obe tabele.

U tabeli Contacts postoje i poa City (grad) i State (savezna drava). U stvarnoj aplikaciji trebalo bi da ta poa premestite u drugu tabelu, koju ete povezati s prvom putem potanskog broja (pod uslovom da se, u SAD, koristi devetocifreni potanski broj, umesto uobiajenog petocifrenog). Slaemo se da bi u ovoj vebi to bilo najpravilnije. Meutim, radi jednostavnosti, navedena poa ostavili smo u tabeli Contacts, to omoguava upisivae amerikih petocifrenih potanskih brojeva ili potanskih brojeva gradova iz drugih zemaa.

Druga normalna forma (2NF)


Konverzija tabele u drugu normalnu formu zahteva malo vie razmiaa. Sutina je u tome da svaka tabela treba da ima definisan primarni ku. Opisano jednostavnim reima, primarni ku je poe ili kombinacija poa tabele koja ini da svaki zapis sadran u tabeli bude jedinstven. Ta odlika omoguava da zapis koji vam treba brzo pronaete pretraivaem jedinstvenog (primarnog) kua.
Referenca

Vie informacija o primarnim kuevima nai ete u poglavu 2.

Na primer, u tabeli 1-5 poa Invoice ID (broj rauna) i Line Number (redni broj stavke) sadrana su u tabeli Line Items (stavke rauna). Kada se sadraj tih poa kombinuje, rezultat je primarni ku koji sadri jedinstvenu vrednost. (Budui da jedan raun moe imati vie stavki, tabela Invoice mora se povezati s tabelom Line Items pomou poa Invoice ID; meutim, da bi svaki zapis u tabeli Line Items bio jedinstven, potrebno je jo jedno poe za redni broj stavke rauna zbog toga je dodato poe Line Number). Ako pogledate tabelu Line Items, uoiete dva poa Product (prodati artikal) i Description (opis artikla). Budui da je verovatno da e se ti elementi (podaci) ponavati u vie zapisa, trebalo bi da ih premestite u zasebne tabele. Vie kupaca

24

Deo I, Odeak I o Rad s tabelama za podatke i upitima

moe kupiti isti artikal, tj. isti artikal moe se pojaviti u vie rauna. Ta poa premestite u zasebnu tabelu, a tabeli Line Items dodajte poe Product ID (ifra artikla), koje tu tabelu povezuje s tabelom Products (artikli), u kojoj postoji istoimeno poe. To omoguava da se iz tabele Products uitavaju nazivi i opisi pojedinih artikala.

Trea normalna forma (3NF)


Posledi korak 3NF modela neto je tei. Sutina je u tome da sva poa u tabeli budu neposredno zavisna od poa primarnog kua. Na primer, ako pogledate tabelu 1-5, uoiete da tabela Invoice (raun) sadri vie poa s podacima koja nisu neposredno povezana s raunima to su poa Discount (popust), Tax Rate (poreska stopa) i Payment Method (nain plaaa) i Tax Location (mesto oporezivaa). Ta poa treba premestiti u jednu ili vie tabela koje su pogodnije za ih i koje e biti povezane s tabelom Invoice.
Referenca

Za svrhe upotrebe u primerima u ovoj kizi, vie pomenutih poa ostaviemo i u konanoj verziji tabele Invoice i drugih tabela, usled ega sistem nee biti normalizovan, ak ni u drugu normalnu formu.

Ukratko, kada projektujete tabele, treba da nastojite da ih gradite u 3NF jer ete tako znaajno poboati tanost i performanse sistema.

Korak 5: Projektovae poa i definisae pravila za unoee podataka i ihovu prihvativost


Sledei korak je formirae samih tabela i definisae poa u ima. Neophodno je i da definiete pravila za ispravnost podataka u svakom pou, kao i da definiete nekoliko novih tabela pomou kojih ete kontrolisati ispravnost podataka.

Zadavae imena, tipova i veliina poa


Prvo, svakom pou morate dati ime. Trebalo bi da bude takvo da se lako pamti i da na osnovu ega prepoznajete namenu poa. Preporuivo je da bude dugako tek koliko je neophodno da opisuje namenu poa, ali i da ne bude prekratko da ne bi postalo nerazumivo. Access dozvoava da ime poa bude dugako najvie 64 znaka (ukuujui i razmake). Morate da zadate i tip podataka koji e se uvati u pou. U Accessu moete da izaberete jedan od sledeih tipova podataka:
N N N N N N N N N

Text. Alfanumeriki znaci; najvie 255 znakova. Memo. Alfanumeriki znaci; dugaki nizovi do 64.538 (64K) znakova. Number. Brojane vrednosti raznih tipova i formata. Date/Time. Podaci tipa datum i/ili vreme. Currency. Novane vrednosti. AutoNumber. Broja koji se automatski poveava. Yes/No. Logike vrednosti tipa da/ne, istinito/neistinito. OLE object. Slike, dijagrami, zvuni zapisi, video zapisi, datoteke programa za obradu teksta i programa za tabelarne proraune. Hyperlink. Poe koje upuuje na mesto gde se nalaze slike, dijagrami, zvuni zapisi, video zapisi, datoteke programa za obradu teksta i programa za tabelarne proraune.

Poglave 1 o ta su podaci?

25

Svakom pou tabele mora biti dodeen jedan od navedenih tipova podataka. Za poa tekstualnog tipa morate zadati i duinu podatka u pou.
Referenca

Ovo je detanije opisano u odeku Izrada tabele tblContacts u poglavu 2.

Definisae pravila za unoee podataka


Posleda vana odluka u vezi s tabelama odnosi se na proveru ispravnosti podataka, koja se obava pri svakom unoeu podataka. Morate obezbediti da sistem prihvata samo ispravne podatke, odnosno one koji ispuavaju odreene uslove. Postoji vie naina provere ispravnosti. Moete da ispitujete da li podatak ima jednu od unapred zadatih pojedinanih vrednosti. Na primer, uslov moe da bude da poe blnTaxable (oporezivo) prihvata samo vrednosti True/False (da/ne); moete da ispitujete i da li se podatak nalazi unutar (ili izvan) odreenog opsega vrednosti (na primer, vrednost cene moe da bude samo u opsegu od 0 do 1500). I najzad, moete da ispitujete ispuavae kombinovanih uslova; na primer, da li je klijent prodavac, kupac ili oboje.

Referentne tabele
Ponekad treba da dodate nove tabele samo da biste mogli proveravati ispravnost drugih podataka ili da biste olakali ihovo unoee u sistem; takve tabele zovu se referentne tabele (engl. lookup tables). Na primer, poto je kompaniji Access Auto Auctions neophodna vrednost poreske stope po kojoj klijentu treba da obrauna iznos poreza, koristiemo referentnu tabelu koja sadri mesto (dravu) oporezivaa i poresku stopu koja tamo vai. Drugi primer je kada kupac plaa raun nekim od moguih naina uplate u gotovini, kreditnom karticom, nalogom za uplatu itd. Budui da se poreska stopa razlikuje (zavisi od savezne drave), Access trai vaeu stopu kad god se pravi nov raun. Vrednost poreske stope se upisuje u tabelu Invoice/Sales da bismo je sauvali jer je to podatak koji tokom vremena moe da se promeni. Druga namena referentne tabele moe da bude ograniavae vrednosti u odreenom pou tabele samo na prihvative vrednosti. Na primer, moemo imati tabelu naina plaaa koju emo koristiti kao referentnu tabelu da bismo obezbedili da se u tabelu Invoice mogu uneti samo naini plaaa koji postoje u tabeli naina plaaa.
Savet

Kada definiete tip podataka za poe u tabeli, moete zadati Lookup Wizard. To zapravo nije tip podataka, ve samo nain da se u poe upie jedna vrednost, a prikazuje druga.

Iako na obrazac za unoee podataka moete da postavite poe koje ograniava tip klijenta na prodavac, kupac ili oboje, tabela koju ete napraviti imae samo jedno poe tip klijenta (Type of Customer); to poe u tabeli Contacts bie povezano sa istoimenim poem u referentnoj tabeli Type of Customer.
Napomena

Referentna tabela se pravi na potpuno isti nain kao svaka druga tabela, a tako se i ponaa. Jedina razlika je u nainu na koji se koristi.

Na slici 1-5, koja prikazuje sve tabele koje se koriste u aplikaciji Access Auto Auctions, projektu je dodato nekoliko referentnih tabela. Kao to se vidi na slici 1-5, tabele tblCustomerTypes, tblPaymentType, tblTaxRates i tblCategories su referentne tabele sistema.

26

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Slika 1-5: Dijagram tabela baze podataka Access Auto Actions, zajedno s vie referentnih tabela.

Generisae probnih podataka


Poto definiete pravila za unoee podataka i strukturu baze podataka, vreme je da unesete probne podatke. Te podatke morate paivo da pripremite (da biste ispitali veliki broj moguih situacija) i trebalo bi da slue za vie namena. Na primer, trebalo bi da vam omogue da testirate postupak unoea podataka: da li se u svim primerima koje ste pripremili podaci prihvataju kao ispravni ili se generiu poruke o grekama? Osim toga, na osnovu probnih podataka mogu nastati odreene situacije koje niste predvideli. Na primer, ta se dogaa kada neko ostavi prazno poe na obrascu? ta ako u poe koje treba da sadri tekst upie broj? U poima tipa Date (datumsko) ili Numeric (numeriko) Access automatski otkriva greke poput neispravnog datuma ili slova, ali za druge sluajeve morate sami da se pobrinete. Prva vrsta probnih podataka koju treba da obezbedite jeste ona koja omoguava samo da bazu podataka napunite upotrebivim podacima. To su poetni ispravni podaci koje bi baza podataka trebalo da prihvati i koje ete kasnije upotrebiti za testirae izlaznih podataka. Izlazni podaci e najee biti u obliku izvetaja. Sledea vrsta probnih podataka koje ete napraviti treba da vam omogui testirae funkcija unoea podataka. Taj skup podataka treba da sadri neispravne podatke koji izazivaju pojavu svih greaka koje ste predvideli, ali i ispravne podatke pomou kojih ete testirati neke od prihvativih sluajeva. Trebalo bi da probni podaci omogue testirae najeih vrsta podataka koje e baza podataka sadrati. Preporuivo je i da ispitate granine primere. U neka od poa unesite podatke koji nisu dui od jednog znaka i popunite sva poa na obrascu. Formirajte nekoliko zapisa koji sadre podatke u svakom pou tabele (zbog ega treba da popunite sva poa na obrascu za unoee podataka i u izvetajima). Namerno unesite i nekoliko loih probnih podataka. Pokuajte da upiete ifru klijenta koja ve postoji, kao i da izmenite ifru kupca koga nema u datoteci. To je samo nekoliko primera onoga to treba da razmotrite kada testirate svoj sistem. Testirae sistema poie pomou probnih podataka.

Poglave 1 o ta su podaci?

27

Korak 6: Projektovae obrazaca unoee podataka


Poto definiete podatke i uspostavite veze izmeu tabela, vreme je da projektujete obrasce. Na obrascima (engl. forms) postoje poa iji sadraj moete da pregledate ili da meate ukoliko je to dozvoeno. Ako je ikako mogue, potrudite se da vai obrasci izgledaju to slinije papirnim obrascima koje biste koristili u runom sistemu. Tako va sistem postaje razumiviji korisniku.

Obrasci za unoee podataka


Kada projektujete obrasce, na ih moete da postavate sledee tri vrste objekata:
N N N

Natpise i poa za unoee tekstualnih podataka Specijalne kontrole (poa za tekst s vie redova, dugmad za opcije, liste, poa za potvrivae, poslovne dijagrame i slike) Grafike ukrase (boje, linije, pravougaonike i trodimenzionalne efekte).

Poa (poa za tekst, poa za potvrivae, liste i radio-dugmad) postavite na obrazac gde god smatrate da je potrebno. Ako ekranski obrazac razvijate na osnovu papirnog obrasca, preporuivo je da Accessov obrazac za unoee podataka to vie lii na papirni obrazac sa istom namenom. Trebalo bi da poa za unoee podataka budu na ekranu na istim relativnim mestima kao na papirnoj varijanti obrasca. Poto postavite poa na obrazac, ispitajte redosled kretaa po tim poima pri unoeu podataka. Drugim reima, kada popunite jedno poe i potom pomou tabulatora preete na sledee u koje poe se pomera kursor? Uobiajeno je da pri unoeu podataka redosled tabulatora bude takav da se kursor kree odozgo nadole i sleva nadesno dok popuavate poa (poa za tekst i druge vrste kontrola). Meutim, u Accessu se moe zadati i drugaiji redosled kretaa s jednog poa na drugo. Kada postavate poa na obrazac, vodite rauna o tome da oko ih ostavite dovono prostora. Izraunato poe, npr. ukupan zbir, koje se koristi samo za prikazivae podataka, moe da se postavi i na obrazac za unoee podataka. Natpisi (engl. labels) se koriste za prikazivae poruka, naslova i drugog teksta. Poa za tekst (engl. text boxes) su mesta na kojima moete da upisujete ili prikazujete tekst ili brojeve koje sadri baza podataka. Poa za potvrivae (engl. checkboxes) prikazuju odreeno stae i mogu da budu nepotvrena (ne sadre znak potvrde) ili potvrena (sadre znak potvrde). Druge vrste kontrola koje su na raspolagau u Accessu jesu: liste, padajue liste, dugmad opcija, preklopna dugmad i grupe opcija.
Referenca

U poglavima od 8 do 1o opisane su razne vrste kontrola koje su na raspolagau u Accessu. Access nudi i alatku Microsoft Graph, koja omoguava izradu velikog broja raznovrsnih dijagrama. Pomou OLE objekata (Object Linking and Embedding, povezivae i ugraivae objekata) koje uvate u tabeli baze podataka moete da prikazujete i slike. To ete nauiti u poglavu 14.

U ovoj kizi napraviete nekoliko jednostavnih obrazaca za unoee sledeih podataka:


N N N N

Contact Log (evidencija kontakata s klijentom) Contacts (unoee podataka o klijentu) Sales (unoee rauna) Products (unoee podataka o artiklu)

28

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Obrazac Contact Log


Obrazac Contact Log (slika 1-6) najjednostavniji je obrazac za unoee podataka koji ete napraviti u ovoj kizi. Vrlo je jednostavan i prikazuje naziv poa na levoj strani, a sadraj poa na desnoj strani. Poe Entry ID (primarni ku) sadri jedinstvene vrednosti. U prvom redu obrasca nalazi se glavno zaglave, tj. natpis koji opisuje vrstu i namenu obrasca: Contact Log.
Slika 1-6: Obrazac za unoee podataka Contact Log.

Referenca

Ovaj jednostavan obrazac moete da napravite pomou arobaka Form. Vie pojedinosti o tome nai ete u poglavu 8.

Obrazac Contacts
Obrazac za unoee podataka o klijentima, Contacts, neto je sloeniji od prethodnog. Na emu se nalazi vie vrsta kontrola, kao to su grupa kartica, komandna dugmad i poe za potvrivae. Na slici 1-7 prikazan je obrazac Contacts.

Slika 1-7: Obrazac za unoee podataka o klijentu Contacts.

Poglave 1 o ta su podaci?

29

Obrazac Sales
Na sledeem obrascu za unoee podataka kombinovani su podaci iz vie tabela da bi se prikazali opti podaci o obavenim kupoprodajama. Ovaj obrazac sadri podatke o klijentu, kupoprodaji, prodatim artiklima i eventualnim uplatama; egova osnovna namena jeste da korisniku omogui da te vrste podataka unosi u bazu podataka.

Obrazac Products
Posledi obrazac u ovoj kizi slui za unoee podataka o artiklima koji se prodaju.

Korak 7: Automatizovae rada meniji


Poto definiete podatke, sastavite izvetaje i napravite obrasce, vreme je da sve to zajedno poveete pomou komandnih tabli i menija. Na slici 1-8 prikazan je obrazac tipa komandna tabla koji sadri i namensku liniju menija. Komandna tabla je grafiki meni koji se najee sastoji od komandne dugmadi na kojima se nalaze sliice ili tekst. Meniji u gorem delu prozora otvaraju liste komandi.

Slika 1-8: Komandna tabla i meniji glavnog prozora aplikacije Access Auto Auctions.

Meniji su kuna komponenta dobro osmienog sistema. Korisniku treba obezbediti odreen sistem kretaa iz jednog dela aplikacije u drugi. Svaki obrazac ili izvetaj obino je i stavka nekog menija. To znai da kada projektujete sadraj menija, morate da razmislite i o grupisau komandi. Kada prouite optu strukturu aplikacije i pogledate sve ene komponente, poee da se izdvaja jasan skup kombinacija. Pomou Accessovih makroa moete napraviti meni koji se pojavuje na liniji menija komandne table. Taj meni korisniku nudi izbor izmeu rada pomou padajuih menija ili dugmadi komandne table.
Referenca

Tu komandnu tablu, zajedno s menijima i sloenim okvirom za dijalog, napraviete u poglavu 24.

POGLAVLJE

Projektovae i izrada tabela

2
o o o o

U
Na CD-u

ovom poglavu nauiete kako da zaponete postupak pravea baze podataka i tabela u oj. Najpre ete napraviti opti kontejner baze podataka koji e sadrati tabele, upite, obrasce, izvetaje i makroe koje ete praviti dok prouavate Access. Na kraju, napraviete i tabele koje se koriste u aplikaciji Access Auto Auctions. Pre nego to ponete da pravite tabele, morate napraviti kontejner u koji ete ih smestiti.
U ovom poglavu nee vam trebati nita s prateeg kompakt diska, jer ete napraviti praznu bazu podataka u kojoj ete poeti da pravite svoje prve tabele.

U ovom poglavu
Izrada baze podataka Izrada tabele Kretae kroz sadraj prozora za tabele Unoee imena i opisa poa Izbor tipa podataka za poe Zadavae svojstava poa Meae strukture tabele Definisae primarnog kua Snimae na disk i tampae strukture tabele Preimenovae, kopirae i brisae tabela

Izrada tabela baze podataka


Najpre morate napraviti kontejner baze podataka da biste u ega smestili tabele, upite, obrasce, izvetaje i makroe koje ete praviti dok prouavate Access. U bazi podataka napraviete tabele tblSales i tblContacts, koje e sadrati podatke o kupoprodajama obavenim posredstvom firme Access Auto Auctions, kao i podatke o enim klijentima. Meutim, pre nego to napravite prvu tabelu aplikacije Access Auto Auctions, morate napraviti sam kontejner baze podataka koji e sadrati tabele.

Izrada baze podataka


Accessov prikaz Database prikazuje sve vrste objekata koje moete da napravite u bazi podataka. Cela baza podataka zapravo je jedna datoteka. Kada napravite nov objekat, on se smeta unutar datoteke baze podataka. Accessovi objekti nisu samostalne datoteke kao u DOS-u, ve uskladiteni objekti. Poetna veliina datoteke baze podataka je oko 92 KB i raste sa svakim novim objektom tabelom, upitom, obrascem, izvetajem, makroom i modulom. Veliina baze podataka se poveava i kad god u u unesete nov podatak. Novu bazu podataka moete da napravite na vie naina. Kada pokrenete Microsoftov Access, pojavie se okvir za dijalog Getting Started (slika 2-1). Taj okvir za dijalog moete da otvorite i ako u glavnom Accessovom meniju izaberete File New otvorie se okvir za dijalog New File a zatim pritisnete ikonicu Home (izgleda kao list papira s presavijenim gorim desnim

Rad s tabelama za podatke i upitima

32

Deo I, Odeak I o Rad s tabelama za podatke i upitima

uglom) u gorem delu okvira za dijalog New File. Druga mogunost je da pritisnete dugme New (prvo dugme na paleti alatki) i izaberete ikonicu Home.
Slika 2-1: Okvir za dijalog Getting Started prikazuje se du desne ivice Accessovog prozora i nudi dve osnovne mogunosti za otvarae baze podataka.

Okvir za dijalog Getting Started podeen je na nekoliko odeaka:


N

Open. Omoguava otvarae datoteke postojee baze podataka. Prikazuje se spisak etiri baze podataka koje su bile poslede otvarane. Kada izaberete opciju More, otvara se okvir za dijalog Open, koji omoguava pretraivae vrstog diska radi pronalaea baze podataka koju treba da otvorite. Create a new file. Kada izaberete ovu opciju, otvara se okvir za dijalog New, koji je podeen na dva odeka New (nova) i Template (ablon). U odeku New moete da birate izmeu opcija Blank Database (prazna baza podataka), Blank Data Access Page (prazna stranica za pristup podacima), Project Using Existing Data (projekat u kojem se koriste postojei podaci), Project Using New Data (projekat u kojem e se koristiti novi podaci), From Existing File (iz postojee datoteke). Odeak Template omoguava pretraivae novih ablona na Web lokaciji Microsoft.com, prelaee na Web stranicu Templates Home ili pretraivae ablona na lokalnom raunaru (On My Computer). Posleda opcija omoguava otvarae nove (prazne) baze podataka (Database), stranice za pristup podacima (Data Access Page) ili projekta Project (New Data).

Odeak Templates
Osim upotrebe odeka New, druga mogunost za pravee nove baze podataka jeste da u okviru za dijalog New File izaberete drugi odeak Templates. Taj odeak nudi tri opcije: Search Office Online;, Templates Home Page i On My Computer.

Poglave 2 o Projektovae i izrada tabela

33

Templates Home Page


Izbor ove opcije aktivira program za uspostavae veze sa Internetom (ukoliko ta veza nije ve uspostavena). Nakon uspostavaa veze, aktivira se ita Weba u kojem se prikazuje stranica Templates Home na Web lokaciji Microsoft Office Online. Ta stranica prikazuje spisak ponuenih ablona. Gora slika na slici 2-2 prikazuje izgled stranice Template Home nakon uspostavaa veze s Web lokacijom Microsoft.com.

Slika 2-2: Web stranica Templates Home (gora slika) aktivira se kada pritisnete dugme Templates on Office Online. Taj okvir za dijalog se aktivira kada izaberete opciju On My Computer u odeku Templates menija New File (doa slika).

Stranica Templates Home prikazuje mnogobrojne ablone za razne proizvode iz paketa Microsft Office. Ako u poe za upis pojma za pretraivae unesete Access i pritisnete dugme sa strelicom nadesno ili taster Enter, na Web lokaciji prikazae se lista ablona za Accessove baze podataka.

34

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Search Office Online:


Opcija Search Office Online: u odeku Templates omoguava da upiete uslov za traee odreenog ablona. Na primer, ako upiete re inventory (zalihe), Access e prei u odeak Template Microsoftove Web lokacije i potraiti sve ablone ija imena sadre re inventory. U ovom sluaju, na Web lokaciji Microsoft.com pronaen je ablon Inventory Management Database.

On My Computer
Kada izaberete ovu opciju, aktivira se okvir za dijalog Templates. Kada prvi put otvorite taj okvir za dijalog, egov sadraj e se moda razlikovati od onog prikazanog na slici 2-2. Obratite pau na dva jezika u gorem delu okvira za dijalog General i Database. Kada otvorite okvir za dijalog, moe biti aktivna kartica General ako tada pritisnete jeziak Database, trebalo bi da se pojave stavke sline onima na slici 2-2. U tom prozoru nalazi se vie ablona za baze podataka. Kada izaberete jedan od ih, Access pravi novu bazu podataka i objekte u oj koji omoguavaju upotrebu baze podataka za odgovarajuu namenu. Da biste napravili sistem zasnovan na bazi podataka koja vam treba, moete upotrebiti odgovarajui ablon. Kada Access napravi bazu podataka, moete izmeniti bilo koji od enih objekata tako da odgovara vaim potrebama. Kada izaberete jedan od ponuenih ablona, Access pokree arobaka Database i postava niz pitaa o poima koja nameravate da zadate za svaku tabelu u sistemu, kao i o izgledu obrazaca i izvetaja. Na kraju, pita vas za ime sistema koji gradite, a zatim automatski pravi bazu podataka i sve ene objekte.
Napomena

Ukoliko je otvoren okvir za dijalog Templates, zatvorite ga da biste nastavili izradu baze podataka.

Otvarae nove, prazne baze podataka


Otvarae nove baze podataka zaista je jednostavno. Treba da uradite sledee:
1. U kategoriji New mea New File izaberite opciju Blank Database. Ako se nala-

zite u meniju Getting Started, izaberite Create New File da biste preli na meni New File. 2. Otvorie se okvir za dijalog File New Database. U delu prozora odreenom za prikaz spiska datoteka prikazuju se postojee .MDB datoteke (ako ih ima). Okvir za dijalog File New Database moe na poetku da bude otvoren u direktorijumu My Documents. Preite u direktorijum u koji nameravate da smestite datoteku nove baze podataka autor ove kige je to uradio u direktorijumu Access db Files. 3. U pou File Name pri dnu prozora bie vam ponueno ime db1.mdb. Zamenite ga imenom My Access Auto Auctions ili nekim drugim imenom koje ete dodeliti bazi podataka. (Ne morate da upiete nastavak imena .mdb jer ga Access automatski dodaje ako ga izostavite.) 4. Pritisnite dugme Create. Kada zavri izradu nove baze podataka, Access je automatski otvara.
Napomena

Kao to se vidi iz prikaza Database na slici 2-3, Access automatski pravi datoteku (kontejner) baze podataka u formatu Access 2000 da bi se ouvala kompatibilnost unazad. Ako elite da koristite noviji format, Access 2002, kada zavrite izradu baze podataka, morate da izvrite konverziju formata baze podataka tako to ete izabrati Tools Database Utilities Convert Database To Access 2003.

Poglave 2 o Projektovae i izrada tabela

35

Slika 2-3: Napravena je nova baza podataka My Access Auto Auctions.

Savet

Moete zadati da standardni format datoteka Accessa 2003 bude Access 2002 umesto verzije 2000. Da biste zadali format koji Access treba da koristi kada zaponete novu bazu podataka, izaberite padajui meni Format Options Advanced Tab Default File Format, a zatim izaberite format Access 2002. Vie o prikuivau sponih datoteka saznaete u poglavu 7.

Referenca

Kako Access radi s podacima


Microsoftov Access radi s podacima na vie naina. Radi jednostavnosti, podatke koji se koriste u primerima u ovoj kizi videete kao lokalne tabele. Lokalna tabela je tabela smetena u Accessovu .MDB datoteku. To je nain na koji ste dosad viali primere. U mnogim aplikacijama Accessa profesionalnog nivoa, tabele se smetaju u jednu bazu podataka, a elementi korisnikog interfejsa (obrasci, izvetaji, upiti, stranice za pristupae podacima, makroi i moduli) smetaju se u drugu bazu podataka. Razlog za to najee je lake odravae. Kada se podaci i tabele izdvoje u zasebnu bazu podataka, odravae podataka (formirae novih indeksa, popravae tabela itd.) znatno je lake i ne ometa ostale delove sistema. U viekorisnikom okrueu moe se dogoditi da otkrijete problem iji je uzrok odreeni obrazac ili izvetaj. Kada bi podaci i svi objekti interfejsa bili u istoj bazi podataka, morali biste da prekinete rad celog sistema dok unosite ispravke u obrazac ili izvetaj u kojem dolazi do greke, a za to vreme niko drugi ne bi mogao da koristi sistem. Meutim, kada podatke razdvojite od drugih objekata, objekat koji izaziva greku moete da ispravite dok drugi korisnici neometano rade s podacima. Kada reite problem, izmene koje ste uneli moete da prosledite drugim korisnicima da bi ih uvezli u svoje lokalne baze podataka. Osim toga, postoji vaniji razlog za razdvajae podataka od objekata interfejsa, a to je zatita podataka. Kada podatke odravate u zasebnoj bazi podataka, koja moe da bude lokalna ili udaena, imate vei stepen kontrole nad podacima u viekorisnikom okrueu. Zbog navedenih razloga, najboe je da tabele s podacima budu odvojene od ostalog dela aplikacije. Dobro reee moe biti da aplikaciju najpre razvijete sa svim tabelama u istoj .MDB bazi podataka, a onda da pomou arobaka Database Splitter automatski premestite tabele iz prvobitne .MDB datoteke u zasebnu Accessovu .MDB datoteku i da zatim te tabele prikuite aplikaciji. Tabele moete da prikuite i bazi podataka kojom uprava Microsoftov Database Engine ili veoj SQL Serverovoj bazi podataka. Accessove tabele moete da prikuujete i serverima koji nisu Microsoftovi proizvodi, kao to su Oracle, Informix ili Sybase.

36
Upozoree

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Baza podataka napravena u formatu Access 2002 ne moe se koristiti u starijim verzijama Accessa, 2000 i starije. Meutim, Access 2003 moe da radi sa starijim formatima Accessovih baza podataka 2.0, 95, 97 i 2000. Poto je standardni format Access 2000, te datoteke mogu se koristiti u Accessu 2000, Accessu 2002 i u tekuoj verziji. Razume se, umesto toga, podrazumevani format moete promeniti u Access 2002 (videti prethodni savet). Bazu podataka Accessa 2002 moete snimiti ili preneti u format Access 2000 ili Access 97 ako izaberete Tools Database Utilities Convert Database To Access 97 ili Access 2000. Isto vai i za konverziju iz Accessa 2000 u Access 2002 ili 97. Ako zadate nastavak imena datoteke drugaiji od .MDB, Access e tu bazu podataka upisati na disk, ali vie nee moi da prikae en sadraj kada kasnije pokuate da je otvorite. Dok drugaije ne zadate, Access vidi i prikazuje sadraj samo datoteka ije ime ima nastavak .MDB.

Savet

Upozoree

Ukoliko na svom raunaru pratite primere iz kige, zapamtite da smo kao ime baze podataka s kojom ete raditi zadali My Access Auto Auctions. To je baza podataka za podrku poslovau nae izmiene firme Access Auto Auctions. Poto upiete ime, Access pravi praznu bazu podataka.
Na CD-u

Na prateem kompakt disku nalazi se vie datoteka baza podataka. Konana verzija baze podataka, koja sadri samo tabele s podacima, zove se Access Auto Auctions Data, dok baza podataka Access Auto Auctions sadri konane verzije ostalih objekata aplikacije (tabele, obrasce, upite, izvetaje, makroe i module). Kompakt disk sadri i po dve baze podataka za svako poglave kige, ija su imena CHAPxxStart.mdb i CHAPxxEnd.mdb, gde je xx redni broj poglava; na primer, 01, 02 itd. Ako se u poglavu koristi datoteka razdvojena na podatke i druge objekte, imena su CHAPxxPgmStart.mdb, CHAPxxDataStart.mdb, CHAPxxPgmEnd.mdb i CHAPxxDataEnd.mdb. U ovom poglavu napraviete samo jednu bazu podataka, My Access Auto Auctions.

Prozor Database
Na slici 2-4 prikazan je prozor Database za bazu podataka CHAP01Start.mdb. Podeen je u tri odeka. Na levoj strani prozora nalazi se meni Objects, ispod kojeg se nalazi meni Groups. Gori deo prozora zauzima paleta alatki koja sadri dugmad Open, Design i New. I najzad, u treem odeku, koji obuhvata preostali deo prozora, prikazuje se spisak imena objekata tipa koji je izabran na levoj strani (Tables, Queries itd.).
Slika 2-4: Prozor Database. Ovaj prozor, ili kontejner, podeen je na tri glavna dela: paletu menija na levoj strani, paletu alatki u gorem delu i okno za prikazivae objekata izabranog tipa.

Poglave 2 o Projektovae i izrada tabela

37

Prozor Database moe se zamisliti kao kontejner koji sadri sve ostale objekte koji ine bazu podataka. Kada pritisnete neki objekat na liniji menija (Tables, Forms itd), u oknu na desnoj strani prikazuje se spisak objekata izabranog tipa. Na primer, na slici 2-4 prikazani su svi objekti tipa Table (tabela) jer je prethodno bilo pritisnuto dugme Tables (to je i podrazumevana opcija). Kada pritisnete dugme Forms, u desnom oknu pojavie se spisak svih obrazaca koje ste napravili u bazi podataka. Linija menija sastoji se od dve grupe menija jedne s vrstama objekata (Objects) i druge s grupama objekata (Groups). Meni Objects omoguava pojedinaan pristup svim vrstama objekata koje postoje u bazi podataka. Meni Groups slui za smetae preica koje omoguavaju pristupae objektima on moe da sadri objekte svih vrsta.

Meni Objects
Vertikalna linija menija Objects na levoj strani prozora Database sadri sedam dugmadi pomou koje moete brzo da izaberete bilo koju od sledeih vrsta Accessovih objekata:
N N N N N N N

Tables (tabele) Queries (upiti) Forms (obrasci) Reports (izvetaji) Pages (stranice) Macros (makroi) Modules (moduli).

im napravite nov objekat, egovo ime se pojavuje na listi u oknu prozora Database. Prikazuju se samo imena objekata vrste koju izaberete (u meniju Objects). Vrstu objekata birate tako to pritisnete jedno od dugmadi koja predstavaju kategorije objekata. Osim novih objekata koje napravite, u prozoru Database prikazuje se i nekoliko preica za pravee novih objekata vrste koju izaberete. Na primer, na slici 2-4, u gorem delu okna za objekte, vidive su i tri preice Create table in Design view (pravee tabele u prikazu Design), Create table by using wizard (pravee tabele pomou arobaka) i Create table by entering data (pravee tabele neposrednim unoeem podataka). Preice za pravee novih objekata prikazuju se samo za objekte tipa tabela, upit, obrazac, izvetaj i stranica. Za objekte tipa upit, obrazac i izvetaj postoje po dve preice, dok za tabele i stranice postoje po tri preice. Da biste prikazali dve preice za objekte tipa obrazac, pritisnite dugme Forms; prve dve stavke koje e se pojaviti u oknu za objekte bie preice za pravee novih objekata Create form in Design view i Create form by using wizard.
Savet

Unutar okna za objekte nalaze se dve ili tri ikonice s natpisima pored ih. One pomau da brzo zaponete pravee novog objekta odreenog tipa. Tu mogunost moete da iskuite tako to ete izabrati Tools Options, a zatim ukloniti znak za potvrdu iz poa New object shortcuts.

Na desnom kraju palete alatki nalaze se etiri dugmeta pomou kojih se zadaje izgled sadraja okna za objekte jedno od ih omoguava predstavae objekata pomou veih ikonica (Large Icons), drugo je za mae ikonice (Small Icons); dugme List prikazuje spisak imena objekata (to je i standardni oblik prikazivaa), dok poslede dugme omoguava prikazivae spiska imena objekata i dodatnih podataka.

38

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Na slici 2-4 prikazan je prozor Database u kojem je zadat (standardni) nain prikazivaa List. U tom prikazu vidiva su samo imena objekata, npr. imena tabela tblContacts, tblSales, tblSalesLineItems, tblProducts i druge. U prozoru Database moete prikazati detanije podatke o objektima tako to ete na paleti pritisnuti poslede dugme sa sliicom niza crta unutar okvira. Tako ete prikazati podatke, kao to su opis objekta (Description), datum poslede izmene (Date Modified), datum nastanka objekta (Date Created) i tip objekta (Type). Detane podatke o objektima moete prikazati i kada na Accessovoj liniji menija izaberete View, a zatim i opciju Details.

Meni Groups
Meni Groups ima samo jednu standardnu stavku Favorites. Grupe se koriste za smetae preica do pojedinih objekata baza podataka da bi im se brzo pristupalo s jednog mesta. Na primer, moete da postavite preice koje upuuju na tabelu klijenata (tblContacts), na obrazac za unoee podataka o klijentima (frmContacts) ili na druge vrste objekata.
Savet

Kada od odreenih objekata baze podataka formirate grupu, tako pravite zajedniku preicu za sve te objekte. Na primer, radite s prilino obimnom bazom podataka koja sadri vie stotina raznih objekata, ali sada samo s tri od tih objekata. Umesto da stalno prelazite s jednog od sedam tipova objekata na drugi da biste doli do imena jednog od ih, moete da formirate grupu koja e sadrati preice za sve objekte koje sada koristite. U grupu moete dodati samo postojei objekat.

Niste ogranieni iskuivo na grupu Favorites. Meni Groups omoguava da sami dodajete nove stavke. Da biste napravili novu grupu, desnim tasterom mia pritisnite grupu Favorites, a zatim izaberite New Group (nova grupa). Pojavie se okvir za dijalog u koji ete upisati ime nove grupe. Poto to uradite, pritisnite OK i Access e formirati novu grupu objekata. Da biste objekat baze podataka postavili u odreenu grupu, pritisnite pa prevucite objekat u odgovarajuu grupu. Na paleti alatki pojavuju se ista dugmad za pojedine vrste objekata u grupi, kao to biste i oekivali. Jedina komanda koju ne moete da zadate unutar grupe jeste izrada novog objekta (tabele, upita, obrasca, izvetaja, stranice, makroa ili modula). Dugmad na paleti alatki opisana su u sledeem odeku.

Dugmad na paleti alatki u prozoru Database


Ova dugmad omoguavaju sledee akcije: otvarae (Open) postojeeg objekta koji prethodno izaberete; otvarae postojeeg objekta u prikazu Design (oblikovae); otvarae novog objekta (New); brisae izabranog objekta (pomou dugmeta X). Kada pritisnete neko dugme, izvrava se odgovarajua akcija. Pre nego to pritisnete dugme Open ili Design, izaberite ime objekta da biste ga istakli. Kada izaberete opciju New, tip novog objekta koji ete napraviti zavisi od dugmeta u meniju Objects koje ste prethodno izabrali (Form, Table, Query ili drugo). Ako ste izabrali dugme Tables (tabele), napraviete novu tabelu. Kada izaberete neki drugi tip objekta, sadraj palete alatki se mea. Na primer, kada izaberete tip Reports (izvetaji), na raspolagau su dugmad Preview (pregled gotovog izvetaja), Design (izmene postojeeg) i New (izrada novog).

Poglave 2 o Projektovae i izrada tabela

39

Paleta alatki u glavnom Accessovom prozoru


Paleta alatki prikazana na slici 2-5, omoguava da brzo pokreete odreene poslove, bez upotrebe menija. (Alatke koje trenutno nisu raspoloive, prikazane su bledosivom bojom.) Kada kursor postavite na jedno od dugmadi i ne pritisnete taster mia, posle kraeg vremena (sekunda do dve) pojavuje se pomo u vidu kratkog opisa (engl. Tool Tip), neposredno ispod dugmeta. Ako vam treba detanija pomo, pritisnite Shift+F1, postavite kursor na objekat o kojem vam trebaju dodatne informacije, a zatim pritisnite taj objekat. Pojavie se pomo tipa Whats This? (ta je ovo?): mali okvir unutar kojeg se prikazuje tekst koji opisuje svrhu ili nain upotrebe izabranog objekta. Drugi nain je da na desnom kraju palete alatki izaberete ikonicu Office Assistant (znak pitaa unutar balonia) i da zatim u poe asistenta upiete pitae (na govornom engleskom jeziku). Posleda mogunost je da pitae upiete direktno u novu padajuu listu Help, na desnoj strani Accessove linije menija.

Slika 2-5: Paleta alatki u prozoru Database. Obratite pau na opis opcije Tables koji se prikazuje poto pritisnete tastere Shift+F1.

Sleva nadesno, na paleti alatki nalazi se sledea dugmad:


N N N N N N N N N N N N N

New (sliica praznog lista papira). Otvara meni New File. Open (sliica otvorene omotnice). Otvara drugu bazu podataka. Save (sliica diskete). Snima objekat na disk. File Search (sliica Windowsovog logotipa preko lista papira i lupe). Trai datoteku na disku. Print (sliica tampaa). tampa objekat na tampau. Print Preview (sliica lista papira s lupom). Prikazuje objekat na ekranu onako kako bi izgledao odtampan na papiru. Spelling (sliica znaka za potvrdu pored slova ABC). Kontrola pravopisa. Cut (sliica makaza). Iseca izabrani objekat. Copy (sliica dva lista papira jedan iznad drugog). Kopira izabrani objekat. Paste (sliica table s listom papira). Umee sadraj Clipboarda. Undo (sliica strelice zakrivene u smeru suprotnom kazakama na satu). Ponitava rezultat poslede akcije. Office Links (ikonica s velikim slovom W, kovertom i strelicom za otvarae menija). Prikazuje veze ka Wordu i Excelu. Analyze (sliica tabele preko koje su nacrtane dve mae tabele i strelica za otvarae menija). Prikazuje komande iz grupe Analyze.

40

Deo I, Odeak I o Rad s tabelama za podatke i upitima

N N N N N

Code (sliica pravougaonika s crvenim, plavim i utim kvadratima). Prikazuje prozor za programski kd. Ovo dugme je vidivo samo kada je uitan objekat koji sadri programski kd. Microsoft Script Editor (sliica osmice unutar druge osmice). Prikazuje prozor Microsoft Script Editora pojavuje se samo kada je MSE dostupan. Ovaj editor slui za pisae skriptova u jezicima VBScript ili JScript koji se ugrauju u stranice za pristupae podacima. Properties (sliica ake koja dri list papira). Prikazuje prozor Properties. Relationships (sliica tri tabele povezane linijama). Prikazuje prozor Relationships. New Object (sliica zvezde iznad levog goreg ugla ikonice tabele i strelicom za otvarae menija). Prikazuje opcije za izradu novog objekta. Microsoft Access Help (sliica okvira u kojem se nalazi znak pitaa). Prikazuje prozor Accessovog sistema za pomo. Toolbar Options (sliica strelice za otvarae menija okrenuta nadole). Omoguava dodavae i uklaae dugmadi na paleti alatki.

Izrada nove tabele


Poto zavrite projektovae strukture tabele na papiru, treba da je preslikate u Access. Iako tabelu moete da napravite neposredno u Accessu i bez prethodnog razmiaa, korisno je da prvo paivo planirate sistem baze podataka na papiru. Izmene moete da napravite i naknadno, ali tako gubite vreme; rezultat takvog naina rada najee je sistem koji se tee odrava od onog koji je bio dobro planiran od samog poetka. Pre nego to ponete, neophodno je da shvatite postupak projektovaa tabela.
Referenca

Da biste se podsetili kako se u bazi podataka formiraju tabele, pogledajte odeak Korak 3: Projektovae struktura podataka koja poa vam trebaju? u poglavu 1.

Projektovae tabele
Projektovae tabele je postupak koji se sastoji iz vie koraka. Ako sledite naredni redosled koraka, tabelu ete napraviti brzo i uz minimalne napore:
N N N N N N

Otvorite novu tabelu. Za svako poe pojedinano zadajte ime, tip podataka i opis. Zadajte vrednosti svojstava svakog poa. Definiite primarni ku. Napravite indekse za poa gde je to potrebno. Snimite strukturu tabele na disk. U prozoru Database izaberite opciju Tables, a zatim na paleti alatki pritisnite dugme New. U glavnom Accessovom meniju izaberite Insert Table. Na dugmetu New Object na Accessovoj paleti alatki izaberite New Table. Ukoliko su dostupne preice za izradu novih objekata, izaberite Create table in Design view (prva stavka u oknu Tables prozora Database).

Strukturu nove tabele moete da formirate na jedan od sledeih naina:


N N N N

Poglave 2 o Projektovae i izrada tabela

41

Savet

Kada novu tabelu pravite tako to pritisnete na komandno dugme New u prozoru Database, proverite najpre da li je na liniji menija Objects izabran tip objekta Table.

U prozoru Database baze podataka Access Auto Auctions pritisnite komandno dugme New da biste zapoeli izradu nove tabele.

Okvir za dijalog New Table


Na slici 2-6 prikazan je Accessov okvir za dijalog New Table (nova tabela).
Slika 2-6: Okvir za dijalog New Table.

Izaberite u okviru za dijalog New Table jedan od pet naina za izradu nove tabele:
N N N N N

Datasheet View. Unoee podataka neposredno u tabelarni prikaz. Design View. Formirae strukture tabele u prikazu Design. Table Wizard. Izrada tabele na osnovu ponuenih ablona za tabele sa unapred definisanim poima. Import Table. Uvoee podataka iz sponih izvora u novu Accessovu tabelu. Link Table. Uspostavae veze sa sponom tabelom.

U Accessu tabelu moete napraviti na vie naina. Moete prvo da definiete strukturu tabele (imena, tip i veliine poa) i da zatim u u unesete podatke. Druga mogunost je da tabelu napravite pomou arobaka za izradu tabela (Table Wizard) tako to ete izabrati jedan od gotovih ablona za tabele. Access nudi i tri nova naina za brzu izradu tabela. Prvo, podatke moete da unosite neposredno u obrazac (prikaz Datasheet) koji po obliku podsea na prozor programa za tabelarne proraune; Access e na osnovu podataka koje unesete automatski napraviti tabelu za vas. Drugo, moete upotrebiti arobaka za uvoee tabela (Import Table Wizard) da biste izabrali sponi izvor podataka i napravili novu tabelu koja sadri kopiju podataka iz tog izvora; arobak e vas voditi kroz ceo postupak uvoea. Tree, moete upotrebiti arobaka za prikuivae tabela (Link Table Wizard), koji radi slino arobaku za uvoee tabela, s tom razlikom to podaci ostaju na izvornoj lokaciji, a Access samo uspostava vezu s ima iz nove tabele. Kada pravite svoju prvu tabelu, prikaz Datasheet je odlian nain da zaponete postupak; ako zatreba, moete da preete u prikaz Design da biste obavili konana doterivaa i podeavaa.
Referenca

Uvoee i prikuivae tabela objaeni su u poglavu 6.

U prozoru Database izaberite New, zatim Datasheet View (tabelarni prikaz), pa pritisnite dugme OK da biste otvorili prazan prikaz Datasheet u kojem ete napraviti novu tabelu.

42

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Upotreba arobaka za izradu tabela


Kada pravite novu tabelu, moete da zadate ime, tip podataka i veliinu pojedinano za svako poe, kao i druge podatke koji se tiu svojstava tabele, a moete upotrebiti i arobaka Table (slika 2-7) da biste s podue liste unapred pripremenih tabela i poa izabrali jednu. Za razliku od arobaka za izradu baza podataka (Database Wizard), koji pravi potpunu aplikaciju, arobak za pravee tabela pravi samo tabelu i jednostavan obrazac. Upotrebom arobaka moete utedeti mnogo truda; ihova namena je da vam tede vreme i da pojednostave sloene poslove. Oni rade tako to vas vode kroz niz prozora u kojima treba da odgovorite na pitaa o tome ta elite da uradite. Na ta pitaa odgovarate tako to pritiskate odgovarajuu dugmad, birate poa, unosite tekst ili odgovarate sa da/ne. arobak Table prvo nudi da izaberete jednu od dve grupe tabela: Business (tabele za poslovne podatke) i Personal (tabele za line podatke). Grupa Business sadri tabele Mailing List (lista potanskih adresa), Contacts (poslovni imenik), Employees (zaposleni), Products (proizvodi), Orders (porudbine), Suppliers (dobavai), Payments (uplate), Invoices (rauni/fakture), Assets (osnovna sredstva) i Students (uenici). Grupa Personal sadri tabale Guests (gosti), Recipes (kulinarski recepti), Exercise Log (plan treninga), Plants (bike), Wine List (vinska karta), Photographs (fotografije), Video Collection (zbirka video traka) i druge. Poto izaberete tabelu, pojavuje se spisak koji prikazuje sva poa koja bi mogla da sadri vaa tabela. Izaberite samo poa koja vam trebaju. Iako su za sva ta poa unapred definisani tip podataka i veliina, svakom pou koje izaberete moete kasnije da izmenite ime i druga svojstva. Poto izaberete odgovarajua poa, u drugom prozoru se na osnovu onoga to upiete automatski definie primarni ku. Drugi prozori vam pomau da primarni ku automatski poveete s drugom tabelom i da tako uspostavite vezu izmeu dve tabele. I najzad, arobak omoguava da izaberete da li ete prikazati strukturu gotove tabele, da li ete odmah poeti da unosite podatke u prikazu Datasheet tabele ili ak da na osnovu tabele automatski napravite obrazac. Ceo postupak izrade jednostavne tabele i obrasca moe trajati mae od minuta! Kada vam zatreba da napravite tabelu za neku aplikaciju koja se nalazi na listi arobaka, egovom upotrebom moete utedeti puno vremena. Slika 2-7: Ovo je prvi prozor arobaka Table u kojem moete da izaberete jedan od ablona za tabele (u ovom primeru to je Contacts), a zatim da izaberete i poa koja ete dodati tabeli koju pravite.

Izrada tabele u prikazu Datasheet


Pojavie se prazan prikaz Datasheet, spreman za unoee podataka i izradu nove tabele. Ponite tako to ete u prikaz Datasheet uneti nekoliko zapisa. Svaka kolona postae poe tabele, a svaki red postae zapis tabele. (Vie o ovim izrazima saznaete u nastavku poglava). Zasad sve to treba da radite jeste da unesete podatke. to vei broj zapisa unesete, to e Access tanije odrediti koji tip podataka elite u pojedinim poima, kao i pribline veliine poa.

Poglave 2 o Projektovae i izrada tabela

43

Kada otvorite nov prikaz Datasheet, on e biti prazan. Zaglava kolona koja e postati poa tabele oznaena su kao Field1, Field2, Field3 itd. Ako elite, moete da izmenite natpise u zaglavima kolona; oni e postati imena poa u strukturi nove tabele. Imena poa moete da promenite i naknadno, poto zavrite izradu tabele. Ponueno ime tabele koju pravite u prikazu Datasheet bie Table iza kojeg sledi redni broj. Ako nema nijedne druge tabele ije je ime Table s nekim rednim brojem, Access zadaje ime Table1; sledea tabela e se zvati Table2 itd. Ime tabele moete uvek da promenite kada je upisujete na disk. Dodajte pet zapisa s vrednostima kao na slici 2-8, a zatim natpise u zaglavima kolona promenite tako da budu isti kao na slici. To ete uraditi tako to ete dvaput pritisnuti ime poa (Field1, Field 2 itd.).

Slika 2-8: Prikaz Datasheet delimino popuen podacima na osnovu kojih e biti napravena nova tabela. Obratite pau na to da su izmeena imena prvih est poa i da ne sadre sve kolone isti tip podataka. Ime kolone moete promeniti ako dvaput pritisnete eno zaglave i upiete novu vrednost. Poto to obavite, pritisnite Enter da biste sauvali novo zaglave kolone. Ukoliko upiete zaglave kolone due od tekue irine zaglava kolone, promenite irinu kolone tako to ete postaviti kursor na crtu koja razdvaja imena kolona i povui liniju udesno da biste proirili kolonu, odnosno ulevo da biste je suzili. Acessov prikaz Datasheet i prozor Excela koriste se na slian nain. Mnoge tehnike se primeuju u oba proizvoda; ak je istovetan i vei broj opcija menija i dugmadi na paletama alatki. Imena svih tabela, poa i drugih objekata u ovoj kizi zadata su u skladu s konvencijom (pravilima) za imenovae objekata. Vie o toj konvenciji moete proitati u dodatku A.

Napomena

Savet

Referenca

Kada unesete podatke, snimite tabelu na disk i dajte joj ime u ovom sluaju, tblContacts. Da biste zatvorili tabelu i sauvali podatke koje ste uneli, u meniju File izaberite Close ili pritisnite dugme za zatvarae u gorem desnom uglu prozora tabele (dugme sa znakom X). Moete i da pritisnete dugme Save na paleti alatki, ali tako samo snimate sadraj tabele na disk; jo uvek vam preostaje da je zatvorite.

44

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Kada pritisnete dugme za zatvarae prozora, otvorie se okvir za dijalog s pitaem elite li da sauvate izmene koje ste uneli u tabelu Table1. Izaberite Yes da biste tabelu snimili na disk i dali joj drugo ime, No da biste sve ponitili, ili Cancel da biste se vratili u tabelu i uneli jo podataka. U ovom primeru izaberite Yes da biste postupak nastavili i tabelu snimili na disk. Pojavie se okvir za dijalog Save As u kojem treba da upiete novo ime tabele. Okvir za dijalog nudi podrazumevano ime Table1. Upiite tblContacts, a zatim pritisnite OK da biste nastavili snimae tabele na disk. Pojavie se jo jedan okvir za dijalog s pitaem da li elite da definiete primarni ku, odnosno jedinstven identifikator svakog pojedinanog zapisa, o emu ete vie saznati u nastavku poglava. Zasad izaberite No.
Savet

Tabelama, poima i drugim objektima (obrascima, izvetajima, upitima i drugima) data su imena u skladu s konvencijom koja je opisana u dodatku A Standardne konvencije za imenovae objekata. Svrha tog standarda za imenovae objekata jeste da imena budu razumivija; na primer, prefiks tbl koristi se za imena tabela, a Contacts je primarni deo imena tabele. Kada mnogo kasnije pogledate imena objekata u sistemu, automatski ete prepoznati da tbl znai tabela.

Access snima tabelu na disk i vraa vas u prozor Database. Obratite pau na to da se sada na listi objekata pojavuje ime tabele tblContacts. Ako ste sve uradili pravilno, uspeno ste napravili tabelu tblContacts koja se sastoji od est poa i sadri pet zapisa. Sledei korak je meae strukture te tabele i pravee konane verzije, onakve kakvu ste videli na slici 1-5 u prvom poglavu. Da biste tabelu tblContacts prikazali u prozoru za oblikovae (Design), izaberite je i pritisnite dugme Design. Na slici 2-9 prikazan je prozor za oblikovae tabele tblContacts, ija je struktura bila automatski napravena na osnovu podataka koje ste uneli u prikazu Datasheet te tabele. Obratite pau na imena tabela koja ste zadali unoeem imena u prvi red svake kolone. Osim toga, obratite pau i na tipove podataka koje je Access automatski dodelio svakom pou. Ispitao je sve podatke koje ste uneli u pojedine kolone i na osnovu ih pokuao je da utvrdi koji je tip podataka u pitau. Na primer, Access je ustanovio da u koloni dtmOrigCustDate (Original Customer Date datum upisa klijenta) elite tip podataka Date/Time, a u koloni idsContactID treba vam tip podataka Number. U narednom delu ovog poglava saznaete vie o tipovima poa.

Slika 2-9: Prozor za oblikovae tabele koji u goroj polovini prikazuje imena poa i tipove podataka u ima, dok se u doem delu prikazuju svojstva tekueg poa u ovom primeru vide se svojstva poa idsContactID.

Poglave 2 o Projektovae i izrada tabela

45

Upozoree

Access je automatski otkrio da poe tblContactID treba da bude numerikog tipa. U stvari, tom pou dodeliemo tip AutoNumber. O tome e biti vie rei u nastavku ovog poglava.

Prozor za oblikovae tabele


Ovaj prozor je podeen na dva odeka:
N N

Odeak za poa Odeak za svojstva poa.

U odeak za poa unose se imena i tipovi podataka poa; ako elite, moete da dodate i proizvoan tekst opisa poa. U odeak za svojstva poa, za svako poe pojedinano se unose vrednosti opcija koje se zovu svojstva (engl. properties). Svojstva poa su: veliina, format, ulazna maska, natpis koji e se pojavivati pored poa na obrascima, podrazumevana vrednost, pravila ispravnosti podataka, tekst poruke u sluaju unoea neprihvative vrednosti, da li je popuavae poa obavezno ili ne, da li je dozvoena vrednost Null ili ne, da li je poe indeksirano ili ne i da li se primeuje Unicode kompresija ili ne. Koja e sva svojstva biti vidiva u ovom prozoru zavisi od tipa podataka u pou. Vie o tim svojstvima saznaete u nastavku kige.
Savet

Iz jednog okna (odeka) prozora prelazite u drugo tako to pritisnete taster mia kada je pokaziva u odgovarajuem odeku ili pritisnete taster F6.

Paleta alatki u prozoru za oblikovae tabele


Ova paleta (slika 2-10) sadri brojnu dugmad koja vam pomau pri izradi nove tabele.

Slika 2-10: Sadraj palete alatki u prozoru za oblikovae tabele.

Rad s poima
Poa dodajete tako to upiete ime (engl. field name) i tip podataka (engl. data type) poa u prazan red odeka za poa u prozoru za oblikovae tabele. Opis poa (engl. description) nije obavezan podatak, a slui za identifikovae namene poa; prilikom unoea podataka pojavuje se na statusnoj traci. Poto upiete ime i tip podataka za sva poa, moete upisati vrednosti i ostalih svojstava poa da biste preciznije zadali kako e se pojedina poa koristiti. Meutim, pre nego to upiete vrednost bilo kojeg svojstva, trebalo bi da zadate sva imena i tipove podataka za poa iz ovog primera. Ve ste napravili neka poa koja e vam biti potrebna.

Zadavae imena poa


Ime poa treba da bude dovono jasno da razumete ta je u pitau, ali da to bude jasno i krajem korisniku aplikacije, kao i Accessu. Preporuivo je da imena poa budu dovono dugaka da jasno opisuju namenu poa, ali ne i predugaka. (Tako ete kasnije, kada budete definisali pravila ispravnosti ili koristili imena poa u proraunima, utedeti sebi trud jer neete morati da piete predugaka imena poa.)
Referenca

U ovoj kizi koristimo standarde za imenovae svih objekata. Da biste saznali vie o konvencijama za imenovae objekata koje primeujemo u ovoj kizi, pogledajte dodatak D.

46

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Da biste uneli ime novog poa, postavite pokaziva mia u prvi red prozora za oblikovae tabele, u kolonu Filed Name. Upiite zatim ispravno ime poa, vodei rauna o sledeem:
N N N N N N

Duina imena poa moe da bude od jednog do 64 znaka. Imena poa mogu da sadre slova, brojeve i veinu posebnih znakova. Ime poa ne sme da sadri taku (.), znak uzvika (!), uglaste zagrade ([]) niti kratkosilazni akcenat (`). Nije dozvoena upotreba ASCII znakova niskih vrednosti, npr. Ctrl-J ili Ctrl-L (ASCII vrednosti od 0 do 31). Ime poa ne moe da poie razmakom. Ime Accessovog projekta ne moe da sadri dvostruke navodnike (").

Imena poa moete da piete velikim, malim ili meanim slovima. Ukoliko pri upisivau imena poa pogreite, postavite pokaziva na mesto na kojem elite da unesete ispravku i upiite izmenu. Ime poa moete da promenite kad god elite ak i ako ono pripada tabeli koja je popuena podacima.
Upozoree

Meutim, kada strukturu tabele snimate na disk i pri tome izmenite ime poa koje se koristi u upitima, obrascima ili izvetajima, morate da ga izmenite i u tim objektima.

Zadavae tipa podataka


Poto zadate ime poa, morate da zadate i tip podataka koji e se uvati u pou. Pre nego to ponete da unosite podatke, trebalo bi da paivo razmotrite sve tipove podataka koji e se koristiti u vaem sistemu. Tabela 2-1 prikazuje deset osnovnih tipova podataka; za neke tipove podataka (kao to su numeriki) postoji vie opcija. Tabela 2-1 Tipovi podataka koji su na raspolagau u Accessu
Tip podataka Text Memo Number Date/Time Currency AutoNumber Yes/No OLE Object HyperLink Lookup Wizard Vrsta podataka koji skladiti Veliina Alfanumeriki znaci Alfanumeriki znaci Numerike vrednosti Datum i vreme Novane vrednosti 0255 znakova 065.536 znakova 1, 2, 4, 8 ili 16 bajtova za Replication ID (GUID) 8 bajtova 8 bajtova

Broja sa automatskim povea- 4 bajta ili 16 bajtova za Replication ID (GUID) vaem Logike vrednosti da/ne, istinito/neistinito Slike, dijagrami, zvuni i video zapisi Veza ka odreenom resursu na Internetu Prikazuje povezane podatke iz druge tabele 1 bit (0 ili -1) Do 1 GB (ogranieno prostorom na disku) 064.000 znakova Najee 4 bajta

Na slici 2-11 prikazana je padajua lista koja omoguava birae tipa podataka za poe koje se dodaje tabeli. Kada pokaziva mia postavite u kolonu Data Type, u pou za podatak pojavuje se strelica nadole. Da biste otvorili tu padajuu listu, postavite kursor u kolonu Data Type i pritisnite strelicu nadole ().

Poglave 2 o Projektovae i izrada tabela

47

Slika 2-11: Padajua lista Data Type. Tip podataka koji elite da zadate za poe moete brzo da izaberete ako otvorite tu listu i iz e izaberete odgovarajuu stavku. Druga mogunost je da runo upiete ime tipa podataka.

Podatak tipa tekst (engl. Text data) je svaki podatak koji se sastoji od alfanumerikih znakova, tj. cifara (0 do 9) i slova (A do , a do ). Imena, adrese i opisi primeri su tekstualnih podataka, kao to su i numeriki podaci koji se ne koriste u proraunima (na primer, telefonski brojevi, matini brojevi graana i potanski brojevi). Iako u odeku za svojstva poa moete da zadate veliinu tekstualnog poa, ono ne moe da prihvati podatak dui od 255 znakova. Za skladitee podataka tekstualnog tipa Access koristi poa promenive veliine. Ako zadate da je veliina poa 25 znakova, a koristite samo po 5 znakova u svakom zapisu, to je sve to ete zauzeti u kontejneru baze podataka. Ustanoviete da veliina .MDB datoteke moe brzo da naraste, ali tekstualna poa nee biti uzrok. Meutim, umesto da prepustite Accessu da svakom tekstualnom pou dodeuje podrazumevanu veliinu od 50 znakova, ili maksimalnih 255 znakova, preporuivo je da veliinu tekstualnih poa ograniite na maksimum koji smatrate da e biti dovoan. Imena i prezimena osoba mogu da budu problem jer mogu biti veoma dugaka. Meutim, prilino je izvesno da potanski broj nee biti dui od 12 znakova (u bilo kojoj dravi sveta). Kada u pou ograniite broj znakova, tako ograniavate i broj znakova koje korisnik moe da upie kada se poe koristi u obrascu. Sadraj poa tipa Memo moe da bude promenive veliine, od 0 do 65.536 znakova u svakom zapisu. To znai da, ukoliko jedan zapis sadri 100 znakova, a drugom je potrebno samo 10 znakova, dok trei sadri 3000 znakova, zauzimate samo onoliko prostora koliko je potrebno za svaki zapis pojedinano. Poe numerikog tipa (engl. Number) omoguava uvae numerikih (brojanih) podataka, odnosno brojeva koji e se koristiti u matematikim proraunima. (Ako imate podatke koji e se koristiti u proraunima s novanim iznosima, trebalo bi da koristite tip podataka Currency, koji omoguava upotrebu velikog broja raznih novanih jedinica.) Datumsko poe (engl. Date/Time) moe da sadri datume, vremena ili oboje istovremeno. To znai da u takvo poe moete da upiete datum, vreme ili kombinaciju datuma i vremena. U odeku za svojstva poa moete da zadate brojne formate za sadraj poa ovog tipa i da zatim prikazujete datum i vreme u obliku koji smatrate najprikladnijim.

48

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Novano poe (engl. Currency) omoguava rad s podacima numerikog tipa, tj. brojeva koji e se prikazivati samo s dva decimalna mesta i koji se mogu koristiti u matematikim proraunima. Za ovaj tip podataka moete zadati mnogobrojne formate za novane jedinice. (Ako imate poe koje treba da se koristi za nenovane vrednosti i proraune, prikladniji je jedan od tipova podataka iz grupe Number.) Poe tipa AutoNumber sadri celobrojnu vrednost koju Access automatski generie (poveava) kad god dodate nov zapis. Ovaj tip podataka moe se koristiti za jednoznano identifikovae zapisa u tabelama koje ne sadre druge jedinstvene vrednosti. Na primer, ako na listi imena osoba nemate jedinstven identifikator, moete da dodate tabeli jedno poe tipa AutoNumber da biste razlikovali jednog Petra Jovanovia od drugog. Logiko poe (engl. Yes/No) sadri podatke koji imaju samo jednu od dve mogue vrednosti, tj. koji predstavaju binarno stae. Stvarne vrednosti koje se uvaju u tabeli jesu -1, koja predstava vrednost tano ili istinito, odnosno 0, koja predstava vrednost netano ili neistinito. Format moete da podesite tako da se prikazuju vrednosti Yes/No, True/False ili On/Off. Kada imate podatke logikog tipa, na obrascu moete da koristite razne kontrole koje su posebno nameene za rad s tim tipom podataka. OLE objektno poe (engl. OLE Object) obezbeuje pristup podacima koji se mogu povezati sa odreenim OLE serverom. Ta vrsta podataka obuhvata rasterske slike (poput onih napravenih u programu Windows Paint), datoteke zvunih zapisa (kao to su .WAV datoteke), poslovnu grafiku (poput one napravene u Accessu ili Excelu), ak i video zapise s pokretnim slikama. Razume se, video zapise moete da reprodukujete samo ako imate neophodan hardver i odgovarajui OLE serverski softver. Poe hiperveze (engl. Hyperlink) sadri kombinaciju slova i brojeva koji se uvaju u obliku teksta i koriste kao adresa hiperveze. Sadraj ovog poa moe biti podeen na tri dela: (1) tekst koji se prikazuje u pou (obino je podvuen); (2) adresa na Internetu, koja moe da bude putaa do datoteke u formatu UNC (Universal Naming Convention univerzalna konvencija za dodeivae imena), ili adresa Web stranice u formatu URL (Uniform Resource Locator jednoobrazna adresa resursa); (3) podadresa unutar datoteke ili stranice. Primer podadrese je ime odreenog obrasca ili izvetaja Accessa 2003. Pojedinani delovi ovog tipa poa razdvojeni su znakom taraba (#). Tip podataka Lookup Wizard omoguava da napravite poe u kojem pomou padajue liste moete da izaberete vrednost iz druge tabele ili iz skupa ponuenih vrednosti. To je posebno korisno kada u tabeli drite vrednosti poa kua iz neke druge tabele da biste uspostavili vezu s podacima iz te tabele. Kada sa padajue liste Data Type izaberete Lookup Wizard, pokree se istoimeni arobak pomou kojeg definiete stvarni tip podataka i uspostavate vezu s drugom tabelom. Vie o ovom tipu podataka saznaete u nastavku poglava.

Opis poa
Opis poa (engl. description) nije obavezan; egova namena je da vas podseti na svrhu poa ili da je objasni drugom korisniku. Kolonu za opis poa esto ete ostavati nepopuenu, ili ete je popuavati samo za ona poa ija namena ne moe lako da se utvrdi na osnovu imena poa. Ako popunite ovu kolonu, en sadraj e se pojavivati na statusnoj traci kad god se kursor nalazi u tom pou kada se ono pojavuje u prikazu Datasheet ili na obrascu. Opis poa moe da razjasni namenu poa ije je ime dvosmisleno ili da prilikom unoea podataka korisniku prui objaee o vrednostima koje su prihvative u pou.

Poglave 2 o Projektovae i izrada tabela

49

Izrada tabele tblContacts


Pomou navedenih devet tipova podataka (i arobaka Lookup) trebalo bi da budete u stau da napravite konanu upotrebivu verziju tabele tblContacts. Tokom izrade te tabele bie potrebno da napravite poe koje e je povezati s druge dve tabele, tblSales i tblContactLog. To vezivno poe bie tipa AutoNumber, to e se pokazati kao problem s tekuom verzijom tabele tblContacts.

Accessova poa tipa AutoNumber


Poa tipa AutoNumber Access obrauje na poseban nain, kada i definiete i kada treba da im dodeli vrednosti. Poe koje ste prethodno definisali kao neki drugi tip podataka ne moete da pretvorite u AutoNumber ako tabela nije prazna. Ukoliko pokuate da to uinite, Access e prikazati poruku o greci (slika 2-12). Poruka u tom okviru za dijalog znai da poto definiete tabelu i unesete podatke u u, nijedno poe, bez obzira na tekui tip, vie ne moete da pretvorite u AutoNumber.

Slika 2-12: Okvir za dijalog s upozoravajuom porukom da poe tabele koja sadri podatke ne moete da pretvorite u tip AutoNumber.

Kada ste napravili prvu verziju tabele tblContacts tako to ste podatke u pisali direktno u tabelarnom prikazu, Access je pou idsContactID automatski dodelio tip Number. Poto Access ne dozvoava da promenite tip poa u AutoNumber ukoliko tabela sadri zapise, moraete da izbriete zapise ili da izbriete poe. Da biste tip poa idsContactID izmenili iz Number u AutoNumber, moraete da se vratite u prikaz Datasheet, tako to ete pritisnuti ikonicu View (prva sleva, ispod rei File). U prikazu Datasheet pritisnite prvu kolonu sleva prvog zapisa. Obratite pau na to da kada pomerite kursor u bilo koji red prve kolone, on mea oblik u malu strelicu usmerenu nadesno. Kada se pojavi ta strelica, pritisnite prvo poe da biste istakli ceo zapis; kada je zapis istaknut, pritisnite taster Delete da biste izbrisali istaknuti zapis. Na slici 2-13 prikazan je istaknut zapis i kursor u obliku strelice usmerene nadesno. Access e prikazati okvir za dijalog s pitaem da li zaista elite da izbriete istaknuti zapis. Odgovorite sa Yes. Poto to uradite, ponovite postupak da biste izbrisali i ostale zapise u tabeli.

Slika 2-13: Brisae zapisa u prikazu Datasheet.

50

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Poto izbriete sve zapise, pritisnite dugme Design (isto kao i View, ali sada omoguava prelazak u prikaz Design) da biste se vratili u prikaz za oblikovae (Design) tabele.

Konana struktura tabele tblContacts


Kada tabelu tblContacts otvorite u prikazu Design, moete da joj dodajete nova poa ili da meate postojea. Tabela 2-2 prikazuje konanu verziju strukture tabele tblContacts. Ukoliko primere pratite na svom raunaru, trebalo bi sada da izmenite strukturu te tabele tako to ete je dopuniti dodatnim poima. Imena poa i tipove podataka upiite tano kao to je prikazano u narednoj tabeli. Potrebno je i da promenite redosled nekih poa. Ako je neophodno, prouite sledeih nekoliko stranica da biste saznali kako se mea postojea struktura tabele (to obuhvata meae redosleda poa, promenu imena poa i brisae postojeeg poa). Tabela 2-2 Struktura tabele tblContacts
Ime poa (Field Name) idsContactID chrContactType chrFirstName chrLastName chrCompany chrAddress chrCity chrState chrZipCode chrCustomerType Tip podataka (Data Type) Opis (Description) AutoNumber Text Text Text Text Text Text Text Text Text Slui za povezivae tabela tblSales i tblContact Log Buyer (kupac), Seller (prodavac) ili Both (oboje) Ime klijenta Prezime klijenta Naziv firme Adresa Grad Savezna drava (SAD) Potanski broj Sadri podatak, kao to je Parts Store (prodavnica rez.delova), Dealer (prodavac automobila), Auctioneer (uesnik aukcije) itd. Telefonski broj Broj faksa Adresa e-pote Web lokacija Datum kada je postao klijent Savezna drava ija se poreska stopa primeuje Maksimalan iznos kredita Tekui dug Moe da sadri vrednost OK, HOLD ili New Datum poslede kupoprodaje Poetni procenat popusta odobren klijentu Napomene Aktivan klijent

chrPhone chrFax chrEmail hlkWebSite dtmOrigCustDate chrTaxLocation curCreditLimit curCurBal chrCreditStatus dtmLastSalesDate dblDiscountPercent memNotes blnActive

Text Text Text Text Date/Time Text Currency Currency Text Date/Time Number Memo Yes/No

Poglave 2 o Projektovae i izrada tabela

51

Tip podataka Number u pou idsContactID promeniete u tip podataka AutoNumber na sledei nain:
1. Postavite pokaziva mia u kolonu Data Type i red u kojem se nalazi poe

idsContactsID. 2. Pritisnite strelicu nadole i izaberite tip AutoNumber.


Savet

Moete i runo da upiete ceo naziv tipa podataka ili samo prvih nekoliko slova koja su jedinstvena za ime odabranog tipa. Access automatski proverava da li se tip podataka koji ste zadali nalazi na padajuoj listi. Ako zadate nepostojei tip, pojavuje se upozoravajua poruka.

Novo poe ete u strukturu tabele dodati na sledei nain:


1. Postavite pokaziva mia u kolonu Field Name u redu u kojem elite da bude

novo poe.
2. Upiite ime poa i pritisnite taster Enter ili Tab. 3. U koloni Data Type pritisnite strelicu nadole i izaberite tip podataka. 4. Postavite pokaziva mia u kolonu Description i upiite opis ili napomenu

(nije obavezno). Ponovite postupak za svako novo poe koje dodate u tabelu tblContacts. Da biste preli na sledei red, pritisnite taster sa strelicom nadole ili bilo koji prazan red.

Meae strukture tabele


Kada pravite tabelu, trebalo bi da to radite na osnovu dobro isplanirane strukture. Ipak, izmene su ponekad neophodne, ak i kad postoji plan, kao u primeru promene tipa podataka poa idsContactID iz Number u AutoNumber. Moe se dogoditi da morate da dodate jo jedno poe, da uklonite neko od postojeih, da promenite ime poa ili egov tip podataka ili da samo promenite redosled poa u tabeli. Te vrste izmena strukture tabele moete da obavite kad god smatrate da je potrebno. Meutim, poto tabelu popunite podacima, to vie nije tako jednostavno. Morate da obezbedite da izmene koje nameravate da napravite nee ni na koji nain uticati na ve postojee podatke. U prethodnim verzijama Accessa (verzija 95 i starije) izmene strukture tabele mogli ste da obavate samo u prikazu Design tabele. Od Accessa 97, to znai i u Accessu 2003, to moete da uradite i u prikazu Datasheet; tu moete da dodajete poa, da briete poa i da im meate imena.
Nova osobina

U prethodnim verzijama Accessa najea posledica izmene imena poa bila je da svi upiti, obrasci, izvetaji, makroi i moduli u kojima se pomialo staro ime poa vie nisu ispravno radili i morali ste da ih runo pronalazite i ispravate. Od verzije 2002 nadae, Access automatski pronalazi veinu mesta gde se pojavuje ime izmeenog poa i sam ga isprava.

Umetae novog poa


Da biste umetnuli novo poe, postavite kursor na postojee poe i izaberite Insert Row, ili na paleti alatki pritisnite dugme Insert Row. U tabeli se pojavuje nov red, a postojei redovi se pomeraju nadole. Zatim moete da upiete definiciju novog poa. Umetae novog poa ne utie na ostala poa, niti na postojee podatke. Ako imate upite, obrasce ili izvetaje koji koriste tabelu iju ste strukturu izmenili, moe biti neophodno da novo poe dodate i tim objektima.

52

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Brisae poa
Poe moete da izbriete na jedan od sledeih naina:
N N N

Izaberite poe tako to ete pritisnuti odgovarajui bira reda, a zatim pritisnite taster Delete. Izaberite poe, a zatim izaberite Edit Delete Rows. Izaberite poe, a zatim na paleti alatki pritisnite dugme Delete Rows.

Kada briete poe koje sadri podatke, pojavuje se upozoravajua poruka da ete izgubiti sve podatke u tom pou. Ako je tabela prazna, zanemarite poruku. Meutim, ako tabela sadri podatke, razmislite elite li zaista da izgubite podatke iz tog poa (kolone). To poe ete morati da uklonite i iz svih upita, obrazaca i izvetaja u kojima se pojavuje egovo ime.
Savet

Kada izbriete poe, ako odmah zatim pritisnete dugme Undo, vratiete poe u tabelu. Meutim, to morate da uradite pre nego to izmeenu definiciju tabele snimite na disk. Ako pokuate da izbriete poe pomou kojeg su povezane dve tabele (tj. poe koje pripada primarnom ili sponom kuu), Access e vas obavestiti da ne moe da izbrie poe dok u prozoru Relationships ne izbriete referencu na to poe.

Savet

Kada izbriete odreeno poe, u celoj bazi podataka morate da uklonite i sve reference na to poe. Budui da se ime tog poa moe pojavivati na obrascima, u upitima, izvetajima, pa ak i u izrazima za proveravae ispravnosti podataka u tabelama, morate paivo ispitati svoj sistem da biste pronali sva mesta na kojima se pomie ime poa koje nameravate da izbriete.

Promena mesta poa u strukturi tabele


Jedna od najjednostavnijih izmena je premetae poa unutar strukture tabele. Poa se pojavuju u istom redosledu po kojem ste ih postavili prilikom definisaa tabele u prikazu Datasheet. Ako smatrate da treba da promenite redosled poa, dvaput pritisnite bira odgovarajueg poa i prevucite poe na novo mesto.

Promena imena poa


Ime poa ete promeniti tako to ete izabrati egovo ime u prozoru za oblikovae tabele i upisati novo ime; Access e automatski aurirati strukturu tabele. Kada to radite u novoj tabeli, postupak je veoma jednostavan.
Upozoree

Meutim, ako ste ime poa koristili na nekim obrascima, upitima ili izvetajima, morate da pronaete svaki objekat u kojem se ime poa pomie i da ga tamo promenite. (Imajte u vidu da ime poa moete koristiti i u pravilima za ispravnost podataka, u izraunatim poima u upitima, kao i u izrazima u makroima i modulima na svim tim mestima morate da ga promenite.) Kao to vidite, naknadno meae imena poa nije ba jednostavno; to je prilino dodatnog posla.

Promena veliine poa


Promena veliine poa je jednostavna u prikazu Design tabele. Meutim, samo tekstualna i numerika poa moete da poveavate. To se radi tako to se povea vrednost svojstva Field Size tekstualnog poa ili zada drugaija irina numerikog poa. Vodite rauna o decimalnom zarezu u numerikim poima da ne biste zadali novu veliinu koja podrava mae decimalnih mesta nego to imate.

Poglave 2 o Projektovae i izrada tabela

53

Kada elite da smaite veliinu poa, prethodno proverite da li je neki od postojeih podataka u tabeli vei od budue veliine poa. (Ako jeste, postojei podatak bie odseen.) Preporuivo je da tekstualni podaci budu to krai da bi zauzimali mae prostora na disku.
Savet

Imajte u vidu da svako tekstualno poe zauzima samo onoliko znakova koliko je u ega upisano. Takva poa pokuajte da podesite tako da budu iroka samo onoliko koliko je potrebno za najveu oekivanu vrednost da bi Access spreio korisnika da unese vrednost koja bi moda bila prevelika za obrazac ili izvetaj.

Promena tipa podataka u pou


Kada meate tip podataka u pou, budite veoma oprezni ukoliko elite da sauvate postojee podatke. Ta vrsta promene je retka; veina tipova podataka ograniava (po definiciji) vrstu podataka koje moete da unosite. Na primer, ne moete da unesete slovo u numeriko, niti u datumsko poe. Meutim, postoje i tipovi podataka koji mogu da se prevode u druge tipove. Na primer, numeriko poe (Numeric) moe da se pretvori u tekstualno (Text), ali pri tome gubite matematiko znaee prevedenih vrednosti jer vie ne moete da ih koristite u matematikim proraunima. Moe da vam se dogodi da omakom definiete telefonski ili potanski broj kao numeriko poe i da poelite da ga ponovo definiete kao ispravan tip podataka Text. Razume se, morate da pronaete i sva ostala mesta na kojima ste koristili ime tog poa (na primer, u obrascima, upitima ili izvetajima).
Upozoree

Tip podataka OLE ne moe da se pretvori ni u jedan drugi format. Nijedan tip podataka ne moe da se pretvori u AutoNumber ako izvorno poe ve sadri podatke.

Kada pretvarate podatke iz jednog tipa u drugi, vano je da shvatite etiri osnovne vrste konverzije. Naredni odeci opisuju te vrste.

Pretvarae u tip Text iz drugih tipova podataka


Konverzija u tip Text je najjednostavnija; u tekst moete bez problema da pretvorite podatke gotovo svakog drugog tipa. Podaci tipa Number ili Currency pretvaraju se bez posebnog formatiraa (bez simbola za novanu jedinicu ili taaka za razdvajae grupa cifara) ukoliko je izvorni format General Number; decimalni zarez ostaje na svom mestu. Podaci tipa Yes/No pretvaraju se u tekst Yes ili No; podaci tipa Date/Time zadravaju isti oblik ukoliko je izvorni format General Date (dd/mm/yy hh:mm:ss). Podaci tipa Hyperlink lako se pretvaraju u tekst. Tekst se potom vie nee prikazivati podvuen, ali ostaje vidivo da je tip sadraja poa hiperveza ka resursu na Internetu.

Pretvarae iz tipa Text u numeriki, novani, datumski, logiki tip, ili u hipervezu
Samo podaci koji se sastoje od cifara (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), take, zareza i znaka dolar mogu da se pretvaraju iz tipa Text u tip Number ili Currency. Morate obezbediti i to da maksimalna veliina izvornog niza znakova nije vea od irine cinog numerikog ili novanog poa. Podaci znakovnog tipa koje pretvarate u datume ili vremena moraju da budu u odgovarajuem formatu za datum ili vreme. Moete da koristite svaki dozvoeni format za datum ili vreme (npr. 12/10/2001, 12-Oct-00 ili October 1999).

54

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Tekstualna poa moete da pretvorite u vrednosti Yes ili No, u zavisnosti od toga kako je zadato u pou. Access prepoznaje rei Yes, True i On kao vrednost Yes, odnosno No, False i Off kao vrednost No.
Savet

Access moe da pretvori i numerika poa u Yes/No vrednosti. Vrednost Null ili 0 Access tumai kao No, a svaku drugu vrednost koja se razlikuje od nule kao Yes.

Tekstualno poe koje sadri pravilno formatiran tekst hiperveze pretvara se direktno u format Hyperlink prikazuju se tekst i adresa.

Pretvarae novanog poa u numeriko


Podatke iz poa tipa Currency moete da pretvarate u numerike tipove podataka pod uslovom da cino poe moe da prihvati izvornu veliinu i broj decimalnih mesta. Imajte u vidu da svojstvo Field Size numerikog poa odreuje veliinu (u bajtovima) prostora potrebnog za skladitee vrednosti i maksimalan broj decimalnih mesta. Svaki broj moete pretvoriti u tip Double, koji zauzima osam bajtova s 15 decimala, dok tip Single zauzima samo etiri bajta i ima 7 decimalnih mesta. (Vie pojedinosti o tome nai ete u odeku Zadavae svojstava koja odreuju veliinu poa u nastavku poglava, kao i u tabeli 2-2.)

Pretvarae iz tipa Text u tip Memo


Tekstualne podatke moete uvek pretvoriti u tip Memo poto je maksimalna veliina tekstualnog poa 255 znakova, dok Memo poe moe da sadri najvie 65.536 znakova. Meutim, poe tipa Memo moete da pretvorite u tip Text samo ako je svaka vrednost u Memo pou kraa od irine cinog tekstualnog poa, to jest nema vie od 255 znakova. Vrednosti due od veliine poa bie odseene.

Svojstva poa
Poto upiete imena poa, tipove podataka i opise poa, moe biti neophodno da se vratite korak nazad i preciznije definiete pojedina poa. Svako poe ima odreena svojstva, koja su za svaki tip podataka drugaija. U tabeli tblContacts morate da zadate vrednosti svojstava za nekoliko tipova podataka. Na slici 2-14 prikazan je odeak sa svojstvima poa curCreditLimit; na kartici General u odeku za svojstva na raspolagau je deset opcija. Obratite pau na to da odeak sa svojstvima sadri dve kartice General i Lookup. Kartica Lookup opisana je u nastavku ovog poa.
Savet

Na slici 2-14 prikazano je deset svojstava poa curCreditLimit, koje je tipa Currency. Za poa koja imaju druge tipove podataka, npr. Number i Date/Time (11), Text (14) ili Yes/No (7), pojavivae se vei ili mai broj opcija.

Slika 2-14: Odeak svojstava poa tipa Currency ije je ime curCreditLimit.

Poglave 2 o Projektovae i izrada tabela

55

Ako pritisnete taster F6, prelazite iz odeka za definisae poa u odeak za svojstva i obrnuto. To moete uiniti i ako miem pritisnete unutar odgovarajueg odeka. Za neka svojstva, kada postavite pokaziva mia u poe, u emu se pored vrednosti pojavuje i strelica nadole. Kada pritisnete strelicu, otvara se padajua lista s moguim vrednostima svojstva. Sledi lista optih svojstava (imajte u vidu da ona nee uvek biti sva vidiva; to zavisi od tipa podataka koji zadate):
N N N N

N N N N N N N N N

N N N

Field Size (veliina poa). Za tip Text: ograniava irinu poa na zadati broj znakova (1255); podrazumeva se 50. New Values (nove vrednosti). Omoguava zadavae koraka poveaa ili generisae nasumine vrednosti. Format. Odreuje oblik u kojem se podatak pojavuje na ekranu (ispisano velikim slovima, format datuma itd.). Input Mask (ulazna maska). Koristi se za unoee podataka u unapred definisanom i proverenom formatu (telefonski brojevi, potanski brojevi, matini brojevi graana, datumi, identifikatori koje sami definiete). Decimal Places (broj decimalnih mesta). Odreuje broj decimalnih mesta (samo u poima tipa Numeric i Currency). Caption (natpis). Neobavezan tekst koji se pojavuje umesto stvarnog imena poa na obrascima i izvetajima. Default Value (podrazumevana vrednost). Vrednost koja se automatski upisuje u poe kada dodate nov zapis. Validation Rule (pravilo ispravnosti). Ispravnost vrednosti koja se unosi u poe ispituje se na osnovu pravila koja se definiu u obliku izraza ili makroa. Validation Text (tekst poruke). Tekst poruke koja se pojavuje kada podatak u pou ne zadovoava pravila ispravnosti. Required (obavezno). Odreuje da li poe mora da bude popueno ili ne. Allow Zero Length (dozvoena duina nula). Odreuje da je u tekstualno poe dozvoen upis vrednosti radi razlikovaa od vrednosti Null. Indexed (indeksirano). Ubrzava pristup podacima i (ako tako zadate) ograniava podatke na jedinstvene vrednosti. Unicode Compression (komprimovae Unicode znakova). Koristi se u aplikacijama koje treba da rade na vie jezika. Zahteva priblino dvaput vie prostora za smetae podataka, ali omoguava prikazivae Officeovih dokumenata, ukuujui i Accessove izvetaje, sa ispravnim znakovima bez obzira na jezik ili pismo koje se koristi. IME Mode. Poznato i kao Kai Conversion Mode, ovo svojstvo odreuje da li reim Kai vai i posle gubea kontrole. IME Sequence Mode. Odreuje redosled kojim se prelazi s jednog poa tabele ili kontrole na drugo kada fokus pree na drugo poe/objekat. Smart Tags. Omoguava da se zada akcija pomou koje se generiu podaci u pou. Na primer, ako se zada Financial Symbol Smart Tag, preuzimaju se kotacije na berzi s Web lokacije MSN Money Central.

56
Napomena

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Svojstva IME Mode i IME Sequence Mode dostupna su samo ako je u Officeu ukuena podrka za strane jezike, kao to su pojednostaveni kineski, tradicionalni kineski ili japanski. IME je skraenica za Input Method Editor.

Zadavae svojstava koja odreuju veliinu poa


Veliina poa ima dve svrhe. U tekstualnim poima tako se zadaje kapacitet potreban za uvae podataka i za prikazivae podataka na ekranu. Na primer, veliina poa chrEmail je 100 bajtova. Preporuivo je da za svako poe tipa Text izriito zadate veliinu. Ako ne izmenite podrazumevanu veliinu poa, Access e podesiti veliinu od 50 bajtova za svako poe tipa Text u svakom zapisu. Najboe je da veliinu poa podesite tako da bude jednaka najveem broju znakova koji oekujete u pou. U numerikim poima (Number, Currency i AutoNumber) veliina poa omoguava da preciznije definiete tip broja, to potom odreuje kapacitet potreban za uvae podataka. Svojstvo Field Size za numerika poa moe da ima jednu od sedam moguih vrednosti, koje su date u tabeli 5-3. Preporuivo je da veliinu poa izaberete tako da ono bude to krae; Access radi bre s maim poima. Imajte u vidu da prve tri opcije nemaju decimalni zarez, ali omoguavaju rastue pozitivne ili negativne (celobrojne) vrednosti. Opcije Single i Double omoguavaju jo vee vrednosti; Single prihvata sedam decimalnih mesta, dok Double prihvata ih petnaest. Koristite opciju Double kada vam je potrebno puno decimalnih mesta ili kada radite s veoma velikim brojevima.
Savet

Za poa koja sadre novane vrednosti koristite tip podataka Currency.

Tabela 2-3 Veliine numerikih poa


Vrednost svojstva Field Size Byte Integer Long Integer Double Single Replication ID Decimal Opseg 0 do 255 -32.768 do 32.767 -2.147.483.648 do 2.147.483.647 -1,797 x 10308 do 1,797 x 10308 -3,4 x 1038 do 3,4 x 1038 Neprimenivo Preciznost od 1 do 28 mesta Broj decimalnih mesta Nema Nema Nema 15 7 Neprimenivo 15 Vrednost zauzima 1 bajt 2 bajta 4 bajta 8 bajtova 4 bajta 16 bajtova 8 bajtova

Savet

Tip podataka Replication ID preporuuje se za poa tipa AutoNumber u bazama podataka koje se replikuju i u koje se redovno dodaje proseno po stotinak novih zapisa. To vai i za numerika poa koja se koriste kao primarni kuevi. Kada se meusobno sinhronizuju dve kopije tabele, mogu se pojaviti duplirane numerike vrednosti, osim kada je tip poa definisan kao Replication ID. Poto poa ovog tipa sadre 128-bitne vrednosti, troi se vie prostora na disku.

Upotreba formata
Formati omoguavaju prikazivae podataka u obliku drugaijem od onog u kojem su bili uneti. Formati se razlikuju u zavisnosti od tipa podataka koji koristite. Za neke tipove podataka postoje unapred definisani formati, za druge treba da ih sami definiete, dok su za tree mogue obe vrste formata. Formati utiu iskuivo na oblik u kojem se podaci prikazuju, a ne na oblik u kojem se smetaju u tabele ili u kojem bi trebalo da se unose.

Poglave 2 o Projektovae i izrada tabela

57

Formati za podatke tipa Text i Memo


U Accessu postoje etiri simbola za formatirae podataka tipa Text i Memo: @ & < > Obavezan tekstualni znak (znak ili razmak). Tekstualni znak nije obavezan. Pretvara sve znakove u mala slova. Pretvara sve znakove u velika slova.

Simboli @ i & deluju na pojedinane znakove koje unosite, dok znakovi < i > deluju na ceo sadraj poa. Na primer, ako elite da se ime osobe uvek prikazuje velikim slovima, kao vrednost svojstva Format upiite >. Ako elite da upiete telefonski broj i da dozvolite unoee iskuivo cifara, ali da ipak prikaete zagrade i crtice koje razdvajaju grupe cifara, kao vrednost svojstva Format upiite sledei izraz: (@@@)@@@-@@@@. Kada, zatim, upiete 2035551234, podatak e biti prikazan u obliku (203) 555-1234. Za poa tipa Text i Memo moete definisati i sopstvene formate. Sopstveni format moete da zadate samo za odreeno poe iji sadraj elite da prikaete (tj. ne moete definisati generiki nestandardni format). Prethodni primer telefonskog broja predstava nestandardni format; meutim mogunosti su neto ire nego to bi se moglo zakuiti na osnovu primera s telefonskim brojem. Kada definiete sopstveni format, morate da zadate dva dela formata koji su razdvojeni znakom taka i zarez (;). Prvi deo je format koji se primeuje kada poe sadri tekst, dok je drugi deo za poa koja sadre vrednost veliine nula, odnosno za poa koja sadre vrednost Null. Nestandardne formate moete da definiete tako to ete u prvom delu upotrebiti neke od simbola @ (znak je obavezan), & (znak nije obavezan), < (pretvarae u mala slova), ili > (pretvarae u velika slova), dok drugi deo formata moe da sadri tekst (izmeu navodnika) koji biste eleli da se prikazuje. Na primer, format @@@-@@;Nepoznato[Red] prikazuje podatke razdvojene crticom koju ne treba runo upisivati, a ako je poe prazno, prikazuje se re Nepoznato ispisana crvenim slovima.

Formati za numerike i novane tipove podataka


Za podatke tipa Numeric i Currency postoji est unapred definisanih formata podataka i nekoliko simbola pomou kojih moete da pravite sopstvene formate. Standardni formati prikazani su u tabeli 2-4 zajedno s kolonom koja pokazuje kako da definiete sopstvene formate. Tabela 2-4 Primeri numerikih formata
Tip formata General Currency Euro Fixed Standard Percent Scientific Oblik u kojem se broj unosi 987654.321 987654.321 987654.321 987654.321 987654.321 .987 987654.321 Oblik u kojem se broj prikazuje 987654.3 $987,654.32 987,654.32 987654.32 987,654.32 98.7% 9.88E+05 Definicija formata ########.# $###,##0.00 ###,##0.00 #####0.00 ###,####.## ###.##% ###E+00

58

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Svi prethodni formati su standardni formati za numerike vrednosti za koje svojstvo Decimal Places (broj decimala) ima vrednost AUTO. Tabela 2-4 prikazuje i standardni format koji se interno formira kada izaberete jednu od ugraenih definicija formata. Meutim, u to poe moete da unesete i definiciju sopstvenog formata tako to ete upisati odgovarajue znakove definicije formata. Nestandardni formati koji treba da slue za numerike podatke sastoje se od etiri dela (1) za pozitivne vrednosti, (2) za negativne vrednosti, (3) za nulu i (4) za vrednost Null. Na primer, za podatke tipa Currency moete da napravite poseban format koji bi izgledao ovako $#.##0,00[Green];($#.##0,00)[Red];"nula"; "nepoznato" format se sastoji od sve etiri komponente. On e sve pozitivne vrednosti prikazivati u zelenoj boji, a sve negativne vrednosti u crvenoj; ako poe sadri vrednost 0, prikazae se re nula, a ako poe ne sadri nikakvu vrednost, prikazae se re nepoznato. Nestandardni formati koje pravite za numerika poa mogu da sadre sledee simbole: taku (.), zarez (,), 0 (mesto za cifru na kojem se prikazuje cifra ili 0), # (mesto za cifru na kojem se prikazuje cifra ili razmak), $ (prikazuje se znak $), % (prikazuje se znak za procenat), E- ili e- (znak minus u naunoj notaciji) i E+ ili e+ (ispred negativnih brojeva prikazuje se znak minus, a ispred pozitivnih znak plus). Primer nestandardnog formata za podatke tipa Currency moe da se uprosti u #.##0.00; (#.##0,00);;Null. Ovaj format negativne brojeve prikazuje izmeu zagrada, nulu kao 0,00, a za poa koja sadre vrednost Null prikazae se re Null. Obratite pau na to da odeak za nulu nije definisan jer je minimalna vrednost koja se prikazuje ionako 0,00.

Formati za datum i vreme


Formati za tip podataka Date/Time su najraznovrsniji od svih; na raspolagau je sledeih sedam unapred definisanih opcija:
N

N N

General Date. (Podrazumevani oblik.) Prikazani oblik zavisi od same vrednosti; ako zadate samo datum, bie prikazan samo datum; ako zadate samo vreme, nee biti prikazan datum; standardni (ameriki) format za datum i vreme je 2/10/01 10:32 PM. Long Date. Oblik prikazivaa zavisi od toga kako je u Windowsovom okviru za dijalog Regional Settings definisan format Long Date; na primer: sreda, 10 februar 2001. Medium Date. Primer: 10.feb.01. Short Date. Oblik prikazivaa zavisi od toga kako je u Windowsovom okviru za dijalog Regional Settings definisan format Short Date; primer: 10.2.01.

Savet

Da biste najboe reili problem 2000. godine, sve datume definiite kao tip Short Date (kratak datum). Kada u Windowsovom okviru za dijalog Regional Settings zadate prikazivae godina s etiri cifre, one e se tako prikazivati i u vaim datumskim poima. Sve dvocifrene godine u datumima koje su mae od 30, Office 2003 automatski tretira kao godine u opsegu 2000-2029. Za sve ostale godine smatra se da su u opsegu od 1930 do1999.
N

Napomena

N N

Long Time. Oblik prikazivaa zavisi od toga kako je definisan format za vreme na kartici Time u Windowsovom okviru za dijalog Regional Settings; na primer: 10:32:15 PM. Medium Time. Primer: 10:32 PM. Short Time. Primer: 22:32.

Poglave 2 o Projektovae i izrada tabela

59

Moete da koristite i mnogobrojne formate za datum i vreme koje sami definiete, kao to su sledei: : (dve take) Znak za razdvajae grupa cifara u prikazu vremena; zavisi od toga koji je znak zadat u odeku Separator u Windowsovom okviru za dijalog Regional Settings. Znak za razdvajae grupa cifara u prikazu datuma. Isto kao format General Date. Dan u mesecu s jednom ili dve cifre (131). Prva tri slova dana u nedei (SunSat). Puno ime dana u nedei (SundaySaturday). Isto kao format Short Date. Isto kao format Long Date. Dan u nedei (17). Nedea u godini (152). Mesec u godini s jednom ili s dve cifre (112). Prva tri slova imena meseca (JanDec). Puno ime meseca (JanuaryDecember). Datum se prikazuje kao tromeseje u godini (14). Redni broj dana u godini (1366). Poslede dve cifre godine (0199). Sve cifre godine (01009999). asova s jednom ili sa dve cifre (023). Minuta s jednom ili sa dve cifre (059). Sekundi s jednom ili sa dve cifre (059). Isto kao format Long Time.

/ c d, dd ddd dddd ddddd dddddd w ww m, mm mmm mmmm q y yy yyyy h, hh n, nn s, ss ttttt

AM/PM ili A/P Dvanaestoasovno vreme sa odgovarajuom oznakom AM/PM velikim slovima. am/pm ili a/p Dvanaestoasovno vreme sa odgovarajuom oznakom am/pm malim slovima. AMPM Dvanaestoasovno vreme sa oznakom pre podne/po podne, kao to je definisano u Windowsovom okviru za dijalog Regional Settings, parametar forenoon/afternoon.

Sopstveni format moete odrediti i za tip podataka Date/Time; meutim, podaci e se prikazivati u formatu koji zavisi od parametara koje zadate u okviru za dijalog Regional Setings u Windowsovom Control Panelu. U svojoj definiciji formata kao znak za razdvajae elementa datuma moete zadati zarez ili neki drugi znak, ali on onda mora da bude uokviren dvostrukim navodnicima. Na primer, naredna definicija formata koja sadri zarez mmmm dd", " yyyy datum 04.02.2003 prikazuje u obliku February 04, 2003.

60

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Formati za tip podataka Yes/No


Podatke logikog tipa (Yes/No) Access uva na drugaiji nain od onog koji biste oekivali. Vrednost Yes se uva kao -1, a vrednost No kao 0. Oekivali biste da 0 predstava No, a 1 predstava Yes, ali nije tako. Ako ne zadate nikakav format, morate da upisujete -1 ili 0, a ti podaci e tako biti i prikazivani. Kada zadate format, podatke logikog tipa moete da skladitite u prepoznativijem obliku. Za podatke tipa Yes/No postoje tri unapred definisana formata:
N N N

Yes/No. (Podrazumevani oblik.) Prikazuje -1 kao Yes, 0 kao No. True/False. Prikazuje -1 kao True, 0 kao False. On/Off. Prikazuje -1 kao On, 0 kao Off.

Moete da definiete i sopstvene formate. Formati za tip podataka Yes/No koje korisnik definie imaju dva ili tri dela. Prvi deo ne utie na prikaz podatka tipa Yes/ No, ali mora uvek da bude znak taka i zarez (;). Drugi deo predstava vrednost Yes (-1), a posledi deo predstava vrednost No (0). Na primer, ako elite da se umesto vrednosti Yes prikazuje Da, a Ne umesto No, upiite ;"Da"; "Ne". Moete da koristite i drugaije boje za prikazivae razliitih vrednosti. Da bi vrednost Da bila prikazana crvenom bojom, a vrednost Ne zelenom, upiite ;"Da[Green]"; "Ne[Red]".
Upozoree

Kada se na nivou tabele promeni format prikazivaa poa logikog tipa, to moe da bude uzrok dva problema. Prvo, ako definiete sopstveni format slian onome u prethodnom primeru, morate da izmenite i vrednost svojstva Lookup Display Control iz Checkbox u Textbox da bi novi format mogao da se prikazuje. Drugo, poto definiete nov format i podatak prikazujete u pou za tekst, korisnik e moi da upisuje samo vrednosti 0 ili -1. Svojstvo Format utie samo na oblik prikazivaa vrednosti, ali ne i na oblik u kojem se vrednost upisuje u tabelu.

Format za tip podataka Hyperlink


Podatke tipa Hyperlink Access uva i prikazuje na drugaiji nain od onog koji biste oekivali. Format za taj tip podataka moe da se sastoji od dva ili od tri dela:
N N N

Vidivi tekst. Tekst koji se prikazuje unutar poa ili kontrole. Adresa. Putaa do datoteke (UNC) ili stranice (URL) na Internetu. Podadresa. Odreeno mesto unutar datoteke ili na stranici.

Delovi podatka su razdvojeni znacima taraba (#). Vidivi tekst se prikazuje unutar poa ili kontrolnog objekta, dok su adresa i podadresa skrivene. Na primer: Microsoft Net Home Page#http://www.msn.com.

Definisae formata za podatke u tabeli tblContacts


U tabeli tblContacts koristimo vie raznih formata. Svojstvo Format tekstualnog poa chrState (savezna drava) sadri znak > da bi se vrednost prikazivala velikim slovima. Poe dtmOrigCustDate ima format mmm dd yyyy da bi se datum prikazivao sa skraenim imenom meseca, razmakom i etvorocifrenom godinom (Feb 04). Poe blnActive ima format Yes/No, a na kartici Lookup svojstvo Display Control podeeno je na Text Box. Formati za numerike podatke razlikuju se u zavisnosti od vrednosti. Kao vrednost svojstva Format moete da zadate format koji se sastoji od etiri dela. Prvi deo opisuje nain prikazivaa pozitivnih brojeva, drugi deo vai za negativne, trei deo odreuje nain prikazivaa nule, dok etvrti odreuje nain prikazivaa vrednosti Null. Na primer: #,##0;(#,##0);"- -";"Nita".

Poglave 2 o Projektovae i izrada tabela

61

Tabela 2-5 prikazuje nekoliko moguih formata. Tabela 2-5 Primeri formata
Format > #,##0;(#,##0);"-0-;", Nema podatka Currency Raun br. 0000 mmm yy Long Date Oblik unetog podatka Milan Jovi 15 -15 0 Nita 12345.67 3271 11/9/03 11/9/03 Oblik prikazanog podatka MILAN JOVI 15 (15) -0- Nema podatka $12,345.67 Raun br. 3271 Sep 03 Friday, September 11, 2003

Definisae ulaznih maski


Ulazne maske (engl. input masks) omoguavaju vei stepen kontrole pri unoeu podataka jer za svaki znak koji se upisuje u poe moete definisati simbol koji odreuje kakvi e znaci biti prihvativi na mestu gde je simbol. Drugi nain na koji biste mogli da shvatite ulazne maske jeste da svojstvo Input Mask omoguava zadavae ablona za unoee podataka u poe. ablon, ili ulazna maska, ono je to e korisnici videti kada ponu da unose podatke. ablon ili maska se NE upisuje u bazu zajedno s podatkom. Po tome se razlikuje od svojstva Format koje odreuje oblik u kojem se podatak prikazuje. Na primer, ako kao vrednost svojstva Input Mask zadate (999)000-0000, prilikom unoea podataka u ablonu za upisivae telefonskog broja e se videti zagrade i crtica, a umesto svake nule ili devetke stajae znak podvueno (_). U pou za unoee podataka videete znak podvueno (_). Ispred svakog znaka koji je deo ablona, a koji korisnik ne unosi, Access automatski dodaje znak \; na primer, \(999\)000\-0000. Ulazna maska moe da se sastoji i od vie delova, npr. !(999)0000000;0; . Ulazna maska moe da se sastoji najvie od tri dela meusobno razdvojena znacima taka i zarez (;). Prvi deo viedelne maske definie samu masku (na primer, !(999)000-0000). Znak uzvika (!) znai da se maska popuava zdesna nalevo kada neobavezni znaci postoje na levom kraju maske. Sledeim delom zadajete da li Access treba da upisuje u tabelu i znakove koji su deo maske (na primer, zagrade i crticu); ako upiete 1 ili ostavite taj deo maske prazan, u tabelu se upisuju samo znaci koje je korisnik uneo u poe za podatak. Trei deo sadri znak koji Access treba da prikazuje u ulaznoj masci umesto razmaka. Moete da zadate bilo koji znak; podrazumeva se znak podvueno. Ukoliko elite da to bude razmak, zadajte razmak izmeu dvostrukih znakova navoda ("").
Napomena

Kada za poe tabele definiete i ulaznu masku i zadate vrednost svojstva Format istog poa, vrednost svojstva Format ima prioritet kada Access prikazuje sadraj poa. To znai da ak i kada zajedno s podatkom upiete u tabelu i znakove maske, oni se zanemaruju prilikom formatiranog prikaza podatka.

Tabela 2-6 prikazuje neke znake koje moete koristiti.

62

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Tabela 2-6 Znaci za ulazne maske


Znak 0 9 # L ? A a & C > < ! \ .,:;-/ Opis Samo cifre (0-9; upis obavezan; znaci plus [+] i minus [-] nisu dozvoeni). Samo cifre ili razmak (upis nije obavezan; znaci plus [+] i minus [-] nisu dozvoeni). Cifre ili razmak (upis nije obavezan; beline se pretvaraju u razmake; znaci plus [+] i minus [-] su dozvoeni). Samo slova (A-Z, upis obavezan). Samo slova (A-Z, upis nije obavezan). Slova ili cifre (upis obavezan). Slova ili cifre (upis nije obavezan). Bilo koji znak ili razmak (upis obavezan). Bilo koji znak ili razmak (upis nije obavezan). Sve znake koji slede pretvara u velika slova. Sve znake koji slede pretvara u mala slova. Ulazna maska se popuava zdesna nalevo, a ne sleva nadesno, kada popuavae levog dela maske nije obavezno. Znak uzvika moete da postavite bilo gde unutar maske. Znak koji sledi prikazuje se kao literal (na primer A se prikazuje kao slovo A). Znaci za razdvajae decimalnog dela, grupa cifara, delova datuma i vremena, kao to su definisani u prozoru Regional Settings u Control Panelu.

Savet

Kada kao svojstvo Input Mask poa upiete re Password (lozinka), dobijate poe za unoee lozinke. Svaki znak koji upiete u to poe smeta se u tabelu kao to je upisan, ali u pou se prikazuje zvezdica (*).

arobak za ulazne maske


Iako se ulazne maske mogu runo praviti, pomou arobaka za ulazne maske (Input Mask Wizard) lako ete napraviti ulazne maske za poa tekstualnog ili datumskog tipa. Kada izaberete svojstvo Input Mask, pojavie se dugme Build (sa tri takice). Pritisnite to dugme da biste pokrenuli arobaka. Na slici 2-15 prikazan je prvi prozor arobaka za ulazne maske.
Slika 2-15: arobak Input Mask, koji omoguava pravee ulaznih maski za poa tekstualnog i datumskog tipa.

Poglave 2 o Projektovae i izrada tabela

63

arobak prikazuje ne samo imena svih gotovih ulaznih maski nego i primere izgleda svake od ih. Moete da izaberete jednu od gotovih maski; pritisnite unutar poa Try It (isprobaj) da biste videli kako e podatak izgledati. Poto izaberete ulaznu masku, sledei prozor arobaka omoguava da je prilagodite svojim potrebama i izaberete simbole unutar maske. U drugom prozoru arobaka zadajete da li neki od posebnih znakova u masci treba da bude sauvan zajedno s podatkom ili ne. Kada arobak zavri posao, Access upisuje znakove ulazne maske kao vrednost svojstva Input Mask na listi svojstava.
Savet

Da biste napravili sopstvenu masku za unoee podataka tekstualnog ili datumskog tipa, pritisnite dugme Edit List, upiite tekst opisa maske u poe Descriptive name, samu masku u poe Input Mask, znak koji se pojavuje u praznoj masci i primer popuene maske. Kada je zavrite, nova maska e se pojaviti na spisku gotovih maski kada sledei put pokrenete arobaka Input Mask.

Moete da definiete neogranien broj maski. Osim toga, moete da zadate i maske podeene za razliite zeme.

Zadavae broja decimalnih mesta


Broj decimalnih mesta vai samo za podatke numerikog (Numeric) ili novanog (Currency) tipa. Broj decimalnih mesta moe da bude od 0 do 15, u zavisnosti od veliine numerikog ili novanog poa. Ako je tip poa Byte, Integer ili Long Integer, ono moe da ima samo 0 decimalnih mesta. Ukoliko je tip poa Single, kao vrednost svojstva Decimal Places moete da zadate vrednost od 0 do 7. Ako je tip poa Double, kao vrednost svojstva Decimal Places moete da zadate vrednost od 0 do 15. Ukoliko ste poe definisali kao Currency (ili koristite jedan od standardnih Accessovih formata, kao to su General, Fixed ili Standard), Access automatski postava broj decimalnih mesta na 2. To moete da izmenite tako to ete upisivati drugaije vrednosti u svojstvo Decimal Places.

Postavae natpisa
Natpisi (engl. captions) se koriste kada u obrascima i izvetajima umesto imena poa tabele treba prikazati neki drugi tekst. Ako ne zadate drugaije, tekst natpisa koji se pojavuje na obrascu ili izvetaju bie ime poa. Meutim, ponekad ete eleti da umesto imena poa prikazujete natpis koji boe (ili loije) opisuje namenu poa. Preporuivo je da imena poa budu to kraa da biste ih lake koristili u proraunima. U tom sluaju je korisno da na obrascima i izvetajima prikazujete razumiviji tekst umesto imena poa. Na primer, ime poa tabele moe da bude Visina, ali elite da se na obrascima pojavuje natpis Visina (u cm.).
Savet

Mnogim poima iz tabela aplikacije Access Auto Auctions pridrueni su natpisi koji se pojavuju na obrascima. Korisno je da poima svojih tabela pridruujete natpise (svojstvo Caption) koji e se pojavivati kada se poe prikazuje na ekranu. Na primer, znatno je razumivije ako se umesto natpisa dblPoreskaStopa prikazuje natpis Poreska stopa (s razmakom izmeu rei).

Zadavae podrazumevane vrednosti


Podrazumevana vrednost (engl. default value) je vrednost koju Access automatski upisuje u tabelu kada dodate nov zapis. To moe da bude svaka vrednost koja je prihvativa za tip podataka u pou. Podrazumevana vrednost nije nita drugo do prva ponuena vrednost; kada unosite podatke, moete da zadate neku drugu vrednost.

64

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Da biste zadali podrazumevanu vrednost, upiite odgovarajuu vrednost u svojstvo Default Value poa tabele. Podrazumevana vrednost moe da bude izraz, broj ili tekst. U poglavu 11 objaeno je kako se sastavaju izrazi.
Napomena

Kada dodate nov zapis, poa tipa Numeric i Currency automatski dobijaju vrednost 0.

Provera ispravnosti podataka


Provera ispravnosti podataka (engl. data validation) omoguava da ograniite skup vrednosti koje e biti prihvaene u odreenom pou. Ispravnost moe da se proverava automatski, npr. kada Access proverava da li je u numeriko poe unet tekst ili datum. Pravila o tome ta je ispravno moe da zada i projektant aplikacije. To moe da bude jednostavno pravilo kao to je opseg prihvativih vrednosti (kao u pou dtmLastSalesDate), ili izraz (kao u pou curCreditLimit). Na slici 2-14 (u prethodnom delu poglava) prikazana je lista svojstava poa curCreditLimit (maksimalan iznos kredita). Obratite pau na opcije kojima se definie ispravnost podataka u tom pou. Svojstvo Validation Rule (pravilo ispravnosti), ija je vrednost <250.000, odreuje da vrednost koja se upie u poe mora da bude maa od 250.000. Vrednost svojstva Validation Text (poruka u sluaju neprihvative vrednosti), koje sadri izraz Credit can only be granted to $250,000 (kredit ne moe premaiti $250.000), jeste tekst koji se pojavuje kao upozoravajua poruka (slika 2-16) kada korisnik aplikacije pokua da upie iznos vei od 250.000.
Slika 2-16: Upozoravajua poruka o neprihvativom podatku. Pojavuje se kada korisnik pokua da u poe tabele upie vrednost koja kri pravilo ispravnosti podataka koje vai za to poe.

Upozoree

Okvir za dijalog prikazan na slici 2-16 nee se pojaviti ako je ukuena opcija Show Office Assistant radi aktiviraa sistema za pomo. U tom sluaju poruku prikazuje Officeov asistent (slika 2-17).

Slika 2-17: Asistent prikazuje upozoravajuu poruku da je uneta vrednost izvan opsega prihvativih vrednosti.

Vrednosti datumskog tipa moete zadati za datumska poa u kojima pravilo ispravnosti nalae da je prihvativ samo odreeni opseg datuma. Kada u izrazima za proveru ispravnosti koristite datume, morate da ih uokvirite izmeu znakova taraba (#). Na primer, ako u pou dtmLastSalesDate podatke elite da ograniite na datume izmeu 1. januara 2000. i 31. decembra 2005. godine, treba da upiete Between #1/1/00# and #12/31/05#.

Poglave 2 o Projektovae i izrada tabela

65

Savet

Ako elite da kao goru granicu zadate tekui datum, upiite drugaiji opseg datuma, npr. Between #1/1/00# and Date().

Na osnovu uputstava iz tabele 2-7 moete da popunite vrednosti svojstava svih poa u tabeli tblContacts. Imajte u vidu da su navedena samo najvanija poa za koja morate obavezno zadati vrednosti svojstava. Tabelu tblContacts (i druge koje se pomiu u ovoj kizi) nai ete u bazama podataka Access Auto Auctions na kompakt disku koji ste dobili uz ovu kigu. Tabela 2-7 Svojstva poa tabele tblContacts
Ime poa idsContactID: chtrContactType: chrFirstName: chrLastName: chrCompany: chrAddress: chrCity: chrState: chrZipCode: chrCustomerType: chrPhone: chrFax: chrEmail: hlkWebSite: dtmOrigCustDate: chrTaxLocation: curCreditLimit: curCurBal: chrCreditStatus: dtmLastSalesDate: dblDiscountPercent: memNotes: blnActive: Svojstva Caption a Contact ID, Indexed Yes (No Duplicates) [ovo se podeava automatstki kada definiete poe primarnog kua]. Caption Contact Type. Caption First Name. Caption Last Name. Caption Company. Caption Address Caption City Format >, Caption State Input Mask 00000\-9999;0;_, Caption Zip Code, Indexed Yes (Duplicates OK) Caption Customer Type, Indexed Yes (Duplicates OK) Input Mask !\(999") "000\-0000;0;_, Caption Phone Input Mask !\(999") "000\-0000;0;_, Caption Fax Field Size 100, Caption Email Field SIze 100, Caption Web Site Format mmm dd yyyy, Caption Orig Cust Date Field Size 2, Format >, Caption Tax Location, Indexed Yes (Duplicates OK) Format Currency, Decimal Places 2, Caption Credit Limit, Validation Rule < 250000 Caption Current Balance Caption Credit Status Caption Last Sales Date Caption Discount Percent Caption Notes Format Yes/No, Caption Active, Display Control (Lookup) Text Box

Kartica Lookup u prozoru svojstava


Odeak za svojstva prozora Table Design sadri i karticu Lookup. Kada pritisnete jeziak te kartice, verovatno ete ugledati samo jedno svojstvo Display Control, koje se koristi za poa tipa Text, Number ili Logical (Yes/No). Na slici 2-18 prikazana je kartica Lookup u prozoru svojstava poa tipa Yes/No. Jedino svojstvo je Display Control. To svojstvo moe da ima jednu od tri vrednosti: Text Box (poe za tekst), Check Box (poe za potvrdu) i Combo Box (padajua lista). Izborom jedne od tih opcija odreuje se podrazumevana vrsta kontrole koja e na obrascu biti povezana s poem tabele. Kontrole (koje nastaju na osnovu poa tabele) najee su poa za tekst, osim u sluaju logikih poa, na osnovu kojih

66

Deo I, Odeak I o Rad s tabelama za podatke i upitima

standardno nastaju poa za potvrdu. Meutim, za logika poa moete zadati i tip Text Box da biste prikazivali tekst Da/Ne, Tano/Netano ili neki drugi tekst koji zadate u svojstvu Format. Ako je u pitau poe tabele tipa Text, za koje znate da moe da ima samo jednu od maeg broja moguih vrednosti, kao vrednost svojstva Display Control zadajte opciju Combo Box (padajua lista). Kada taj tip kontrole izaberete kao podrazumevani oblik, skup svojstava se mea da biste mogli da definiete padajuu listu.
Referenca

Vie pojedinosti o padajuim listama nai ete u poglavu 10. Slika 2-18: Svojstva koja se za poe tipa Yes/No pojavuju na kartici Lookup.

Napomena

Vrednost koja se za odreeno poe bira na kartici Lookup zavisi od tipa podataka u tom pou. Tip podataka Yes/No razlikuje se od znakovnih i numerikih tipova podataka. Budui da je kontrola koju definiete na kartici Lookup padajua lista (vie o ima saznaete u nastavku ove kige), kada izaberete tip podataka Lookup, prikazuju se standardna svojstva padajue liste.

Odreivae primarnog kua


Trebalo bi da svaka tabela ima primarni ku, odnosno poe ili kombinaciju vie poa koja nedvosmisleno identifikuju svaki zapis. (Ovaj princip se u svetu baza podataka zove integritet entiteta.) U tabeli tblContacts primarni ku je poe idsContactID (ifra klijenta). Svaki klijent kompanije ima drugaiji ku da bismo ih razlikovali. Ako ne zadate primarni ku (poe koje sadri jedinstvene vrednosti), Access moe da ga napravi za vas.

Definisae kua s jedinstvenim vrednostima


Bez poa idsContactID, jedinstvenost sadraja kua morali bismo da obezbedimo pomou nekog drugog poa. Poe chrLastName (prezime klijenta) nije pogodno za tu namenu zato to dva klijenta mogu da imaju isto prezime. U stvari, iz istog razloga nije upotrebiva ak ni kombinacija poa chrLastName i chrFirstName (ime klijenta) jer se moe dogoditi da imamo dva klijenta s istim imenom i prezimenom. Na prvi pogled, izgleda da bi se mogla upotrebiti kombinacija poa chrFirstName i chrCompany, ali teorijski je mogue da imamo dve osobe sa istim imenom koje rade za istu firmu. Najjednostavniji nain da se rei taj problem jeste da se tabeli doda poe koje e imati jedinstvenu vrednost u svakom zapisu na primer, poe idsContactID.
Referenca

Primarni kuevi koji se sastoje od vie poa objaeni su u poglavu 6.

Ako nijedno poe ne odredite kao primarni ku, Access na poetak tabele moe da doda jedno poe tipa AutoNumber. To poe u svakom zapisu u tabeli sadri

Poglave 2 o Projektovae i izrada tabela

67

jedinstven broj, a Access automatski odrava egov sadraj. Meutim, postoji vie razloga zbog kojih moe biti boe da sami definiete i odravate sopstveni primarni ku:
N N

Za poe primarnog kua uvek postoji indeks. Indeksi odravaju unapred zadati redosled sortiraa po vrednostima jednog ili vie poa, to znatno ubrzava izvravae upita, pretraivae podataka i sortirae podataka. Kada u tabelu unosite nove zapise, Access proverava da li biste time duplirali neki od postojeih podataka; u pou (ili poima) primarnog kua duplikati nisu dozvoeni. Access prikazuje podatke po redosledu vrednosti primarnog kua.

Kada neko od poa (npr. ifru klijenta, idsContactID) odredite kao jedinstven primarni ku, podaci se prikazuju po oekivanom redosledu. U naem primeru, pou idsContactID Access automatski dodeuje vrednost koja odraava redosled unoea zapisa u tabelu.
Savet

Kada definiu primarni ku, mnogi projektanti formiraju vrednosti u pou kua na osnovu odreene metode. Na primer, ako je osnova ime i prezime kupca, vrednost primarnog kua moe da se formira od prva etiri slova prezimena, poetnog slova imena i trocifrenog nasumino izabranog broja. Tako bi Branko Jovi mogao da bude JOVIB001, Ana Jovi bila bi JOVIA002 itd.

Definisae primarnog kua


Primarni ku moete da definiete na jedan od sledeih naina:
N N N N

Izaberite poe koje e sluiti kao primarni ku, a zatim izaberite Edit Primary Key. Izaberite poe koje e sluiti kao primarni ku, a zatim na paleti alatki pritisnite dugme Primary Key (sa sliicom kua). Pritisnite desni taster mia da biste prikazali meni s preicama, a zatim izaberite stavku Primary Key. Snimite tabelu na disk bez primarnog kua, a Access e joj automatski dodati poe tipa AutoNumber.

Pre nego to pritisnete dugme Primary Key ili izaberete odgovarajuu stavku menija, morate da pritisnete sivi kvadrat na levoj strani poa koje elite da postane primarni ku. Pojavie se trougao usmeren nadesno. Poto zadate primarni ku, u sivom kvadratu pojavuje se dugme sa sliicom kua, koja pokazuje da je poe postalo primarni ku. Budui da poe primarnog kua mora da sadri jedinstvene vrednosti i ne moe da bude prazno (nije dozvoena vrednost Null), u bazi podataka Access Auto Auctions morate prvo da ispraznite tabelu tblContacts i da joj potom odredite primarni ku. Postupak je sledei:
1. U prozoru Database izaberite i otvorite tabelu tblContacts. 2. Izaberite sva poa tako to ete pritisnuti bira prvog zapisa i prevui pokazi-

va mia nadole do posledeg zapisa. Trebalo bi da potom svi zapisi budu istaknuti. 3. Pritisnite taster Delete i odgovorite sa YES okviru za dijalog sa obaveteem You are about to delete X record(s) koje e se potom pojaviti.

68

Deo I, Odeak I o Rad s tabelama za podatke i upitima

4. Pritisnite dugme Design da biste preli u prozor za oblikovae tabele

(Design).
5. Izaberite poe idsContactID. 6. Pritisnite dugme Primary Key da bi poe idsContactID postalo primarni ku. 7. Snimite datoteku baze podataka na disk.

Prozor za indekse
Primarni ku je, u stvari, indeks. Sliica kua pored kolone idsContactID pokazuje da je to poe primarni ku tabele. Poa koja ine primarni ku moete da vidite i u prozoru za indekse Indexes. (Na slici 2-19 prikazan je primarni ku u prozoru Indexes.) Taj prozor moete da prikaete ili sakrijete kada na paleti alatki pritisnete dugme Indexes ili kada iz menija izaberete View Indexes. U prozoru Indexes moete da vidite da li je dati indeks primarni ku, da li prihvata samo jedinstvene vrednosti ili ne i da li se vrednost Null zanemaruje ili ne. Na slici 2-19 obratite pau na etiri indeksa prikazana u prozoru Indexes. Svaki indeks je zadat za jedno poe (idsContactID, chrZipCode, chrCustomerType i chrTaxLocation) i za svaki je naveden rastui redosled. Svaki indeks ima ime indeks za poe idsCustomerID zove se PrimaryKey; obratite pau na simbol kua u prvoj koloni na slici. Ako pogledate odeak za svojstva indeksa u dooj polovini slike 2-19, uoiete da je u pitau primarni ku (svojstvo Primary = Yes), da prihvata samo jedinstvene (neduplirane) vrednosti (svojstvo Unique = Yes) i da se vrednost Null ne zanemaruje (svojstvo Ignore Nulls = No).
Slika 2-19: Prozor Indexes u kojem su prikazani svi indeksi koji postoje za tabelu tblContacts. U ovaj prozor moete direktno da dodate i druge indekse.

Napomena

Ako nameravate da napravite tabelu tblContacts kao to je opisano u tabeli 2-7, obavezno napravite i sva etiri indeksa.

Prozor svojstava tabele


Kao to postoji odeak za prikazivae svojstava svakog poa tabele, postoji i prozor za prikazivae svojstava same tabele. Dok je tabela otvorena u prozoru Design, desnim tasterom mia pritisnite bilo gde unutar tog prozora i izaberete opciju Properties ili na paleti alatki prozora Design tabele pritisnite dugme Properties (ruka koja dri list papira).
Referenca

Na slici 2-20 prikazan je prozor Table Properties (svojstva tabele). Tu moete da zadate pravilo ispravnosti i poruku koji e vaiti kada unosite nov zapis. U svojstvu Description moete zadati ime koje e se pojavivati kada tabelu otvorite u tabelarnom prikazu (Datasheet). Moete da zadate podrazumevani redosled sortiraa (razliit od primarnog kua), pa ak i podrazumevani filtar da bi se prikazivao samo deo podataka. To je i mesto gde moete da zadate zavisne tabelarne prikaze.

Poglave 2 o Projektovae i izrada tabela

69

Slika 2-20: Zadavae svojstava koja vae za celu tabelu.

tampae strukture tabele

Strukturu tabele moete da odtampate ako izaberete Tools Analyze Documenter. Database Documenter je Accessova alatka koja omoguava dokumentovae objekata baze podataka. Kada izaberete tu komandu menija, Access prikazuje okvir za dijalog u kojem moete da birate objekte za tampae. U primeru na slici 2-21, prikazan je samo jedan objekat, tabela tblContacts. Moete je izabrati tako to ete potvrditi poe pored enog imena.
Slika 2-21: Accessov okvir za dijalog Documenter.

Moete da zadate nekoliko opcija za tampae. Kada pritisnete dugme Options, pojavuje se okvir za dijalog u kojem moete da izaberete iz strukture tabele vrstu podataka koji e biti odtampani. Moete odtampati imena poa, sva ihova svojstva, indekse, pa ak i prava za pristup tabeli unutar mree. Poto izaberete koje podatke elite da vidite, Access generie izvetaj iji izgled moete da pogledate u prozoru Print Preview (pregled pre tampaa) ili da ga poaete na tampa.
Savet

Database Documenter formira tabelu koja sadri podatke o svim objektima i svojstvima koje ste zahtevali. Pomou te alatke moete da dokumentujete objekte baze podataka, kao to su obrasci, upiti, makroi i moduli.

Snimae gotove strukture tabele u bazu podataka

Kada zavrite strukturu tabele, snimite je na disk tako to ete izabrati File Save ili pritisnuti dugme Save na paleti alatki. Kada tabelu snimate u bazu podataka prvi put, Access e zatraiti od vas da zadate eno ime; upiite ga, pa pritisnite OK. Ime tabele moe da sadri najvie 64 znaka, a za ega vae ista pravila kao i za imena poa. Ako ste tabelu snimili bar jedanput, a sada elite da je snimite pod drugim imenom, izaberite File Save As, pa upiite drugo ime tabele. Time ete napraviti

70

Deo I, Odeak I o Rad s tabelama za podatke i upitima

novu tabelu sa strukturom i imenom istim kao u staroj tabeli. Ako elite da izbriete staru tabelu, izaberite je u prozoru Database, a zatim pritisnite taster Delete. Tabelu moete da snimite na disk i kada je zatvarate.

Rad s tabelama u prozoru Database


Kada u bazi podataka napravite vei broj tabela, moda ete poeleti da ih upotrebite i u drugim bazama podataka ili da ih kopirate da biste ih koristili kao arhivske tabele. Moe vam zatrebati da kopirate samo strukturu tabele, ali ne i podatke u oj. U prozoru Database moete da obavate vie poslova koji se odnose na tabele, a to su sledei:
N N N N

Preimenovae tabela Brisae tabela Kopirae tabela u istu bazu podataka Kopirae tabela iz druge baze podataka.

Te poslove moete da obavate neposredno ili pomou odgovarajuih stavki menija.

Preimenovae tabele
Tabelu moete preimenovati na sledei nain:
1. U prozoru baze podataka izaberite ime tabele. 2. Pritisnite ime tabele jednom. 3. Upiite ime nove tabele i pritisnite Enter.

Tabelu moete da preimenujete i ako izaberete Edit Rename ili ako je pritisnete desnim tasterom mia i u prirunom meniju izaberete opciju Rename. Poto izmenite ime tabele, ono e se pojaviti na spisku tabela, na kojem su tabele prikazane po abecednom redosledu.
Upozoree

Kada preimenujete tabelu, morate da izmenite eno ime i u svim objektima u kojima se ona pomie, odnosno u svim upitima, obrascima i izvetajima.

Brisae tabele
Tabelu moete da izbriete tako to ete izabrati eno ime i pritisnuti taster Delete. Drugi nain je da izaberete ime tabele i da zatim izaberete Edit Delete, ili da pritisnete ime tabele desnim tasterom mia, pa da u prirunom meniju izaberete stavku Delete. Kao i u veini operacija brisaa, morate da potvrdite brisae tabele biraem opcije Yes u okviru za dijalog Delete Table.

Kopirae tabele u istu bazu podataka


Pomou opcija Copy i Paste menija Edit ili odgovarajue dugmadi na paleti alatki moete da napravite kopiju bilo koje tabele baze podataka. Poto izdate naredbu Paste, moete da birate izmeu tri opcije:
N N N

Structure Only (samo struktura); Structure and Data (struktura i podaci); Append Data to Existing Table (dodati podatke na kraj postojee tabele).

Izborom opcije Structure Only napraviete novu tabelu sa istom strukturom, ali bez podataka. To omoguava da napravite praznu tabelu sa istim imenima poa

Poglave 2 o Projektovae i izrada tabela

71

i svojstvima kao u izvornoj tabeli. Ta opcija se esto koristi za izradu privremene tabele ili tabele za arhivirae starih zapisa. Kada izaberete opciju Structure and Data, napraviete potpunu kopiju i strukture i sadraja izvorne tabele. Izborom opcije Append Data to Existing Table podaci iz jedne tabele dodaju se na kraj druge. Ta opcija je korisna za kombinovae sadraja tabela; na primer, kada podatke iz tabele mesenih transakcija elite da pridruite arhivskoj tabeli s podacima za celu godinu. Da biste kopirali tabelu, uradite sledee:
1. U prozoru Database izaberite ime tabele. 2. Izaberite Edit Copy. 3. Izaberite Edit Paste. 4. Upiite ime nove tabele. 5. Izaberite jednu od opcija Paste. 6. Pritisnite OK da biste zavrili postupak.

Na slici 5-22 prikazan je okvir za dijalog Paste Table As, u kojem se zadaje vrsta kopiraa. Da biste kopirali podatke iz tabele, treba da izaberete vrstu kopiraa i da zadate ime nove tabele. Kada podatke dodajete postojeoj tabeli, morate da upiete ime te tabele.
Slika 2-22: Komanda Paste otvara ovaj okvir za dijalog. U cinu tabelu moe se kopirati samo struktura izvorne tabele, i sadraj i struktura, ili samo sadraj.

Kopirae tabele u drugu bazu podataka


Kao to tabelu kopirate u istu bazu podataka, tako moete da je kopirate i u drugu bazu podataka. Postoji vie razloga zbog kojih biste to uradili. To moe biti zato to istu tabelu koristite u vie sistema ili moda elite da napravite rezervne kopije vanih tabela unutar sistema. Kada vie tabela kopirate u drugu bazu podataka, veze (relacije) izmeu ih se ne kopiraju; Access kopira samo strukture i sadraj tabela. Postupak kopiraa tabele u drugu bazu podataka gotovo se ne razlikuje od kopiraa u istu bazu podataka. Da biste tabelu kopirali u drugu bazu podataka, uradite sledee:
1. U prozoru Database izaberite ime tabele. 2. Izaberite Edit Copy. 3. Otvorite drugu bazu podataka. 4. Izaberite Edit Paste. 5. Upiite ime nove tabele. 6. Izaberite jednu od opcija Paste. 7. Pritisnite OK da biste zavrili operaciju.

72

Deo I, Odeak I o Rad s tabelama za podatke i upitima

Unoee novih zapisa u tabelu baze podataka


Dosad ste u bazi podataka My Access Auto Auctions napravili samo jednu tabelu: tblContacts. Da biste uneli nov zapis u tabelu, najpre pronaite tabelu u prozoru Database i pritisnite eno ime da biste je otvorili u prikazu Datasheet. Poto otvorite tabelu, moete da upisujete vrednosti u ena poa. Na slici 2-23 prikazano je kako se dodaju novi zapisi u prikazu Datasheet tabele.

Slika 2-23: Unoee novih zapisa kada je tabela otvorena u prikazu Datasheet.

Podatke moete da upisujete u sva poa, osim u poe idsContactID jer se u poima tipa AutoNumber vrednosti generiu automatski. Iako je mogue unoee novih zapisa direktno u prikazu Datasheet, to nije i najefikasniji nain ve je boe da se zapisi unose putem obrazaca.
Referenca

U poglavu 3 opisano je unoee zapisa u tabele pomou obrazaca.

Vous aimerez peut-être aussi