Baze podataka (upiti)

Download Report

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