3. Interogări de selecţie

31
Interogări de selecţie lect. univ. Tîrşu Valentina

Transcript of 3. Interogări de selecţie

Page 1: 3. Interogări de selecţie

Interogări de selecţie

lect. univ. Tîrşu Valentina

Page 2: 3. Interogări de selecţie

Obiective:

să identifice cele mai utile instrumente de proiectare a unei interogări;

să definească necesitatea utilizării interogărilor de tip Select la selectarea şi

modificarea informaţiei din tabele;

să proiecteze interogări adecvate pentru probleme formulate spre rezolvare;

să aplice corect expresiile logice de selectarea a informaţiei;

să utilizeze expresii logice complexe (în mai multe rânduri cu condiţii de selectare);

să efectueze anumite calcule asupra datelor extrase din tabelele cu informaţie

primară;

să proiecteze interogări de totalizare a informaţiei extrase conform unor criterii

complexe de selectare, prin îmbinarea diferitor funcţii de calcule pe grup.

Page 3: 3. Interogări de selecţie

Agenda

1. Tipuri de interogari

2. Proiectarea interogărilor de

selecţie în regim design

3. Selectarea datelor prin intermediul

interogărilor de selecţie

4. Clasificarea interogărilor de

selecţie

Page 4: 3. Interogări de selecţie

Interogarea bazei de date rezultă regăsirea şi

extragerea datelor stocate în aceasta, într-un mod util

scopului urmărit.

Rezultatul unei interogări reprezintă o foaie de

răspuns dinamic,care nu mai există fizic după închiderea

interogării.

O interogare poate fi creată în următoarele moduri:• Crearea pas cu pas în modul Design view (fereastră de proiectare)

• Utilizând instrumentul Wizard

• Exprimarea cererii în limbaj SQL

• Crearea unui filtru şi salvarea acestuia ca cerere de interogare.

1. Tipuri de interogari

Page 5: 3. Interogări de selecţie

Tipuri de interogari

Tipuri de interogări:

1a) o interogări de selecţie (select query) – afişează

datele din mai multe tabele şi nu permite actualizarea datelor.

1b) o interogare de selcţie reprezintă o descriere a

înregistrărilor care urmează a fi extrase dintr-o bază de date.

2) o interogare cu parametru (parameter query) –

permit solicitarea unei singure informaţie care este utilizată în

calitate de criteriu de selecţie în interogare.

3) o interogare încrucişat[ (crosstab query) – afişează

valori rezumative (sume, medii...) pentru un câmp al unui tabel

şi le grupează în funcţie de setul de câmpuri listate.

Page 6: 3. Interogări de selecţie

4) interogări de acţiune (Action query) – execută

operaţii cu înregistrările care respectă criteriile impuse şi are

efect asupra datelor din baza de date:

a)interogări de lichidare (Delete) – lichidează înregistrările care

respectă criteriile setate;

b)interogări de actualizare (Update) – efectuează modificări în

înregistrările care respectă criteriile setate;

c)interogări de adăugare (Append) – adaugă înregistrări noi la

sfârşitul unui tabel;

d)interogări de tip Make Table – creează tabele noi bazate pe

înregistrările care respectă criteriile de selecţie.

Tipuri de interogari

Page 7: 3. Interogări de selecţie

2. Proiectarea interogărilor de

selecţie în regim design

1. MODUL DE

CREARE A

INTEROGĂRII

2. ANEXAREA

TABELELOR LA

INTEROGARE

Page 8: 3. Interogări de selecţie

SURSA DE DATECÂMPURI SELECTATE

SAU CALCULATE

MODURI DE SORTARE

AFIŞAREA CÂMPULUI ÎN

REGIM DATASHEET

CRITERII DE SELECŢIE

Proiectarea interogărilor de selecţie

în regim design

Page 9: 3. Interogări de selecţie

Fereastra constructorului de interogări este divizată în

două panouri:

• panoul superior afişează tabelele incluse în

interogare şi relaţiile dintre tabel;

• panoul inferior numit grila interogării include:

– Field: pentru plasarea câmpurilor din tabele sau scrierea

expresiile câmpurilor calculate;

– Table: tabelul din care provine câmpul;

– Sort: dacă interogarea este sortată pe baza câmpului respectiv;

– Show: dacă este afişat câmpul în rezultatul interogării;

– Criteria: criteriile care au fost aplicate câmpului pentru a limita

rezultatele interogării.

Proiectarea interogărilor de selecţie

în regim design

Page 10: 3. Interogări de selecţie

La creare criteriilor de selecţie se utilizează

următorii operatori:

• Operatori aritmetici: +, -, /, \. *, ^, mod;

• Operatori relaţionali: <, >, =, <=, >=, <>;

• Operatori logici: Or, And, Not, Like, In, Between;

• Constante:

– numerice: (120, 5,…),

– texte(„Text”),

– date calendaristice (#12/10/2011#).

3. Selectarea datelor prin intermediul

interogărilor de selecţie

Page 11: 3. Interogări de selecţie

Operatorul logic OR se utilizează pentru a indica câteva condiţii de selecţii

pentru un oarecare câmp, câmpul este selectat dacă satisface cel puţin un criteriu de

selecţie.

Exemplul 1: Dacă în câmpul Contract din grila interogării se include ”D-

259” or ”D-457”, programul va selectată informaţia despre persoanele ce au încheiat

contractele respective.

Selectarea datelor prin intermediul

interogărilor de selecţie

Page 12: 3. Interogări de selecţie

Rezultatul rulării interogării

Operatori logici

O altă formă de scriere a criteriilor de selecţie

Page 13: 3. Interogări de selecţie

Operatorul logic AND se utilizează pentru a indica câteva condiţii de

selecţii pentru un oarecare câmp, câmpul este selectat dacă satisface toate

criteriile de selecţie.Exemplul 2: Înscrierea condiţiei >10 and <50 în câmpul Pret, va indica

selectarea înregistrărilor ce au preţul pachetului din segmentul 10 - 50.

Operatori logici

Rezultatul rulării interogării

Page 14: 3. Interogări de selecţie

Pentru a uni, cu operatorul And, mai multe condiţii de selecţie ce sunt

adresate diferitor câmpuri, acestea urmează să fie înscrise în acelaşi rând.

Exemplul 3: Ce sume de bani a achitat abonatul cu contractului D-457

pentru primele trei luni ale anului.

Operatori logici

Rezultatul rulării interogării

Page 15: 3. Interogări de selecţie

Operatorii OR şi AND sunt utilizaţi cât separat atât şi în combinaţii.

Exemplul 4: Ce sume de bani au achitat abonaţii cu contractului D-457 şi D-517 pentru luna

februarie.

Operatori logici

Page 16: 3. Interogări de selecţie

Rezultatul rulării interogării

Proiectul interogării poate fi prezentat şi astfel:

Operatori logici

Page 17: 3. Interogări de selecţie

Operatorul BETWEEN permite să se indice un interval de valori.

Exemplul 5: expresia >=#01.03.2013# And <=#01.04.2013# este echivalentă cu

înscrierea between #01/03/2013# and #01/04/2013#.

Operatori logici

Operatorul logic NOT şi relaţional <> (diferit) se utilizează pentru

excluderea grupului de date din componenţa înregistrărilor analizate de

interogare:

Exemplul 6: Not ”D-257” sau <> 2.

Page 18: 3. Interogări de selecţie

Operatorul LIKE este utilizat pentru crearea şabloanelor de căutarea în

câmpurile textuale:

* — indică orice cantitate de simboluri;

? — un singur simbol;

# — indică că pe poziţia dată trebuie să fie o cifră.

Exemplul 7: pentru alegerea numelui unui abonat (Albu), ce încep cu A şi se

termină cu u putem nota:

like A*u.

Operatori logici

Page 19: 3. Interogări de selecţie

Pentru a defini câmpuri calculate, în rândul Field al interogării

se introduce formula de calcul: etichetele de câmp utilizate în expresie

se i-au în paranteze pătrate.

Exemplu de expresii:

abonat: [nume]&” “&[prenume]

pret nou:[Pret]*1.2

Funcţii standard utilizate la crearea câmpurilor calculate: date(),

year(), len(),... .

Câmpuri calculate

Page 20: 3. Interogări de selecţie

Exemplul 8: Se cere de recalculat preţul nou care s-a mărit cu 20%.

Câmpuri calculate

Rezultatul rulării interogării

Page 21: 3. Interogări de selecţie

Exemplul 9: Afisarea informatiei despre abonati

Câmpuri calculate

Rezultatul rulării interogării

Page 22: 3. Interogări de selecţie

Interogări de totalizare

Interogările ce includ rândul total sunt numite

interogări de totalizare

2. Rândul TOTAL

1. Butonul TOTALS

3. Lista funcţiilor predefinite

Page 23: 3. Interogări de selecţie

Interogări de totalizare

Rândul Total: include următoarele funcţii predefinite:

Avg – media aritmetică;

Count – numărul total de

valori;

First – prima valoare;

Last – ultima valoare;

Max – valoarea maximă;

Min – valoarea minimă;

StDev – deviaţia standard

a valorilor;

Sum – suma valorilor;

Var – variaţia valorilor.

Page 24: 3. Interogări de selecţie

Interogări de totalizare

În lista funcţiilor predefinite pot fi găsite şi următoarele opţiuni:

• Opţiunea Group By se va utiliza pentru a defini criteriile de

grupare. Ordinea de evaluare a criteriilor de grupare este de la

stânga la dreapta.

• Opţiunea Where se aplică dacă câmpul este utilizat pentru a

preciza anumite criterii de selecţie, dar nu se doreşte efectuarea

grupării după câmpul respectiv.

• Opţiunea Expression se va utiliza pentru câmpurile calculate

ce returnează un singur rezultat la nivelul grupului.

Page 25: 3. Interogări de selecţie

Interogări de totalizare

Interogările de totalizare esenţial se deosebesc de

interogările obişnuite. În ele câmpurile pot fi divizate în

trei tipuri:

1) câmpuri, pentru care se realizează gruparea datelor;

2) câmpuri, care participă la calcule;

3) câmpuri, care conţin condiţii.

Page 26: 3. Interogări de selecţie

Interogări de totalizare

Exemplul 10: Să se calculeze sumele încasate pentru fiecare pachet

în lunele februarie, martie, aprilie.

Rezultatul rulării interogării

Page 27: 3. Interogări de selecţie

4. Clasificarea interogărilor de selecţie

Interogări de tipul I sunt interogările ce nu conţin rândul total. Ele

conţin câmpuri calculate şi criterii de selecţie.

1. Stabiliţi lista abonaţilor din sectorul B.

Rezultatul rulării interogării

Page 28: 3. Interogări de selecţie

4. Clasificarea interogărilor de selecţie

Spre deosebire de interogările de I tip, interogările de tipul II în grila

interogării includ rândul Total şi gruparea se face după un singur câmp.

1. Care a fost prima zi în care abonatul Albu a efectuat achitarea serviciilor

acordate.

Rezultatul rulării interogării

Page 29: 3. Interogări de selecţie

4. Clasificarea interogărilor de selecţie

Spre deosebire de celelalte 2 tipuri, interogarea de tipul III are

gruparea pentru 2 şi mai multe câmpuri.

1. Sumele totale achitate pentru fiecare lună, fiecare pachet de anumiţi trei

abonaţi.

Page 30: 3. Interogări de selecţie

4. Clasificarea interogărilor de selecţie

Rezultatul rulării interogării

Page 31: 3. Interogări de selecţie