Académique Documents
Professionnel Documents
Culture Documents
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
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.
Poglave 1 o ta su podaci?
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
(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.
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.
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
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.
10
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
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.
Slika 1-2: Dijagram metode projektovaa u sedam koraka. Ova metodologija projektovaa posebno je prilagoena upotrebi u Accessovim bazama podataka.
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).
12
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.
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
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.
Poglave 1 o ta su podaci?
15
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
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).
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.
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
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.
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
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 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
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)
Poglave 1 o ta su podaci?
21
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.
22
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.
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.
Poglave 1 o ta su podaci?
23
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.
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
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.
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.
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
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
Slika 1-5: Dijagram tabela baze podataka Access Auto Actions, zajedno s vie referentnih tabela.
Poglave 1 o ta su podaci?
27
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.
Contact Log (evidencija kontakata s klijentom) Contacts (unoee podataka o klijentu) Sales (unoee rauna) Products (unoee podataka o artiklu)
28
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.
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.
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
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
32
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.
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.
33
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
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.
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.
35
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
36
Upozoree
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.
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
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.
39
Slika 2-5: Paleta alatki u prozoru Database. Obratite pau na opis opcije Tables koji se prikazuje poto pritisnete tastere Shift+F1.
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
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.
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).
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.
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
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
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
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.
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.
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.
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.
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
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.
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 ().
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
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.
49
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.
50
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.
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
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
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.
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.
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.
52
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.
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.
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.
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 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
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.
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.
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
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.
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.
57
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.
58
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.
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.
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.
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
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.
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.
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
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.
62
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 (*).
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.
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).
64
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.
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#.
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
66
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.
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
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.
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
(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.
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.
69
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.
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
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.
Preimenovae tabela Brisae tabela Kopirae tabela u istu bazu podataka Kopirae tabela iz druge baze podataka.
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.
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
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.
72
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