Sunteți pe pagina 1din 46

Baze de date şi programare

Interogări

1
Creare legături tabele
Pas1. Definire chei primare, se selectează modul Design
Pas2. Se selectează câmpul.
Pas1. Adăugare tabele la baza de date
Pas2. Definire legături de tip ONE TO MANY prin glisare mouse de la tabela tată spre
cea fiu. Acţiunea va genera apariţia pe ecran a ferestrei Edit Relationships
Ştergere legătură
Pas1. Selectare legătură prin click stânga. pe ea
Pas2. Click dreapta pe legătură şi select Delete
Elemente generale privind
interogările
Interogările
◦ Extrag informaţii (grad mai mic sau mai mare de
sinteză) din bazele de date, în funcţie de un anumit
criteriu (criteriu de interogare)
◦ o „traducere formalizată” a unor întrebări prin
intermediul unui limbaj de interogare (SQL sau
QBE), în vederea obţinerii de „răspunsuri” furnizate
de datele noastre.
Exemplu:
Întrebare: Care este numărul de vânzări realizat
de fiecare reprezentant de vânzări şi care a
fost clasamentul acestora pe anul 2009?

7
Definiţie
O interogare reprezintă un
ansamblu de specificaţii (tabele,
câmpuri ale acestora, criterii de
selecţie etc.) pe baza cărora sunt
extrase datele din baza de date.
Caracteristici generale ale interogărilor bazelor de date

Interogările au rolul de a extrage informaţii din tabele


unei baze de date sau din tabele libere pe baza unor
condiţii care se numesc criterii de interogare.
Modificările efectuate asupra datelor obţinute prin
interogări nu determină modificarea datelor din baza
de date, de unde au fost iniţial extrase.
Limbajul SQL- limbajul standard de interogare a
bazelor de date relaţionale.
Interogările- obiecte ale bazei de date care permit extragerea
doar a datelor necesare fie dintr-un singur tabel fie din mai
multe tabele şi afişarea acestora în formulare, rapoarte sau
pagini de acces la date.

Interogările nu stocheaza date, sunt doar o legătură către


date.

Set de înregistrări (recordset) - datele returnate de o


interogare.
- produs de o interogare nu se salvează.
Interogările -reţin criterile pe baza căreia s-au definit
interogările şi structura selectată dintr-o tabela şi/sau
tabele care a făcut obiectul interogării.
-se salvează ca obiecte ale bazei de date care pot fi
rulate de câte ori este nevoie de ele.
-pot fi modificate şi şterse.
Rolul unei interogări este:
-regăsirea şi ordonarea datelor după anumite criterii;
-efectuarea de calcule;
-actualizarea bazei de date (prin cereri de tip acţiune);
-pregătirea datelor în vederea afişării lor în formulare sau
rapoarte.
Crearea unui obiect de tip interogare se poate realiza în mod
grafic sau în mod SQL.
Tipuri de interogări
Interogări de selecţie- permit extragerea de date din una sau mai multe tabele sau
interogări.
- se utilizează pentru a număra, pentru a calcula totaluri, medii aritmetice
şi realizarea de calcule în general.
Crearea:
1. Se deschide baza de date;
2. Din fila Create , grupul Other se selectează Query Design, acţiune ce generează
apariţia pe ecran a ferestrelor ShowTable şi Query, însoţite de fila Query
DesignTools.
3. Din fila Query Design Tools se selectează din grupul QueryType comanda Select
pentru a crea o interogare de selecţie
Rulare: din fila Query DesignTools din grupul de comenzi Results se selectează
comanda RUN sau selectarea din meniul aferent opţiunii View a comenzii
DataSheet View.
Modificările -se realizează în modul de vizualizare Design care se selecteză din grupul
de comenzi View al filei Home.
 
Interogări de tip total
-sunt utile în momentul în care se grupează înregistrările dintr-o tabelă cu scopul de a afişa
calcule predefinite pentru acestea. Ex: să se vizualizeze suma cantităţilor comandate de un
partener.
Etapele de realizare a interogării de tip total sunt:
1.crearea unei interogări de selecţie respectând etapele de creare a acestei;
2.se selectează opţiunea Totals din grupul Show/Hide al filei Query Tools Design
3.se stabileşte câmpul pe baza căruia se realizează gruparea
4.se stabileşte câmpul pentru care se selectează o operaţie de calcul predefinită
5.se slavează interogarea;
6.se rulează interogarea.
Câmpuri calculate

-returnează, la executarea interogării valoarea expresiilor Access asociate lor.


Adăugarea unui câmp calculat într-o interogare:
1.se poziţionează mouse-ul într-o coloană nouă a zonei Field din cadrul ferestrei Query.
2.se selectează comanda Builder..., din grupul Query Setup al filei Query DesignTools, pe ecran
apare fereastra Expression Builder...
3.se selectează cu dublu click pe obiectul bazei de date pe baza căruia se va construi câmpul
calculat, acţiune ce va permite afişarea pe ecran a obiectelor componente ale acestuia. Cu dublu
click pe obiectele componente respectiv pe operatorii se construieşte expresia care se afişează în
textboxul din partea superioară a ferestrei.
4.cu butonul ok se părăseşte fereastra şi se afişează în zona în care s-a poziţionat cursorul la
pasul 1 expresia construită.
Interogări parametrizate
depind de o valoare de input. În zona Criteria, a ferestrei Query, se tastează între
paranteze drepte un text prin care utilizatorul este îndrumat ce valoare să introducă.
La rularea interogării, fie cu comanda Run fie selectând modul de vizualizare
Datasheet Design, valoarea introdusă în fereastra Enter Parameter Value, va fi căutată
în tabel şi se vor afişa din tabelă doar acele înregistrări care îndeplinesc condiţia.
Obligatoriu trebuie completata
o valoare
Parametrizarea după mai multe valori- se poate realiza fie pe acelaşi tabel fie pe tabele aflate în
relaţie de 1 la n.
- repetând paşii ce se efectuează pentru interogări parametrizate cu
deosebirea că se poate stabili ordinea de execuţie a parametrilor prin completarea ferestrei
QueryParameters (selectând comanda Parameters din grupul Show/Hide a filei
QueryToolsDesign ) cu textul introdus în zona Criteria în ordinea dorită

Afişerea doar a unui număr precizat de înregistrări care îndeplinesc condiţia precizată în ferestra
Enter Parameter Value se realizează fie completând cu o valoare numerică zona Return, din
grupul QuerySetup, fie selectând una din valorile precizate în meniul vertical rezultat la activarea
săgeţii ce o însoţeşte
Interogări încrucişate(CrossTab Queries)
este sinonimă cu noţiunea de Pivot Table din Excel.
În procesul de creare a unei interogări încrucişate se parcurg următorii paşi:
1.din fila Create din grupul QueryType se selectează opţiunea Crosstab;
3.tabelele pe baza cărora se va realiza interogarea încrucişată se selectează din
fereastra ShowTable care apare pe ecran ca rezultat a activării opţiunii cu acelaşi nume
existentă în grupul Query Setup;
4.se selectează coloana a cărei date se vor afişa ca nume de coloane, în linia Crosstab
se va opta pentru Column Heading
5.se selectează coloana a cărei date vor fi afişate în prima coloană în linia Crosstab se
va opta pentru Row Heading;
6.se selectează coloana a cărei valorile se vor afişa la intersecţia liniilor cu coloanele în
linia Total se selectează funcţia care se va aplica iar în linia Crosstab se va opta pentru
Value.
Observaţie:Este permisă existenţa mai multor câmpuri ordonate pe orizontală (Row
Heading) dar a unui singur Column Heading şi Value.
Pas1
Pas2
Pas3
Interogări de tip acţiune
Make Table Query se crează atunci când se doreşte să se memoreze rezultatul întors de
un anumit query într-o bază de date. Această operaţie se numeste Bulk Copy. Deci, o
interogare de tipul Make Table - interogare normală, la rularea căreia, liniile întoarse
sunt memorate într-un tabel fizic.

Etapele de creare a unei înregistrări de tip Make Table sunt :


1.se selectează din fila Create \Design Query
2. din grupul QueryType se selectează opţiunea Make Table;
2.tabelele pe baza cărora se va realiza interogarea încrucişată se selectează din fereastra
ShowTable care apare pe ecran ca rezultat a activării opţiunii cu acelaşi nume existentă
în grupul Query Setup;
3.se selectează câmpurile care vor alcătui interogarea;
4.se stabileşte dacă problema o cere, condiţia de filtrare a datelor în zona Criteria
5.se salvează interogarea şi se rulează interogarea
Observaţie: La fiecare execuţie a interogării de tipul Make Table, tabela creată iniţial
va fi ştearsă şi va fi populată din nou cu rezultatul întors de interogare
Pas 1
Pas2

Pas 3. În Table name se dă un nume MakeTable, Click pe RUN


Pas 4. Apare mesaj ca se creaza noul tabel
Pas 5.
Update Query

-automatizarea modificărilor din interiorul unei baze de


date
Paşii ce trebuie efectuaţi pentru realizarea unei Update
Query sunt:
1. fila Create \Query Design
2. grupul QueryType\ Update Query ;
2.tabelele pe baza cărora se va realiza interogarea
încrucişată se selectează din fereastra ShowTable care
apare pe ecran ca rezultat a activării opţiunii cu acelaşi
nume existentă în grupul Query Setup;
3.se selectează câmpurile care vor alcătui interogarea;
4.se stabileşte condiţia de filtrare a datelor în zona
Criteria
Update Query - continuare
5. se alege Update din grupul QueryType, rezultatul
este apariţia pe ecran a liniei Update To;
6. se poziţionează cursorul în linia Update To a
câmpului a cărui valoarea se doreşte a fi înlocuită fie cu
o valoare numerică fie cu o valoare unei expresii
aritmetice
7. se salvează interogarea şi se rulează interogarea
8. la rulare apare pe ecran o fereastră de dialog prin
intermediul căreia se precizează numărul de înregistrări
care se vor modifica. Dacă utilizatorul doreşte modificare
va activa butonul Yes al ferestrei acţiune ce va genera
modificări în tabela care se dorea modificată.
Vizualizarea modificărilor se face prin deschiderea
tabelei care s-a modificat.
Obs: În cazul în care nu se poate rula interogarea de tip modificare, şi mesajul afişat în
status bar este: „The action or event has been blocked by disabled mode” se efectuează
următorii paşi: 1. clic pe Options... din bara de mesaje;
2. se selectează din fereastra de dialog Microsoft Office Security Options opţiunea
Click Enable this content.
3. se rulează interogarea de tip Update
Dacă eroarea persistă atunci se fac setările:
1 Se selectează opţiunea Access Options din meniul lansat ca efect al activării
butonului Office
2. din fereastra Access Options apărută pe ecran se selectează din partea stângă a
acesteia Trust Center
3. În partea dreaptă a ferestrei sub opţiunea Microsoft Office Access Trust Center se
selectează Trust Center Settings
4. În partea stângă a ferestrei Trust Center se selectează Message Bar
5.În partea dreaptă se selectează Show the Message Bar in all applications when
content has been blocke;
6. Se părăseşte fereastra Access Options activând butonul OK.Pentru a se realiza aceste
setări se închide şi apoi se redeschide baza de date.
Interogare Delete

sunt comenzi de tip Delete care au ca scop ştergerea pe baza unei


condiţii logice a înregistrărilor care le îndeplinesc.
Etapele de creare a unei interogări de tip Delete sunt:
1.se selectează din fila Create opţiunea Query Design pe ecran va
apărea fila QueryToolsDesign, iar din grupul QueryType se selectează
opţiunea Delete;
2.în linia filelds se selectează câmpurile unei tabele a căror informaţii se
doresc şterse. În cazul în care se doresc ştergerea unor înregistrări din
tabela părinte se respectă restricţiile de integritate.
3.în linia Delete se introduce clauza Where;
4.în linia Criteria se introduce condiţia pe care trebuie să o îndeplinească
înregistrările care vor fi şterse;
5.se rulează interogarea iar pe ecran apar doar înregistrările care nu
îndeplinesc condiţia, acestea fiind şterse.
Se mai poate realiza ştergerea astfel:
1. Se crează o interogare de tip Select
2.în linia Criteria se defineşte regula pe baza cărora se şterg
inregistrările;
3.se rulează interogarea iar pe ecran apar doar înregistrările care
îndeplinesc condiţia de la 2.
4.se şterg manual inregistrările care apar în interogarea de tip
Select
Interogare Append
au rolul de a automatiza operaţiunea de adăugare a înregistrărilor într-o tabelă. Etapele care se
parcurg pentru realizarea unei interogări de adăugare sunt:
1.se crează o tabelă în care dorim să adăugăm date din una sau mai multe tabele ale bazei de
date.
2.se selectează din fila Create \Query Design
2. se selectează din fila QueryType comanda Append efectul fiind apariţia pe ecran a ferestrei
Append în care se va introduce numele tabelei, în care se va depune rezultatul interogării de
adăugare, şi baza de date
3.se părăseşte ferestra Append cu click pe butonul OK iar pe ecran în fereastra Query apare linia
Append To. În această linie se va selecta numele câmpurilor, în care se vor adăuga datele.4. se
salvează interogarea şi se rulează
Interogare de tip multitabel(Union)
Existenţă unor tabele cu aceeaşi structură impune crearea unor Select-uri cu ajutorul
cărora să se ajungă la o singură tabelă care să conţină informaţiile din toate tabele.
Paşii de creare a unei interogări multitabe sunt:
1.se selectează din fila Create din Query Design
2.din grupul QueryType se selectează opţiunea Union;
2.tabelele pe baza cărora se va realiza interogarea multitabel se selectează din
fereastra ShowTable care apare pe ecran ca rezultat a activării opţiunii cu acelaşi nume
existentă în grupul Query Setup;
3.se selectează din fila QueryType comanda Union, pentru a realiza această operaţie
Access nu asigură o interfaţă grafică fapt pentru care va trebui să creăm manual
comanada. Este important ca numar de coloane şi tipurile de coloane să fie identice în
tabele supuse acţiunii. Interogarea rezultată va afişa înregistrările ordonate crescător.

SELECT field_1[, field_2,…] FROM table_1[, table_2,…]


UNION [ALL] SELECT field_a[, field_b,...] FROM table_a[,
table_b,…];
Interogare de tip Data Definition

se realizează prin editarea uneia din comenzile SQL în funcţie de


acţiunea care se doreşte a se realiza. Dacă se doreşte să se realizeze.
Paşii de realizare a unei astfel de interogări sunt:
1.se selectează din fila Create /Query Design din grupul QueryType se
selectează opţiunea Data Definition ;
2.se introduce comanda dorită;
3.se salvează şi se rulează interogarea.
Observaţie:Comenzile care se introduc într-o astfel de interogare sunt:
Update cu rol de modificare, Create table numetabelă cu rol de creare a
unui tabel, ALTER TABLE numetabelă cu rol în modificare structurii
tabelei, Append cu rol de adăugare, Delete cu rol de ştergere
Interogări de selecţie realizate cu asistentul Wizard

Pas 1 Pas 2 Pas 3

Pas 4 Pas 5
Filtrarea datelor

vizualizarea unui sub-set al înregistrărilor tabelă, bazată pe un anumit criteriu


Un filtru se poate aplica în trei moduri:
1.Filtrare prin selecţie sau prin excluderea selecţiei;
2.Filtrare prin formular;
3.Filtrare/sortare avansată
3
1

2
Interogarea tabelelor în SQL
SELECT [ALL | DISTINCT] [TOP ExprN [PERCENT]] Lista_Itemi [, ...]
FROM [FORCE] Lista_Tabele [, ...] [[Tip_Uniune] JOIN Baza_de_Date!]Tabela
[[AS] Alias][ON Conditie_Uniune [AND | OR [Conditie_Uniune | Conditie_Filtrare] ...]
[WITH (BUFFERING = lExpr)] [WHERE Conditie_Uniune | Conditie_Filtrare
[AND | OR Conditie_Uniune | Conditie_Filtrare] ...] [GROUP BY Lista_Coloane [, ...]]
[HAVING Conditie_Filtrare [AND | OR ...]][UNION [ALL] ComandaSELECT]
[ORDER BY Element_Ordonare [ASC | DESC] [, ...]]
[INTO DestinatieMemorare | TO DestinatieAfisare] [PREFERENCE NumePreferinta]
[NOCONSOLE] [PLAIN] [NOWAIT]
Operator Descriere
= Operatorul de egalitate. Pentru şiruri de caractere comparaţia lexicografică se
face până la lungimea celui mai mic dintre şirurile implicate.

== Operator de egalitate exactă. Se foloseşte pentru compararea şirurilor de


caractere.
LIKE Permite utilizarea unor şabloane pentru conţinutul şirului căutat. Folosirea lui
necesită aşa-numitele caractere de înlocuire (wildcards): ”%” şi ”_”.

<>, !=, # Operatorul „diferit de”


> Mai mare
>= Mai mare sau egal
< Mai mic
<= Mai mic sau egal

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