Sunteți pe pagina 1din 32

SGBD-ul MICROSOFT ACCESS

Obiecte de tip interogare


Interogarea unei baze de date nseamn regsirea i extragerea informaiilor stocate n
aceasta. Pentru realizarea interogrilor SGBD Access une la disoziia utilizatorilor obiectele
de tip cereri (Query). !ezultatul cererii se rezint sub forma unei foi de rsuns dinamic care
oart numele de DynaSet. "oaia de rsuns dinamic (DynaSet-ul) nu mai exist fizic du
nc#iderea cererii. $ cerere oate a%ea dret surs de date unul sau mai multe tabele ale bazei de
date sau c#iar o alt cerere creat anterior.
Interogrile rerezint un instrument esenial n lucrul cu orice sistem de gestiune a
bazelor de date. &le sunt folosite entru selectarea nregistrrilor' actualizarea tabelelor i
adugarea de noi nregistrri ntr(un tabel. Interogrile se folosesc cel mai frec%ent entru
selectarea anumitor gruuri de nregistrri care ndelinesc anumite condiii. De asemenea ele
ot fi folosite entru combinarea informaiilor din diferite tabele .
Interogrile se ot crea cu a)utorul rutinei Simple Query Wizard sau rin roiectare n
fereastra Query Design.
$ cerere Access oate fi utilizat entru*
( regsirea i ordonarea datelor du anumite criterii+
( efectuarea de calcule+
( actualizarea bazei de date ,rin cereri de ti aciune-+
( regtirea datelor n %ederea afirii lor n formulare sau raoarte+
Tipuri de interogri
Access ermite crearea a atru tiuri de interogri*
Interogri de ti Select entru extragerea datelor din unul sau mai multe tabele i de a
le afia n form tabelar. Interogrile de ti Select nu ermit actualizarea datelor
selectate ci doar %izualizarea lor. De obicei acest ti de interogare constituie o surs
de date entru un raort sau formular.
Interogri de ti Crosstab entru sintetizarea datelor din unul sau mai multe tabele ca
foaie de calcul ,asemntor cu foile de calcul &xcel-.
Interogri de ti Action entru crearea unor noi tabele' sau entru modificarea datelor
dintr(un tabel existent. &xist urmtoarele categorii de interogri de aciune*
Interogri de ti Make Table care ermit crearea de noi tabele rin
extragerea informaiilor din tabelele existente n baza de date+
Interogri de ti Update care ermit actualizarea ,modificarea- datelor din
tabelele existente fr a crea tabele noi sau nregistrri noi+
Interogri de ti Append care ermit adugarea de noi nregistrri ntr(o
tabel existent
Interogri de ti Delete care ermit tergerea unor nregistrri dintr(o
tabel existent funcie de criteriile introduse de utilizator.
Interogrile de ti Parameter care folosesc aceeai interogare de mai multe ori cu
arametrii diferii.
Dintre acestea cererile de selecie sunt cele mai utilizate ele' asigur.nd utilizatorilor
osibilitatea consultrii bazei de date..
Operaii priind un obiect de tip interogare
$eraiile ri%ind obiectele de ti cerere se refer la crearea utilizarea ,acti%area
interogrii i afiarea datelor- i resecti% modi!icarea acestora.
Pentru exemlificarea cererilor de interogare din acest curs %om considerare o baz de
date constituit entru gestionarea roduselor ,stocurilor- dintr(un magazin' a%and sc#ema de
mai )os *
Crearea unui obiect de tip interogare
/rearea unei cereri de selecie se oate realiza n mod grafic ,mod imlicit- sau n mod S!"
,rin construirea unui bloc de cerere folosind limba)ul declarati% Structured Query Language).
0om rezenta ambele moduri de construire a interogrilor bazei de date
"iind un obiect Access' inceerea crerii interogrii se realizeaz n fereastra Database
rin acti%area fiei Query ,secific.nd astfel tiul de obiect Access e care dorim s l crem- i
aoi asarea butonului New, sau select.nd din meniul "nsert oiunea Query.
Access ofer mai multe modaliti de creare a cererilor. Aceste modaliti sunt enunate n
caseta de dialog New Query afiat ca urmare a iniierii oeraiei de creare a cererii*
( modul grafic de roiectare' Design View ,roiectarea interogrilor utiliz.nd interfaa
grafic este cunoscut sub numele Query By Ea!ple)"
( utilizarea asistentului entru cereri simle' Si!ple Query #i$ard"
( utilizarea asistentului entru cereri ncruciate' %ross&ab Query #i$ard"
( utilizarea asistentului entru cutarea nregistrrilor dulicat' 'in( Duplica&es Query
#i$ard"
( utilizarea asistentului entru cutarea nregistrrilor care nu au coresondent n dou
tabele' 'ind )n!atc*ed Query #i$ard.
Pentru crearea unei cereri de selecie se alege oiunea De#ign $ie% din caseta 1e2
!uer& sau a oiunii Create 'uer& in de#ign $ie% ' aa cum se obser% n figura urmtoare*
(
Du alegerea modului de creare' se trece la selectarea tabelelor surs din care se %or
extrage datele. /aseta S#o$ Table din figura de mai )os ofer osibilitatea recizrii sursei de
date entru construirea cererii.
Sur#a de date entru o cerere (Query) oate fi rerezentat de*
( una sau mai multe tabele+
( una sau mai multe interogri+
( tabele i interogri.
Se %or selecta tabela3tabelele i3sau cererile surs i se %a aciona butonul +dd entru a
realiza aducerea acestora n fereastra de roiectare a cererii. Du a fost recizat sursa de date
se %a nc#ide fereastra S#o$ Table rin acionarea butonului Close . 4a ne%oie se oate
redesc#ide fereastra folosind butonul S#o$ Table din bara de instrumente sau oiunea
S#o$ Table din meniul Query.
Du selectarea tabelelor fereastra rincial Access %a fi*
"ereastra Select Query ,de mai sus - este mrit n dou zone*
a. 5ona suerioar' n care se %izualizeaz tabelele3interogrile surs de date recum i relaiile
definite ntre acestea+
b. Grila Query Design structurat astfel*
6 4inia Field) rezer%at entru definirea numelui atributului selectat+
6 4inia Table) destinat recizrii sursei de date+
6 4inia Sort* ermite recizarea sensului sortrii entru atributul din coloana resecti%+
6 4inia S*o%) ermite in#ibarea afirii realizrilor c.mului resecti%+
6 4inia Criteria) ofer osibilitatea recizrii criteriilor de selecie rin introducerea
exresiilor Access coresunztoare+
Sursa de
Date
Grila 7uer8
Design
6 4iniile Or) ermit recizarea mai multor criterii de selecie n cazul exresiilor +ccess
utiliz.nd oeratorul OR(
$dat secificat sursa de date' definirea interogrii de selecie resuune arcurgerea
urmtorilor ai*
+. Selectarea tiului de interogare se oate face din meniul rincial' oiunea 7uer8*
sau de la butonul 7uer8 t8e de e bara de butoane*
Ob#( Butonul ermite unerea n execuie a interogrii.
,( Precizarea atributelor ale cror realizri urmeaz s le returneze cererea. 1umele acestor
atribute se %or reciza n grila !uer& De#ign n r.ndul Field utiliz.nd una din urmtoarele
modaliti*
6 Selectarea atributului din cadrul listei Field -a.e ce oate fi desc#is rin acionarea
cu mouse(ul a butonului "i#t Bo/ 0
6 &xecutarea unui dublu clic de mouse asura atributului dorit din tabela3interogarea
aflat n anoul suerior+
6 9etoda drag-and-drop care resuune selectarea cu mouse(ul a atributului dorit din
anoul suerior i tractarea acestuia n linia Field(
Dac este necesar s fie aduse n anoul inferior toate atributele aarin.nd unei tabele se %a
roceda n unul din urmtoarele moduri*
6 Selectarea tuturor atributelor din tabela surs ,aflat n anoul suerior- rintr(un
dublu clic de mouse e numele tabelei i glisarea atributelor n grila Design ,anoul
inferior-+
6 :tilizarea asteriscului aarin.nd tabelei surs* tragei cu mouse(ul asteriscul n rima
coloan "ield. /#iar dac n grila de roiectare este comletat doar rima coloan Field
la execuie interogarea %a returna realizrile tuturor atributelor+
/aseta 7uer8 Proerties
6 :tilizarea proprietii Output All Field#) Se %a desc#ide caseta !uer& 1ropertie#
utiliz.nd butonul 1ropertie# din bara de instrumente sau execut.nd dublu clic; ntr(o zon
liber a anoului suerior' n linia ,utput +ll 'ields se %a reciza -es ,figura de mai sus - .
Precizarea %alorii -es entru rorietatea ,utput +ll 'ields nu %a determina aducerea n
grila de roiectare a c.murilor din tabela surs' dar' n momentul executrii cererii' DynaSet-u.
%a curinde realizrile tuturor atributelor.
<n mod imlicit n DynaSet, antetul coloanelor este rerezentat de numele atributului' cu
exceia cazului n care la crearea tabelei ai recizat o alt etic#et rin intermediul rorietii
Caption( Dac dorii afiarea n DynaSet a unei noi etic#ete entru un atribut lasai mouse(ul n
linia "ield naintea numelui atributului' tastai etic#eta dorit urmat de caracterul =*=.
>. Se recizeaz criteriul de selecie ,n mod imlicit se returneaz realizrile tuturor
tulurilor entru atributele secificate- rin introducerea unei exresii +ccess %alide n
r.ndul Criteria ,e%entual i r.ndul $!-. Acest criteriu ermite selectarea doar a anumitor
nregistrri care ndelinesc anumite condiii Introducerea exresiei +ccess se face rin
tastare sau se construiete rin intermediul generatorului de exresii 2E/pre##ion
Builder3 a crui fereastr se desc#ide select.nd oiunea Build a meniului contextual e
care l acti%ai rintr(un clic dreata de mouse n r.ndul 'ield.
/riteriile de selectare se ot construi cu a)utorul constructorului de exresii care oate fi
acti%at fie rin intermediul butonului ?Build@ de e bara de butoane*
fie din meniul local acti%at cu butonul dreata a mouse(ului
*
Se %a une n execuie astfel &xression Builder*
A. Se recizeaz' dac este necesar' c.mul3c.murile du care se dorete o e%entual
sortare i sensul acestei a n linia Sort(
Proiectarea unei interogri de selecie
<n figura de mai sus se rezint modul n care s(a definit interogarea de selecie rin care
se realizeaz afiarea stocului entru rodusul faina. Sursa de date a cererii este rerezentat de
trei tabele ale bazei de date* 'urni$ori, /roduse i resecti% Stocuri.
In ri%ina cererilor de selecie care au ca surs mai multe tabele trebuie recizat c' n
mod imlicit' Access utilizeaz oeraia de ec*ico!punere, fat ce conduce la selectarea
nregistrrilor ce au coresondent n ambele tabele ,interogri de ti 0nner 1oin).
De exemlu' dac se realizeaz o cerere asura tabelelor /roduse i Stocuri, fr a se
secifica %reun criteriu' n lista rezultatelor nu %or figura dec.t rodusele entru care exist ce%a
n stoc. Dac se dorete realizarea unei interogri de ti ,uter 1oin ,folosind oeraia de
comunere extern- se %a efectua dublu clic; asura liniei de legtur dintre tabele i' n caseta
1oin /roperties ,ca n figura de mai )os - se oate reciza selectarea tuturor nregistrrilor din
una dintre tabele' indiferent dac au sau nu coresondent n cealalt tabel.
Pentru realizarea oeraiei de comunere e baza unei relaii de inegalitate ,B' C' o- a c.murilor
de legtur dintre tabele se oate folosi limba)ul S74. $ cerere ce are ca surs dou tabele ntre
care nu exist nici o relaie %a a%ea ca rezultat rodusul cartezian al nregistrrilor din cele dou
tabele.
/aseta Doin Proerties
E/ecutarea interogrii de aciune se oate realiza n unul din urmtoarele moduri*
6 :tiliz.nd butonul !uer& $ie% ,rimul n bara de instrumente-+
6 :tiliz.nd butonul Run din bara de instrumente+
6 :tiliz.nd oiunea Data#*eet din meniul $ie%0
6 :tiliz.nd oiunea !un din meniul !uer&(
In "igura de mai )os este redat rezultatul executrii cererii anterior roiectate.
!ezultatul unei interogari de selectie
!e%enirea n modul Design se realizeaz rin acti%area butonului De#ign $ie% bara de
instrumente sau select.nd din meniul $ie% oiunea De#ign $ie%(
Sal%area interogrii roiectate se oate realiza rin oiunea Sae din meniul File sau
nc#iz.nd fereastra Select Query, n ambele situaii utilizatorul fiind in%itat s tasteze numele
interogrii create ,n mod imlicit este atribuit numele Query n, unde n indic numrul cererii-.
Modi!icarea unei cereri
Pentru a modifica o cerere' aceasta trebuie desc#is n modul De#ign( 9odificrile se ot
realiza inser.nd noi coloane sau terg.nd coloane de)a definite. Inserarea unei noi coloane se
efectueaz select.nd coloana naintea creia dorim s introducem noua coloan i aleg.nd
opiunea Colu. n din .eniul In#ert(
Etergerea unei coloane din grila de roiectare se realizeaz select.nd coloana i acion.nd
tasta Delete sau butonul Cut din bara de instrumente sau execut.nd oiunea Delete Colu.n din
.eniul Edit(
9odificarea unei cereri oate resuune i extinderea sursei de date ,utiliz.nd fereastra
S*o% Table3( De asemenea modificarea cererii oate imlica i recizarea unor formate de
afiare asociate unor coloane entru ca datele returnate s fie uor de arcurs ,entru recizarea
unui anumit format de afiare se %a lasa cursorul mouse(ului n coloana dorit i se %a executa
clic dreata' select.ndu(se din meniul contextual oiunea 1ropertie#(
0a fi afiat caseta Field 1ropertie# ,figura alturat- n care se %a utea secifica numrul
de zecimale dorit sau un format de afiare entru c.mul resecti%.
Pe l.ng modurile de %izualizare De#ign i Data#*eet Access ermite utilizatorilor
%izualizarea i modificarea codului S74 al interogrilor. Pentru aceasta se %a aela din meniul
$ie% oiunea S!" $ie%( "raza S74 ce st la baza cererii exemlificate n "igura A. FG este
rezentat n figura de mai )os
9odificarea interogrilor n modul S74 0ie2
C%mpuri calculate &n interog'ri de selec(ie
Interogrile de selecie ot curinde i c.muri calculate. Aceste c.muri returneaz' la
executarea interogrii' %aloarea exresiilor Access asociate lor.
&xemlu de cam calculat intr(o interogare
Pentru a aduga un c.m calculat ntr(o interogare se tasteaz numele acestuia ntr(o
nou coloan din grila !uer& De#ign4 se adaug dou uncte* i aoi se comleteaz exresia
dorit.
Ee!plu2 Interogarea din "igura de mai sus calculeaz data limit .n la care trebuie onorat
fiecare comand.
E/pre#ii 5i operatori pentru interogri
&lementele unei exresii Access sunt*
( ,peratori3,
( %onstantele"
( 0denti4icatorii"
( 'unc5iile.
Operatorii utilizai n construirea exresiilor Access se ot clasifica astfel*
6 Arit.etici) H'('I'3' 9od ,returneaz restul mririi la un ntreg-'
A
,ridicare la utere-.
6 De atribuire 5i co.parare) 74 84 94 874 974 8 9(
Aceti oeratori returneaz %alorile logice True i "alse.' &xceie rerezint cazul n care unul
dintre oeratori are %aloarea -ull i deci' orice comarare %a returna %aloarea -ull(
6 "ogici) +nd, ,r, Not. Se ot utiliza entru construirea exresiilor Access comuse.
6 De concatenare a irurilor de caractere* H' J.
Operatori de identi:icare
$eratorii de identificare ' ; 5i ( ' sunt secific rogramului Access. $eratorul ; se mai
numete i operatorul bang. &i sunt folosii n urmtoarele situaii*
/ombinarea denumirilor claselor de obiecte i a denumirilor obiectelor entru a
selecta un anumit obiect sau a rorietii unui obiect. &xemlu*
"ormsK1ote
Deosebirea denumirilor obiectelor de denumirea rorietilor+ exemlu*
LextboxF."ontsizeMFN
Identificarea anumitor c.muri din tabele * studentiKmarca
/aracterul K este folosit entru seararea referinelor de obiecte. Sintaxa*
Clasa)obiect*Denumire)obiect.
/aracterul . sear obiectele i rorietile sau metodele acestora' sintaxa fiind*
Clasa)+biect*+biect.Proprietate sau Clasa)+biect*+biect.Metoda
Ali operatori
$erator Descriere &xemlu
Is
"olosit cu %aloarea logic 1ull entru a stabili dac o
%aloare este 1ull sau nu
Is 1ull
Is 1ot 1ull
4i;e
Determin dac un ir de caractere ncee cu un
anumit refix
4i;e ?&O&I@
4i;e ?"I4&PPPP@
In
Determin dac o %aloare de ti ir aare ntr(o list
de %alori
O In ,?AB/@'@ggg@'@"I4&@-
Bet2een
Determin dac o %aloare numeric sau o dat
calendaristic se gsete ntr(un anumit inter%al de
%alori
Bet2een F and G
&xresiile Access utiliz.nd oeratorul "i<e ermit secificarea unor criterii de selecie rin
cutarea unui ir ntr(un text. n interiorul textului se ot folosi caracterele generice P ,oate
nlocui orice caracter n oziia n care aare- i I ,orice n oziia n care aare i n
urmtoarele-.
"igura A. QF
Astfel exresia 4i;e =LomI= selecteaz toate numele care conin e rimele trei oziii
caracterele =Lom=' iar exresia 4i;e
u
Iescu= %a ermite selecia numelor terminate n =eseu=.
$eratorul In recizeaz mulimea de %alori admise entru un atribut. Interogarea din "igura A.
QQ %a selecta clienii de ti S!4 ,a cror denumire se termin cu aceste trei caractere- ce au
comandat rodusele =cablu telefonic= sau =banda izolanta=.
"igura A. QQ
Con#tantele utilizate n construirea exresiilor Access ot fi de natur*
6 nu.eric ,ex*FQNN'R'N- +
text (ex:"123", "TOMA ION", str. Viilor 15);
6 Dat calendari#tic ,ex* SFQ.>F.NFS ceea ce indic data de >F decembrie QNNF-.
Identi:icatorii sunt nume de obiecte Access ,tabele' atribute' formulare'etc- ca de exemlu
TProduseUK Tcod rodusU.
Prin intermediul identificatorilor se ot relua %alori entru definirea criteriilor de e formulare
create anterior. &xemlul din "igura A. Q> rezint o interogare ce %a afia comenzile i data
comenzilor entru un rodus a crui nume a fost selectat ntr(o casetaV de ti Lis&Bo ,numit
Lista/rodu.se) e un formular numit Selec5ie
6
.
Funciile care ot fi de natur*
6 Dat calendari#tic * Date,- 9ont#,-' Wear ,-' etc. &xemle*
Date() returneaz data curent+
7ont*(Date()8 returneaz numrul lunii calendaristice curente.
-ear(Date(9)) returneaz anul curent.
6 De tip te/t) 4en,- ( returneaz lungimea unui ir' Lrim7 ( elimin saiile de la nceutul i
de la sf.ritul unui ir' 4eft,- ( returneaz rimele n caractere de la nceutl unui ir' etc.
6 Mate.atice 5i trigono.etrice) ABS,- ( returneaz %aloarea absolut a unui numr' I1L,- (
returneaz artea intreag dintr(o %aloare numeric' !$:1D,- (rotun)ete o %aloare cu un
anumit numr de zecimale'S:9,- ( calculeaz suma' A0G,- ( calculeaz media' etc.
6 Financiare) P0,- returneaz %aloarea actual a unei anuiti ltite n rate eriodice egale'
S41,- returneaz %aloarea amortizarea unui mi)loc fix du o anumit erioad ,amortizare
liniar- etc.
6 Funcii dier#e) IS1:9&!I/,-' IS1:44,-' etc.
&xresii ot fi utilizate ntr(o interogare de selecie fie dret criterii de selecie fie entru a
calcula anumii indicatori. &xresia oate fi tastat n r.ndul 'ield al unei coloane ,exemlul din
"igura A. QN- sau oate fi construit cu a)utorul generatorului de exresii ,a crui fereastr se
acti%eaz efectu.nd clic dreata n linia 'ield i select.nd din mediul contextual oiunea Build).
&xemlul din "igura A. QA rezint utilizarea generatorului de exresii entru a calcula %aloarea
fiecrui rodus de e o comand.
"ereastra &xresion Builder cu un alt exemlu
Parametrizarea interogrilor
Interogrile de selecie rezentate .n n acest moment returneaz ntotdeauna tulurile
din tabelele surs care coresund unei anumite cereri fixe* clienii trebuie s aib domiciliul n
Bucureti sau Ploieti iar data li%rrii s fie anterioare datei curente ,%ezi exemlul de interogare
de selecie rezentat ntr(un aragraf anterior-. De multe ori ns' ar fi util o interogare al crei
criteriu de selecie s oat fi recizat la ni%el general i articularizat de utilizator n funcie de
necesitile sale de informare ,reciz.ndu(se concret ce realizri ale atributului sunt cutate-
c#iar n momentul execuiei cererii. $ astfel de interogare se caracterizeaz rin fatul c n grila
De#ign4 e coloana dorit' n linia Criteria4 se %a reciza ntre aranteze drete un mesa) ce
urmeaz a fi afiat la executarea cererii ermi.nd ca utilizatorul s introduc criteriul de selecie
dorit. Parametrii ot fi utilizai nu doar n r.ndul de criterii' ci i n formulele c.murilor
calculate' dac se dorete introducerea unui termen %ariabil n exresii.
Practic n aceste interogri se dorete ca exresia ,criteriul- din interogare s fie %ariabil
de la o execuie la alta se oate crea o interogare cu arametru. <n acest caz criteriile sunt
introduse n caseta de dialog &nter Parameter 0alue. Se desc#ide interogarea n mod design
%ie2' i n c.mul criteria se introduce un text ntre aranteze drete.
Acest text %a fi afiat n caseta de dialog &nter Parameter 0alue n momentul n care se
une n execuie interogarea' iar utilizatorul oate introduce criteriul de selecie n mod dinamic'
la execuie.
Lraducerea S74 %a fi*
S&4&/L studenti.marca' studenti.nume' studenti.Data1' rofile.codXrof'
secial.codXsec
"!$9 ,,rofile I11&! D$I1 ,ani I11&! D$I1 P4A1& $1 ani.an M P4A1&.as- $1
rofile.codXrof M P4A1&.codXrof- I11&! D$I1 secial $1 ,secial.codXsec M
P4A1&.codXsec- A1D ,rofile.codXrof M secial.codXrof-- I11&! D$I1 studenti $1
,ani.an M studenti.anXs- A1D ,secial.codXsec M studenti.codXsec- A1D ,rofile.codXrof M
studenti.codXrof-
YZ&!& ,,,studenti.Data1- Bet2een SF3F3F[\NS And SF3F3F[]NS- A1D
,,rofile.codXrof-MTIntroducei cod rofil*U--+
Interogri de sintetizare a datelor (gruparea datelor )
Pe l.ng osibilitatea de a utiliza exresii entru a aduga c.muri calculate n interogri'
Access ermite utilizatorilor realizarea unor cereri rin intermediul crora se ot alica funcii
unor nregistrri gruate du criterii restabilite. Prin intermediul acestor ^uer8 cu rol de
sintetizare a datelor se ot construi cu uurin cereri care s returneze totalul' media' minimul
sau maximul unor gruuri de tuluri.
Pentru a realiza o cerere de sintetizare a datelor se %a elabora interogarea de selecie
aduc.ndu(se n grila Query Design c.murile necesare i adug.ndu(se e%entualele c.muri
calculate' du care se %a asa butonul :otals din bara de instrumente. /a rezultat al acestei
oeraii' n grila Query Design, %a fi disonibil un nou r.nd intitulat :otal, n mod imlicit'
gruarea datelor du %alorile c.mului toate coloanele %or a%ea selectat n linia total oiunea
Group B& care conduce la resecti%. Se %a stra oiunea ;roup By n dretul c.murilor de
gruare' urm.nd ca entru celelalte c.muri s fie selectat din lista de selecie funcia dorit.
4ista conine nou funcii de ti agregat ce sunt rezentate n tabelul urmtor*
Funcia <eturnea$a Tipul de cmpuri pentru care se poate aplica
AVG Media aritmetic Number, Date, Currency, AutoNumber
CONT Numrul total de !alori Toate tipurile
F"#$T %rima !aloare Toate tipurile
&A$T ltima !aloare Toate tipurile
MA' Valoarea ma(im Te(t, Number, Date, Currency, AutoNumber
M"N Valoarea minim Te(t, Number, Date, Currency, AutoNumber
$TD)V De!iaia standar a
!alorilor
Number, Date, Currency, AutoNumber
$M $uma !alorilor Number, Date, Currency, AutoNumber
VA# Varianta !alorilor Number, Date, Currency, AutoNumber
Pe l.ng aceste funcii mai sunt disonibile oiunile #=E<E i E>/<ESS0,N.
( $iunea =*ere se %a utiliza dac un c.m trebuie utilizat entru a reciza anumite criterii
de selecie' dar nu se dorete efectuarea grurii du c.mul resecti%.
( $iunea E/pre##ion se %a utiliza entru c.murile calculate ce returneaz un singur rezultat
la ni%elul gruului.
Interogri de tip Cro##tab
Interogrile /rosstab sunt interogri sintetice cu a)utorul crora se oate determina cu
exactitate modul n care sunt afiate e ecran datele sintetice. Interogrile /rosstab afieaz
datele sintetice n forma tradiional a foilor de calcul tabelar asemntoare cu tabelele i%ot din
&xcel.
Practic' este osibil elaborarea unor tabele n care gruarea i ordonarea datelor se
realizeaz at.t e linii c.t i e coloane la intersecia crora se ot efectua calcule comlexe.
&taele ce trebuie urmate entru realizarea unei astfel de cereri de interogare sunt urmtoarele *
F. &laborarea unei interogri de selecie n modul Design View. Se %or alege tabelele ce conine
datele i se %or selecta c.murile dorite entru afiare i e%entualele c.muri entru care se %or
imune restricii.
Q. Din meniul Query se %a selecta oiunea %ross:ab Query ce %a a%ea ca efect imediat afiarea
liniilor :otal i %rosstab n grila interogrii.
>. Se %a secifica modul de agregare a datelor' resecti% funciile totalizatoare n linia :otal.
A. In linia %ross:ab se %a ota entru <ow =eading n cazul c.murile ce %or fi afiate e liniile
tabelului' %olu!n =eading entru c.mul ce %a fi afiat e %ertical' i Value entru %alorile ce
%or fi afiate la intersecia liniilor cu coloanele. &ste ermis existena mai multor c.muri
ordonate e orizontal (<ow =eading), dar a unui singur c.m %olu!n =eading i a unui singur
c.m Value
&xemlu* $ interogare care %a a%ea ca rezultat un tabel sintetic cu rezultatele la examene
ale unei secializri ar utea a%ea urmtoarea structur*
Pentru a crea o interogare se selecteaz c.murile dorite din unul sau mai multe tabele'
aoi se secific unul dintre c.muri ca fiind de tiul _/olumn Zeading@' unul sau mai multe
c.muri' de tiul _!o2 Zeading@ i unul de ti _%alue@.
/.mul de ti _%alue@ %a aare la intersecia unei linii cu o coloan+ entru acest c.m se
secific o funcie agregat ca de exemlu Sum' /ount' etc din linia Lotal. /elelalte c.muri' care
aar n tabelul sintetic %or a%ea clauza _Y#ere@ n linia Lotal i %or fi folosite la secificarea
unor criterii din interogare.
Interogri tip aciune
Pe l.ng interogrile entru selecia datelor i cele de ti %ross:ab care au fost
exemlificate n aragrafele anterioare' S.G.B.D. Access une la disoziia utilizatorilor o
categorie distinct de interogri care ermit maniularea i actualizarea nregistrrilor.
&xtrem de utile n exloatarea bazei de date acestea ot a%ea ca rezultat*
I /rearea de noi tabele (7a?e :able Query)
I Actualizarea datelor ()pdate Query)
I Adugarea de noi nregistrri (+ppend Query)
I Etergerea nregistrrilor (Delete Query)
9odul de elaborare a unei interogri ti aciune este similar celui rezentat n cazul
interogrilor de selecie' resuun.nd ca eta sulimentar secificarea exlicit rin
intermediul meniului Query a tiului de cerere dorit.
9odificrile asura bazei de date sunt efectuate doar n momentul execuiei interogrii
care se oate realiza rin asarea butonului din bara de instrumente Query Design
sau rin desc#iderea interogrii n fereastra Database .
&ste recomandat roiectarea n realabil a cererii ca o siml interogare de selecie i
%erificarea rezultatelor ce %or fi afectate deoarece nu exist osibilitatea re%enirii n cazul
tergerii sau modificrii eronate a nregistrrilor .
Interogri de tip Ma<e Table
4a crearea acestor tiuri de interogri' du includerea tabelelor surs i alegerea tiului
de interogare _9a;e table@' Access %a solicita utilizatorului numele tabelului de date care se %a
crea*
1oul tabel %a relua din tabelele existente toate c.murile selectate n linia "ield din
tabelele existente' e%entual cu secificarea unui criteriu.
Lraducerea S74 %a fi*
S&4&/L studenti.marca' rofile.codXrof' secial.codXsec' ani.an' P4A1&.codXdisc
I1L$ TnoteU
"!$9 ani I11&! D$I1 ,,,rofile I11&! D$I1 P4A1& $1 rofile.codXrof M
P4A1&.codXrof- I11&! D$I1 secial $1 ,secial.codXsec M P4A1&.codXsec- A1D
,rofile.codXrof M secial.codXrof-- I11&! D$I1 studenti $1 ,secial.codXsec M
studenti.codXsec- A1D ,rofile.codXrof M studenti.codXrof-- $1 ,ani.an M studenti.anXs-
A1D ,ani.an M P4A1&.as-+
Interogri de tip >pdate
Aceste tiuri de interogri ermit actalizarea datelor dintr(un tabel sau mai multe tabele.
Du alegerea tiului de interogare ?:date 7uer8@ i secificarea c.murilor care se %or
actualiza' n linia :date Lo se %a introduce exresia care %a actualiza c.mul resecti%'
e%entual cu secificarea unui criteriu' ca n exemlul urmtor*
<n limba) S74*
:PDAL& TnoteU S&L TnoteU.notaXfin M Int,N.GITnoteUKTnotaXexUHN.AITnoteUKTnotaXlabU
HN.R-
YZ&!& ,,,TnoteUKTnotaXexU-CMR- A1D ,,TnoteUKTnotaXlabU-CMR--+
Lrebuie menionat c n cadrul interogrilor )pdate nu sunt admise modificri asura
c.murilor c#eie rimar sau modificri ce ar utea conduce la neresectarea restriciilor de
integritate. $ situaie ce ar utea genera erori sur%ine atunci c.nd' n cazul c.murilor de ti text'
%aloarea rezultat deete lungimea c.mului din tabel' n acest caz %aloarea %a fi trunc#iat
din artea dreat.
Interogri de tip Delete
Interogrile de ti delete ermit tergerea nregistrrilor dintr(o tabel de date' e%entual
cu secificarea unui criteriu. Se %or selecta tabelele surs entru interogare' aoi se %a selecta
tabela din care se fac tergerile astfel* se oziioneaz mouse(ul e caracterul I de la tabelul din
care se %or face tergerile' aoi se trage acest caracter .n n rima coloan+ restul c.murilor
care se %or introduce %or fi utilizate doar la secificarea unui criteriu de tergere. Se obser% c
e linia Delete a arut clauza "rom n dretul tabelului din care se fac tergerile' iar n dretul
celorlalte c.muri a arut clauza Y#ere' care secific o condiie.

<n limba) S74*
D&4&L& studenti.I' ani.an
"!$9 ani I11&! D$I1 ,,rofile I11&! D$I1 secial $1 rofile.codXrof M
secial.codXrof- I11&! D$I1 studenti $1 ,secial.codXsec M studenti.codXsec- A1D
,rofile.codXrof M studenti.codXrof-- $1 ani.an M studenti.anXs
YZ&!& ,,,ani.an-M=R=--+
I-TEROG?RI 1E-TR> AD?>GAREA DE @-REGISTR?RI
Interogrile entru adugare ofer utilizatorilor osibilitatea inserrii de noi nregistrri n
tabelele ornind de la nregistrrile existente.
Pentru a realiza o interogare de ti +ppend este necesar arcurgerea urmtoarelor etae*
F. &laborarea unei interogri de selecie n modul Design View. Se %a alege tabela ce conine
datele i %or fi luate n calcul doar c.murile ce conin %alorile ce %or fi adugate' iar' n cazul n
care se dorete alicarea unor criterii de selecie a acestora' se %or aduga c.murile de
restricionat.
Q. Se %or tasta e%entualele condiii n linia de criterii a interogrii.
>. Din meniul Query se %a selecta oiunea +ppend Query ce %a conduce la afiarea casetei
+ppend n care se %a selecta numele tabelei n care dorim adugarea.
A. Lransformarea interogrii de selecie ntr(o interogare de adugare are ca efect imediat
aariia r.ndului +ppend :o n fereastra de roiectare a interogrii' n acest r.nd se %a secifica
entru fiecare c.m din tabela ce conine datele denumirea c.mului corsondent din tabela
unde %or fi adugate.
Folo#irea S!" An Acce##
4imba)ul S74 este limba)ul comun entru gestiunea bazelor de date client(ser%er.
Princialul su a%anta) este fatul c este un limba) standardizat' ut.ndu(se folosi un set comun
de instruciuni n toate sistemele de gestiune a bazelor de date comatibile S74.
S74 este un limba) de alicaie entru bazele de date relaionale' nu un limba) de
rogramare.
Sintaxa S74
/omenzile S74 se imart n ase categorii*
F. Data Query Language (DQL) curinde comenzi care returneaz date din tabele i
determin modul n care sunt rezentate rezultatele. /omanda S&4&/L este
rinciala comand din aceast categorie.
Q. Data 7anipulation Language (D7L) conine comenzile I1S&!L i D&4&L&
care ermit adugare sau tergere de r.nduri ntregi recum i comanda
:PDAL& care modific datele din coloanele secificate de r.nduri.
>. :ransaction /rocessing Language (:/L- curinde comanzile* B&GI1
L!A1STA/LI$1U' /$99IL L!A1STA/LI$1`Y$!aU i !$44BA/a
L!A1STA/LI$1`Y$!aU' care grueaz mai multe oeraii D94. Dac
oeraia D94 a unei tranzacii nu reuete' oeraiile D94 recedente sunt
anulate ,derulate naoi- .
A. Data De4inition Language (DDL) include instruciunea /!&AL& LAB4& care
definete structura tabelelor. /omenzile DD4 se ot folosi entru modificarea
tabelelor recum i entru crearea i tergerea indexurilor. Pentru crearea
indexurilor se folosete comanda /!&AL& I1D&O.
R. %ursor %ontrol Language (%%L) ermite selectarea entru rocesare a unui
singur r.nd din setul de rezultate al interogrii..
G. Data %ontrol Language (D%L) efectueaz funcii administrati%e cum ar fi
acordarea i ridicarea ri%ilegiilor de folosire a bazei de date ,G!A1L i
!&0$a&-.
/u%intele c#eie se clasific n*
/omenzi ,ex. S&4&/L-
/alificati%e ,ex. YZ&!&-
/lauze ,ex. $!D&! BW-
$erattori ,$eratorii cunoscui sau D$I1-
"uncii entru sintetizarea gruurilor ,ex. 9I1,--
Alte cu%inte c#eie
Scrierea interogrilor de #electare cu S!"
Se folosete o instruciune S&4&/L care returneaz un tabel de interogare ,denumit set
de rezultate-. Sintaxa*
S&4&/L TA44`DISLI1/L`DISLI1/L!$YU TL$P n TP&!/&1LUU listaXselectie
"!$9 listaXtabele
TYZ&!& conditieU
T$!D&! BW criteriu TAS/`D&S/UU
unde*
lista@selectie determin c.murile care se %or include n rezultatul interogrii ,sunt cele
din linia 'ields n mod Design' %alidate cu caseta de %alidare s#o2-.
/alificati%ele oionale A44' DISLI1/L i DISLI1/L!$Y secific dac sunt ermise
r.nduri cu acelai coninut sau nu.
9odificatorul oional L$P n TP&!/&1LU limiteaz rezultatele interogrii la rimele n
r.nduri sau la n rocente din totalul rezultatelor interogrii.
"!$9 LAB4& lista@tabele secific sursa de tabele a interogrii.
YZ&!& condi5ie filtreaz rezultatele interogrii
$!D&! BW criteriu secific ordinea de sortare a unui obiect din sursa de date a
interogrii.
&xemlu*
S&4&/L nume' marca
"!$9 studeni
YZ&!& data1 4Ia& ?I3I3F[]N@
$!D&! BW nume+
<n S74 toate instruciunile se nc#eie cu caracterul ?+@.
"olosirea semnelor de unctuaie i a simbolurilor din S74
Virgula se folosete entru seararea membrilor unei liste
/arante$ele drepte se folosesc atunci c.nd denumirea unui obiect include
caractere albe
Dac sunt mai multe tabele surs se folosete caracterul punct ca delimitator
,ex. Studenti.marca-
;*ili!elele ? se folosesc entru %alori de ti text
%aracterele A Bi 9 ermit substituirea cu un singur caracter sau cu mai multe.
%aracterul C se folosete n oeratorul 4Ia& entru rerezentarea unei
singure cifre' sau entru delimitarea %alorilor de ti Date3Lime din exresii
/rearea unei interogri cu instruciuni S74
F. Se desc#ide baza de date dorit ,de ex. Studeni-' aoi o interogare n Design 0ie2
Q. Se nc#ide S#o2 Lable fr a selecta un tabel.
>. Se desc#ide S74 0ie2.
A. Se scrie instruciunea ,S&4&/L de ex.-
"olosirea funciilor agregate din S74
Aceste funcii se folosesc entru a calcula totalul' media sau alte date statistice entru
gruurile de nregistrri cu o %aloare de atribut comun ,se %a aduga clauza G!$:P BW-. Se
oate limita i mai mult rezultatul clauzei G!$:P BW folosind calificati%ul oional ZA0I1G.
Sintaxa*
S&4&/L TA44` DISLI1/L` DISLI1/L!$YU
"unctieXagregat,cam- AS numeXalias
T' listaU
"!$9 numeXt abele
TYZ&!& condiieU
G!$:P BW criteriuXgruare
TZA0I1G criteriuXagregatU
T$!D&! BW criteriuXsortareU
unde c.mul folosit ca arametru ntr(o funcie agregat trebuie s fie numeric.
&x*
S&4&/L A%g,notaXfin- AS media' codXdisc
"!$9 TnoteU
YZ&!& codXsecM=/&= A1D anM=F=
G!$:P BW codXdisc
$!D&! BW A%g,notaXfin- D&S/+
Se obine ca rezultat media e disciline a unei secializri ,/&-.

/rearea uniunilor cu S74
Se utilizeaz structura D$I1 $1 care secific tabelul care trebuie unit i relaia dintre
c.muri.
Sintaxa*
S&4&/L TA44` DISLI1/L` DISLI1/L!$YU
"rom numeXt abel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura
T numeXtabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura U
TYZ&!& conditieU
T$!D&! BW criteriuU
unde* numeXtabel bI11&!`4&"L`!IGZLc D$I1 tabelXlegatura secificT denumirea
tabelului culat cu celelalte tabele. "iecare tabel care artici ntr(o uniune trebuie introdus
naintea clauzei D$I1. I11&! definete o uniune intern' 4&"L' !IGZL definesc uniuni
externe.
$1 criteriuXlegatura definete cele dou c.muri care trebuie unite i relaia dintre ele.
&xemlu* Lestai efectul instruciunii*
S&4&/L nume' studenti.marca' notaXfin' codXdisc
"!$9 studenti I11&! D$I1 TnoteU $1 studenti.marcaMnote.marca
YZ&!& ,studenti.codXsecM=/&=- and ,note.codXdiscMFAN\-
$!D&! BW studenti.nume+
/reare interogri de aciune cu S74
Interogri :date
Sintaxa*
:PDAL& tabel bI11&!` 4&"L` !IGZLc D$I1 tabelXl egatura
$1 criteriuXl egatura
T numeXtabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura U
S&L camMexresie T' camMexresieU
TYZ&!& conditieU
Interogri 9a;e table
S&4&/L listaXc.muri
I1L$ tabelXnou
"!$9 tabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura
T numeXtabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura U
TYZ&!& conditieU
Interogri de ti Aend
I1S&!L I1L$ tableXdest ina ie
S&4&/L TA44` DISLI1/L` DISLI1/L!$YU
"rom numeXt abel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura
T numeXtabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura U
TYZ&!& conditieXadaugareU
T$!D&! BW criteriuU
Interogri de ti Delete
D&4&L& "!$9 tabel
TYZ&!& conditieXstergereU
Interogri de ti /rosstab
L!A1S"$!9 functieXagregat,cam- TAS aliasU
S&4&/L TA44` DISLI1/L` DISLI1/L!$YU
"rom numeXt abel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura
T numeXtabel bI11&!` 4&"L` !IGZLc D$I1 tabelXlegatura
$1 criteriuXl egatura U
PI0$L c.m

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