300 likes | 534 Views
Podatkovne baze. in osnove programa Microsoft Access 2007. 3 . del: poizvedbe. Bor Plestenjak. Glavno kazalo. Poizvedbe. Zgledi poizvedb na testni bazi Krožki. Poizvedbe. Poizvedbo (querry) uporabimo za pridobivanje podatkov iz baze, ki izpolnjujejo dane kriterije.
E N D
Podatkovne baze inosnoveprograma Microsoft Access 2007 3. del: poizvedbe Bor Plestenjak
Glavno kazalo Poizvedbe Zgledi poizvedb na testni bazi Krožki
Poizvedbe • Poizvedbo (querry)uporabimo za pridobivanje podatkov iz baze, ki izpolnjujejo dane kriterije. • Na poizvedbo lahko gledamo kot na podatkovno sito. Neželeni podatki padejo skozi luknje sita, ostanejo pa le podatki, ki nas zanimajo. • Poizvedbe lahko delamo na eni ali več tabelah. • Narejene poizvedbe lahko shranimo za ponovno uporabo ali za izdelavo novih poizvedb na osnovi obstoječih. • Poleg tega lahko uporabljamo poizvedbe tudi za: • računanje različnih statistik iz podatkov, • brisanje vrstic, ki izpolnjujejo kriterije, • spreminjanje podatkov, ki izpolnjujejo kriterije, • kreiranje nove tabele s podatki, ki izpolnjujejo kriterije.
Poganjanje in načrtovanje poizvedb • Vse poizvedbe so zapisane v seznamu Queriespodokna za krmarjenje. • Nove poizvedbe načrtujemo z menijema v skupini Create/Other vmesnika Office Fluent. • Na izbiro imamo ročno načrtovanje poizvedbe v poizvedbenem oknu (Query Design)ter čarovnika za izdelavo posebnih vrst poizvedb (Query Wizard). • Če kliknemo na poizvedbo v podoknu za krmarjenje, se odpre okno z rezultati poizvedbe v obliki preglednice. Če potem spremenimo pogled v Design View, lahko poizvedbo preoblikujemo.
Okno za načrtovanje poizvedbe • V zgornjem delu je prikaz tabel in poizvedb, ki jih potrebujemo, skupaj zmedsebojnimi povezavami. Pred sestavljanjem nove poizvedbe nas program vpraša, katere tabele in poizvedbe želimo uporabljati,dodatne tabele ali poizvedbe pa lahko dodamo tudi kasneje z ukazom Design/Show Table. • V spodnjem delu določamo, katera polja in v kakšnem vrstnem redu bi radi imeli v poizvedbi. Polje iz tabele iz zgornjega dela poizvedbenega okna dodamo v spodnjo razpredelnico z dvojnim klikom ali pa z vlečenjem. • Poizvedbo izvršimo z ukazom Design/Results/Run, rezultati pa se pojavijo v obliki preglednice. Vsako poizvedbo lahko tudi poimenujemo in shranimo.Nazaj v načrtovanje se prestavimo z Home/View/Design View.
Polja v poizvedbenem oknu • Vsakemu polju poizvedbe lahko v poizvedbeni razpredelnici postavimo še nekaj lastnosti: • Show:ali želimo to polje videti v rezultatu poizvedbe • Sort: način urejanja zapisov (če so naj bodo urejeni po tem stolpcu). • Kadar urejamo po več poljih hkrati, je pomemben vrstni red teh polj,saj program po več poljih ureja vedno od leve proti desni. • Criteria, or(pa tudi naslednjeneimenovane vrstice): za vsako polje omejimo vrednosti, ki nas zanimajo.
Kriterij • Kot kriterij lahko vpišemo poljuben izraz, najpogosteje pa uporabljamo eno od naslednjih oblik, kjer znak # predstavlja poljubno konstantno vrednost (število, niz, datum, …), ## pa poljuben izraz: • #enako # • < #manjše od # • > #večje od # • <= #manjše ali enako kot # • >= #večje ali enako kot # • <> # različno od # • Between # And # med # in # • Like #ustreza regularnemu izrazu (nizu) # • Not ## negacija izraza ## • ## Or ## ## ali ## • ## And ## ## in ##
Združevanje kriterijev • Če več kriterijev za posamezna polja zapišemo v isto vrstico poizvedbene razpredelnice, bo poizvedba vrnila samo tiste zapise, ki ustrezajo vsem naštetim kriterijem. • Če pa jih zapišemo v več vrstic (lahko tudi po več v eno vrstico), bo poizvedba vrnila tiste zapise, ki ustrezajo kriterijem v vsaj eni vrstici.
Urejanje rezultatov • V tabelo, ki se nam prikaže kot rezultat poizvedbe lahko vnašamo nove vrednosti in popravljamo obstoječe zapise. • Polja, ki jih ni v poizvedbi, ostanejo prazna oz. zavzamejo privzete vrednosti. Če je prazno polje v tabeli označeno za potrebno, potem zapisov v rezultat poizvedbe ne moremo vnašati.
Seštevalne poizvedbe • Če uporabimo Desing/Show|Hide/Totals, se nam v poizvedbenem oknu spodaj pokaže še vrstica Total. Tu lahko izberemo, kako želimo sešteti podatke. • Vrstice, po katerih ne seštevamo temveč grupiramo, morajo imeti v vrstici Total označeno Group by. • Možne funkcije v vrstici Total so: • Sum: vsota vseh vrednosti v skupini • Avg: povprečna vrednost • Min, Max: najmanjša in največja vrednost • Count: število zapisov • StDev: standardna deviacija • Var: varianca • First, Last: prvi in zadnji zapis v skupini
Brisalna poizvedba • Če izberemo Design/Query Type/Delete, potem lahko zbrišemo zapise, ki ustrezajo pogojem. • Zapis, ki ga brišemo, označimo z Delete:From, zapolje pa izberemo * • Priostalihpoljih, kjeropisujemokriterije, pustimoDelete:Where • Vedno se splača najprej narediti izbiralno poizvedbo, da vidimo rezultat in šele nato pognati brisanje. Lahko tudi le pogledamo rezultat poizvedbe v načinu preglednice, saj vidimo le ustrezna polja, nič pa se ne zbriše.
Poizvedba, ki naredi novo tabelo • S poizvedbo lahko naredimo novo tabele iz rezultatov poizvedbe. • Vse kar je potrebno, je navadno izbiralno poizvedbo spremeniti v Design/Query Type/Make Tablein izbrati ime nove tabele. • Če tabela z izbranim imenom že obstaja, jo program najprej zbriše in nato ustvari novo z rezultati poizvedbe.
Spreminjanje podatkov s poizvedbo • S poizvedbolahkospreminjamopodatke. • IzbratimoramoDesign/Query Type/Update. • Pojavi se nova vrstica Update To kamorzavsakopolje, ki mu želimo spremeniti vrednost, vpišemo novo vrednost. • Novo vrednost lahko izračunamo.
Poizvedba s parametrom • Če v kriteriju uporabimo ime spremenljivke med oglatimi oklepaji, potem bo pred izvajanjem poizvedbe program vprašal za njeno vrednost. • Na ta način lahko naredimo poizvedbe, kjer mora uporabnik vnesti še vrednosti parametrov, ki določajo poizvedbo.
Zahtevni filtri s poizvedbo • S pomočjo poizvedbe lahko sestavimo zapletene filtre. • Če izberemo Sort & Filter/Advanced/Filter By Form ,lahkosestavimozapletenejše filtre.
Glavno kazalo Poizvedbe Zgledi poizvedb na testni bazi Krožki
Testna baza - Krožki • V bazi vodimo evidenco o obiskovanju krožkov
Vsi fantje letnika 1988 V Criteria vpišemo vrednosti, ki jim morajo zapisi zadoščati, v Show odkljukamo polja, ki naj jih poizvedba vrne
Fantje ali letnik 1988 Če iščemo zapise, ki ustrezajo vsaj enemu izmed več kriterijev, potem te kriterje pišemo v različnih vrsticah.
Fantje po abecedi Če želimo urediti rezultat, v poljih, po katerih urejamo, v Sort izberemo vrstni red (Ascending ali Descending). Kriteriji se upoštevajo z leve proti desni, zato moramo včasih spremeniti vrstni red stolpcev. Če želimo le nekaj prvih zapisov, število nastavimo v Query Setup na mestu, kjer je označeno All.
Fantje na plavanju Če iščemo polja, katerih podatki so v različnih tabelah, moramo na začetku izbrati vse tabele, ki jih potrebujemo. Če izbiramo iz več tabel, vidimo zgoraj njihove morebitne povezave.
Dijaki na glasbenem krožku Čeprav se na zaslonu v ID Krozek izpiše besedilo, je pri poizvedbi potrebno kot kriterij vnesti pravilno številko, saj je v resnici v polju ID Krozek le referenca na dijaka.
Število dijakov po krožkih V Total z GroupBy označimo polja, ki določajo skupino podatkov. Count v Total prešteje število zapisov.
Število dijakov po krožkih Če kliknemo na povezavo med tabelama, lahko izberemo vrsto povezave med tabelama (velja le za čas poizvedbe): • 1: le zapisi iz obeh tabel, kjer sta polji enaki • 2: vsi zapisi iz prve tabele, iz druge pa le tisti, ki se ujemajo s prvo • 3: vsi zapisi iz druge tabele, iz prve pa le tisti, ki se ujemajo z drugo
Primer izračunanega polja Izračunamo ceno krožka, povečano za 50% Če v ime polja vpišemo formulo, dobimo izračunano polje. Imena polj, s katerimi računamo, damo med oglate oklepaje. Če računamo z vrednostmi iz več tabel, je ime polja sestavljeno iz [Tabela].[Polje] Expr1 je ime stolpca, lahko ga spremenimo v poljubno drugo ime.
Matrika: spol po letniku V Query Type/Crosstabpoizvedbi eno polje določimo za oznake vrstic (Row Heading), drugo polje za oznake stolpcev (Column Heading), tretje polje pa za vrednost (Value), ki se izpiše v matriki v ustrezni vrstici in stolpcu.
Primer brisalne poizvedbe Iz plavanja izpišemo vse dijake. Pri brisanju moramo označiti tabelo, iz katere brišemo. Izberemo celotno tabelo (polje označeno z *) in v Delete izberemo From. Katere zapise zbrišemo, določimo s polji, kjer v Delete izberemo Where in nastavimo kriterij.
Primer spreminjanja podatkov Vse krožke s ceno pod 2000 SIT podražimo za 15%. Formulo za novo vrednost zapišemo v Update To
Dodajanje novih zapisov Z poizvedbo tipa Append lahko dodajamo zapise v tabele. Iz tabele dijakov vzamemo vse moške, jih ime spremenimo v Mojca, spol v ženski in te nove dijakinje dodamo v tabelo. V Append To nastavimo ime polja, z zgoraj določeno vrednostjo, ki ga bomo zapisali v nov zapis. Pri vseh poljih, ki ne smejo biti prazna moramo nastaviti vrednosti, sicer dodajanje ne bo možno. Polj tipa Auto Number ne nastavljamo.
Primer poizvedbe s parametrom Parameter vpišemo med oglate oklepaje. Ko zaženemo poizvedbo se pojavi okno za vnos parametra.