Sunteți pe pagina 1din 36

SGBD Access 2007:

Interogarea
bazelor de date
SGBD Access 2007: Query
Interogarea(Query)
Interogarea (Query)este
esteun
unobiect
obiectce
cepermite
permite
vizualizareainformaţiilor
vizualizarea informaţiilorobţinute
obţinuteprin
prin
selectareaşişiprelucrarea
selectarea prelucrareadatelor
datelordin
dinuna
unasau
saumai
mai
multetabele
multe tabele(sau
(sauinterogări)
interogări)

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 SQL
O interogare Acces poate fi utilizată pentru:
-regăsirea şi ordonarea datelor potrivit anumitor criterii de selecţie;
-efectuarea de calcule;
calcule
-actualizarea bazei de date (interogări de acţiune);
-pregătirea datelor pentru afişarea lor prin formulare şi/sau rapoarte
Interogarea bazelor de date

SELECŢIE;
CALCULE;
ACŢIUNE
CREAREA UNEI INTEROGĂRI DE SELECŢIE:
SELECŢIE
Meniul Create + butonul Query Wizard
Din fereastra New Query sunt afişate mai multe tipuri generare a interogărilor:
• asistentul pentru cereri simple de interogare (Simple Query Wizard)
•asistentul pentru interogări încrucişate (Crosstab Wizard)
•asistentul pentru căutarea înregistrărilor duplicat (Find Duplicates Query
Wizard)
•asistentul pentru căutarea înregistrărilor nu au corespondent în cele două tabele
sursă (Find Unmatched Query Wizard)
Simple Query Wizard
Interogarea bazelor de date
1. Se alege meniul Create + butonul Query Design
2. Se alege sursa de date în fereastra Show Table
3. Utilizatorul selectează tabela sau tabelele sursă participante la interogare,
apăsând pentru inserare butonul Add
4. Se închide fereastra Show Table prin Close

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

Field:
Field precizează numele atributului selectat
Table:
Table precizează tabela participantă la interogare (sursa de date)
Sort:
Sort precizează sensul sortării pentru atributul în cauză
Show:
Show permite sau inhibă afişarea câmpului
Criteria:
Criteria permite precizarea criteriilor pe care se construieşte interogarea
Or:
Or operator logic de selecţie
Executarea interogării:
•butonul View
•butonul Run

Modificarea unei interogări:


interogări
Inserarea unei noi coloane
Ştergere coloană(e)
Interogarea bazelor de date: Criteria

Operatori; Constante; Identificatori; Funcţii


•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#)
Interogarea bazelor de date: Criteria
Identificatori: Forms![
Forms Selectie carti]![
carti Denumire carte]
carte
Interogarea bazelor de date: Criteria
Identificatori: Forms![
Forms Selectie carti]![
carti Denumire carte]
carte
Interogarea bazelor de date: Criteria

Funcţii:
Iif(Condiţie;Actiune_If_True;Actiune_If_False)
Date(), Now(),
Month(), Year(), Day()
DateAdd(“şablon_dată”;număr;câmp_dată/”constantă_dată”)
DateDiff(“şablon_dată”;dată_1;data_2;prima_zi)
yyyy An
WeekDay(câmp_data;prima_zi)
q Trimestru
DateSerial(an;lună;zi) m Luna
y Nr.zi dintr-un an
DateValue(dată)
d Zi
DatePart(“şablon_dată”;dată) w Zi din săptămână
ww Nr. săptămână
Format(dată;”şablon_dată”)
Interogarea bazelor de date: Criteria

Funcţii:
Sum(), Avg(), Max(), Min(), Count(), Abs(), Int(), Round(camp, zec),
DMax(câmp; tabela[;criteriu]), DMin, DCount, DAvg;
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âmpuricalculate
Câmpuri calculate(pe
(pelinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::
“Seaplică
“Se aplicăoomajorare
majorareaapreţului
preţuluide
de25%
25%pentru
pentrucărţile
cărţileapărute
apărutedupă
după
datade
data de01
01ianuarie
ianuarie2001
2001

Câmpuri calculate “în linie”:


Atrib_calculat:[Atr.1]op[Atr.n]opConstantă
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(pe
(pelinie)
linie)în
îninterogări
interogăride
deselecţie
selecţieIif:
Iif:
Iif
Iif
“Secalculează
“Se calculeazăvaloarea
valoareafiecărei
fiecărei“linii
“liniide
defactură”,
factură”,lalacare
carese
seaplică
aplicăoo
reducerecomercială
reducere comercialădede15%
15%pentru
pentruvalorile
valorilede
depeste
peste5.000.000
5.000.000lei”
lei”

IIF(conditie;actiune_1_True;actiune_2_False)
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(pe
(pelinie)
linie)în
îninterogări
interogăride
deselecţie
selecţieIif
Iif,,IsNull:
IsNull:
IsNull
IsNull
“Seînlocuieşte
“Se înlocuieştevaloarea
valoareade
deNull
Nullaapreţului
preţuluide
debază
bazăcu
cuzero”
zero”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::Month
Month,,Year
Year
“Seafişează
“Se afişeazăvaloarea
valoareacărţilor
cărţilorfacturate
facturateîn
înluna
lunamai
mai2001”
2001”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::
“Seafişează
“Se afişeazăfacturile
facturileemise
emiseîn
înanul
anulcurent”
curent”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::DatePart
DatePart;;Year
Year
“Seafişează
“Se afişeazăfacturile
facturileemise
emiseîn
înalaldoilea
doileatrimestru
trimestrualalanului
anului 2001”
2001”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::WeekDay
WeekDay
“Seafişează
“Se afişeazăfacturile
facturileemise
emiseîn
înweekend”
weekend”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::DateDiff
DateDiff
“Seafişează
“Se afişeazăfacturile
facturilepentru
pentrucare
caretermenul
termenulde
degraţie
graţieeste
estemai
maimare
maredecât
decât22
săptămâni”
săptămâni”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::DateAdd
DateAdd
“Seafişează
“Se afişeazăfacturile
facturilepentru
pentrucare
caretermenul
termenulde
degraţie
graţieeste
estede
de11săptămână”
săptămână”
Interogarea bazelor de date
Câmpuricalculate
Câmpuri calculate(în
(înlinie)
linie)în
îninterogări
interogăride
deselecţie
selecţie::DateSerial
DateSerial
“Seafişează
“Se afişeazăfacturile
facturilescadente
scadenteîn
înultima
ultimaziziaafiecărei
fiecăreiluni”
luni”
Interogarea bazelor de date
LEFT//RIGHT
LEFT RIGHT//MID
MID//VAL
VAL//STR
STR
Interogarea bazelor de date
Câmpuri calculate (pe coloană) în interogări de selecţie prin sinteză :
“Se calculează valoarea facturilor emise în 2002”
Interogarea bazelor de date
Câmpuri calculate (pe coloană) în interogări de selecţie prin sinteză :
“Se calculează valoarea facturilor emise în 2002 pe luni”
Interogarea bazelor de date
Câmpuri calculate (pe coloană) în interogări de selecţie prin sinteză :
“Se calculează valoarea totală a facturilor emise în 2002”
Interogarea bazelor de date
Câmpuri calculate (pe coloană) în interogări de selecţie prin sinteză :
“Se calculează valoarea cărţilor facturate pe fiecare carte în parte, pe ultimii 2 ani”
Interogarea bazelor de date
Câmpuri calculate (pe coloană) în interogări de selecţie prin sinteză :
“Se calculează numărul de linii de factură, precum şi cantitatea totală facturată”
Interogarea bazelor de date
“Se afişeze ISBN-ul cărţilor facturate într-o
cantitate peste medie”
Interogarea bazelor de date
Interogările parametrabile conferă interactivitate cererilor,
specificând dinamic restricţiile la care trebuie să răspundă acestea
Interogarea bazelor de date
Interogările de
Interogările deanaliză
analizăîncrucişată
încrucişată(CrossTab)
(CrossTab)permit
permitsintetizarea
sintetizarea
datelor,oferind
datelor, oferindutilizatorului
utilizatoruluiooviziune
viziuneanalitică
analiticămultidimensională
multidimensională
1.Se elaborează o interogare de selecţie în modul Design, alegându-se tabelele
care participă la interogare;
2.Se activează comanda
Interogari de tip ACTIUNE
INTEROGĂRI pentru crearea de noi tabele (Make Table)
Aceste interogări permit crearea unei tabele plecând de la datele stocate în altă
tabelă. Noua tabelă reprezintă selecţia aplicată asupra tabelei sursă
“Săsesestocheze
“Să stochezeîntr-o
într-onouă
nouătabelă
tabelăcărţile
cărţilescrise
scrisede
deIonescu
IonescuBogdan
Bogdanîn
înultimii
ultimii55ani”
ani”
Interogări de tip ACŢIUNE
INTEROGĂRI pentru ADĂUGAREA TUPLURILOR (Append)
Aceste interogări permit adăugarea de noi tupluri într-o tabelă plecând de la
datele stocate în altă tabelă.
“Săse
“Să seadauge
adaugeîn
întabela
tabelaCLIENTI
CLIENTItoate
toatetuplurile
tuplurileprovenite
provenitedin
dintabela
tabela
CLIENTIDIN
CLIENTI DINARAD”
ARAD”
Interogări de tip ACTIUNE
INTEROGĂRIpentru
INTEROGĂRI pentruMODIFICAREA
MODIFICAREATUPLURILOR
TUPLURILOR(Update)
(Update)
Acesteinterogări
Aceste interogăripermit
permitmodificarea
modificareatuplurilor
tuplurilorexistente
existente într-o
într-otabelă.
tabelă.

“Semodifică
“Se modificăcu
cu10%
10%preţul
preţulde
debază
bazăpentru
pentrumanualul
manualul“Baze
“Bazede
dedate”,
date”,în
înanul
anul2005”
2005”
Interogări de tip ACTIUNE
INTEROGĂRIpentru
INTEROGĂRI pentruŞTERGEREA
ŞTERGEREATUPLURILOR
TUPLURILOR(Delete)
(Delete)
Acesteinterogări
Aceste interogăripermit
permitştergerea
ştergereatuplurilor
tuplurilorexistente
existente într-o
într-otabelă,
tabelă,potrivit
potrivit
unuicriteriu
unui criteriude
deselecţie.
selecţie.

“Săse
“Să seşteargă
şteargăclienţii
clienţiidin
dinArad”
Arad”

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