|
Škola Accessa |
|
|
Čas 4 - Povezivanje tabelaNa ovom času iskoristićemo postojeće, ranije kreirane tabele i povezaćemo ih međusobno u relacije. Punu snagu Access ostvaruje iz relacionih tabela (otuda naziv relacione baze podataka). Iz relacionih tabela podatke je lako filtrirati i na njih primeniti razne kriterijume bez obzira iz koliko tabela podaci potiču. Ako analiziramo spisak polja i strukturu tabela iz drugog časa
Vraćamo se u Access i prozor baze. Selektujemo tabelu Poslovanje i kliknemo na taster Design. Sada se otvara već poznati dizajn-pogled tabele. Kliknimo u polje Number reda ID_Knjiga. Primetićemo da je polje "drop-down" tipa, odnosno da sadrži listu za izbor koja se može videti klikom na strelicu na dole ili pritiskom na taster F4. Ono što ćemo sada učiniti je da polja ID_Knjiga i ID_Citalac ograničimo na sadržaj tabela Knjige i Citaoci. Tip polja Number reda ID_Knjiga promenimo na Lookup Wizard...
Pokreće se procedura koja će na osnovu naših odgovora na postavljena pitanja formirati relaciju umesto nas: Na prvo pitanje odgovaramo sa prvom opcijom jer želimo da se u tabeli Poslovanje na mesto broja knjige pojavljuju samo vrednosti iz tabele knjiga, odnosno samo smisleni inventarni brojevi (biranjem druge opcije u koloni ID_Knjiga mogli bismo da kucamo bilo koji inventarni broj, pa i onaj nepostojeći). Klikom na Next (ili sa tastature ALT+N) sledi drugi korak: U ovom koraku biramo tabelu iz koje će se uzimati podaci, odnosno određujemo "izvorišnu" tabelu. Dalje, u trećem koraku određujemo kolonu (polja) koja će biti "izvor" podataka: Preostala dva koraka nisu neophodna i već sada možemo kliknuti na taster Finish. Četvrti korak je "kozmetički" i ovde određujemo širinu kolone koje će se prikazivati na ekranu: U poslednjem koraku možemo uticati na naziv kolone, a kako nam naziv ID_Knjiga već odgovara, kliknućemo na taster Finish: Ovim je kreirana prva tzv. relacija tabela Poslovanje i Knjige. Tabelu Poslovanje treba istom procedurom povezati sa tabelom Citaoci, što ćete prateći prethodni postupak sami uraditi. Polja koja se povezuju nose isto ime u obe tabele: ID_Citalac. Još jednu, veoma bitnu, stvar moramo napraviti da bi ova veza funkcionisala kako valja: operateru se mora onemogućiti da u polja ID_Knjiga i ID_Citalac upisuje proizvoljne vrednosti, odnosno one vrednosti za koje ne postoji odgovarajuća šifra u tabelama Knjige i Citaoci. Otvorimo ponovo tabelu Poslovanje u dizajn-pogledu. Selektujmo red ID_Knjiga klikom miša. Ispod teksta Field Properties postoje dva tzv. taba - General i Lookup. Klikom na tab Lookup otvara se lista osobina za polja čiji sadržaj se gleda iz druge tabele. Na ovoj listi za polja ID_Knjiga i ID_Citalac tabele Poslovanje osobinu Limit To List postavimo na vrednost Yes. Snimimo i zatvorimo tabelu. Ovim smo ograničili sadržaj polja ID_Citalac i ID_Knjiga na sadržaj druge dve relevantne tabele - Knjige i Citaoci. Pored ovih Lookup relacija napravićemo još i prave relacije između tabela. Iz menija Tools biramo opciju Relationships.... U prazan prozor koji se pojavi, dodaćemo tabele koje ćemo povezati. Spisak postojećih tabela dobija se klikom na taster Show Table. Dodajmo redom tabele: Citaoci, Poslovanje i Knjige. Iz tabele Citaoci prevucimo polje ID_Citalac u tabelu Poslovanje na polje ID_Citalac. U prozoru koji se pojavi, podešavamo osobine ove relacije. Na slici, obeleženo brojem 1 su tabele koje će biti povezane. Polja koja su međusobno povezana su obeležena brojem 2. Pod brojem 3 su opcije koje će definisati ponašenje ciljne tabele u zavisnosti od promene podataka u izvorišnoj tabeli. Ove opcije ćemo sve uključiti jer će one omogućiti da se, ukoliko se npr. promeni inventarni broj knjige u tabeli Knjige, ova promena reflektuje na tabelu Poslovanje. PrimerAko je čitalac sa šifrom 15 zadužio i razdužio knjigu sa inventarnim brojem 26, ove promene će ostati zapisana u tabeli Poslovanje i taj podatak može poslužiti u vođenju statistike o čitanosti knjige i broju pročitanih knjiga za čitaoca. Takođe, ukoliko se knjiga ošteti, može se na osnovu istorije izdavanja knjige utvrditi ko je od čitalaca iznajmljivao tu knjigu i tako eventualno pronaći krivca za oštećenje. U momentu kada se knjizi iz raznih razloga promeni njen inventarni broj, ili se knjiga rashoduje, ova promena se neće odraziti na tabelu Poslovanje, ukoliko pomenute opcije sa slike obeležene brojem 3 nisu uključene. U našem slučaju bismo rashodovali knjigu 26 i na mesto njenog broja postavili drugu knjigu, pa bismo dobili sasvim pogrešne podatke o izdavanju knjige i čitaocima koji su knjigu iznajmljivali. Uključenjem opcija pod Enforce Referential Integrity će se promene podataka u tabelama Citaoci i Knjige automatski reflektovati na tabelu Poslovanje. Na slici pod brojem 4 označen je tip relacija. U našem slučaju One-to-many znači da knjiga može imati jedinstven broj, da se ta knjiga može više puta izdati, te da jedan čitalac u isto vreme može uzeti više knjiga. Sem ove relacije postoji još dva tipa relacije. Druga je One-to-one što bi značilo da jedan čitalac može uzeti samo jednu knjigu. Ova relacija bi bila primenljiva u, recimo, "Sega" klubovima, gde biste jednom članu dozvolili da iznajmi jednu konzolu za igranje. Treća vrsta relacija je Many-to-many. Ova relacija se upotrebljava u slučajevima kada postoji osobina zajedničke pripadnosti. Za primer, recimo da dva radnika zaduže dva kompleta alata bez posebne zajedničke pripadnosti. Obojica su tada vlasnici i jednog i drugog kompleta alata. Pod brojem 5 na slici je označen taster Join Type.... Klikom na taster ili prečicom ALT+J otvara se dijalog sa tri opcije: Prva opcija će dozvoliti pojavljivanje knjiga u tabeli Poslovanje samo za one inventarne brojeve koji već postoje u tabeli Poslovanje. Biranjem druge opcije u tabeli Poslovanje će moći da se "pojave" svi inventarni brojevi knjiga. Trećom opcijom bismo dozvolili (slično prvoj) pojavljivanje inventarnih brojeva knjiga samo onih koji već postoje u tabeli Poslovanje. Praktično prva i treća opcija nemaju nekog smisla u našem slučaju. Stoga odabiramo drugu opciju i potvrđujem izbor klikom na taster OK. Takođe potvrdimo i promene osobina relacija još jednim klikom na taster OK. Prateći postupak u kome smo kreirali relaciju između tabela Citaoci i Poslovanje gde smo povezali polja ID_Citalac, povežimo i tabele Knjige i Poslovanje. Nakon obavljene operacije imaćemo izgled relacija kao na sledećoj slici. Konačno zatvorimo prozor relacija i odgovorimo potvrdno na postavljeno pitanje kojim snimamo naše promene na relacijama tabela.
Rezime časa 4Na ovom času, prepunom raznih opcija, povezali smo tabele sa nadom da smo dobro predvideli konačan model baze podataka. Nakon ovih akcija, svaka kasnija izmena je sve teža i teža što dublje ulazimo u razvoj baze. Plastično rečeno, slična stvar je i sa vodovodnim cevima koje se nalaze ispod kuće koje moramo promeniti nakon što je postavljen krov, jer smo utvrdili da je prečnik cevi neodgovarajući te da dolazi da pada pritiska. Vodovod će i dalje raditi, ali sa smanjenim pritiskom - što će povećati vreme čekanja da se kada napuni kao i vašu nervozu. Ovim časom završava se priča o dizajniranju tabela. Na sledećem času ćemo testirati našu osnovu unošenjem podataka direktno u tabele, te se taj čas može računati kao međukorak. Takođe uz ovaj čas možete preuzeti aktuelnu arhivu u razvoju baze.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana. |