Microsoft Office Access |
|
|
Upotreba združenih upitaNivo:
Kada imate baze sa velikom količinom pasivnih podataka koje samo ponekad treba pregledati, nema potrebe da ih držite u istoj tabeli među aktivnim podacima. Primena združenih upita je prava blagodet u ovom slučaju. Kada se postavljaju upiti nad više tabela, najčešće se koriste klasični upiti na koje se postavljaju potrebne tabele u relaciji i iz kojih se odgovarajuća polja prenose u upit. Rezultat je set slogova koji nikada nema više slogova, a može imati više kolona nego najveća tabela. U združenim upitima (Union query) rezultujući set slogova nikada nema više kolona, ali uvek ima više slogova nego najduža tabela. Umesto u QBE mreži (gde se kreiraju klasični upiti), združeni upiti se pišu u jeziku SQL koje Access interpretira i izvršava. Ako nikada niste koristili združeni upit, verovatno se pitate čemu bi on mogao da posluži. Pretpostavimo da imate bazu kupaca i njihovih narudžbina. Iz perioda u period, bilo da je to mesec ili godina, baza narudžbina raste i na kraju počinje da usporava rad izveštaja i upita. Nakon analize tabela shvatate da je tabela narudžbina ekstremno dugačka i uviđate propust: iako svakodnevno operišete samo sa podacima iz tekućeg perioda, kroz procedure obrade stalno prolaze i podaci iz prethodnih perioda. Zato ćete tabele razdvojiti na dve: osnovna će sadržati samo podatke iz tekućeg, a druga iz prethodnih perioda. Spoj ove dve tabele daje kompletnu istoriju narudžbina. Združenim upitom možete nadovezati dve tabele vertikalno. Kreirajte novi združeni upit i otkucajte sledeću SQL "rečenicu" (u jednoj ili više linija):
Rezultujući skup slogova sadrži ista polja iz obe tabele. Ako želite da vidite sva polja iz obe tabele, koristite džoker znake umesto naziva polja. Kriterijum nad SQL upitom se postavlja klauzulom WHERE. Klauzula ORDER BY dozvoljava sortiranje, ali se mora referencirati na prvo polje naredbe SELECT. Evo primera jedne SQL naredbe sa klauzulom WHERE, gde se izdvajaju samo slogovi koji zadovoljavaju kriterijum:
Za razliku od klauzule WHERE, ORDER BY se navodi samo jednom (sortiramo po dva polja):
Primetimo da združeni upit neće prikazati duplirane slogove. Ako želimo da vidimo sve slogove, koristićemo odrednice UNION ALL:
Dakle, podatke možemo razdvojiti u dve ili više tabela kako bi aplikacija zadržala brzinsku efikasnost, a podaci iz podeljenih tabela preko združenog upita se lako mogu naći na jednom mestu za sve potrebe daljih obrada.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |