Kada se krajem 1992. godine pojavio na tržištu, Microsoftov Access je naprečac osvojio svet baza podataka zbog svoje "agresivne" cene od svega 99 USD. Me?utim, kada se slegla prašina posle prvog miliona prodatih primeraka, mnogi korisnici i projektanti bili su prijatno iznena?eni otkrićem da se iza smešno niske cene krije "prava" baza podataka. Access 1.0 i skromna nadogradnja koja mu je ubrzo sledila, Access 1.1, bili su neosporno daleko od savršenstva, ali su s njima korisnici dobili upotrebljiv proizvod koji je srušio zidove koji su ogra?ivali pristup bazama podataka. Uporedo s njim, gotovo preko noći, razvila se velika i kvalitetna zajednica projektanata (kojoj pripadaju i autori ove knjige) koja je počela da projektuje aplikacije profesionalnog nivoa za firme svih veličina širom sveta.
Od uvo?enja ovog proizvoda do danas, Microsoft je objavio četiri značajne nadogradnje: verziju 2.0, koja se pojavila u prodaji maja 1994. godine; Access for Windows 95 (ili Access 95, ili Access 7.0), koja se pojavila novembra 1995. godine; Access 97 (ili Access 8.0), koja je objavljena januara 1997. godine; Access 2000 (ili Access 9.0), koja se pojavila juna 1999. godine. Ovim nadogradnjama uvedeno je više poboljšanja u oblastima upotrebljivosti, programiranja i proširivanja. Osim toga, u poslednje dve verzije načinjeni su veliki koraci ka pretvaranju Accessa u glavnog kandidata za razvoj aplikacija za klijent/server sisteme ili za baze podataka na Internetu.
Access je čudesno moćna razvojna platforma, ali kao i za svaki drugi moćan proizvod, neophodno je izvesno vreme da ga čovek savlada. Srećom po vas, mi smo proveli mnoge mesece i bezbrojne časove boreći se sa detaljima Accessa 2000 da bismo otkrili njegove nedokumentovane tajne i da bismo radili stvari za koje samo mali broj ljudi misli da su uopšte moguće - a sve to u vašu korist.
Ova knjiga je namenjena svakom projektantu aplikacija u Accessu, odnosno svakome ko želi da to postane. Potpuno je nevažno da li se projektovanjem aplikacija u Accessu bavite puno radno vreme, kao jednim od zaduženja koja su vam poverena, ili samo u slobodno vreme, tokom popodneva ili vikenda. Važno je samo da se ovom proizvodu ozbiljno posvetite i da želite da vaše aplikacije budu najbolje.
Ako želite samo da površno ispitate mogućnosti Accessa i ako se zadovoljavate time da na brzinu "skrpite" aplikacije koje ćete automatizovati samo pomoću nekoliko makroa, ova knjiga vam verovatno nije neophodna. Me?utim, ako ste spremni da zaronite u dubine Accessa i bavite se razvijanjem profesionalno ura?enih aplikacija koje maksimalno koriste mogućnosti Accessa, onda ste odabrali odgovarajuću knjigu.
Da biste što bolje iskoristili naprednu knjigu kao što je ova, morali smo da izostavimo osnove i da po?emo od nekoliko pretpostavki o vama. Pretpostavljamo da se već bavite razvojem aplikacija u Accessu i da su vam dobro poznate osnove ovog programa.
Najmanje što bi trebalo da dobro znate jeste kako se prave tabele i upiti, obrasci i izveštaji, kao i da poznajete Visual Basic for Applications (VBA). Pretpostavljamo i da imate odre?eno iskustvo sa ADO objektima i da znate da napravite modul klase. Može biti korisno i da posvetite izvesno vreme Accessu i da pročitate dokumentaciju o njemu, da pretražite njegov sistem za pomoć, ili da pročitate neku opštu knjigu za Access, kao što je Access 2000 Biblija (Mikro knjiga, 2000).
Ne treba posebno isticati da projektant koji se tim poslom bavi profesionalno mora neprekidno da se pridržava odre?enog standarda. U ovoj knjizi primenjujemo nekoliko standardnih konvencija da biste lakše pratili gradivo.
Pri imenovanju Accessovih (i drugih) objekata koristili smo verziju 6.0 Reddick VBA (RVBA) konvencije za imenovanje objekata, koje su mnogi projektanti Access i VBA aplikacija prihvatili kao standard za imenovanje objekata. Greg Reddick, poznati projektant aplikacija u Accessu i u Visual Basicu i predavač iz ovih oblasti, razvio je standard koji nosi njegovo ime. Me?utim, čak i ako ne prihvatate RVBA standard, verovatno ćete ceniti činjenicu da je on bio dosledno korišćen u celoj knjizi. Potpun opis ovih konvencija, koje su prvi put objavljene u časopisu Smart Access, naći ćete u dodatku A. Na nekoliko mesta otkrićete da smo koristili oznake koje nisu uskla?ene sa onima u dodatku B. Razloga za to ima više, a jedan od njih je to što je, kada je Greg završio verziju 6.0 standarda RVBA, pisanje ove knjige bilo je već daleko odmaklo. Kad god smo se udaljili od standardnih RVBA oznaka, pokušali smo da očuvamo principe RVBA konvencija iako možda nismo koristili iste oznake kao što bi to Greg učinio.
Osim uskla?enosti sa RVBA standardom, imena svih javnih procedura, korisnički definisanih tipova i Enum tipova podataka koje ćete možda koristiti u svom kodu, sadrže prefiks "adh", što je skraćenica od Access Developer's Handbook. Sve javne Windowsove API funkcije preimenovali smo tako da sadrže prefiks "adh_api", a imena svih javnih konstanti sadrže prefiks "adhc". Trebalo bi da ove konvencije onemoguće nastajanje sukoba u vezi sa imenima objekata u postojećem kodu vaših aplikacija. Me?utim, ako u istu bazu podataka uvezete više modula iz baza podataka koje su kao primeri pridružene pojedinim poglavljima knjige, može se dogoditi da se pojavi sukob kao rezultat našeg doslednog korišćenja standarda za imenovanje u svim poglavljima. U tom slučaju sve deklaracije API funkcija ili Enum tipove podataka treba da pretvorite u komentare.
Ova knjiga sadrži šesnaest poglavlja i dva dodatka. U svakom poglavlju ćete naći mnogobrojne primere, koji su svi, osim najtrivijalniijh, ugra?eni u prateće baze podataka koje se nalaze na kompakt disku koji ide uz ovu knjigu.
Poglavlje 1 počinje kratkom istorijom Accessa i pregledom novina u Accessu 2000. Posebno su istaknute novine koje se odnose na razvijanje višekorisničkih aplikacija. U ovom poglavlju naći ćete i objašnjenja paketa Microsoft Office Developer.
Tema poglavlja 2 je razvoj aplikacija koje se zasnivaju na višekorisničkom serveru za datoteke koji koristi mašinu baze podataka Jet. U ovom poglavlju saznaćete kako da bazu podataka podelite na dva dela da biste poboljšali performanse, kao i kako se upravlja pripojenim tabelama. Dato je i pore?enje izme?u zaključavanja stranica i zaključavanja redova, kao i pore?enje izme?u optimističkog i pesimističkog zaključavanja. Naučićete i da napravite svoj namenski okvir za dijalog koji se pojavljuje u slučaju sukoba oko pristupa podacima, sistem za isključivanje korisnika koji predugo drže zaključan zapis, petlju u kojoj se zaključavanje pokušava dok ne uspe, kao i svoju namensku rutinu za zadavanje vrednosti tipa AutoNumber. Pokazaćemo vam i kako da iskoristite prednosti nove liste korisnika i mogućnosti kontrole nad vezom sa bazom podataka koje su ugra?ene u Access 2000.
Pošto Access 2000 nudi bogatu funkcionalnost projektantu klijent/server aplikacija, tu temu smo detaljno obradili i raspodelili gradivo u pet poglavlja.
Poglavlje 3 uvodi razvoj klijent/server aplikacija. U ovom poglavlju ćete saznati šta su ODBC i OLEDB, povezane tabele, prolazni upiti i ADP (Access Data Project) datoteke. Osim toga, u poglavlju 3 govori se i o nekoliko pitanja koje treba da razmotrite da biste projektovali efikasne klijent/server aplikacije.
U poglavlju 4 naučićete da koristite ADP datoteke za pravljenje SQL Server baza podataka, tabela, pogleda i dijagrama baze podataka. Saznaćete i koje su razlike izme?u pojedinih verzija SQL Servera, kao što su SQL Server Enterprise, SQL Server Desktop i MSDE.
Tema poglavlja 5 je pravljenje uskladištenih procedura i okidača za SQL Server i MSDE baze podataka. Ovde ćete saznati kako se prave uskladištene procedure sa ulaznim i izlaznim parametrima, kako se koriste ugra?ene procedure SQL Servera i kako se koriste Transact-SQL iskazi za upravljanje tokom izvršavanja programa. Naučićete i kako da pravite SQL Server okidače.
U poglavlju 6 naučićete da koristite ActiveX objekte za rad s podacima (ActiveX Data Objects, ADO) da biste pristupali podacima koji se nalaze na serveru. Ovde ćete naučiti da uspostavite vezu s bazom podataka pomoću ADO objekta Connection, zatim da pomoću ADO objekta Command pozivate uskladištene procedure i da pomoću ADO objekta Recordset klijentu prosledite skup podataka koji se nalaze na serveru. Osim toga, naučićete i da upravljate istovremenim pristupom podacima, da koristite ADO doga?aje i da upravljate ADO greškama.
U poglavlju 7 objašnjeno je kako se koriste neke posebne klijent/server mogućnosti ADP obrazaca i izveštaja. Ovde ćete saznati kako se koriste svojstva UniqueTable i ResyncCommand za pravljenje obrazaca čije podatke možete da menjate, čak i kada se oni zasnivaju na tabelama koje se nalaze na različitim serverima. Naučićete i kako da koristite svojstva ServerFilterByForm i ServerFilter da biste napravili efikasne filtre koji deluju na serverima. U ovom poglavlju objašnjeno je i kako se koriste tabele transakcija i tabele rezervacija.
Poglavlje 8 daje pregled bezbednosnih mera u Accessu; detaljno je opisan način na koji deluju bezbednosne mere mašine baze podataka Jet i šta treba da uradite da biste delotvorno zaštitili Accessovu MDB bazu podataka. Naučićete kako da zaštitite svoj kôd i kako da iz svog programa upravljate bezbednošću koristeći ADOX, DAO i SQL. Poglavlje 8 se završava opisom bezbednosnih mera u ADP datotekama i uvodom u bezbednosne mogućnosti SQL Servera.
Replikovanje je tema poglavlja 9. Ovo poglavlje počinje opisom načina na koji se odvija replikovanje pomoću mašine baze podataka Jet i u kojim slučajevima biste mogli da je iskoristite. Naučićete da replikujete bazu podataka i da upravljate replikama pomoću Accessovih menija, modela Jetovih objekata za replikovanje (Jet Replication Objects, JRO) i alatke Replication Manager. U poglavlju 9 opisane su novine Jetovog replikovanja, me?u kojima su otkrivanje sukoba na nivou kolone, vidljivost replike, kao i novi algoritam za razrešavanje sukoba pri replikovanju koje se zasniva na stepenima prioriteta. Ovo poglavlje se završava opisom mogućnosti replikovanja koju nudi SQL Server i načina na koje možete da kombinujete replikovanje da biste podatke sa SQL Servera replikovali u Jet replike.
Pošto Access 2000 pruža mnogobrojne mogućnosti koje može da iskoristi projektant Internet i intranet aplikacija, ovoj važnoj temi posvetili smo pet poglavlja.
Poglavlje 10 objašnjava kako se koriste stranice za pristup podacima Accessa 2000. Ova uzbudljiva nova tehnologija čini neverovatno jednostavnim pravljenje Web stranica koje su povezane sa Jet i SQL Server bazama podataka. U ovom poglavlju naučićete kako se prave stranice za pristup podacima. Osim toga, ono je krcato savetima i trikovima koji će vam pomoći da pravite dopadljive i efikasne stranice. Saznaćete i koji su nedostaci stranica za pristup podacima i kako možete da zaobi?ete neke od njih.
U poglavlju 11 naučićete da svojim stranicama za pristup podacima dodate programski kôd u obliku skripta. Ovde ćete saznati kako se koristi alatka Microsoft Script Editor i kako da svoje skriptove povežete s mnoštvom objekata, doga?aja, svojstava i metoda koje ćete naći na stranicama za pristup podacima. Ovo poglavlje sadrži i veliki broj primera koji vam pokazuju kako da pomoću kôda napisanog u VBScriptu obezbedite proveravanje ispravnosti podataka na svojim stranicama, kako da na svojim stranicama obezbedite interfejse hijerarhijskog tipa, da filtrirate zapise i da padajućim listama dodajete stavke.
Poglavlje 12 posvećeno je Office Web komponentama. Ovde ćete naći informacije o tome kako da na svojim stranicama i Access obrascima koristite moćne ActiveX objekte. Saznaćate kako se koristi mašina za tabelarna izračunavanja ugra?ena u komponentu Office Spreadsheet, kako da iskoristite analitičke mogućnosti komponente Office PivotTable i kako da iskoristite mogućnosti prikazivanja podataka u obliku dijagrama koje vam pruža komponenta Office Chart.
Poglavlje 13 vas u odre?enoj meri udaljuje od Web tematike jer opisuje mogućnosti traženja podataka koje pruža Access 2000. Poglavlje počinje objašnjenjima o tome kako da dodate hiperveze u svoje tabele, obrasce i izveštaje. Saznaćete i kako da radite s hipervezama u svom VBA kodu i kako da, pomoću objekta Microsoft Web Browser, u svojim obrascima obezbedite mogućnosti koje pružaju čitači Weba.
U poglavlju 14 saznaćete kako da podatke iz Accessa objavite na Webu bez korišćenja stranica za pristup podacima. Poglavlje počinje objašnjenjima o tome kako se pomoću Accessovog okvira za dijalog Export objavljuju tabele, upiti, obrasci, izveštaji i pogledi kao statičke HTML datoteke i kao ASP (Active Server Pages) stranice. U poglavlju 14 opisano je i kako se ručno prave ASP stranice, bez korišćenja okvira za dijalog Export. U ovom poglavlju naučićete kako da pravite skriptove koji rade na serveru, kako da na serveru koristite datoteke za umetanje i kako da primenite ASP model da biste pravili dinamičke stranice zasnovane na podacima, koje rade u svakom Web čitaču.
Poslednja dva poglavlja ove knjige bave se upravljanjem i uvo?enjem Access aplikacija u rad.
Kada na razvoju jedne Access aplikacije radi više projektanata, nastaje više problema koje treba rešiti, jer, u svom izvornom obliku, Access ne podržava takav način rada. Poglavlje 15 pokazuje vam kako se koristi program Visual SourceSafe, koji je sada deo paketa Microsoft Office Developer (MOD), za upravljanje projektima na kojima radi više projektanata. U ovom poglavlju saznaćete kako da koristite program Visual SourceSafe sa Accessom i ADP datotekama, da biste iskoristili prednosti koje vam pružaju mogućnosti kao što su proveravanje, upravljanje verzijama izvornog koda, diferenciranje, spajanje i poništavanje izmena.
Poglavlje 16 bavi se uvo?enjem aplikacija u rad, počev od objašnjenja o tome kako radi Accessova izvršna komponenta. Saznaćete kako se koristi alatka Package and Deployment Wizard, komponenta paketa MOD pomoću koje možete da napravite instalacione programe za svoje Access aplikacije koje koriste izvršnu komponentu Accessa. Naučićete i kako da, pomoću programa Windows Installer i Installer SDK, napravite jedinstven instalacioni program u koji će biti uključeni Accessova izvršna komponenta i vaša aplikacija.
Kompakt disk koji prati ovu knjigu njen je dragocen dodatak. Na njemu se nalaze sve baze podataka koje se koriste kao primeri u pojedinim poglavljima, kao i više drugih dodataka koji će vam pomoći da budete efikasniji pri projektovanju aplikacija u Accessu. (Izmene sadržaja kompakt diska, kao što su dodatne datoteke i programi, a koje se ne pominju u knjizi, opisane su u datoteci README.TXT, koja se nalazi u korenskom direktorijumu kompakt diska.)
Prateći kompakt disk sadrži baze podataka koje se koriste kao primeri u pojedinim poglavljima. Tu ćete naći i razne dokumente, besplatne i šerver programe, kao i demo verzije više komercijalnih proizvoda. Za upotrebu većine ovih datoteka postoje odre?ena ograničenja; molimo vas da pročitate prateću dokumentaciju i da ne kršite autorska prava proizvo?ača koji su ljubazno dozvolili da njihove datoteke stavimo na ovaj kompakt disk. Ãto se šerver programa tiče, molimo vas da ih registrujete kod njihovih autora ukoliko smatrate da su korisni.
Na kompakt disku nalazi se sledeće:
Sadržaj pratećeg kompakt diska podeljen je u više direktorijuma (poddirektorijuma) koji sadrže baze podataka za pojedina poglavlja i druge datoteke. U korenskom delu kompakt diska nalazi se datoteka README.TXT koja sadrži najnovije detalje u vezi sa datotekama na kompakt disku.
Baze podataka koje se koriste kao primeri u poglavljima nalaze se u omotnici \Chapter. Najjednostavniji način da te datoteke prenesete na svoj čvrsti disk da biste ih koristili, jeste da u tom direktorijumu pokrenete program CHAPTER.EXE (samoraspakujuća ZIP datoteka). Ovaj program će raspakovati datoteke i smestiti ih tamo gde zadate.
Ako želite da datoteke koristite kako vam koja zatreba, kopirajte ih jednu po jednu iz direktorijuma \Chapter. Da biste instalirali datoteke koje se odnose na odre?eno poglavlje, kopirajte sadržaj direktorijuma koji odgovara poglavlju u nov direktorijum na svom čvrstom disku, a zatim otvorite datoteke u Accessu 2000. Više detalja o pojedinim datotekama naći ćete u odgovarajućem poglavlju knjige.
Da biste instalirali primer SQL server/MSDE baze podataka ADH2KSQL, treba da uradite sledeće:
napomena |
Parametre treba da zadate tačno onako kako su napisani. To znači da "-U" i "-P" treba da upišete velikim slovima, dok "-i" treba da bude upisano kao malo slovo. |
|
Dok se izvršava skript, trebalo bi da ekranom defiluju nizovi brojeva. Kada se skript završi, trebalo bi da na ekranu vidite sledeće:
Finished loading ADH2KSQL Database Schema
upozorenje |
Ukoliko ste izmenili lozinku naloga SA (što bi svakako trebalo da uradite), onda u koracima 3, 4 i 5 tu lozinku treba da upišete na komandnoj liniji iza parametra "-P". |
|
savet |
Ako imate punu verziju SQL Servera (a ne MSDE verziju), sva tri skripta možete da izvršite pomoću SQL Serverove alatke Query Analyzer. |
|
Iako će vam možda izgledati lakše da poglavlja čitate onim redom kojim se nižu u knjizi, to nije obavezno. Jedan od naših ciljeva bio je da vam omogućimo da čitate bilo koje poglavlje, a da ne morate da pre toga pročitate sva poglavlja koja mu prethode. To znači da knjiga nije zamišljena kao linearni niz koji počinje poglavljem 1, a završava se poglavljem 16. Umesto toga, grupisali smo srodna poglavlja u logičke celine, iako se (osim u nekoliko izuzetaka) poglavlja ne nadovezuju jedno na drugo. Da bismo vam olakšali kretanje iz jednog poglavlja u drugo, postavili smo reference kroz celu knjigu.
Ovu knjigu ćete najbolje iskoristiti ako gradivo i primere detaljno proučite i ako eksperimentišete s njima. Proširite i nadogradite primere i generičke rutine koje ćete naći u knjizi. Dodajte im svoj kôd ili uklanjajte suvišne delove koda kada ih budete uključivali u svoje aplikacije. Eksperimentišite i uživajte!
Za ovu knjigu postavili smo Web lokaciju na sledećoj adresi:
Posetite ovu Web lokaciju da biste dobili najnovije informacije u vezi sa ovom knjigom. Tamo ćete naći opise grešaka, ispravke, dodatne i proširene primere. Kada nas već posećujete, dobro bi bilo da popunite i registracioni obrazac s podacima o sebi kako bismo vas obaveštavali o ispravkama i dopunama.
Budite prvi u svom komšiluku koji će biti obavešten o izmenama i dopunama u vezi sa priručnikom za projektante aplikacija: posetite nas i registrujte se što pre.