40
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)

SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Embed Size (px)

Citation preview

Page 1: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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)

Page 2: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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)

Page 3: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 4: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 5: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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.

Page 6: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

QUERY WIZARD

Page 7: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 8: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 9: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 10: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 11: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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.

Page 12: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 13: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 14: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 15: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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.

Page 16: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 17: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 18: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 19: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Executarea interogării:

•butonul View

•butonul Run

Modificarea unei interogări:

Inserarea unui rând/coloană

Ştergere rând/coloană

Page 20: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Lansare in executie

Page 21: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Modificari în Query Desing view- INSERT, DELETE

Page 22: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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]

Page 23: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 24: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 25: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 26: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Cu EXPRESSION BUILDER

Page 27: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 28: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Interogarea bazelor de date: Criteria

Identificatori: Forms![Selectie carti]![Denumire carte]

Page 29: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

Interogarea bazelor de date: Criteria

Identificatori: Forms![Selectie carti]![Denumire carte]

Page 30: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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()

Page 31: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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(),

Page 32: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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ă

Page 33: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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)

Page 34: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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])

Page 35: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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])

Page 36: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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())

Page 37: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea
Page 38: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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] )

Page 39: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

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

Page 40: SGBD Access ‘97/2000 - cig.ase.rocig.ase.ro/prof/tamas/resurse/Curs-5-6 Interogari-QBE-Access 2010-1... · comenzi SQL O interogare Acces poate fi utilizată pentru: -regăsirea

LISTA ANGAJATILOR NASCUTI IN TRIMESTRELE 2,3,4

Trimestrul : DatePart(‘q’,*datan+)>1