Interogarile permit accesul sau actiunea asupra datelor din mai multe tabele, sau dintr-un tabel si o alta interogare. O interogare (Query) este o definitie a datelor care se extrag: ce campuri, din care tabele, criterii de selectie, in 333i83d ce ordine de sortare.
In general, bazele de date care contin mai multe tabele contin deja interogari, deoarece orice raport sau formular bazat pe mai multe tabele este bazat, in realitate, pe o interogare. Instrumentele Wizard pentru rapoarte si cele pentru formulare creaza interogari ori de cate ori includeti campuri din mai multe tabele.
Crearea de interogari in Microsoft Access ofera urmatoarele posibilitati si avantaje:
selectia campurilor din tabele si a inregistrarilor acestora pe baza unor criterii stabilite de utilizator;
sortarea inregistrarilor intr-o ordine precizata de utilizator;
utilizarea intr-o cerere a mai multor tabele;
crearea de campuri calculate;
crearea de formulare, rapoarte sau alte interogari. O interogare, o data construita, poate fi folosita ca sursa de inregistrari pentru crearea unui formular sau a unui raport;
posibilitatea generarii de reprezentari grafice pe baza unor cereri de tip analiza incrucisata.
Access permite crearea urmatoarelor tipuri de inregistrari:
interogari de selectie
interogari parametrizate
interogari de tip total
interogari de actiune
interogari incrucisate.
Crearea de cereri de interogare se poate face in mai multe moduri:
proiectarea pas cu pas a cererii in modul Design View;
utilizand instrumentul Wizard;
exprimarea cererii in limbajul SQL;
crearea unui filtru si salvarea acestuia ca cerere de interogare.
In fereastra Database, activati pagina Query si alegeti optiunea New. Se va deschide caseta de dialog New Query, in care executati clic pe optiunea Design View.
In caseta de dialog Show Table selectati tabelul sau interogarea care contine campurile pe care vreti sa le includeti in interogare, dupa care inchideti caseta de dialog.
Fereastra interogarii este impartita in doua panouri. Panoul inferior utilizeaza cate o coloana pentru fiecare camp care este inclus in interogare, pentru a indica numele campului, daca interogarea este sortata pe baza campului respectiv, daca este afisat campul in rezultatul interogarii si criteriile care au fost aplicate campului pentru a limita rezultatul interogarii.
Panoul superior afiseaza tabelele incluse in interogare si relatiile dintre tabele. In cazul in care creati o interogare pe baza unor tabele corelate, relatiile vor aparea pe masura ce plasati tabelele in panoul superior.
In cazul in care nu ati definit relatiile intre tabele, pentru a le adauga deplasati campul corespunzator partii ‘unu’ a relatiei si plasati-l peste campul ‘mai multi’, in panoul superior al ferestrei de interogare. Aceste relatii vor fi create pentru interogare, dar nu vor fi automat plasate in fereastra Relationships.
O interogare de selectie preia date din unul sau mai multe tabele si afiseaza rezultatele.
Pentru a crea o interogare de selectie folosind instrumentul Simple Query Wizard, vom alege tabelele care contin campurile care ne intereseaza, din care vom extrage, prin operatia de interogare, informatiile dorite.
In cazul in care tabelele nu au fost legate printr-o relatie, aceasta se va stabili in panoul superior al ferestrei de interogare. Pentru stabilirea proprietatilor de legatura, executati dublu clic pe legatura sau clic pe butonul dreapta al mouse-ului pentru a selecta optiunea Join Properties.
Din caseta de dialog care se deschide se pot selecta trei optiuni. Prima optiune de unire reprezinta o unire interna care este prestabilita in interogari. Al doilea tip de unire este o unire externa la stanga, la selectia careia sunt afisate toate inregistrarile din tabelul principal, chiar daca nu le corespund inregistrari in tabelul corelat. A treia optiune reprezinta o unire externa dreapta, la selectia careia sunt afisate toate inregistrarile din tabelul corelat, chiar daca nu le corespund inregistrari in tabelul principal.
In panoul inferior, vom stabili campurile din tabele care fac obiectul realizarii listei dorite. Pentru campurile care doriti sa apara in noua lista, veti selecta optiunea Show, iar pentru cele care nu doriti sa apara, lasati optiunea Show deselectata.
Daca doriti ca informatiile din lista sa fie ordonate dupa un anumit criteriu, il puteti stabili in zona optiunii Sort.
O interogare cu parametrii afiseaza o caseta de dialog care va solicita valorile parametrilor. O interogare cu parametrii se poate realiza cu foarte mare usurinta dintr-o interogare de selectie existenta, in randul Criteria introduceti intre paranteze drepte textul care doriti sa apara in caseta de dialog pentru introducerea parametrului de cautare.
Interogarile de tip total se introduc atunci cand avem nevoie de informatii centralizate cu privire la anumite inregistrari. De exemplu, sa presupunem ca dorim sa avem o lista cu cititorii dintr-o biblioteca de carti si cu numarul de carti imprumutate de acestia si nerestituite. Pentru acest caz sa presupunem ca nu avem o restrictie la numarul de carti imprumutate.
Interogarile de actiune se folosesc pentru modificarea unui grup de inregistrari, in locul manipularilor individuale. Exista patru tipuri de interogari de actiune: interogari de adaugare, interogari de eliminare, interogari de actualizare si interogari generatoare de tabele. Toate interogarile de actiune sunt bazate pe interogari de selectie.
Interogarile de adaugare se folosesc pentru adaugarea de inregistrari dintr-un tabel existent la sfarsitul tabelului considerat destinatie.
In acest caz nu este obligatoriu sa adaugati toate campurile din baza de date de origine, insa inregistrarile adaugate trebuie sa contina toate campurile obligatorii in noua baza de date, inclusiv campul cheie primara.
Pentru crearea unei interogari de adaugare, se pleaca de la o interogare de selectie bazata pe tabelul care contine toate campurile pe care doriti sa le adaugati la noul tabel si se parcurg urmatorii pasi:
Deschideti interogarea de selectie in modul Design;
Executati clic pe sageata de derulare a butonului QueryType si selectati tipul de interogare de actiune Append Query.
La deschiderea casetei de dialog Append, scrieti numele tabelului in care vor fi adaugate inregistrarile interogarii.
Pentru fiecare camp al inregistrarii pe care doriti sa-l adaugati in tabelul destinatie, selectati campul corespunzator din tabelul destinatie. Aceasta operatie se numeste mapare.
Dupa maparea tuturor campurilor pe care doriti sa le adaugati, executati clic pe butonul Run din bara cu instrumente sau alegeti optiunea Run din meniul Query, pentru a adauga inregistrarile in noul tabel.
Interogarile de eliminare. Acest tip de interogari elimina dintr-un tabel toate inregistrarile care satisfac criteriile specificate. Interogarile de eliminare trebuie folosite cu mare precautie.
Interogarile de actualizare. Acest tip de interogari se folosesc pentru a inlocui anumite valori dintr-un tabel. Pentru a realiza acest tip de interogare, se porneste de la crearea unei interogari de selectie, in 333i83d care se cuprind campurile si criteriile dorite si se parcurg urmatorii pasi:
Executati clic pe sageata de derulare a butonului QueryType si selectati tipul de interogare de actiune Update query, care va introduce in grila de proiectare linia Update;
Introduceti in linia Update, in coloanele campurilor dorite expresiile de calcul sau valorile cu care se vor face modificarile;
Alegeti optiunea Run pentru a realiza interogarea dorita.
Interogari generatoare de tabele. Acest tip de interogari creaza noi tabele si sunt foarte frecvent folosite atunci cand se doreste crearea unui anumit tabel care sa prezinte continutul altui tabel la un moment bine precizat in timp. Pentru a realiza acest tip de interogare trebuie parcursi urmatorii pasi:
Realizati o interogare de selectie cu campurile si criteriile pe care le doriti;
Executati clic pe sageata de derulare a butonului QueryType si selectati tipul de interogare generatoare de tabele Make-Table Query, care va afisa caseta de dialog Make Table;
Introduceti in linia Table Name numele tabelului care va fi creat cu campurile selectate si dupa criteriile stabilite.
Alegeti optiunea Run pentru a realiza interogarea dorita.
Interogarile incrucisate sunt utile atunci cand doriti sa rezumati informatiile din doua sau mai multe tabele. Acest tip de interogare permite crearea unei tabele complexe sub forma matriciala, in care numele liniilor si coloanelor reprezinta criterii mixte de grupare, iar valorile din celule se pot obtine prin aplicarea unor functii predefinite.
Pentru a realiza acest tip de interogare trebuie parcursi urmatorii pasi:
Lansati o noua cerere de interogare si selectati tabelele necesare.
In grila de proiectare, pozitionati campurile dorite.
Selectati optiunea Crosstab Query din meniul Query. Vor aparea liniile suplimentare Total – cu optiunea Group by in celulele corespunzatoare – si Crosstab.
In linia Crosstab selectati modul in care va aparea informatia corespunzatoare coloanei (pe rand, pe coloana sau ca valoare calculata).
Vizualizati continutul interogarii prin apelarea optiunii Datasheet View.
In randul Total pot fi folosite cele noua functii predefinite, dintre care sapte sunt functii agregat, folosite pentru intreg setul de rezultate, in timp ce functiile First si Last sunt functii specializate. Tabelul corespunzator cererii de interogare incrucisata va arata astfel:
Functia |
Rezultatul pe care il obtinem in urma folosirii functiei |
Tipuri de campuri pe care lucreaza functia |
Avg |
Media valorilor din camp |
AutoNumber, Currency, Date/Time, Number |
Count |
Numarul valorilor din camp |
Toate tipurile |
First |
Continutul campului din prima inregistrare a setului de rezultate |
Toate tipurile |
Last |
Continutul campului din ultima inregistrare a setului de rezultate |
Toate tipurile |
Min |
Cea mai mica valoare din camp |
AutoNumber, Currency, Date/Time, Number, Text |
Max |
Cea mai mare valoare din camp |
AutoNumber, Currency, Date/Time, Number, Text |
StDev |
Deviatia standard a valorilor din camp |
AutoNumber, Currency, Date/Time, Number |
Sum |
Toate valorile din camp |
AutoNumber, Currency, Date/Time, Number |
Var |
Variatia valorilor din camp |
AutoNumber, Currency, Date/Time, Number |
Pentru a vedea ce se petrece in spatele unei interogari, se poate selecta optiunea SQL din meniul View. Limbajul SQL este folosit de aproape toate bazele de date moderne.
|