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