Koncept Baze Podataka

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

Koncept baze podataka Pojam baze podataka Raspolaganje adekvatnim, pravovremenim i pouzdanim podacima neophodno je za uspeno poslovanje.

Raunovodstveni podaci, katalozi proizvoda, stanje zaliha, informacije o prodaji samo su neki primeri podataka sa kojim se esto susreemo. Podatke nije dovoljno prikupiti, nego ih moramo na pogodan nain organizovati kako bi mogli da im lako i efikasno pristupimo. Tabele su uobiajen nain da podatke organizujemo. Na primer, za evidenciju poslovnih partnera moemo da napravimo sledeu tabelu: Partneri

Slika 1: Poetna tabela Partneri

Gledajui podatke u ovoj tabeli moemo uoiti da se za vie osoba iz iste firme ponavljaju adresni podaci (problem redundanse). Dupliranje podataka oteava unos, zauzima dodatni prostor i , to je jo vanije, nosi rizik da uneseni podaci budu nekonzistentni. Kad je potrebno izmeniti neki podatak (npr. promena adrese preduzea), izmenu je potrebno sprovesti na svim mestima gde se on nalazi, to esto uslovljava pojave greaka. Takoe i jednostavna greka pri unosu (npr. Katanieva umesto Katieva) dovodi do neusklaenosti podataka, pa korienje takvih podataka postaje diskutabilno (problem integriteta podataka). Reenje je uvoenje jo jedne tabele u kojoj bi se uvale informacije o firmi, tako da se podaci ne dupliraju nego se unose samo jednom. U tom sluaju za svaku osobu u tabeli Partneri bi se uvalo polje sa nazivom firme, koji bi koristilo da jednu tabelu moemo da poveemo sa drugom.

Slika 2: Poetna tabela razdvojena je na dve tabele

Na ovaj nain smo reili problem redundanse ali i dalje moemo imati problema sa neodgovarajue unesenim podacima. Naziv preduzea nije pogodan nain identifikacije jer je dugaak i lako moe doi do pogrenih unosa. U jednom sluaju moemo uneti ABC d.o.o. drugi put samo ABC ili D.O.O. ABC, pa je uobiajeno da se umesto naziva koriste ifre za povezivanje tabela. Mi emo za ifru firme uzeti redni broj. Konano naa evidencija poslovnih partnera bi izgledala kao na Slici 3.

Slika 3: Umesto Naziva firme za povezivanje tabela koristi se ifra firme

Pokazalo se da je uvanje podataka u samo jednoj tabeli skoro nikada nije dobar nain organizacije i da se opisani problemi redundanse i integriteta podataka javljaju im elimo da evidentiramo vie od najjednostavnijih lista podataka. Zato je za skladitenje velikih koliina podataka efikasnije i primerenije koristiti bazu podataka. Baza podataka predstavlja organizovanu kolekciju podatka, tako da im lako moemo pristupiti, aurirati ih ili pronai eljeni podatak. Baza podataka sadri skup podataka kojim se opisuje realan sistem, odnosno formalizovan model realnog sistema. Baze podataka moemo klasifikovati po nainu organizacije podataka, a danas u upotrebi preovlauju relacione baze podataka. U relacionim bazama podataka, podaci su smeteni unutar dvodimenzionalnih tabela, koje su meusobno povezane (u relaciji). Tako se eliminie redundansa, ali je potreban sloeniji softver koji e upravljati podacima i relacijama (Data Base Management System DBMS). Danas se za upravljanje bazama podataka najee koriste MS SQL Server, Oracle (pre svega za velike poslovne sisteme) i MS Access (pre svega za manje poslovne sisteme i personalne baze podataka. U savremenom okruenju informacije su postale veoma znaajne, pa raunari irom sveta troe veliki deo vremena na upravljanje i korienje baza podataka. Tabele relacione baze podataka Tabele baze podataka se sastoje iz redova, koje nazivamo slog ili zapis (record) i kolona za koje upotrebljavamo termin polje ili atribut (field). Elementi u jednom polju tabele moraju da budu istorodni, tj. da uzimaju vrednosti iz istog domena. Za svako polje definie se tip podataka koji ono moe da sadri: numeriki podatak, tekstualni podatak, datum/vreme ili drugo. Pored tipa podataka moemo definisati i druga svojstva (parametre, properties) za odreeno polje tabele. Koja svojstva polja je mogue postaviti i menjati zavisie od izabranog tipa podataka za to polje. Za tekstualno polje moemo zadati maksimalnu duinu teksta, a za numeriko polje broj decimalnih mesta, dok format ispisa moemo definisati i za tekstualno i numeriko polje. Svaki slog obavezno sadri vrednosti za sva polja, pri emu neka polja mogu imati vrednost nedefinisano ( tj. NULL, to treba razlikovati od praznog teksta). Redosled po kojem se redovi sortiraju nije unapred odreen. Primarni klju i indeks Svaki slog sadri jedinstvenu kombinaciju polja ne sme biti dupliranih redova. Polje po kojem se jedan red tabele razlikuje od ostalih zove se primarni klju (primary key). U naem primeru primarni klju za tabelu Firme je ifra firme. Neko drugo obeleje npr. adresa, telefon, naziv moe biti isto za vie organizacija, pa ga ne moemo koristiti kao primarni klju. Ako pogledamo sada tabelu Partneri, nemamo ni jedan atribut koji samostalno razlikuje jedan slog u tabeli od ostalih. U tom sluaju moemo koristiti dva (ili vie) atributa da formiramo primarni klju. Na primer mogli bi da razmotrimo korienje kombinacije Prezime, Ime kao primarni klju. U realnoj situaciji kombinacija ime i prezime nije pogodna za primarni klju, zato to mogu da se pojave dve osobe sa istim imenom i prezimenom. Zbog toga je uobiajeno da dodamo jo jedno polje u tabeli Partneri koje e sluiti kao primarni klju npr. jedinstveni matini broj osobe. Primarni klju jedinstveno odreuje slog u tabeli. Moe se formirati od vie polja. Ni jedno polje u primarnom kljuu ne sme imati vrednost NULL! Ako se vratimo na Sliku 3, vidimo da kolona Sifra_firme postoji iksljuivo iz razloga da bi mogli da izvrimo povezivanje ove tabele sa tabelom Firmi. Ovakvo polje zovemo spoljni klju. Strani klju (foreign key) povezuje jedan slog sa slogom iz druge tabele. Kao i primarni klju, strani klju moe biti sastavljen od vie polja. Strani klju moe imati vrednost NULL ili bilo koju drugu vrednost koja je jednaka primarnom kljuu iz tabele na koju je povezan. Bez obzira na organizaciju tabele, u tabelama koje sadre veliki broj slogova nai pojedini slog nije lako za tabelu od 1000 ili vie slogova pretraivanje red po red trajalo bi isuvie dugo. Da bi se obezbedilo bre pretraivanje i sortiranje tabele, u bazama podataka

formiraju se posebne tabele indeksa. Na primer, ako esto nau tabelu firmi pretraujemo po mestu moemo da formiramo indeks za polje Mesto. Analogija se moe napraviti sa indeksom pojmova na kraju knjige naete traenu re u indeksu pojmova i zatim brzo pristupite stranici na kojoj se nalazi. Indeks (Index) omoguuje brzo pretraivanje i sortiranje tabela. Indeksi se mogu kreirati za jedno polje, kao i za kombinaciju polja. Pored polja za koje se oekuje esto pretraivanje i sortiranje, indekse obino kreiramo i za polja koja koristimo za povezivanje sa drugim poljima u tabeli (spoljni kljuevi). Primarni klju tabele je automatski indeksiran. Indeksi koji se sastoje iz vie polja koriste se u sluaju kad pretraivanje i sortiranje samo po jednom polju daje veliki broj slogova, npr. moemo formirati indeks od polja Ime i Prezime u tabeli Partneri iz naeg primera. Povezivanje tabela Videli smo da se zbog problema redundanse podaci u relacionoj bazi podataka dre u razdvojenim tabelama. Da bi korisniku omoguili da podacima smetenim u razliitim tabelama pristupi istovremeno uspostavljaju se relacije izmeu tabela. Koristei relacije, sistem baze podataka moe obaviti operaciju udruivanja tako to kombinuje povezane tabele u rezultujuu tabelu, koja sadri uniju kolona iz povezanih tabela. U navedenom primeru, koristei relacije izmeu tabela Firme i Partneri moe se dobiti pregled svih poslovnih partnera u vidu tabele od koje smo poeli primer (slika 1) Relacije izmeu tabela u bazi podataka omoguuju da podaci smeteni u razliitim tabelama budu vidljivi u isto vreme. Kod uspostavljanja relacija izmeu tabela razlikujemo veze: Jedan prema vie jedan slog tabele moe imati vie slogova u drugoj tabeli. Prva tabela se naziva tabela roditelj, a druga tabela dete. U roditeljskoj tabeli mora postojati primarni klju. U tabeli dete mora postojati polje koje e predstavljati odreeni slog iz tabele roditelj. To polje se naziva spoljni klju. Jedan-prema-jedan slogu iz jedne tabele odgovara tano jedan slog iz druge tabele i obrnuto. Npr. izmeu tabele LiniPodaci u kojoj bi za neke osobe iz tabele Partneri unosili kunu adresu i telefon, i tabele Partneri postojala bi veza jedan-prema-jedan (ovaj odnos se zove specijalizacija). Odnos jedan prema jedan moemo imati i kad jednu tabelu sa mnotvom kolona podelimo na dve tabele. U ovom sluaju primarni klju iz jedne tabele povezujemo sa primarnim kljuem iz druge tabele. Vie-prema-vie - jedan slog tabela A ima vie zavisnih slogova u tabeli B i obrnuto. Primer ovakve relacije bila bi veza izmeu tabela Knjige Autori: jedan autor moe da ima vie knjiga, a jedna knjiga moe da ima vie autora. Za takvu relaciju kreiramo dodatnu tabelu tabelu veze (npr. AutorKnjiga u naem primeru) koja sadri parove primarnih kljueva iz obe tabele. Novu tabelu povezujemo sa postojeim tabelama relacijama jedan prema vie. Pravila za uspostavljanje veza izmeu tabela Za uspostavljene veze moemo definisati i dodatna pravila kojima obezbeuje ispravnost podataka pri unoenju i auriranju povezanih tabela. Ova pravila nazivaju se pravila referencijalnog integriteta i obuhvataju sledee: Ne moe se uneti slog u tabelu dete ako ne postoji odgovarajui slog u roditeljskoj tabeli. U naem primeru ne moemo uneti osobu u tabelu Partneri dok ni smo uneli odgovarajuu firmu u tabeli firma. Ne moe se izvriti brisanje sloga iz roditeljske tabele ako postoji povezani slog u tabeli dete. U naem primeru ne moemo obrisati firmu ukoliko postoje osobe u tabeli Partneri koji pripadaju toj firmi. Ne moe se izmeniti slog u tabeli dete tako da on nema odgovarajui slog u tabeli roditelj. U naem primeru ne moemo uneti novu firmu za postojeu osobu u tabeli Partneri, ukoliko ta firma ne postoji u tabeli Firmi. Ne moe se promeniti vrednost primarnog kljua u roditeljskoj tabeli sve dok postoji povezani slog u tabeli dete. Podeavanja

Objekti baze podataka Nakon otvaranja postojee baze podataka ili kreiranja nove baze podataka, o emu je bilo govora u proloj lekciji, prikazuje se prozor baze podataka. Prozor baze podataka predstavlja kontrolni centar otvorene baze podataka preko njega upravljamo svim objektima baze podataka: kreiramo ih, menjamo, briemo. Pored tabela koji su osnovni objekti u bazi podataka, Access sadri i druge tipove objekata, ije ikone moete videti u traci objekata uz levu ivicu prozora baze podataka (slika 1).

Slika 1: Prozor baze podataka

U sledeoj tabeli su ukratko objanjeni svi tipovi objekata koji se koriste u Access bazi podataka.

Tabela 1: Objekti baze podataka

Izborom neke ikone u traci objekata u prikazae se svi objekti tog tipa u desnom delu prozora. Na primer, klik na ikonu Forms i prikazae se svi obrasci u aktivnoj bazi podataka, a klik na Tables za listu svih tabela.

Vrste pogleda na objekte baze podataka Da otvorimo konkretan obrazac (tabelu ili neki drugi tip objekta ) koristimo dupli klik na taj objekat. Objekat moemo otvoriti i ako ga izaberemo (klik na objekat) pa aktiviramo dugme Open iz palete alatki baze podataka. Pored standardnog pogleda na objekat, koji dobijamo prilikom otvaranja objekta, svaki objekat moemo prikazati i u Dizajn reimu. U ovoj vrsti pogleda prikazuje se struktura objekta i mogue je menjati dizajn postojeih objekata ili kreirati nove. Da otvorimo pogled Dizajn za objekat prvo izaberemo objekat, pa zatim klik na dugme Design na paleti alata. Drugi nain da aktiviramo pogled Dizajnje da objekat otvorimo u standardnom pogledu (dupli klik na objekat), pa zatim izaberemo dugme View iz palete alatki . Pored standardnog pogleda i pogleda Dizajn postoje i druge vrste pogleda, zavisno od tipa objekta. Nakon to otvorimo objekat u standardnom pogledu, moemo izabrati neki od raspoloivih pogleda za objekat iz menija View. Na listi raspoloivih prikaza ikona, ikona aktivnog prikaza oiviena je i naglaena. Standardan pogled za tabele je tabelarni (DataSheet View). Pored standardnog pogleda i pogleda Dizajn za tabele je mogue izabrati Pogled Izvedena tabela (PivotTable View) Pogled Izvedeni grafikon (PivotChart View)

Isti pogledi raspoloivi su i za obrasce. Standardni pogled za obrasce je Pogled obrasca (Form View). Izvetaji imaju samo standardni pogled (Pogled izvetaja, Report View) i pogleda Dizajn. U Accessu je mogue zabraniti pojavljivanje nekih od pogleda kako korisnik na primer ne bi bio u prilici da menja dizajn obrasca ili tabele. Koji pogledi e biti raspoloivi zavisi od podeenih vrednosti za parametre: AllowFormView, AllowDatasheetView, AllowPivotTableView i AllowPivotChartView Svaki objekat koji otvorite, otvorie sopstveni prozor. Kao to ste i navikli, operativni sistem Windows omoguuje da istovremeno otvorite i radite sa vie prozora, pa je na taj nain mogue da otvorite novi objekat bez zatvaranja tekueg objekta. esto e biti potrebno da imate istovremeni pogled na vie od jednog objekta i da aktivirate jedan ili drugi prozor. Svaki otvoren prozor pojavljuje se kao posebna ikona na Windows liniji poslova (Taskbar-u), pa je aktiviranje jednog ili drugog prozora jednostavno samo kliknite na njegovu ikonu na liniji poslova. Kad radite sa vie prozora, komande iz menija Window pomoi e da ih na pogodan nain rasporedite. Izborom Cascade svi otvoreni prozori bie preklopljeni jedan preko drugog i malo pomereni jedan u odnosu na drugi (slika 2, levo). Izborom Tile Horizontally prozor baze podataka bie podeljen tako da se prikau svi otvoreni prozori jedan ispod drugog (slika 2, desno).; Izborom Tile Vertically svi otvoreni prozori bie sloeni jedan do drugog unutar prozora baze podataka.

Slika 2. Kaskadno i horizontalno rasporeeni prozori

Pri tome prozor baze podataka je okvir za sve prozore objekata, pa je stalno otvoren. Zatvaranjem ovog prozora zatvorie se i baza podataka. Prikazivanje i skrivanje ugraenih linija alatki Kad startujemo Access pojavljuje se jedna linija alatki u vrhu prozora linija alatki baze podataka (Database). Linija alatki, kao i u ostalim programima je bri nain da aktivirate komandu nego izborom iz menija. Tokom rada sa Accessom moda ete poeleti da imate preice i za neke druge komande. Neke nove preice moete prikazati aktiviranjem dodatne palete alatki Web ili aktiviranjem Okna poslova (Task pane) gde se nalaze grupisane preice za otvaranje nove baze podataka (okno poslova New), rad sa sistemom za pomo (okno poslova Help) kao i pristup clipboard-u (okno poslova Clipboard). Da aktivirate liniju alatki ili okno poslova: 1. Iz menija View izaberite Toolbars. Otvara se pod-meni sa listom raspoloivih linija alata. 2. Kliknite na eljenu liniju alata da je ukljuite. Da sakrijete liniju alatki ili okno poslova: 1. Iz menija View izaberite Toolbars. Otvara se podmeni sa listom raspoloivih linija alata. Trenutno prikazane linije alata imaju pored sebe oznaku ukljueno. 2. Kliknite na eljenu liniju alata da je iskljuite. Prikazivanje okna poslova moete iskljuiti i na jednostavniji nain klikom na X u gornjem desnom uglu okna poslova. Dodatne linije alata bie na raspolaganju ukoliko je otvoren neki objekat. Za tabele i obrasce na raspolaganju je dodatna linija alatki Formatting a za izvetaje Print Preview. Postupak za njihovo prikazivanje i sakrivanje je isti. Ako ne elite da se okno poslova prikae automatski prilikom startovanja aplikacije aktivirajte Options iz menija Tools, pa u kartici View iskljuite opciju Startup Task Pane. Na postojeim linijama alata moete dodati i sopstvene preice: 1. Iz menija Tools izaberite Customize. Otvorie se prozor Customize u kome su na kartici Commands izlistane sve komande po grupama: Files, Edit, View itd. 2. Izaberite odgovarajuu komandu na listi pa je prevucite na liniju alatki (slika 3)

Slika 3: Dodavanje novog dugmeta na liniju alatki

Da obriete dugme za preicu sa linije alatki, opet izaberite stavku Customize iz menija Tools, pa je prevucite van linije menija pojavie se X pored pokazivaa. Obratite panju da sadraj linije alatki baze podataka zavisi od konteksta. Kad je otvoren objekat baze podataka umesto ikona New i Open na poetku linije alatki pojavljuje se ikona View.

Veze izmeu tabela Uspostavljanje veza izmeu tabela Veze koje postoje na nivou tabela imaju prioritet nad vezama koje su definisane na nivou upita. Ukoliko uspostavite vezu izmeu dve tabele, Access e je automatski prepoznati kada sastavljate upit koji obuhvata polja iz vie tabela. Veze izmeu tabela mogu da se svrstaju u etiri grupe: Jedan prema jedan 1:1 Jedan prema vie 1:n Vie prema jedan n:1 Vie prema vie n:m Veza tipa jedan prema jedan znai da jednom slogu iz jedne tabele odgovara tano jedan slog iz druge tabele sa kojom je prva u vezi. Iako se retko koristi u sistemima za upravljanje bazama podataka, moe da bude koristan nain meusobnog povezivanja tabela. Dobre primere veza tipa jedan prema jedan nalazimo u veini aplikacija za fakturisanje; postoji datoteka pridruena fakturama koja sadri podatke neophodne za izdavanje rauna kupcu na adresu koja nije ista kao ona u datoteci s matinim podacima o kupcu. Ta datoteka obino sadri ifru kupca i dodatan skup polja za podatke o adresi.

Veza tipa jedan prema vie omoguava povezivanje jednog sloga iz jedne tabele s vie slogova u drugoj tabeli. Primer takve veze je zaposleni koji je potpisao vie porudbina ili kategorija koja obuhvata vie proizvoda. U oba primera imamo veze tipa jedan prema vie. Veza EmployeesOrders (Zaposleni-Porudbine) spaja ifru zaposlenog (primarni klju tabele Employees) sa ifrom zaposlenog u tabeli Orders (koja postaje spoljni klju tabele Orders). Veza tipa vie prema jedan (koja se esto zove i veza s referentnom tabelom) pokazuje Accessu da je vie slogova u jednoj tabeli povezano s jednim slogom u drugoj tabeli. Na primer, tabela Odrers (Porudbine) i tabela Customers (Kupci) su povezane vezom vie prema jedan, tj. vie porudbina je vezano za jednog kupca. Veza tipa vie prema vie najtee se razume. U optem sluaju, moete da je zamislite kao par veza tipa jedna prema vie izmeu dve tabele, kao to su veza izmeu tabela Products (Proizvodi) i Orders (Porudbine) u bazi podataka Northwind. Jedan proizvod moe da se nae na vie porudbina u isto vreme, to znai da postoji veza tipa jedan prema vie izmeu tabela Products i Orders. S druge strane, jedna porudbina moe da obuhvati vie proizvoda, to je takoe veza tipa jedan prema vie, ali od Orders prema Products. Ovakav par odvojenih, dvosmernih, veza tipa jedan prema vie ini jednu vezu tipa vie prema vie. Po pravilu, takva veza se razbija na dve veze 1:n prema novoj tabeli koja se raa izmeu ove dve.

Slika 1. Tabele Products i Orders sa tabelom Order Details izmeu njih

Veze se uspostavljaju kada kliknete na ikonicu Relationships ili izaberete tu opciju iz menija Tools. Ponudie vam se izbor tabela koje povezujete. Kada izaberete tabele i kliknete Add i potom Close, pojavie vam se tabele koje ete povezati kao na primeru na slici 1. Spustiete primarni klju jedne tabele u odgovarajui strani klju druge tabele. Brisanje veza Veze briete tako to ih izaberete i pritisnete Delete na tastaturi. Delete moete nai i u meniju Edit ili desnim klikom na vezu. Referencijalni integritet Pored definisanja veza izmeu tabela u Accessovoj bazi podataka, moete da zadate i odreena pravila koja e obezbediti odreeni stepen tanosti podataka u tabelama. Na primer, ne biste eleli da dozvolite brisanje sloga iz tabele Customers (Kupci) ako u tableli Orders (Porudbine) postoje slogovi koji su povezani s njim (odnosno, ne moete dozvoliti brisanje kupca, ako u tabeli Orders postoje njegove porudbine). Kada biste izbrisali slog o odreenom kupcu bez predhodnog brisanja sloga o porudbinama koje mu pripadaju, u sistemu bi se pojavile porudbine bez kupca. Ta vrsta problema moe u potpunosti da ugrozi referencijalni integritet baze podataka. Referencijalni integritet vai samo za kljuna polja tabela; kad god se doda, izmeni ili izbrie polje primarnog ili spoljnog kljua, proverava se ouvanost referencijanog integriteta. Ukoliko bi izmena sadraja kljunog polja bila uzrok raskidanja veza izmeu tabela, kae se da je time naruen referencijalni integritet. Mogue je podesiti opcije tako da referencijalni integritet odreene relacije bude automatski obezbeen. Postojanje veze izmeu tabela se definie u posebnom prozoru baze podataka koji se naziva Relationship Builder. Njega moete da otvorite izborom stavke menija Tools/Relationship ili da pritisnete dugme Relationships na paleti sa alatkama. Pojavljuje se glavni prozor Relatoinships u kome moete da dodate tabele i uspostavljate veze izmeu njih. Na ekranu se pojavljuje nova paleta sa alatkama koja mu je pridruena. Kada ga prvi put otvorite, prozor Relationships je prazan. Tabele dodajete na jedan od sledeih naina:

Dodajte tabele pre nego to se pokrene alatka Relationship Builder, u okviru za dijalog koji joj prethodi Na paleti sa alatkama pritisnite dugme Show Tables Sa linije menija izaberite Relatioships / Show Table U prozoru Relationships pritisnite desni taster mia otvorite pop-up meni i izaberite Show Table u meniju. Poto postavite tabele u prozor Relationships, spremni ste da uspostavite veze izmeu njih. Da biste to uradili, izaberite u jednoj tabeli polje koje e sluiti kao povezujue i prevucite ga na odgovarajue polje u tabeli s kojom elite da uspostavite vezu. Da biste uspostavili vezu izmeu dve tabele, uradite sledee: Pritisnite polje CategoryID u tabeli Categories Drei pritisnut taster mia, pomerite pokaziva u prozor tabele Products Prevucite ikonu za biranje polja na polje CategoryID u tabeli Products. Access otvara okvir za dijalog Edit Relationships koji je prikazan na slici. Izborom opcije dugme Create uspostavljate novu vezu. Access zatvara okvir za dijalog i povlai liniju izmeu tabela Categories i Products.

Slika

2. Kreiranje relacije (veze) izmeu tabela Categories i Products

Okvir za dijalog Edit Relationships nudi vie opcija za vezu izmeu tabela Pets i Visits. Slika prikazuje taj okvir za dijalog i opcije koje nudi. U njemu se vidi koja je tabela primarna tabela u vezi i da li je obezbeen referencijalni integritet (ekiramo Enforce Referential Integrity). Okvir za dijalog vam pokazuje i vrstu veze (jedan prema jedan ili jedan prema vie) i omoguava da zadate da li su dozvoljena lanana auriranja i brisanja (automatske izmene kljua ili brisanja povezanih slogova) u povezanim tabelama, kada je zadato ouvanje referencijalnog integriteta. Kada u okviru za dijalog Edit Relationships zadate opciju Enforce Referential Integrity, Access vam omoguava da potvrdite i opciju Cascade Update Related Fields (lanano auriranje povezanih polja). Ova opcija pokazuje Accessu da je korisniku dozvoljeno da menja sadraj povezujueg polja, odnosno polja primarnog kljua u primarnoj tabeli (ifru kategorije CategoryID). Ukoliko u okviru za dijalog Edit Relationships zadate opciju Enforce Referential Integrity, Access vam omoguava da potvrdite i opciju Cascade Delete Related Recordes (lanano brisanje povezanih slogova). Biranjem ove opcije nalaete Accessu da, ukoliko korisnik pokua da izbrie slog u primarnoj tabeli, a u tabeli detetu postoje slogovi koji su s njim povezani, najpre mora da izbrie sve povezane slogove u tabeli detetu, pa tek onda i slog u primarnoj tabeli. Sortiranje slogova Sortiranje podataka u tabelama, formama i izlazima upita Kada elite da slogove sortirate po odreenom redosledu, dovoljno je da izaberete eljenu kolonu i kliknete na dugmad A-Z za sortiranje u rastuem i Z-A za sortiranje u opadajuem redosledu. Ako elite da sortiranje izvrite po vie kolona istovremeno, morate ih sve selektovati. Access uvek sortira po prioritetu s leva na desno, to znai da ete nekada morati da menjate redosled kolona (odnosno polja) u tabeli.

Na formu moete da primenite iste tehnike za manipulisanje slogovima koje koristite u tabelarnom prikazu. Jedna razlika je to to umesto da se pomerate na odreeni slog, sada prikazujete slogove jedan po jedan. Iste tehnike se primenjuju i na rezultat upita, A-Z za sortiranje u rastuem i Z-A za sortiranje u opadajuem redosledu. Slogovi se sortiraju i po numerikom i po abecednom redu na ovaj nain. Definisanje kljueva Definisanje primarnog kljua Obavezno je da sve tabele imaju primarni klju (eng. Primary key), odnosno jedno ili vie polja iji je sadraj jedinstven u svakom slogu. Na primer, polje OrderID (broj porudbine) je primarni klju tabele Orders, jer svaki slog te tabele sadri drugaiju ifru porudbine. U teoriji relacionih baza podataka to se zove integritet entiteta. Poto svaki slog ima razliitu vrednost primarnog kljua, moete da razlikujete dva sloga. To je vano, jer je mogue da e u tabeli postojati dve porudbine sa istim datumom, za istog kupca i koje je potpisao isti zaposleni. Ako prilikom pravljenja nove tabele ne zadate primarni klju, Access e vas pitati elite li da ga on napravi. Ako odgovorite sa Yes, Access e tabeli dodati polje primarnog kljua tipa AutoNumber. U svakom novom slogu automatski se upisuje redni broj u polje primarnog kljua. Primarni kljuevi drastino ubrzavaju proces pretraivanja i sortiranja slogova u nekoj tabeli. Primarni klju pravite tako to najpre birate polje koje elite da bude primarni klju, a zatim na paleti sa alatkama pritisnete dugme Primary Key (to je dugme na kome je sliica kljua). Moete napraviti i primarni klju koji se sastoji od vie polja, tako to ete izabrati ta polja i pritisnuti dugme Primary Key. Primarni klju moete da napravite na jedan od sledeih naina: Izaberite polje koje e sluiti kao primarni klju, a zatim izaberite Edit / Primary Key Izaberite polje koje e sluiti kao primarni klju, a zatim pritisnete ikonu Primary Key (sa sliicom kljua) na paleti sa alatkama Pritisnite desni taster mia, a zaim izaberite stavku Primary Key.

Slika 1. Zadavanje primarnog kljua

Indeksiranje polja sa ili bez dozvoljenih duplikata

Indeksiranje je pojam koji se vezuje za brzo pretraivanje i sortiranje podataka po nekom polju. Obavezno se indeksira polje koje je primarni klju to Access odrauje automatski (Index Yes, No duplicates). Polju u tabeli koje predstavlja spoljni klju sami dodeljujemo indeks (Index Yes, Duplicates OK). Indekse dodeljujemo i onim poljima u tabeli za koje pretpostavljamo da e se po njima vriti pretraivanje i sortiranje (Index Yes, Duplicates OK). Sa brojem indeksa ne treba preterivati (7-8 maksimalno) jer e performanse poeti da opadaju. Nikad ne indeksidamo polja tipa Memo i Yes/No.

Slika 2. Svojstva polja

Opcija No duplicates slui da se onemogui unoenje iste vrednosti u razliita polja, duplikati nisu dozvoljeni. Opcija Duplicates OK slui za suprotno tj. ostavlja mogunost unoenja iste vrednosti u razliita polja, duplikati su dozvoljeni Glavne operacije Upotreba komande za pretraivanje Kada treba da pronaete odreenu re, broj, datum u tabeli, moete koristiti komandu za pretraivanje. Ovo je posebno zgodno ako imate veliku tabelu koja je nepregledna. Komanda se pokree ako kliknete na dugme Find koje je predstavljeno dvogledom. Otvorie se prozor gde treba da upiete ta traite, odreenu re, broj i sl. Treba da podesite i u kojoj tabeli e se izvriti pretraga i da li kriterijum za pretragu treba da odgovara celom polju, poetku polja ili bilo kom delu polja. Kada ste uneli podatke, kliknite na Find Next i program e nai i obeleiti u tabeli prvi odgovarajui podatak. Ako to nije ono to ste traili, idite na Find Next sve dok ne doete do cilja. Druga kartica u ovom prozoru prua mogunost da se podatak zameni drugim. Potrebno je prvo da naete ta hoete da izmenite, zatim u polje Replace With unesete izmenu i da kliknete na Replace dugme. Ako hoete da zamenite re ili neki drugi podatak koji ste naveli kao kriterijum u svim poljima gde se on nalazi, kliknite dugme Replace All. Upotreba filtera u tabelama i formama i njihovo uklanjanje Brzo pronalaenje podataka, izdvajanje onih sa specifinim osobinama i sortiranje u bazama podataka su od izuzetne vanosti. Zbog toga je dobro poznavanje ovih mogunosti neophodno svakom korisniku Access (od poetnika do profesionalaca). Kada elite da slogove sortirate po odrenom redosledu, dovoljno je da izaberete eljenu kolonu i pritiskom na dugmad A-Z za sortiranje u rastuem i Z-A za sortiranje u opadajuem redosledu. Ako elite

da sortiranje izvrite po vie kolona istovremeno, morate ih sve selektovati. Access uvek sortira po prioritetu od leva na desno, to znai da ete nekada morati da menjate redosled kolona (odnosno polja) u tabeli. Filter by Selecton (filtriranje na osnovu izabrane vrednosti) je alatka koja vam omoguava da trenutno izdvojite slogove na osnovu kriterijuma u polju koje ste izabrali. Dovoljno je kliknuti u polje, npr. u koloni Title u polje u kome pie Sales Representative, a zatim na alat Filter By Selection, da bismo dobili isfiltrirane podatke kao na slici 1. Deo u kome se nalaze navigaciona dugmad pokazuje vam je li baza podataka trenutno filtrirana ili ne. Osim toga ikona Apply Filter / Remove Filter je u pritisnutom poloaju, pokazujui time da je filter trenutno aktivan. Kada se pritisne to dugme, iskljuuju se svi filtri i redosled sortiranja.

Slika 1. Filtriranje po jednom zadatom uslovu

You might also like