Upload
vuongdieu
View
224
Download
1
Embed Size (px)
Citation preview
SGBD Access 2010: Query
Rezultatul unei interogări se prezintă sub forma unei foi de
răspuns dinamic ce poartă numele de DynaSet
O foaie de răspuns dinamic nu are o existenţă proprie după
închiderea interogării. Dacă aceasta este salvată, definiţia
respectivei cereri este salvată sub forma unui şir de
comenzi SQL
O interogare Acces poate fi utilizată pentru:
-regăsirea şi ordonarea datelor potrivit anumitor criterii de selecţie;
-efectuarea de calcule;
-actualizarea bazei de date (interogări de acţiune);
-pregătirea datelor pentru afişarea lor prin formulare şi/sau rapoarte
Interogarea (Query) este un obiect ce permite
vizualizarea informaţiilor obţinute prin selectarea şi
prelucrarea datelor din unul sau mai multe tabele (sau
interogări)
A. Tipuri de interogări: dupa modul de extragere a datelor
1. Selecţie (SELECT)- permit extragerea de date din unul sau mai multe tabele, precum şi efectuarea de calcule;
2. Sintetizare a datelor (TOTAL) – permit calcularea mediei, valorii totale, minimul sau maximul valorii unor atribute
3. Analiza încrucişată (CROSSTAB).
4. De acţiune (MAKE TABLE, APPEND, UPDATE, DELETE)
5. Speciale (UNION, PASS THROUGH, DATA DEFINITION)
B. După modul de proiectare:
1. Modul manual de proiectare – Query Design (utilizand interfaţa QBE)
2. Modul asistat de proiectare – Query Wizard
Simple Query Wizard –interogare simpla de selecţie
Crosstab Query Wizard – interogare încrucişată
Find Duplicates Query Wizard – interogare ce va selecta numai înregistrări duplicate
Find Unmatched Query Wizard – interogare ce va selecta numai înregistrările unui tabel ce nu au
corespondenţe în alt tabel
I. Crearea unei interogari de selectie – modul asistat
1. CREATE
2. QUERY WIZARD
3. SELECTARE:
Simple Query Wizard
Crosstab Query Wizard
Find Duplicates Query Wizard
Find Unmatched Query Wizard
4. OK
5. Selectare TABLES/QUERIES
6. Transfer campuri si NEXT
7. Atribuire nume interogare si FINISH.
QUERY WIZARD
II. Crearea unei interogări de selecţie - manual
1. Activarea meniului CREATE.
2. Alegerea optiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE.
4. Utilizatorul va selecta obiectul sursă prin intermediul butonului Add.
5. Close.
6. Proiectarea grilei QBE (Query-By-Example) care presupune:
- Alegerea câmpurilor care vor forma interogarea QBE, pe linia FIELD
- Stabilirea modului de ordonare (sortare) a datelor din interogare, în linia SORT.
- Definirea criteriilor de selecţie a datelor pe linia CRITERIA, prin utilizarea unor funcţii, operatori specifici ACCESS 2010.
7. SAVE
STRUCTURA GRILEI QBE
Grila QBE- linii:
Field: specifică numele atributului selectat
Table: specifică tabelul participant la interogare (sursa de date)
Sort: precizează sensul sortării pentru atributul în cauză
Show: permite sau inhibă afişarea valorilor câmpului respectiv
Criteria: permite precizarea criteriilor pe care se construieşte interogarea
Or: permite precizarea criteriilor de selectie utilizand operatorul logic OR.
GRILA QUERY DESIGN - SRUCTURA
Fereastra Select Query conţine
Zona superioară în care se
vizualizează sursele de date
precum şi relaţiile dintre acestea
(tehnica Drag&Drop)
Zona inferioară (grila
Query Design) ce
conţine atributele
interogării
Interogarea bazelor de date “Să se afişeze lista facturilor emise pe anul 2002,
către clienţii din Bucureşti şi Ploieşti, cărora li s-au livrat cărţi de programare”
Selecţie: * + D&D în Field
DClk etichetă tabela + D&D
Executarea interogării:
•butonul View
•butonul Run
Modificarea unei interogări:
Inserarea unui rând/coloană
Ştergere rând/coloană
Lansare in executie
Modificari în Query Desing view- INSERT, DELETE
Varianta 1. CÂMPURI CALCULATE IN I. S.
1. In grila QUERY DESIGN ( Q.D. ) se introduce numele câmpului calculat într-o nouă coloană
2. După nume se intoduce caracterul “:” urmat de formula de calcul asa cum rezultă din exemplul urmator:
Valoare:[continut factura.cantitate]*[continut factura.pretf]
Varianta 2. CÂMP CALCULAT CU EXPRESSION BUILDER
PASI
1. IN Q.D. POZITIONARE CURSOR PE COLOANA UNDE DORIM UN CÂMP CALCULAT
2. BUILDER – APARE FEREASTRA EXPRESSION BUILDER
3. INTRODUCERE NUME CÂMP CALCULAT URMAT DE “:” SI APOI CONSTRUREA EXPRESIEI DE CALCUL UTILIZÂND INSTRUMENTELE DIN EXPRESSION BUILDER
4. OK
5. RUN
Cu EXPRESSION BUILDER
Interogarea bazelor de date: Criteria
•Operatori :
Aritmetici: +, -, *, /, Mod, ^;
De atribuire şi comparare: =, >, <, >=, <=; <>
Logici: and, or, not;
De concatenare a şirurilor de caractere: &;
Alţi operatori: is null, is not null, like”*escu”, in(“a”, “b”, “c”),
between
•Constante: numerice (125, 45.36);
text (“Ionescu”);
dată calendaristică (#12/31/2002#)
Operatori; Constante; Identificatori; Funcţii
Interogarea bazelor de date: Criteria
Identificatori: Forms![Selectie carti]![Denumire carte]
Interogarea bazelor de date: Criteria
Identificatori: Forms![Selectie carti]![Denumire carte]
Interogarea bazelor de date: Criteria
yyyy An
q Trimestru
m Luna
y Nr.zi dintr-un an
d Zi
w Zi din săptămână
ww Nr. săptămână
Funcţii:
Iif(Condiţie;Actiune_If_True;Actiune_If_False)
Date(), Now(),
Month(), Year(), Day()
DateAdd(), DateDiff(), WeekDay()
DateSerial(), DateValue() ,DatePart()
Format()
Interogarea bazelor de date: Criteria
Funcţii:
Sum(), Avg(), Max(), Min(), Count(), Abs(), Int(), Round(câmp, zec),
Len(), Trim(), Val(), Str()
Left(câmp,nrcar), Right(câmp,nrcar), Mid(câmp;start;dimensiune)
IsNumeric(), IsNull(), IsBlank(),
First(), Last(),
Interogarea bazelor de date
Câmpuri calculate (pe linie) în interogări de selecţie:
“Se aplică o majorare a preţului de 25% pentru cărţile apărute după data
de 01 ianuarie 2001
Câmpuri calculate “în linie”:
Atrib_calculat:[Atr.1]op[Atr.n]opConstantă
Interogarea bazelor de date
Câmpuri calculate (pe linie) în interogări de selecţie Iif:
“Se calculează valoarea fiecărei “linii de factură”, la care se aplică o reducere
comercială de 15% pentru valorile de peste 5.000.000 lei”
IIF(conditie;actiune_1_True;actiune_2_False)
Interogarea bazelor de date
Câmpuri calculate (pe linie) în interogări de selecţie Iif, IsNull:
“Se înlocuieşte valoarea de Null a preţului de bază cu zero”
Iif(IsNull([pret baza]);0;[pret baza])
Interogarea bazelor de date
Câmpuri calculate (în linie) în interogări de selecţie: Month, Year
“Se afişează valoarea cărţilor facturate în luna mai 2001”
Luna :Month([Data Facturii])
Interogarea bazelor de date
Câmpuri calculate (în linie) în interogări de selecţie: “Se afişează facturile emise în anul curent” Year((Now()), Month ((Now())
Year([DATAFACT]=Year(Now()) AND Month(DATAFACT)=Month(now())
DatePart- pentru a evalua o dată și a returna un interval de timp specific
DatePart(interval, dată [, primazidinsăptămână] [, primasăptămânădinan] )
Câmpuri calculate (în linie) în interogări de selecţie: DatePart; Year
“Se afişează facturile emise în al doilea trimestru al anului 2001”
Datepart(interval, datacalendaristică [, prima-zi-a-sapt] [, prima-sapt-din-an])
unde: interval poate lua valorile: yyyy – specificarea anului, q – trimestrul
m – luna, w - ziua din săptămână, ww - săptămana din an
LISTA ANGAJATILOR NASCUTI IN TRIMESTRELE 2,3,4
Trimestrul : DatePart(‘q’,*datan+)>1