Transcript Baze podataka (upiti)
Upiti (engl.
Queries
)
© S. Šutalo i D.Grundler, 2009.
Upit
Upit omogućava: izdvajanje zapisa ili dijelova zapisa iz jedne ili više tablica (ili drugih upita) na temelju zadanih uvjeta, pregledavaje, razvrstavanje, izmjene (umetanje, brisanje) podataka iz jedne ili više tablica (ili drugih upita).
(c) S.Šutalo i D.Grundler, 2009 2
Vrste upita
Postoji nekoliko vrsta upita, a svaki ima drugačiju namjenu. Razlikuju se npr.: upiti s izdvajanjem podatke, koji pronalaze i prikazuju akcijski upiti koji mijenjaju podatke u izvor ištu podataka ili stvaraju nove tablice, parametarski upiti koji omogućavaju korisniku zadavanje određene informacije koja se koristi u kriteriju upita. Napomena: u ovim će vježbama pažnja biti usmjerena samo na upite s izdvajanjem.
(c) S.Šutalo i D.Grundler, 2009 3
Upit s izdvajanjem
Upit s izdvajanjem omogućava izdvajanje zapisa (ili dijelova zapisa) koji zadovoljavaju zadane uvjete .
Novi se upit može stvoriti: a) Čarobnjakom za upite, b) naredbom Dizajn upita .
(c) S.Šutalo i D.Grundler, 2009 4
Čarobnjak za upite
Za stvaranje upita ovim načinom, potrebno je birati: kartica Stvori , grupa Ostalo , naredbeni gumb Čarobnjak za upite .
1 3 2
(c) S.Šutalo i D.Grundler, 2009 5
Čarobnjak za upite – 1. korak
Za upit s izdvajanjem u okviru Novi upit birati Čarobnjak za jednostavne upite .
(c) S.Šutalo i D.Grundler, 2009 6
Čarobnjak za upite – 2. korak
U 2. koraku treba odabrati tablicu ili upit koji sadrži potrebne podatke (izvorište podataka).
(c) S.Šutalo i D.Grundler, 2009 7
Čarobnjak za upite – 2. korak
Zatim, iz popisa Dostupna polja odabrati polja koja će biti uključena u upit. Polje se u okvir Odabrana polja prebacuje klikom na gumbe sa strelicama.
(c) S.Šutalo i D.Grundler, 2009 8
Čarobnjak za upite – 3. korak
Ako su u 2. koraku odabrana polja vrste podataka Broj ili Datum/vrijeme , moguće je birati: prikaz svih polja svih zapisa koji zadovoljavaju kriterije upita , ili računati s podacima . (c) S.Šutalo i D.Grundler, 2009 9
Čarobnjak za upite – 4. korak
Na kraju treba zadati naziv upita i odabrati način otvaranja upita (za prikaz informacija ili u prikazu dizajna), pa kliknuti na Završi .
(c) S.Šutalo i D.Grundler, 2009 10
Izvođenje upita
Nakon što je upit stvoren, rezultati izvođenja se prikazuju u prikazu podatkovne tablice . Prikazuju se svi zapisi, ali samo ona polja koje su odabrana pri stvaranju upita.
Upit je moguće ponovo upotrijebiti, kad god je to potrebno.
Prvi upit
Vježba 13a. Stvoriti novi upit Čarobnjakom za upite.
Odabrati tablicu: Popis aktivnosti.
Odabrati polja: Šifra aktivnosti, Aktivnosti.
Naziv: Popis aktivnosti upit.
(c) S.Šutalo i D.Grundler, 2009 12
Prikaz dizajna
Dobiveni se upit može promijeniti .
Sve radnje promjene upita moguće su u prikazu dizajna . (c) S.Šutalo i D.Grundler, 2009 13
Prvi upit
Vježba 13b. Upit Popis aktivnosti upit otvoriti u prikazu dizajna.
(c) S.Šutalo i D.Grundler, 2009 14
Prikaz dizajna
Prozor prikaz dizajna je podijeljen u dva dijela:
1 2
(c) S.Šutalo i D.Grundler, 2009 15
Prikaz dizajna
Gornji dio prozora je predviđen za prikaz odabranih tablica ili postojećih upita. (c) S.Šutalo i D.Grundler, 2009 16
Prikaz dizajna
U gornji se dio prikaza mogu postaviti tablice ili postojeći upiti .
Potrebno je : kartica Dizajn , grupa Postavka upita , naredbeni gumb Prikaz tablice , birati tablicu ili upit.
2
(c) S.Šutalo i D.Grundler, 2009
1 3
17
Prikaz dizajna
U donjem dijelu prozora je prikaz u obliku tablice s redcima koji imaju stalne nazive i namjenu .
Redci su namijenjeni definiranju upita .
(c) S.Šutalo i D.Grundler, 2009 18
Prikaz dizajna
1. Polje: za unos naziva polja .
2. Tablica: za unos naziva tablice iz koje je uzeto odabrano polje.
3. Sortiranje : moguć silazni ili uzlazni redoslijed.
3
4.
Prikaži: moguće je odlučiti hoće li polje u upitu biti prikazano ili ne.
5. Kriterij: za unos kriterija upita.
2 1 4 5
(c) S.Šutalo i D.Grundler, 2009 19
Kriterij upita
Kriterij upita je uvjet koji se postavlja za neko polje .
Kriteriji se mogu razlikovati ovisno o vrsti podataka na koje se primjenjuju i posebnim zahtjevima.
Primjeri raznih vrsta kriterija mogu se vidjeti ovdje .
Napomena: primjeri kriterija preuzeti iz Access Helpa.
(c) S.Šutalo i D.Grundler, 2009 20
Kriterij upita
Npr. za izdvajanje zapisa koji se u odabranom polju točno podudaraju s željenom vrijednošću , kao kriterij upita navodi se vrijednost. U primjeru, žele se izdvojiti podaci o učenicima razrednog odjela 1A, rođeni u Karlovcu.
21 (c) S.Šutalo i D.Grundler, 2009
Kriterij upita
Rezultat upita prikazat će one zapise koji u odabranom polju imaju zadanu vrijednost.
(c) S.Šutalo i D.Grundler, 2009 22
Stvaranje upita - Dizajn upita
Za stvaranje upita naredbom Dizajn upita , potrebno je birati: kartica Stvori , grupa Ostalo , naredbeni gumb Dizajn upita .
1 3 2
(c) S.Šutalo i D.Grundler, 2009 23
Stvaranje upita - Dizajn upita
Po odabiru naredbe javlja se dijaloški okvir Prikaz tablice . U njemu treba odabrati tablice ili postojeće upite koji sadrže podatke koji će se koristiti u novome upitu. (c) S.Šutalo i D.Grundler, 2009 24
Drugi upit
Vježba 14a.
Oblikovati novi upit u prikazu dizajna.
Odabrati tablicu: Popis aktivnosti.
Odabrati sva polja tablice Popis aktivnosti.
(c) S.Šutalo i D.Grundler, 2009 25
Stvaranje upita - Dizajn upita
Polje se iz odabrane tablice uvrštava u upit npr.: klik mišem u okvir odabranog polja redka
Polje
otvara padajući popis polja aktivne tablice u kome valja označiti željeno.
1 2 3
(c) S.Šutalo i D.Grundler, 2009 26
Stvaranje upita - Dizajn upita
Polje se u upit može uvrstiti i: dvoklik mišem na željeno polje (polje se postavlja u prvi slobodni stupac donjeg dijela prozora), ili označavanjem polja u okviru njegove tablice, pa povlačenjem u željeni stupac donjeg dijela prozora .
M ogu se rabiti i tipke
Ctrl
i
Shift
, na uobičajeni način.
(c) S.Šutalo i D.Grundler, 2009 27
Drugi upit
Vježba 14b.
Izdvojiti one aktivnosti koje se održavaju subotom.
Polje Dan održavanja neka ne bude prikazano.
Zapise razvrstati po polju Aktivnost, uzlazno.
Naziv upita: Aktivnosti subotom.
(c) S.Šutalo i D.Grundler, 2009 28
Drugi upit
Polje neće biti prikazano .
Zapisi će biti sortirani po polju Aktivnost, uzlazno .
U polju Dan održavanja postavljen je (c) S.Šutalo i D.Grundler, 2009 uvijet “subota” . 29
Pohrana upita
Stvoreni upit treba pohraniti da bi se mogao ponovo koristiti.
Potrebno je birati naredbu Spremi, a potom zadati naziv upita.
(c) S.Šutalo i D.Grundler, 2009 30
Rezultat upita
Da bi se vidjeli zapisi koji zadovoljavaju uvjete potrebno je postaviti prikaz podatkovnog lista ili birati: kartica Dizajn , grupa Rezultati , naredbeni gumb Izvedi .
1 3 2
(c) S.Šutalo i D.Grundler, 2009 31
Drugi upit
Vježba 14c.
Pogledati koji zapisi zadovoljavaju kriterij upita .
(c) S.Šutalo i D.Grundler, 2009 32
Treći upit
Vježba 15.
Načiniti upit kao u prethodnom primjeru, ali sada izdvojiti one aktivnosti koje se ne održavaju subotom . Polje Dan održavanja neka bude prikazano.
Zapise razvrstati po polju Aktivnost, silazno.
Upit pohraniti pod nazivom Aktivnosti radnim danom.
(c) S.Šutalo i D.Grundler, 2009 33
Primjeri kriterija uvjeta
U zapisu ne smije biti vrijednost npr. Ivo Not “Ivo” Vrijednost u zapisu počinje znakom npr. S Like S* Vrijednost u zapisu ne završava nizom znakova npr. INA Not Like “*ina” Vrijednost u zapisu sadrži znak npr. S Like *S* Vrijednost u zapisu počinje bilo kojim znakom iz zadanog raspona npr. od A do D Like “[A-D*]” (c) S.Šutalo i D.Grundler, 2009 34
Primjeri kriterija uvjeta
Vrijednost u zapisu je iz zadanog raspona vrijednosti npr. >=50 i <=100 >=50 and <=100 ili Between 50 and 100 Datumske vrijednosti u zapisu su u rasponu prije 2.2.2006 ili nakon <#2.2.2006#or>#2.4.2006# 2.4.2006
Datumska vrijednost u zapisu je vrijednost tekućeg datuma.
Date() 35 (c) S.Šutalo i D.Grundler, 2009
Treći upit
(c) S.Šutalo i D.Grundler, 2009 36
Četvrti upit
Upit je moguće stvoriti i podacima iz međusobno povezanih tablica .
Vježba 16.
Odabrati tablice Popis aktivnosti, Grupe .
Odabrati polja: Dan održavanja, Aktivnost, Razredni odjel, Broj učenika .
(c) S.Šutalo i D.Grundler, 2009 37
Četvrti upit
Izdvojiti podatke o aktivnostima razrednog odjela 1A.
Polje Razredni odjel neka ne bude prikazano.
Zapise razvrstati po polju Broj učenika, silazno.
Upit pohraniti pod nazivom Aktivnosti za 1A.
(c) S.Šutalo i D.Grundler, 2009 38
Četvrti upit
(c) S.Šutalo i D.Grundler, 2009 39
Višestruki kriterij uvjeta
Moguće je izdvajati i zapise koji zadovoljavaju više uvjeta i to: one zapise koji zadovoljavaju bar jedan od više zadanih uvjeta (OR) , ili one zapise koji zadovoljavaju sve zadane uvjete (AND).
(c) S.Šutalo i D.Grundler, 2009 40
Višestruki kriterij uvjeta - OR
Da bi se izdvojili zapisi koji zadovoljavaju bar jedan od više zadanih uvjeta, potrebno je uvjete zadati u različite razine ( u različite retke ). Uvjeti se u tom slučaju povezuju operatorom OR (ILI) .
(c) S.Šutalo i D.Grundler, 2009 41
Višestruki kriterij uvjeta - AND
Da bi se izdvojili zapisi koji zadovoljavaju sve zadane uvjete, potrebno je uvjete zadati u istu razinu ( u isti redak ). Uvjeti se u povezuju operatorom AND (I) . (c) S.Šutalo i D.Grundler, 2009 42
Peti upit - OR
Vježba 17.
Odabrati tablicu Učenici .
Odabrati polja: Učenik - prezime, Učenik - ime, Datum rođenja, Mjesto rođenja.
Izdvojiti one učenike čije je ime Marko ili su rođeni u Zagrebu.
Upit pohraniti pod nazivom Marko ili ZG.
(c) S.Šutalo i D.Grundler, 2009 43
Peti upit - OR
(c) S.Šutalo i D.Grundler, 2009 44
Peti upit - OR
(c) S.Šutalo i D.Grundler, 2009 45
Radnje s objektima
Ako se upit želi preimenovati , izbrisati , izrezati , kopirati i slično najjednostavnije je označiti ga u navigacijskom oknu, pa pozvati kontekstualni izbornik (desni klik). Popis koji se prikaže nudi trenutno dostupne radnje .
(c) S.Šutalo i D.Grundler, 2009 46
Šesti upit - AND
Vježba 18.
Kopirati upit pod nazivom Marko ili ZG , pa kopiranom upitu dati naziv Marko i ZG.
Promijeniti uvjet tako da se izdvoje oni učenici čije je ime Marko i rođeni su u Zagrebu .
(c) S.Šutalo i D.Grundler, 2009 47
Šesti upit - AND
(c) S.Šutalo i D.Grundler, 2009 48
Izračun u upitu
Access omogućava uporabu formula i funkcija za izračunavanje i prikaz željenih vrijednosti u upitima .
Računa se iznova pri svakom izvođenju upita.
Kao primjer će biti prikazan izračun starosti učenika i postavljanje kriterija uvjeta temeljenog na tom izračunu.
(c) S.Šutalo i D.Grundler, 2009 49
DateDiff
Access sadrži gotove funkcije. U primjeru koji slijedi prikazana je primjena funkcije DateDiff .
Funkcija DateDiff vraća broj navedenih vremenskih razdoblja između dvaju datuma . Npr. DateDiff može izračunati broj dana između dvaju datuma ili broj tjedana između "danas" i kraja godine.
Napomena: detaljno o funkciji DateDiff (c) S.Šutalo i D.Grundler, 2009 50
DateDiff - sintaksa DateDiff (interval; date1; date2)
interval vremensko razdoblje za računanje razlike između dva datuma, mogu se rabiti razne postavke, npr.: yyyy – vraća razliku u godinama m vraća razliku u mjesecima date1, date2 d vraća razliku u danima dva datuma koja se koriste u izračunu. (c) S.Šutalo i D.Grundler, 2009 51
DateDiff - primjena
Pošto se želi načiniti upit u kome će biti izračunata starost učenika , koristit će se funkcija DateDiff na sljedeći način:
Dob: DateDiff (“yyyy”; [Datum rođenja]; Date() )
(c) S.Šutalo i D.Grundler, 2009 52
DateDiff - primjena Dob: DateDiff (“yyyy”; [Datum rođenja]; Date() )
date1 date2 Dob: interval “yyyy” Naziv polja u koje će se spremati izračuni.
Razlika će biti vraćena u godinama.
[Datum rođenja] Date() Prvi datum je datum pohranjen u polje Datum rođenja.
Drugi datum vraća funkcija Date(). Ona vraća tekući datum.
(c) S.Šutalo i D.Grundler, 2009 53
Sedmi upit
Vježba 19.
Za stvaranje upita odabrati tablicu Učenici .
Odabrati polja: Učenik - prezime, Učenik - ime, Datum rođenja.
Dodati polje naziva Dob , pa u njemu izračunati dob učenika.
Polje Datum rođenja neka ne bude prikazano.
Upit pohraniti pod nazivom Dob učenika.
(c) S.Šutalo i D.Grundler, 2009 54
Sedmi upit
Naziv polja Interval (godine) Datum rođenja Tekući datum (c) S.Šutalo i D.Grundler, 2009 55
Sedmi upit
Rezultat rada upita je polje Dob .
Sadržaj polja su podaci o dobi učenika . I za ovako stvorena polja mogu se zadavati kriteriji uvjeta na uobičajen način.
(c) S.Šutalo i D.Grundler, 2009 56
Sedmi upit
U prethodno stvorenom upitu treba izdvojiti učenike koji imaju petnaest ili više godina .
(c) S.Šutalo i D.Grundler, 2009 57