Documente Academic
Documente Profesional
Documente Cultură
ID_ANG
NUME_ANGAJAT
DPT_ANG
SAL_ORA
ORE
. Butonul
5. la pasul II se alege tipul interogrii Detail (shows every field of every record); cu
aceast opiune se afiaz fiecare cmp din fiecare linie a tabelei; clic pe butonul Next
ce afiaz caseta din Figura 7,
6. la pasul III se alege titlul interogrii; se poate trece la execuia cererii prin selectarea
opiunii Open the query to view information, sau se poate modifica proiectarea ei
prin selectarea opiunii Modify the query design. Pentru execuia interogrii clic pe
butonul Finish i se afiaz tabela rezultat din Figura 8.
ID_ANG
NUME_ANGAJAT
DPT_ANG
SAL_ORA
ORE
2. clic pe opiunea Create query in Design View care afiaz caseta Show Table din
Figura 11 i fereastra de proiectare a unei interogri din Figura 12. Cele dou ferestre
se pot afia i n alte feluri
cu clic pe butonul Design din bara de instrumente a casetei Database,
un clic pe butonul New al barei de instrumente a casetei Database sau cu clic pe
meniul Insert Query afiaz caseta de dialog New Query din Figura 13; un
clic pe opiunea Design View afiaz caseta Show Table din Figura 11 i fereastra
de proiectare din Figura 12,
butonul Show Table,
, i comanda Query Show Table afiaz caseta Show
Table din Figura 11, cu tabelele bazei de date utilizate n interogare.
10
3. seciunea Tables a casetei Show Tables din Figura 11 afiaz toate tabelele din baza
de date; se selecteaz tabela dorit, n cazul nostru tabela PROIECT_ANGAJAT; clic
pe butonul Add i apoi pe butonul Close; n acest moment tabela se afiaz n partea
de sus a formularului Select Query ca n Figura 14, sub forma unei casete tip list cu
coloanele tabelei. Primul element din list este *; el corespunde selectrii tuturor
coloanelor tabelei. In partea de jos se introduc clauzele corespunztoare instruciunii
SELECT: coloanele ce vor fi selectate n linia Field, numele tabelei din clauza FROM
n linia Table, condiiile de selectare din clauza WHERE n liniile Criteria i or i
ordonarea liniilor selectate din clauza ORDER BY n linia Sort.
11
12
Pentru a salva formularul creat se utilizeaz opiunile Save i Save As ale meniului File
sau clic pe butonul de nchidere a ferestrei formularului.
Pentru a terge o coloan din interogare se selecteaz coloana i clic pe meniul Edit
Delete sau se apas tasta Delete.
Butonul Run,
, al barei de instrumente sau comanda Query Run produc execuia
cererii.
Pentru exemplul de mai sus tabela rezultat este cea din Figura 18.
13
In partea de jos a tabelei rezultat exist un cursor pentru navigare printre liniile selectate.
Instruciunea SELECT generat de Access din formularul proiectat se poate afia cu clic
pe opiunea SQL View a unuia din meniurile contextuale ale formularului sau a meniului
View din Tabelul 1 i Tabelul 3 sau cu clic pe opiunea SQL View din lista View, vezi
Figura 20.
14
a)meniul View
Bara de meniuri i barele de instrumente n vederea Design sunt artate n Figura 21.
Meniul Query are opiuni pentru crearea formularului de proiectare dorit. Butonul Query
Type,
, al barei de meniu n vederea Design, afiaz lista Query Type cu aceste
opiuni, vezi Figura 22.
15
a) meniul Query
Figura 22. Meniul Query i lista Query Type cu opiunile de creare a unui formular de interogare.
Instruciunea SQL
SELECT
SELECT
CREATE TABLE
UPDATE
INSERT
DELETE
16
a) meniul View
al barei de instrumente.
17
. Rezultatul este
Figura 24. Tabela rezultat a cererii din Figura 17 cu cmpul ID_ANG sortat n ordine descrectoare.
18
Instruciunea SELECT generat de Access din formularul creat mai sus este cea din
Figura 26
Clauza WHERE a instruciunii SELECT conine o condiie care este o expresie boolean.
19
20
Uneori este dificil de a scrie condiia, deoarece spaiul din celul este prea mic. Se poate
afia o fereastr n care s se introduc expresia cu clic pe celul, apoi se apas tastele
Shift + F2 i se afiaz fereastra din Figura 29.
21
O alt posibilitate de a lansa aplicaia Expression Builder este cu clic pe butonul Build,
, al barei de instrumente, vezi Figura 21.
In partea din stnga jos a casetei Expression Builder sunt afiate pe lng funcii,
constante, operatori i tabelele, formularele i alte obiecte din baza de date, ale cror
elemente se pot utiliza n expresii.
Opiunea Table Names din meniul din Figura 30 afiaz sau ascunde linia Table din
formular ce afiaz numele tabelelor.
22
ID_ANG
NUME_ANGAJAT
DPT_ANG
SAL_ORA
ORE
23
24
Ca un alt exemplu, vom selecta toi angajaii din tabela PROIECT_ANGAJAT al cror
nume conine un anumit ir de caractere. Procedura este urmtoarea:
1. crem un formular de interogare cu aplicaia Create Query by using Wizard, n care
selectm cmpul NUME_ANGAJAT,
2. deschidem fromularul creat n vederea Query Design i introducem condiia ca n
Figura 35.
Condiia pentru testarea unui ir de caractere are forma
LIKE expresie regulat
Dup cum s-a artat ntr-o lucrare anterioar, n cazul nostru expresia regulat are forma
*sir*. Acest ablon se construiete ca * & sir & *, unde sir este irul de caractere
ce va fi introdus ntr-o caset de dialog. Pentru acesta condiia va fi scris
LIKE * & [Litere in nume] & *
vezi Figura 35. Reamintim c operatorul & concateneaz iruri de caractere.
25
VENITURI
CHELTUIELI PROFIT_BRUT
IMPOZIT
PROFIT_NET
26
AN
VENITURI
CHELTUIELI PROFIT_BRUT
IMPOZIT
PROFIT_NET
Vom crea o tabel ce reunete liniile celor dou tabele n felul urmtor:
1. se afiaz fereastra Database; n partea stng, se selecteaz opiunea Queries; n
partea dreapt se afiaz opiunile existente, Create query by using wizard i Create
query in Design view i interogrile (Queries) existente,
2. clic pe opiunea Create query in Design View care afiaz caseta Show Table; clic pe
butonul Close,
3. clic pe meniul Query SQL Specific, i n submeniul afiat, clic pe opiunea
Union, vezi Figura 38,
4. se afiaz caseta de text din Figura 39, n care se introduce instruciunea UNION din
Figura 39,
27
Funcia
AVG
MIN
MAX
SUM
VAR
STD
Semnificaia
Valoarea medie
Valoarea minim
Valoarea maxim
Suma valorilor din coloan
Dispersia
Abaterea medie ptratic
Cea mai simpl interogare a unei baze de date cu utilizarea acestor funcii este aplicarea
lor asupra unor coloane dintr-o tabel. Acest interogare corespunde instruciunii
SELECT urmtoare
SELECT funcie(nume_coloana_1), funcie(nume_coloana_2), ,
funcie(nume_coloana_k)
FROM nume_tabela;
In acest caz nu s-a precizat numele coloanelor din tabela rezultat a interogrii, i aplicaia
atribuie acestor coloane nite nume standard. Instruciunea SELECT are i o form n
care putem atribui coloanelor tabelei rezultat ce nume dorim. Aceast form este
SELECT funcie(nume_coloana_1) AS nume_1, funcie(nume_coloana_2) AS nume_2,
, funcie(nume_coloana_k) AS nume_k
FROM nume_tabela;
Vom exemplifica utilizarea acestor funcii la tabela VANZARI, proiectat n Figura 40.
Tabela cu date este cea din Figura 41.
28
29
5. selectm apoi tabela VANZARI n fereastra din stnga cu clic pe opiunea Tables
VANZARI; n acest moment n fereastra din mijloc apar cmpurile tabelei; clic pe
cmpul VANZARI_2001 i se genereaz expresia din fereastra superioar din Figura
45; numele coloanei este introdus ca [nume_tabela].[nume_coloana], adic
[VANZARI]![VANZARI_2001],
30
6. se repet paii de mai sus i pentru celelalte coloane; linia Field este cea din Figura
46,
Expresia din prima celul a liniei Field este cea din Figura 47. Numele coloanei atribuit
de aplicaia Expression Builder este Expr1.
31
Dup cum se observ, coloanele tabelei rezultat au numele Expr1, , Expr4, atribuite de
aplicaia Expression Builder. Acest caz corespunde primei forme a instruciunii SELECT
prezentate n acest paragraf
SELECT funcie(nume_coloana_1), funcie(nume_coloana_2), ,
funcie(nume_coloana_k)
FROM nume_tabela;
Modificm Expr1 n celula liniei Field n AN 2001, ca n Figura 49 i la fel numele
celorlalte coloane pentru a fi mai semnificative. Tabela rezultat este cea din Figura 50.
33
Materiale
x
x
x
x
Piese
x
x
x
x
Utilaje
x
x
x
x
34
Figura 55. Pasul I. Se aleg tabelele i interogrile din care se vor selecta cmpurile interogrii.
4. la pasul II al se afiaz cmpurile disponibile i se aleg maxim trei ale cror valori vor
constitui antetele liniilor. In cazul nostru alegem cmpul TRIMESTRU, vezi Figura
56; clic pe butonul Next,
35
Figura 56. Pasul II. Se aleg cmpurile ale cror valori vor constitui antetele liniilor.
5. la pasul III se afiaz cmpurile disponibile i se aleg cele ale cror valori vor
constitui antetele coloanelor. In cazul nostru alegem cmpul CATEGORIE, vezi
Figura 57; clic pe butonul Next,
36
Figura 57. Pasul III. Se aleg cmpurile ale cror valori vor constitui antetele coloanelor.
6. la pasul IV se afiaz cmpurile disponibile i se aleg cele ale cror valori vor fi
afiate la intersecia liniilor i coloanelor. Asupra valorilor acestor cmpuri se va
aplica o funcie de sumarizare din cele afiate n lista Function. In cazul nostru se
alege cmpul VALOARE i funcia de sumarizare Sum, vezi Figura 58. Este posibil
de a sumariza n plus rezultatele fiecrei linii ntr-un cmp separat. Pentru aceasta se
va marca butonul Yes, include row sums; clic pe butonul Next,
37
Figura 58. Pasul IV. Se aleg cmpurile ale cror valori vor fi afiate la intersecia liniilor i coloanelor.
7. la pasul V se alege numele interogrii create, vezi Figura 59. Clic pe butonul Finish i
se afiaz tabela rezultat din Figura 60.
Menionm c tabela rezultat conine i un cmp Total Of VALOARE ce sumarizeaz
valorile liniilor. Acest cmp apare deoarece la pasul IV am marcat butonul Yes, include
row sums.
38
39
Vom crea acum o interogare tip Crosstab a aceleiai tabele CHELTUIELI n care
categoriile de cheltuieli vor fi afiate pe linii, trimestrele pe coloane i suma cheltuielilor
pe tipuri de cheltuieli i pe trimestre n celulele tabelei, ca mai jos.
CATEGORIE
Materiale
Piese
Utililaje
I
x
x
x
II
x
x
x
III
x
x
x
IV
x
x
x
40
In fiecare celul a liniei Field se poate afia caseta cu cmpurile tabelei, din care se alege
cmpul dorit, ce va fi afiat pe linii, pe coloane sau sumarizat n celulele tabelei.
In fiecare celul a liniei Crosstab se poate afia caseta Crosstab din Figura 63b, n care se
alege tipul cmpurilor. Cmpurile ale cror valori vor fi antetele liniilor vor avea tipul
Row Heading, cele ale cror valori vor fi antetele coloanelor vor avea tipul Column
Heading. Cmpurile ce vor fi sumarizate vor avea tipul Value.
In fiecare celul a liniei Total se poate afia caseta Total din Figura 63a, n care se alege
funcia cmpului, de grupare a datelor, de sumarizare, etc. Pentru cmpurile de tip Row
Heading i Column Heading se va alege Group By. Pentru cmpurile sumarizate se va
alege funcia de agregare dorit, Sum Avg, etc.
a) caseta Total
b) caseta Crosstab
42
43
ID_ANG
1290
1293
1045
1192
1351
1348
1284
1067
1095
NUME_ANG
Popescu
Ionescu
Georgescu
Vasilescu
Filipescu
Popa
Nicolae
Marinescu
Gheorghe
DPT_ANG
Informatica
Support
Documentare
Informatica
Support
Informatica
Support
Documentare
Informatica
SAL_ORA
60
40
25
60
40
60
40
25
60
ORE
10
8
12
20
15
20
14
12
15
44
NUME
Popescu
Ionescu
Vasilescu
Georgescu
Nicolae
Gheorghe
Vasile
Popa
PRENUME
Ioan
Vasile
George
Nicolae
Dan
Dan
Nicolae
George
FACULTATE
Matematica
Electrotehnica
Calculatoare
Istorie
Calculatoare
Mecanica
Fizica
Chimie
SALARIU
1100
1700
1490
820
1600
1420
1360
1650
VENITURI
420
470
550
620
705
690
CHELTUIELI
370
410
500
548
590
620
45
Fie tabela DATE_CONTABILE de mai jos cu datele contabile ale aceeai intreprinderi
pe urmtorii trei ani.
DATE_CONTABILE
AN
2007
2008
2009
VENITURI
712
722
695
CHELTUIELI
670
690
690
S se creeze o interogare care s calculeze reuniunea celor dou tabele. Se vor proiecta
cele dou tabele i se vor defini condiiile de validare VENITURI > 0, CHELTUIELI > 0.
4. Fie tabela FACTURA_TELEFONICA de mai jos.
NUME
PRENUME
NUMAR_TELEFON
VALOARE
LUNA
46