Sunteți pe pagina 1din 18

Academia Forelor Terestre

CURS Gestiunea informatizat a bazelor de date

octombrie 2007

LABORATOR II
1. Crearea interogrilor de selecie
Pentru lucrul cu interogri avem urmtoarele dou posibiliti :
1) Prin intermediul modului de lucru Design View. n seciunea Objects
se va alege opiunea Queries i apoi Create query in Design view. Pe
ecran va apare fereastra Show Table n care utilizatorul va alege tabelele
cu care va lucra. Pentru a aduga un tabel se selecteaz tabelul dorit din
list dup care se execut clic pe butonul Add. Fereastra Show Table se
nchide prin activarea butonului Close.
Se execut apoi urmtorii pai:
- se aleg cmpurile necesare interogrii;
- se specific condiiile de selecie;
- se precizeaz criteriile de filtrare impuse de cerina interogrii;
- se stabilete modul de grupare;
- se stabilete modul de ordonare.

Lector univ. dr. ing. Luminia Giurgiu

-1-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

2) Cu ajutorul wizard-ului de interogri. Access genereaz codul SQL


pentru fiecare interogare, fie c este realizat cu Design View sau cu
wizard-ul. Codul SQL poate fi vzut prin selectarea opiunii SQL View
din meniul View. Se poate vizualiza astfel clauza select from where
corespunztoare interogrii.
De asemenea este posibil scrierea unei interogri ntr-o astfel de
fereastr, acest lucru presupunnd cunoaterea temeinic a sintaxei SQL.
O fraz SQL se termin cu punct i virgul.
2. Criterii de selecie
Criteriile de selecie se introduc n celula aflat la intersecia coloanei
cmpului (asupra valorilor cruia se va impune criteriul) cu linia
Criteria din grila de interogare.
Aceste criterii pot fi simple sau compuse (cu ajutorul operatorilor
AND/OR) i pot de asemenea utiliza o serie de cuvinte rezervate i
expresii definite de utilizatori.
Principalele criterii simple sunt :
- apartenena la un interval de valori :
BETWEEN valoare_inferioar AND valoare_superioar;
- apartenena la o list de valori :
IN (valoare 1, valoare2, ., valoare_n);
- utilizarea operatorilor de comparaii : <, >, <=, >=, <>, = ;
- utilizarea operatorilor de negaie :
NOT valoare;
- selecia nregistrrilor care conin sau nu valori :
NOT NULL, IS NOT NULL sau NULL, IS NULL.
Se pot specifica ns i criterii de selecie dup un anumit text care, dac
va conine spaii, trebuie pus n ghilimele. n interiorul textului se pot
folosi caractere generice "?" (orice n poziia ncare apare) i "*" (orice
n poziia n care apare i n urmtoarele).
Lector univ. dr. ing. Luminia Giurgiu

-2-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

2. Exemple i exerciii
2.1 Avnd la dispoziie baza de date Clieni cu tabelele Infoclieni i
Pli se cere obinerea situaiei plilor tuturor clienilor dintr-un anumit
ora, de exemplu oraul Sibiu. Se va proceda astfel:
- se deschide n model Design o nou interogare i se adaug n partea
superioara a ferestrei interogrii cele dou tabele ale bazei Infoclieni i Pli:

- din lista cmpurilor celor dou tabele se vor alege cmpurile care
vor fi figura n grila de interogare:

Lector univ. dr. ing. Luminia Giurgiu

-3-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

- n urma rulrii interogrii se va obine un set de rezultate cu numele.


prenumele tuturor clienilor din Sibiu mpreun cu situaia plilor:data
plii, suma pltit, data scadent.
2.2 Lucru independent
I. Avnd la dispoziie baza de date Curs cu tabelele Cursani, Profesori,
Studii i Teme se cere proiectarea unor interogri de selecie pentru
obinerea urmtoarelor situaii:
a. situaia cu toi cursanii absolveni ai A.F.T. din anul 2001 care au
fost ndrumai de profesorul Giurgiu
Indicaie 1 (fereastra Relationships):

Indicaie 2 Atunci cnd sunt prezente mai multe criterii pe aceeai


coloan n linii diferite, ntre ele se aplic SAU logic. Dac se introduce
un crieriu n acelai rnd cu unul introdus anterior vor fi selectate pentru
afiare numai acele nregistrri care respect ambele criterii (ntre ele se
aplic I logic).

Lector univ. dr. ing. Luminia Giurgiu

-4-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

Indicaie 3 (grila de proiectare):

b. situaia cu toate titlurile temelor ndrumate-corectate de ctre


profesorul Giurgiu mpreun cu numele cursanilor care le-au
realizat.
c. situaia cu studiile, temele i profesorii ndrumtori ai unui anumit
cursant.
2.3 Exemple de criterii
Urmtorul tabel afieaz unele exemple de criterii i explic efectul pe
care l au asupra unei nregistrri.
Criteriu
Efect
Returneaz toate numerele mai mari ca 234. Pentru
> 234
a gsi toate numerele mai mici de 234, utilizai
<
234.
Returneaz toate nregistrrile de la Callahan pn
>= "Callahan"
la sfritul alfabetului.
Returneaz datele de la 2-Feb-07 pn la 1-Dec-07
(ANSI-89). Dac baza de date utilizeaz
Between #2/2/2007#
metacaractere ANSI-92, utilizai apostrofuri (') n
And #12/1/2007#
loc de caracterele diez. Exemplu: Between
'2/2/2007' And '12/1/2007'.
Not "Germania"
Gsete toate nregistrrile unde coninutul exact al
Lector univ. dr. ing. Luminia Giurgiu

-5-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

cmpului nu sunt exact egale cu "Germania".


Criteriul va returna doar nregistrrile ce conin
caractere n plus fa de "Germania," cum ar fi
"Germania (euro)" sau "Europa (Germania)".
Gsete toate nregistrrile cu excepia celor care
ncep cu T. Dac baza de date utilizeaz setul de
Not "T*"
metacaractere ANSI-92, utilizai caracterul procent
(%) n locul caracterului asterisc (*).
Gsete toate nregistrrile care nu se termin n t.
Dac baza de date utilizeaz setul de metacaractere
Not "*t"
ANSI-92, utilizai caracterul procent n locul
caracterului asterisc.
ntr-o list, gsete toate nregistrrile care conin
In(Canada,UK)
Canada sau UK.
ntr-un cmp text, gsete toate nregistrrile care
ncep cu literele de la A la D. Dac baza de date
Like "[A-D]*"
utilizeaz setul de metacaractere ANSI-92, utilizai
caracterul procent n locul caracterului asterisc.
Gsete toate nregistrrile care includ secvena de
litere "ar". Dac baza de date utilizeaz setul de
Like "*ar*"
metacaractere ANSI-92, utilizai caracterul procent
n locul caracterului asterisc.
Gsete toate nregistrrile care ncep cu "Maison"
i conin de asemenea un al doilea ir de 5 litere din
care primele 4 sunt "Dewe" i ultimul caracter este
Like
"Maison
necunoscut (indicat printr-un semn de ntrebare).
Dewe?"
Dac baza de date utilizeaz setul de metacaractere
ANSI-92, utilizai caracterul underscore (_) n locul
semnului de ntrebare.
Gsete toate nregistrrile pentru 2 Februarie,
2007. Dac baza de date utilizeaz setul de
#02.02.07#
metacaractere ANSI-92, ncadrai data cu caractere
apostrof n loc de caractere diez (#). Exemplu:
'2/2/2007'.
< Date() - 30
Returneaz toate datele mai vechi de 30 de zile.
Date()
Returneaz toate nregistrrile ce conin data de azi.
Between Date() And Returneaz toate nregistrrile dintre data de azi i
Lector univ. dr. ing. Luminia Giurgiu

-6-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

DateAdd("M",
Date())
Is Null
Is Not Null

""

3,

octombrie 2007

data de peste trei luni ncepnd de azi.


Returneaz toate nregistrrile ce conin o valoare
null (necompletat sau nedefinit).
Returneaz toate nregistrrile ce conin o valoare.
Returneaz toate nregistrrile ce conin un ir de
lungime zero. Se utilizeaz irurile cu lungime zero
cnd este necesar adugarea unei valori la un cmp
necesar, dar nu se cunoate nc acea valoare. De
exemplu, un cmp poate conine un numr de fax,
dar este posibil ca unii clieni s nu dein aparate
fax. n acest caz, se introduce o pereche de
ghilimele fr spaiu ntre ele n locul unui numr.

3. Crearea interogrilor parametrice (dinamice)


Criteriul de selectare a nregistrrilor este determinat n momentul
executrii interogrii, Access deschiznd o caset de dialog n care
trebuie furnizat valoarea parametrului.
Se va descrie n continuare modul de crearea a unei interogri
parametrice folosind baza de date Clieni cu tabelele Infoclieni i Pli.
- Se va cere spre exemplificare obinerea situaiei plilor tuturor
clienilor dintr-un anumit ora, de aceast dat valoarea cmpului
ora fiind chiar parametrul.
- La fiecare execuie a interogrii se va deschide caseta de dialog
care va cere furnizarea numelui oraului, astfel c de fiecare dat
se va putea tasta un alt ora, iar setul de rezultate (nregistrri
obinute n urma rulrii interogrii) va fi de fiecare dat altul, din
acest motiv interogarea numindu-se dinamic.

Lector univ. dr. ing. Luminia Giurgiu

-7-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

- Se va deschide o nou interogare n modul Design i se va


proiecta conform modelului dat mai jos:

- La rularea interogrii se va obine


csua de dialog unde se tasteaz
numele oraului:
- De remarcat modul n care este
specificat parametrul n grila de proiectare a interogrii: n cmpul
localitatea al tabelului infoclieni, rubrica Criteria conine criteriul
de selecie care este n acest caz parametrul dat ntre paranteze
drepte; n interiorul parantezelor drepte se va da textul care apare
ca mesaj n casua de dialog, pentru ca utilizatorul s tie ce anume
trebuie s tasteze n acea csu.
3.1 Lucru independent
Lector univ. dr. ing. Luminia Giurgiu

-8-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

- Folosind baza de date Clieni cu tabelele Infoclieni i Pli , creai


o interogare parametric pentru a obine situaia plilor unui anumit
client, al crui nume s constituie valoarea parametrului i s poat fi
dat aproximativ (se va folosi clauza Like);
- Folosind baza de date Curs cu tabelele Cursani, Profesori, Studii i
Teme se cere proiectarea unei interogri parametrice pentru obinerea
situaiei tuturor cursanilor - cu studii, teme i profesorii ndrumtori provenii de la o anumit instituie care s constituie valoarea
parametrului.
4. Crearea interogrilor de tergere
4.1 tergerea nregistrrilor dintr-un tabel din partea one a relaiei one-to-many
Folosind baza de date Clieni cu tabelele Infoclieni i Pli se va
exemplifica modul de crearea a unei interogri de tergere care va terge
din tabelul Clieni (aflat n partea one a relaiei) toi clienii din oraul
Sibiu.
Fiind n modul Design (proiectare) al interogrii, se va stabili tipul
acesteia prin alegerea opiunii Delete Query (fie din Query Type
de pe bara de instrumente, fie din meniul Query);
Se va trage (drag) asterisk-ul (*) din lista cmpurilor tabelului
Clieni n grila de proiectare a interogrii;
n celula Delete va aprea clauza From;
Pentru a specifica criteriul dup care se vor terge nregistrrile, se
trage n gril cmpul localitatea asupra valorilor cruia se vor
impune criteriul;
n celula Delete va aprea clauza Where;
n celula Criteria a cmpului localitatea se va specifica criteriul
Sibiu;
Pentru previzualizarea nregistrrilor care vor fi terse se va
aciona View de pe bara de instrumente;
Se va aciona Run de pe bara de instrumente pentru tergerea propriu
zis.
Observaie: se va verifica faptul c toate nregistrrile din tabelul copil
Pli corespunztoare nregistrrilor din tabelul printe Infoclieni vor fi
terse automat n urma tergerii nregistrrilor din tabelul printe.

Lector univ. dr. ing. Luminia Giurgiu

-9-

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

4.2 tergrea nregistrrilor folosind o interogare care include ambele tabele


dintr-o relaie one-to-many

Se va crea o nou interogare care va conine tabelele Infoclieni i


Pli aflate n relaie one-to-many;
Se va stabili din nou tipul interogrii ca fiind Delete Query;
Din tabelul cu nregistrri relaionate din partea many a relaiei
adic tabelul Pli se va trage asterisk-ul (*) din lista cmpurilor n
grila de proiectare a interogrii (acest lucru nsemnnd de fapt toate
cmpurile);
n celula Delete va aprea clauza From;
Pentru a specifica criteriul dup care se vor terge nregistrrile, se va
trage n gril cmpul nume din tabelul printe, asupra valorilor cruia se
va impune criteriul toi clienii al cror nume ncepe cu A;
n celula Delete va aprea clauza Where;
n celula Criteria a cmpului nume se va specifica criteriul Like A*
(vezi figura de mai jos);
Pentru previzualizarea nregistrrilor care vor fi terse se va

Lector univ. dr. ing. Luminia Giurgiu

- 10 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

aciona View de pe bara de instrumente;

- Se va aciona Run de pe bara de instrumente pentru tergerea


nergistrrilor din tabelul din partea many a relaiei;

- Se va selecta lista cu cmpuri pentru tabelul existent n partea


many a relaiei i se va
aciona Delete pentru a-l
nltura din interogare
(ca n figura alturat);
- Doar cu tabelul primar
rmas n interogare i cu
cmpul asupra cruia se
impun crietrii se va
aciona Run din nou
pentru
tergerea
nregistrrilor din tabelul
aflat n partea one a
Lector univ. dr. ing. Luminia Giurgiu

- 11 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

relaiei.
5. Crearea interogrilor generatoare de tabele (make-table)
Se va exemplifica crearea unei interogri generatoare de tabel care va crea
un nou tabel cu toi clienii care au avut ca suma de plat o anumit valoare
introdus ca parametru.
1. Se deschide interogarea n Design View
2. Se alege Make-Table Query din meniu sau cu Query Type de pe bara cu
instrumente.
3. n caseta Table Name se introduce numele pentru tabela creat de
interogare.

Tabela poate fi adugat bazei de date curente sau ntr-o alt baz de date .
4. Dup salvarea interogrii, numele acesteia din fereastra Database va fi
precedat de un semn de exclamare.
5. Se poziioneaz cursorul n coloana cmpului suma_platita care se
consider parametru, n primul rnd de criterii i se scrie mesajul care
solicit criteriul ncadrat de paranteze ptrate.

Lector univ. dr. ing. Luminia Giurgiu

- 12 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

6. n urma rulrii apare csua de dialog care solicit introducerea


parametrului.

7. n urma completrii valorii solicitate va aprea mesajul:

8. Fereastra bazei de date va conine la obiectul Table nc un tabel nou


creat (cu dou nregistrri), al crui nume tabel_cu_clienti/suma, s-a
stabilit la crearea interogrii:
Lector univ. dr. ing. Luminia Giurgiu

- 13 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

9. Fereastra bazei de date va conine la obiectul Query, i interogarea


generatoare de tabel numit creare_tabel:

Lector univ. dr. ing. Luminia Giurgiu

- 14 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

5. Crearea interogrilor de adugare nregistrri (append)


Se va exemplifica modul de creare a unei interogri de adugare
nregistrri, care va aduga nregistrri n tabelul tabel_cu_clienti/suma din
baza de date Clienti.
- Se selecteaz interogarea de aciune n modul Design View, se
stabilete tipul interogrii Append Query i se specific tabelul n
care se vor introduce nregistrri;

- Se completeaz corespunztor grila de proiectare a interogrii:

- Se ruleaz interogarea:

Lector univ. dr. ing. Luminia Giurgiu

- 15 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

- Fereastra bazei de date va arta astfel pentru obiectul Queries:

6. Crearea inerogrilor de actualizare


Se va exemplifica crearea unei interogri de actualizare care s actualizeze
cmpul cod_oras din tabelul Infoclieni i cmpul data_scadent al
tabelului Pli al bazei de date Clieni astfel: toate nregistrrile care au
valoarea Sibiu n cmpul localitate vor fi actualizate prin modificarea
valorii din cmpul cod_oras ntr-o nou valoare specificat n celula
(rndul) Update To, iar toate nregistrrile relaionate corespunztoare din
tabelul Plati vor fi actualizate prin modificarea valorii din cmpul
data_scadenta ntr-o nou valoare specificat n celula Update To.
- Se selecteaz tabelul Infoclienti n modul Design al noii interogri
- Se convertete interogarea n interogare de actualizare
- Se selecteaz cmpul destinat pentru actualizare, respectiv
cod_oras i cmpul localitate unde se va specifica criteriul, n grila
de proiectare a interogrii.
- n rndul Update To al cmpului cod_oras se va completa expresia
sau valoarea dorit pentru a schimba-actualiza cmpul respectiv.
- n rndul Update To al cmpului data_scadenta se va completa
expresia sau valoarea dorit pentru a schimba-actualiza cmpul
respectiv.
- n rndul Criteria al cmpului localitate se va completa criteriul
Lector univ. dr. ing. Luminia Giurgiu

- 16 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

octombrie 2007

dup care se va face actualizarea.

n fereastra bazei de date vor exista acum urmtoarele interogri:

Lector univ. dr. ing. Luminia Giurgiu

- 17 -

Academia Forelor Terestre


CURS Gestiunea informatizat a bazelor de date

Lector univ. dr. ing. Luminia Giurgiu

- 18 -

octombrie 2007

S-ar putea să vă placă și