You are on page 1of 71

UNIVERSITATEA TRANSILVANIA BRAOV

CENTRUL DE FORMARE CONTINU PENTRU INFORMATIC APLICAT I DEZVOLTARE TEHNOLOGIC

ef lucr.dr.ing. ALEXANDRU C. FILIP

BAZE

DE

DATE

TEORIE I APLICA II n Microsoft ACCESS

2005

CUPRINS
PREFA .....................................................................................................................................5 NO IUNI DE BAZ PRIVIND SISTEMELE DE GESTIUNE A BAZELOR DE DATE ..............................................................................................................................................7 1.1. Ce este o baz de date? Concepte generale. ..........................................................................7 1.2. Modelul rela ional de baz de date......................................................................................10 SISTEMUL DE GESTIUNE A BAZELOR DE DATE RELA IONALE MICROSOFT ACCESS ........................................................................................................15 2.1. Ce este Microsoft ACCESS? Concepte generale ..............................................................15 2.2. Proiectarea structurii unei baze de date...............................................................................20 2.3. Tabele. Creare structur, afiare nregistrri .......................................................................24 2.4. Tipuri de date. Propriet ile cmpurilor ..............................................................................29 2.5. Rela iile dintre tabele. Creare i configurare.......................................................................34 2.6. Afiarea selectiv i ordonarea nregistrrilor.....................................................................36 2.7. Biblioteca de func ii integrate Access .................................................................................38 2.8. Proiectarea i execu ia interogrilor ....................................................................................40 2.9. Proiectarea i utilizarea formularelor ..................................................................................49 2.10. Proiectarea i utilizarea rapoartelor...................................................................................54 2.11. Proiectarea i utilizarea panourilor de comand................................................................57 2.12. Proiectarea i utilizarea macrocomenzilor ........................................................................60 ELEMENTE DE BAZ PRIVIND NTRE INEREA I ADMINISTRAREA UNEI BAZE DE DATE...........................................................................................................62 3.1. Aspecte privind securitatea datelor .....................................................................................62 3.2. Aspecte privind integritatea datelor ....................................................................................64 3.3. Aspecte privind importul i exportul datelor.......................................................................65 Anexa nr.1 Func ii predefinite integrate n Access .....................................................................67 Anexa nr.2 Ac iuni asociate macrocomenzilor ...........................................................................70 BIBLIOGRAFIE........................................................................................................................71

PREFA

n zilele noastre fenomenul informatic este n plin expansiune. Creterea permanent a vitezei de calcul, a capacit ii de stocare a datelor, dezvoltarea continu a componentei software a sistemelor informatice sunt mereu stimulate de necesitatea prelucrrii n timp tot mai scurt a unei cantit i tot mai mari de informa ii. Sistemele de gestiune a informa iilor numite generic baze de date constituie un puternic instrument pentru rezolvarea acestei probleme, motiv pentru care sunt utilizate n aproape orice domeniu de activitate al unei societ i dezvoltate. Cercetrile ntreprinse n domeniul bazelor de date au cutat determinarea unor metode eficiente care s permit descrierea i gestionarea corect a unei anumite categorii de informa ii i punerea la punct a unor medii i limbaje de programare uor de asimilat i de utilizat de ctre operatorul uman. Din multitudinea de sisteme informatice create pn n prezent pentru gestiunea bazelor de date, Microsoft Access este unul dintre cele mai cunoscute, probabil datorit includerii acestuia n pachetul Microsoft Office, att de popularul sistem informatic, ajuns astzi la ultimele versiuni, integrate sub sistemul de operare Windows XP. n acest curs s-a ncercat o abordare unitar a problemei, incluznd att aspecte teoretice generale, care unora li se vor prea prea abstracte, dar care sunt foarte necesare pentru n elegerea conceptului de baz de date, precum i aspecte practice efective, prin includerea unei colec ii de aplica ii originale, o parte rezolvate i explicate, alt parte propuse spre rezolvare. Gradul de ptrundere n miezul sistemului Access este suficient pentru a permite cititorului, dup parcurgerea cr ii i execu ia tuturor aplica iilor, s poat crea, dezvolta i gestiona o baz de date de dimensiuni medii ntr-un mod destul de apropiat de unul profesional. Modul de abordare a problemelor s-a ncercat a fi unul lejer, accesibil, descrierea diferitelor elemente fiind completat de imagini sugestive i ndemnuri de rezolvare a aplica iilor. Pentru n elegerea deplin a celor prezentate, se presupune o minim cunoatere a lucrului cu dispozitivele periferice (tastatur, mouse, imprimant) i a sistemului de operare Windows (gestiunea fiierelor). De asemenea, este util i cunoaterea altor module ale pachetului Microsoft Office (Word, Excel). Dei lucrarea are ca suport tehnic una dintre versiunile cele mai noi ale sistemului (Access 2002- ver.10), majoritatea componentelor descrise exist i n versiunile anterioare (Access 2000, 97 etc.). n capitolul 1 sunt prezentate elementele teoretice esen iale privind crearea i dezvoltarea unei baze de date moderne. Sunt explicate no iunile de tabel, cmpuri, nregistrare, rela ii ntre tabele, structura optim a tabelelor. n capitolul 2 sunt descrise principalele componente ale sistemului Microsoft Access sunt descrise obiectele de tip tabel, formular, raport, interogare i panou de comand, nso ite i de exemple. Capitolul 3 prezint cteva dintre metodele necesare pentru o administrare eficient i corect a unei baze de date. Capitolul 4 cuprinde un numr de 8 aplica ii, fiecare dintre acestea con innd exemple rezolvate precum i exemple propuse spre rezolvare ale cror solu ii sunt oferite prin imagini. 5

Autorul cursului pune la dispozi ia celor interesa i nregistrrile din cele dou baze de date pe care sunt exemplificate aplica iile, pentru a avea un suport tehnic corespunztor testrii acestora. Voi fi recunosctor celor care vor considera oportun s aduc observa ii i sugestii pentru mbunt irea celor prezentate.

Succes n descifrarea tainelor bazelor de date!


Braov, martie 2005 dr.ing.Alexandru C. Filip (filipal@unitbv.ro)

Conven ii utilizate n curs Atunci cnd nu se precizeaz altfel, sintagmele click, dublu-click sau depunerea prompterului i selectarea cu ajutorul mouse-ului presupun apsarea butonului stnga al mouse-ului. Cnd este necesar ac ionarea butonului din dreapta, acest lucru este precizat. Cnd se solicit alegerea unei op iuni de meniu este vorba de meniul principal al aplica iei, aflat n partea superioar a ferestrei de afiare (File, Edit, ). Cnd se solicit alegerea unei op iuni din meniul contextual este vorba de meniul afiat prin apsarea butonului dreapta al mouse-ului. Aspectul acestui meniu se modific n func ie de obiectul sau entitatea active n momentul selectrii. n func ie de valoarea stabilit de ctre sistemul de operare Windows, separatorul zecimal poate fi punctul . (sistemul american) sau virgula , (sistemul romnesc). n exemplele considerate n curs s-a considerat ca separator zecimal virgula.

International Copyrights Microsoft Windows, Microsoft Office, Microsoft Access sunt mrci nregistrate Microsoft Corporation, Redmond, Washington, SUA, 1983-2004. Toate celelalte mrci i logouri prezente n curs sunt mrci nregistrate ale companiilor respective. Copyright 2005 Universitatea Transilvania Braov Toate drepturile asupra acestei versiuni apar in Universit ii Transilvania Braov i autorului. Reproducerea integral sau par ial a textului sau a ilustra iilor din acest curs este posibil numai cu acordul scris al autorului.

NO IUNI DE BAZ PRIVIND SISTEMELE DE GESTIUNE A BAZELOR DE DATE

1.1. Ce este o baz de date? Concepte generale.

n societatea contemporan gestionarea informa iei este o caracteristic definitorie a existen ei acesteia. Constatm astzi c este nevoie ca un volum tot mai mare de informa ii s fie gestionat (memorat, prelucrat, distribuit etc.) ntr-un timp ct mai scurt i cu costuri acceptabile. Bazele de date sunt acele instrumente prin care se poate realiza acest lucru. O baz de date1 este o colec ie de informa ii despre anumite obiecte, organizate dup o serie de reguli bine stabilite. O baz de date se creaz pentru a stoca informa ii la care vor putea avea acces diferi i utilizatori cu diferite solicitri. Din acest punct de vedere, bazele de date pot fi clasificate n dou categorii: baze de date statice (de arhivare) n care informa iile nu sunt prelucrate n vreun fel i odat introduse acestea nu se mai modific, datele noi se adaug doar la cele existente; baze de date dinamice n care informa iile sunt prelucrate i se pot modifica n timp. Exemple Eviden a produselor comercializate de ctre o societate comercial Eviden a produc iei de bunuri ntr-o unitate de produc ie Eviden a personalului unei societ i comerciale Eviden a cr ilor ntr-o bibliotec Eviden a candida ilor la concursul de admitere la o facultate Colec ia electronic a edi iilor unor ziare

O baz de date modern, care se afl n pas cu cerin ele lumii informatice de astzi nu trebuie s con in numai informa iile propriu-zise, ci i regulile de gestionare ale acestora precum i obiectele necesare acestei gestionri. Pentru ca o baz de date s poat fi construit i prelucrat, ntr-un cuvnt gestionat de ctre utilizatorul uman prin intermediul calculatorului este necesar un limbaj de nivel nalt, o interfa . Acest limbaj nu este altceva dect un sistem de programe specializat, proiectat n acest
1

engl. database

scop, care poart numele generic de Sistem de Gestiune a Bazelor de Date (SGBD), n limba englez DataBase Management System (DBMS). Pentru ca un SGBD s permit gestionarea corespunztoare a informa iilor dintr-o baz de date modern, acesta trebuie s ating cteva obiective principale: s permit gestionarea simultan a unor date de tipuri diferite (numerice, alfanumerice, iruri de caractere etc.); s evite informa iile redundante, adic duplicatele (o anumit informa ie s nu exist n mai multe locuri ale aceleai baze de date); s asigure un acces rapid, uor i totodat controlat la informa ii unor categorii diferite de utilizatori, n func ie de nivelul ierarhic i de instruire al acestora. De asemenea, s permit accesul la informa ii prin mijloacele informaticii moderne de astzi (re ele de calculatoare, internet etc.); s asigure integritatea informa iilor ntr-o baz de date dinamic, aflat ntr-o continu transformare; s asigure posibilitatea de extindere a bazei de date, conform cerin elor unei organiza ii n dezvoltare permanent. Pentru ca un SGBD s permit interac iunea dintre baza de date i utilizator el trebuie s con in un anumit limbaj de descriere a datelor (LDD) prin care s poat fi proiectat structura bazei de date i un anumit limbaj de prelucrare a datelor (LPD) prin care s poat fi proiectate obiectele necesare gestionrii datelor memorate n baza de date respectiv. Cu ajutorul LDD utilizatorul uman descrie structura bazei de date, componentele acesteia, rela iile care exist ntre ele, stabilete drepturile de acces ale diverilor solicitan i la informa iile respective. Cu ajutorul LPD, utilizatorul uman creaz obiectele de gestionare a informa iilor din baza de date, prin care se pot aduga, prelucra, elimina informa ii. De multe ori, n cadrul SGBD moderne, cele dou limbaje nu sunt clar diferen iate, compunnd un singur limbaj modular ale crui componente, unele realizeaz func iile unui LDD, iar celelalte pe acelea ale unui LPD. Din punct de vedere al utilizatorilor unei baze de date acetia se mpart n trei categorii: Administratorii bazei de date care proiecteaz structura ini ial a bazei de date, creaz i gestioneaz obiectele acesteia, reglementeaz i controleaz accesul celorlal i utilizatori la informa ii, asigur ntre inerea curent a bazei de date, sunt cunosctorii LDD i LPD; Programatorii de aplica ii care pot crea anumite obiecte, aplica ii care s prelucreze informa iile din baza de date, utiliznd LPD; Utilizatorii obinui i care ob in informa ii din baza de date pe baza obiectelor create de ctre administratori sau programatori, fr s cunoasc LDD sau LPD. Rela iile ierarhice care se pot stabili n gestiunea unei baze de date prin intermediul unui SGBD pot fi cele prezentate n schema din figura 1.1. Pentru crearea unei baze de date corecte, care s corespund scopului propus, este necesar o modelare logic a datelor, adic stabilirea unei scheme conceptuale care reprezint nivelul logic al bazei de date. Limbajul de descriere a datelor (LDD) este cel prin care se trece de la schema conceptual la nivelul fizic al bazei de date, adic la fiierele memorate pe diferite medii de stocare care con in informa iile. Stabilirea schemei conceptuale a unei baze de date nu este un lucru ntotdeauna uor. Din acest punct de vedere, prerile teoreticienilor sunt unanime. Chiar dac, la un moment dat, se impune utilizarea unei baze de date pentru gestionarea unui anumit tip de informa ii ntr-o organiza ie, trebuie s se analizeze temeinic ce legturi, rela ii exist ntre acele informa ii i 8

altele care sunt administrate n mod curent de organiza ia respectiv. S-ar putea desprinde concluzia c i alte informa ii care ini ial nu erau cuprinse n proiectul bazei de date ar trebui incluse pentru o dezvoltare ulterioar mai eficient. O schem conceptual bine proiectat nu ar trebui s depind de SGBD ales pentru implementarea ei. ADMIN Administrator sistem Programatori UTILIZATORI cereri

Aplica ii

LDD
limbajul de descriere a datelor

LPD SGBD interfa a


limbajul de prelucrare a datelor

TABELELE informa iile stocate fizic

Utilitare - formulare introducere date - editor rapoarte - reprezentri grafice - panouri de comand - pagini de acces la date - generatoare de aplica ii - etc.

Fig.1.1. Schema general a unui sistem de gestiune a datelor n literatura de specialitate sunt recunoscute, aproape unanim, patru tipuri de modele: modelul rela ional, modelul re ea, modelul arborescent i modelul orientat pe obiecte. Dintre cele patru, modelul rela ional se caracterizeaz prin simplitate, poate fi mai uor n eles i de ctre nespecialiti, motive pentru care a fost implementat n multe SGBD actuale. Deoarece SGBD prezentat n aceast lucrare (Microsoft Access) are la baz modelul rela ional, acest model va fi descris mai n amnunt n subcap.1.2. Dup stabilirea modelului logic (schema conceptual) a bazei de date, urmtoarea etap este proiectarea structurilor de date prin care se poate implementa acel model. Proiectarea structurii optime a unei baze de date este o problem deosebit. Aceast proiectare depinde foarte mult de posibilit ile unui SGBD de a atinge acele obiective principale, prezentate anterior. Limbajul de prelucrare a datelor (LPD) este direct responsabil de aceste aspecte. O baz de date modern, performant trebuie s aib anumite propriet i, dintre care cele mai importante sunt: 9

Corectitudine: s reprezinte fidel modul de lucru n sistemul real; Simplitate: structura tabelelor s fie clar i uor de n eles; Neredundan : o informa ie s nu existe de mai multe ori n baza de date (absen a duplicatelor; Distributivitate: informa iile s fie uor accesibile ct mai multor utilizatori i aplica ii; Extensibilitate: s existe posibilitatea dezvoltrii de noi componente fr a afecta major structura existent la un moment dat; Flexibilitate: s poat adapta uor datele la eventuale modificri; Integritate: ntre inerea bazei de date s nu afecteze existen a i corectitudinea informa iilor. Tehnologia de proiectare a unei baze de date moderne presupune parcurgerea succesiv a unor etape bine definite, dup cum urmeaz: Identificarea obiectelor (entit i, tabele) prin care se vor memora informa iile; Identificarea propriet ilor semnificative al obiectelor; Stabilirea rela iilor dintre obiecte i a regulilor de operare a acestor rela ii; Crearea obiectelor prin care baza de date este exploatat (actualizri, tranzac ii, modificri, reguli de integritate a datelor; Stabilirea drepturilor de acces la date a diverilor utilizatori; Realizarea documenta iei pentru exploatarea eficient a bazei de date Crearea procedurilor de ntre inere a bazei de date (siguran a datelor, copiere, dezvoltare etc.). n ultima perioad de timp a ptruns i n lumea bazelor de date conceptul de proiectare orientat pe obiecte. Acest tip de abordare face o analogie cu lumea real, format din obiecte care au anumite propriet i i un anumit comportament. i obiectele unei baze de date au propriet i i metode (comportament). Propriet ile pot fi statice (nu se modific n timp) sau dinamice (se modific n timp). Metodele controleaz rspunsul obiectelor la anumite evenimente care le afecteaz. Avantajul utilizrii acestui tip de proiectare este acela al unei generalizri a modelului logic, astfel nct acesta s poat fi utilizat pentru mai multe aplica ii, cu adaptri minime la un caz concret. SGBD moderne trebuie s includ n LDD i LPD i posibilitatea aplicrii conceptului de proiectare orientat pe obiecte.

1.2. Modelul rela ional de baz de date


Un model rela ional de baz de date are ca fundament structuri de date numite tabele n care sunt stocate informa iile propriu-zise. ntre tabele se stabilesc rela ii de asociere, a cror existen este guvernat de un set de reguli precise. Informa iile cuprinse n tabele pot fi controlate de restric ii algebrice. Modelul mai cuprinde i opera ii de prelucrare a datelor. Tabelul (tabela)2 este o structur de tip matrice, n care informa iile sunt aezate pe rnduri i coloane. Coloanele definesc tipul informa iei, iar rndurile, valorile acesteia. O coloan, con innd un anume tip de informa ie, se numete cmp3. Un rnd, con innd valorile
2 3

engl. table engl. field

10

corespunztoare tuturor coloanelor, se numete nregistrare4. Fiecare cmp al tabelului are o denumire prin intermediul creia va putea fi identificat atunci cnd se face referire la el. Lista cmpurilor tabelului formeaz structura acestuia, care este stabilit de ctre proiectantul bazei de date dup nite reguli specifice. Exemplul 1 Eviden a tipurilor de materiale utilizate ntr-o ntreprindere poate fi inut sub forma unui tabel (nomenclator de materiale), conform tabelului 1.1. Tabelul 1.1. Codul materialului 01013 01025 01026 02001 02002 04001 Denumirea materialului O el OL 37 O el OLC 45 O el OLC45 Font cenuie Fc 100 Font cenuie Fc 150 Ulei mineral M20 Tipul semifabricatului Bar laminat 20 Bar laminat 30 Bar laminat 40 Bloc 250x150x50 Bloc 250x150x50 Butoi 200 l Unitatea de msur kg kg kg kg kg l

Structura prezentat n tabelul 1.1. con ine patru cmpuri care pot avea denumirile codmat, denmat, tipsem, unms. O nregistrare a tabelului este 02002 Font cenuie Fc 150 Bloc 250x150x50 kg

Valorile atribuite cmpurilor unui tabel al bazei de date trebuie s aib anumite propriet i care sunt stabilite la definirea structurii tabelului. Aceste propriet i se refer la tipul de date (numeric, text etc.), la domeniul permis al valorilor, la anumite restric ii privind valorile introduse etc. Posibilit ile de control al acestor propriet i depind n mare msur de SGBD-ul ales pentru gestionarea bazei de date. n orice tabel al unei baze de date fiecare nregistrare trebuie s fie unic, adic valorile cmpurilor acesteia s difere de ale celorlalte nregistrri pentru cel pu in unul dintre cmpuri. Dup valoarea din acel cmp, nregistrarea respectiv poate fi identificat. Acel cmp poart denumirea generic de cheie de identificare. Deoarece identificarea unei nregistrri a unui tabel s poate face dup valorile dintr-un cmp sau din multe cmpuri, iar tabelul respectiv se afl, n mod normal, n rela ii cu alte tabele ale bazei de date, stabilite pe baza unor cmpuri, exist mai multe tipuri de chei de identificare, dup cum urmeaz: Cheie principal (primar) 5 un set de valori (cmpuri) care identific n mod unic o nregistrare a unui tabel. Pentru o anumit valoare a cheii principale exist o singur nregistrare i numai una. Cheia principal poat fi definit pe un singur cmp al unui tabel dac valorile acelui cmp sunt unice pentru orice nregistrare a tabelului;
4 5

engl. record engl. primary key

11

Cheie candidat 6 orice cmp al tabelului care ntrunete condi iile pentru a fi o cheie primar; n exemplul nr.1, cmpurile codmat i denmat sunt chei candidate; codmat este cel mai corect a fi ales cheie primar, deoarece pot exista mai multe nregistrri referitoare la acelai material, dar care se refer la tipuri diferite de semifabricate (vezi cele dou nregistrri cu O el OLC 45); Cheie compus (concatenat) 7 este cheia primar care se definete pe cel pu in dou cmpuri ale tabelului; o nregistrare este identificat printr-un grup de valori, corespunztoare cmpurilor care definesc cheia compus; Exemplul 2 n tabelul 1.1. cmpul cod material are o valoare unic pentru fiecare nregistrare (fiecare tip de material). Nu trebuie s existe dou tipuri de materiale cu acelai cod atribuit. n consecin , acest cmp poate ndeplini func ia de cheie principal n tabelul respectiv. n cadrul modelului rela ional, ntre informa iile stocate n diferitele tabele ale bazei de date se stabilesc rela ii de asociere. Acestea constituie unul dintre elementele de esen conceptual a modelului rela ional al bazelor de date. Pe baza acestui model s-au dezvoltat i astzi sunt n puternic expansiune Sistemele de Gestiune a Bazelor de Date Rela ionale (SGBD-R) Relational Database Management Systems (R-DBMS), din care face parte i Microsoft Access. O rela ie se stabilete ntre dou tabele ale bazei de date, prin intermediul a dou cmpuri, cte unul din fiecare tabel, adic este de tip binar (cmp cmp). Exist trei tipuri de rela ii: Rela ie unu-la-unu (one-to-one) 1:1 n care unei nregistrri din primul tabel (partea stng) i corespunde cel mult o nregistrare n cellalt tabel (partea dreapt) i reciproc; Rela ie unu-la-mai mul i (one-to-many) 1:N n care unei nregistrri din primul tabel i pot corespunde mai multe nregistrri n cellalt tabel i fiecrei nregistrri din al doilea tabel i corespunde numai una n primul tabel; primul tabel se poate numi tabel primar, iar cel de-al doilea, tabel corelat; Rela ie mai mul i-la-mai mul i (many-to-many) M:N n care unei nregistrri din primul tabel i pot corespunde mai multe nregistrri n cellalt tabel i reciproc.

Cmpurile prin care se stabilesc rela ii ntre dou tabele ale bazei de date trebuie s con in acelai tip de dat. Mul imea tuturor rela iilor stabilite ntre tabelele unei baze de date formeaz schema rela ional8 a bazei de date. n unele SGBD moderne, cum ar fi Microsoft Access, aceast schem este memorat i poate fi vizualizat i gestionat ntr-o sec iune special. Avantajele utilizrii rela iilor ntr-un SGBD sunt: evitarea memorrii tuturor informa iilor necesare ntr-un singur tabel, de dimensiuni mari, cu multe cmpuri, care este mai dificil de gestionat; micorarea mrimii fizice a bazei de date, implicit a spa iului ocupat de aceasta, prin evitarea redundan ei, adic a memorrii aceleai informa ii de mai multe ori n baza de date;
engl. candidate key engl. concatenated key 8 engl. relationships scheme
7 6

12

uurin a efecturii de modificri ale anumitor valori ale informa iilor i de actualizri sau tergeri ale unor informa ii din baza de date. Exemplul 3 Eviden a achizi iilor de materiale ntr-o societate comercial se poate ine cu o baz de date avnd dou tabele cu urmtoarea structur (vezi i exemplul 1): 1. tip_material (codmat, denmat, unms); 2. stoc_material (nrfct, data, codmat, pret, cantitate) Cmpurile subliniate n structurile de mai sus formeaz cheile primare ale tabelelor. Tabelul tip_material ine eviden a tipurilor de materiale. Fiecrui material utilizat i corespunde o singur nregistrare n tabel, adic valoarea cmpului codmat este unic pentru fiecare nregistrare. Tabelul stoc_material ine eviden a datelor pre /cantitate la fiecare intrare de material n gestiune, prin informa iile preluate din facturile de achizi ie. Pentru fiecare achizi ie a unei cantit i dintr-un anumit material, n tabel se adaug cte o nregistrare. Pentru un anumit material, adic o anumit nregistrare din tabelul tip_material, pot exista mai multe nregistrri corespondente n tabelul stoc_material, corespunztoare achizi iilor de-a lungul unei perioade de timp. ntre tabelul tip_material i tabelul stoc_material se poate stabili o rela ie de asociere de tip 1:N, prin cmpul codmat, care are aceeai semnifica ie n ambele tabele. Rela ia se vizualizeaz n schema conceptual a bazei de date printr-o sgeat care pleac de la cmpul din primul tabel (codmat din tip_material) spre cmpul asociat din al doilea tabel (codmat din stoc_material), conform figurii 1.2. Se observ c, n ambele tabele, cmpul codmat face parte din cheia primar. tip_material codmat denmat unms stoc_material nrfct data codmat pret cantitate

Fig.1.2. Vizualizarea rela iei ntre dou tabele Observa ie Informa iile privind achizi iile de materiale pot fi gestionate i ntr-un singur tabel, avnd urmtoarea structur: stoc_materiale (codmat, denmat, unms, nrfct, data, pret, cantitate) Aceast structur nu respect ns anumite reguli de proiectare a unei baze de date, cum ar fi: exist informa ii redundante; la nregistrrile privind achizi iile dintr-un anumit material, valorile cmpurilor denmat i unms sunt aceleai i ele se repet la fiecare nregistrare; adugarea de nregistrri n tabel consum timp relativ mare, deoarece cmpul denmat poate con ine multe caractere i acestea trebuie introduse de fiecare dat; riscul de apari ie a erorilor la introducerea datelor este ridicat; dac valoarea cmpului denmat nu este aceeai pentru toate nregistrrile corespunztoare aceluiai tip de material, prelucrarea ulterioar a datelor (inclusiv actualizare, tergere de nregistrri etc.) va da rezultate incorecte; 13

utilizarea unui tabel cu multe cmpuri nu asigur simplitatea structurii bazei de date i ngreuneaz prelucrarea informa iilor.

Exemplul 4 Prelucrarea informa iilor privind candida ii la concursul de admitere la o facultate se poate face cu ajutorul a dou tabele cu urmtoarea structur (selectiv): 1. date_candidati (nrlegit, nume, sex, medie_bac, medie_admitere, jud_domiciliu) 2. op_candidati (nrlegit, op1, op2, op3, op4, op5, op6) Tabelul date_candidati cuprinde informa ii generale despre candida i numrul legitima iei de concurs, numele i prenumele, sexul, media de bacalaureat, media de admitere, jude ul de domiciliu etc), iar tabelul op_candidati cuprinde informa ii privind op iunile de specializare dorite de candida i. n ambele tabele, fiecrui candidat i corespunde o singur nregistrare, identificat prin cheia principal, cmpul nrlegit. Legtura ntre cele dou tabele se poate stabili printr-o rela ie de tip 1:1, prin cmpul nrlegit. Avantajul utilizrii acestei structuri de date cu rela ia men ionat este acela al unei gestiuni mai uoare a informa iilor (se recomand evitarea tabelelor cu un numr mare de cmpuri). n cadrul modelului rela ional, pe lng tabele cu structuri definite i rela ii de asociere ntre acestea, trebuie s existe i un set de reguli de gestionare a informa iilor, de prelucrare a acestora. Aceste reguli sunt cuprinse n limbajul de prelucrare a datelor (LPD) care se mai numete i limbaj de cereri (n majoritatea cazurilor baza de date este utilizat pentru a solicita a cere ulterior informa ii de un anumit tip). Odat cu apari ia i dezvoltarea SGBD-R, au aprut i diverse tipuri de LPD, majoritatea bazate pe operatori matematici ai algebrei rela ionale. Unele dintre acestea sunt specifice numai anumitor SGBD-R, altele au devenit un standard i formeaz nucleul mai multor SGBD moderne Sistemul Microsoft Access include dou LPD-uri, i anume QBE i SQL. Limbajul QBE (Query-By-Example9) are la baz un editor de texte prin intermediul cruia utilizatorul poate exprima cererile. Utilizatorul are posibilitatea afirii grafice, ntr-o form specific, a structurii tabelelor, a rela iilor dintre ele i apoi, prin intermediul editorului, cu cteva comenzi simple, i poate construi solicitrile. Selectarea nregistrrilor dorite se face prin indicarea valorii atributelor n dreptul cmpurilor corespunztoare. Conven iile limbajului QBE sunt simple, uor de n eles i asimilat. Limbajul SQL (Structured Query Language10) a fost introdus prima dat n 1974, de ctre IBM Research Laboratory, San Jose, California, iar n anul 1986 a fost recunoscut de ctre ANSI ca standard interna ional. SQL reprezint un set de instruc iuni, majoritatea direct executabile, care utilizeaz operatori din algebra rela ional (produs cartezian, reuniune, intersec ie, diferen ), dar i operatori care definesc func ii agregat, folosite n teoria mul imilor (numrare Count, medie aritmetic Avg, suma Sum, valoare minim Min etc.). Instruc iunile din SQL pot fi incluse i n alte limbaje de programare (Basic, C, Cobol, Fortran etc.), astfel nct aplica iile scrise cu aceste limbaje pot interac iona cu bazele de date prin intermediul unui SGBD-R care include i SQL. De asemenea, prin SQL se asigur compatibilitatea ntre diversele aplica ii cu baze de date, create cu diverse SGBDR, care trebuie s aib inclus acest limbaj n componen a lor.
9 10

rom. cerere prin exemplu rom. limbaj structurat de cereri

14

SISTEMUL DE GESTIUNE A BAZELOR DE DATE RELA IONALE MICROSOFT ACCESS

2.1. Ce este Microsoft ACCESS? Concepte generale


Dintre sistemele de gestiune a bazelor de date rela ionale existente astzi, ACCESS este unul dintre cele mai complete i performante. El nu este un simplu SGBD, ci mai degrab este un mediu complex de dezvoltare de aplica ii pentru baze de date, construit pe principiile arhitecturii deschise. Microsoft Access este integrat n pachetul Microsoft Office, avnd facilit i corespunztoare de interac iune cu celelalte sisteme incluse (Word, Excel, PowerPoint, FrontPage). Access ncorporeaz un maximum de posibilit i de abordare a unei baze de date, avnd integrate cele mai importante modele de proiectare a acesteia. Pachetul Access, ajuns la versiunea 2003, ofer un set solid de instrumente, unele suficient de sofisticate pentru programatorii profesioniti, altele uor de folosit de ctre utilizatorii noi. Cu Access, orice utilizator i poate crea solu iile cele mai convenabile prin care accesul, organizarea i distribu ia informa iilor dintr-o organiza ie se poate face mai uor i mai sigur ca niciodat. Pachetul Microsoft Access cuprinde urmtoarele componente principale (fig.2.1): un modul SGBD-R performant, care include dou dintre cele mai cunoscute limbaje de prelucrare a datelor, QBE (Query-by-Example) i SQL (Structured Query Language); n acest modul se creaz tabelele de date i se gestioneaz informa iile; un modul VBA care include un limbaj procedural de programare independent, VBA (Visual Basic for Applications), utilizabil pentru dezvoltarea de aplica ii; un limbaj macro procedural simplificat, cu ajutorul cruia se pot proiecta aanumitele macrocomenzi, deosebit de utile n unele etape de administrare a bazei de date; un set de instrumente pentru dezvoltare rapid a interfe ei baz de date utilizatori obinui i (formulare, rapoarte, panouri de comand); un set de instrumente pentru asigurarea interfe ei Access alte medii (conversii de date, transfer de date n/din, securitate, acces prin Web, compatibilit i etc.); un set puternic de instrumente de asisten interactiv (wizards) pentru dezvoltarea uoar a aplica iilor.

15

Instrumente de gestionare
Queries, Forms, Reports Relationships QBE, SQL Language

Asisten
Wizards Help

Macrocomenzi
Macros language

Tabele de date
Tables

Utilit i
Conversii de date Pagini de access Web Securitate date ntre inere fiiere

Module de aplica ii
VBA language

Fig.2.1. Elementele componente ale sistemului Microsoft Access

n Access, termenul de baz de date nu se refer numai la datele propriu-zise, ci cuprinde i alte obiecte cum ar fi formularele, interogrile (cereri), rapoartele, panourile de comand, macrocomenzile i modulele de aplica ii VBA. O caracteristic specific, deosebit de alte SGBD cunoscute, este faptul c toate obiectele, mpreun cu tabelele de date pot fi memorate ntr-un singur fiier, care poart numele <nume_fisier>.mdb Acest lucru asigur un control mai <nume_fisier>.mdb. eficient al aplica iilor care privesc o anumit baz de date. Modulul de baz, n care se definete i se gestioneaz colec ia de date, cuprinde urmtoarele obiecte: tabelele de date (Tables), con in informa iile propriu-zise sub form de nregistrri i ntre care se pot stabili rela ii de asociere (Relationships); interogrile (cereri) (Queries), rezolv solicitri ale utilizatorilor privind afiarea selectiv a informa iilor i prelucrarea acestora; formularele (forme) (Forms), afieaz informa iile ntr-un format anume, constituind o interfa ntre colec ia de date i utilizatorul obinuit; rapoartele (Reports), ajut la tiprirea la imprimant a informa iilor, ntr-un format anume, constituind interfa a ntre colec ia de date i imprimant; panourile de comand (Switchboard), sunt formulare prevzute de obicei numai cu butoane de comand prin care utilizatorul obinuit navigheaz n baza de date.

16

La fel ca i majoritatea aplica iilor Windows, Access func ioneaz pe principiul ferestrelor i meniurilor. Ultimele versiuni (9.0 - Access 2000, 10.0 Access 2002 i 11.0 Access 2003) asigur o serie de facilit i suplimentare, dintre care se pot men iona: acceptarea unei variet i mai mari de formate de date, cum ar fi XML (Extensible Markup Language OLE), ODBC (Open Database Connectivity); posibilitatea accesului concomitent la informa ii din mai multe baze de date n cadrul formularelor, rapoartelor i al paginilor de acces la date, se pot asocia tabele din baze de date Access, foi de calcul Microsoft Excel, surse de date ODBC, baze de date Microsoft SQL Server etc.; mai multe posibilit i de creare a formularelor; noi caracteristici de cutare a erorilor obinuite din formulare i rapoarte, ajutnd la identificarea i eliminarea mai rapid a acestora; actualizri automate ale propriet ilor obiectelor prin modificare ntr-un singur loc; mbun iri ale modului de proiectare a paginilor Web de acces la date cu ajutorul unor instrumente mai puternice; compatibilitate perfect ntre cele dou versiuni, Access 2002 utiliznd ca format implicit de fiier pentru baze de date noi cel al versiunii Access 2000. Fiind un sistem de gestiune a bazelor de date rela ional (SGBD-R), Access beneficiaz de toate caracteristicile i avantajele unui astfel de sistem. Datele sunt organizate sub form de nregistrri (records) incluse n tabele (tables) ntre care exist rela ii de interdependen (relationships). La lansarea n execu ie a sistemului Access, se afieaz fereastra principal al crei aspect este cel prezentat n figura 2.3.

Zona de meniuri

Bara cu butoane superioar

Zona de informa ii

Fig.2.3. Fereastra principal a sistemului Access 2002

17

Aa dup cum se observ din figura 2.3, fereastra principal a aplica iei con ine o zon de meniuri n partea superioar (File, Edit, View, ) sub care se afl o bar cu butoane specifice (Toolbar), structur care este caracteristic tuturor aplica iilor Microsoft Windows. n cadrul ferestrei principale exist posibilitatea afirii unui panou de control, util pentru selectarea mai comod a ac iunilor de deschidere a bazelor de date. Aspectul acestui panou este prezentat n figura 2.4. Afiarea automat a panoului la lansarea n execu ie a aplica iei se face prin validarea op iunii Tools Options View Startup Task Pane, avnd o baz de date deschis. Dac nu se dorete afiarea automat a panoului, se anuleaz op iunea Show at startup, aflat n partea inferioar a acestuia. La urmtoarea lansare a aplica iei, panoul nu va mai fi afiat. Din fereastra principal a aplica iei se pot executa o serie de ac iuni asupra bazelor de date existente sau pentru crearea unor noi baze de date. Cele mai importante dintre acestea sunt descrise n continuare. Crearea unei baze de date se face prin selectarea op iunii de meniu File New sau prin selectarea uneia dintre op iunile New ale panoului de control (fig.2.4). Exist dou posibilit i de creare a unei baze de date noi: 1. Baz de date fr obiecte Blank Database. n acest caz, obiectele (tabele etc.) vor fi create de ctre utilizator sau importate din alte baze de date; 2. Baz de date cu tabele predefinite New from template. n acest Fig.2.4. caz, tabelele i structura acestora sunt importate dintr-o bibliotec inclus n sistem (General Templates) sau din alte surse (ex.internet). Dac se alege aceast op iune, utilizatorul are posibilitatea de a selecta tabele i structuri predefinite care se potrivesc cel mai bine colec iei de date pe care trebuie s o gestioneze. Alegerea se face ntr-o succesiune de ferestre de dialog sugestive prin care utilizatorul este asistat pentru luarea celor mai bune decizii. Deschiderea unei baze de date existente se face prin selectarea op iunii de meniu File Open sau prin alegerea uneia dintre op iunile Open a file ale panoului de control (fig.2.4). Dac baza de date este una n care se lucreaz frecvent, probabil numele fiierului este afiat n zona corespunztoare a panoului de control (ex.candidati2003) i poate fi selectat de acolo. Dac nu, se alege op iunea More files i va fi afiat structura de subdirectoare a calculatorului din care se va putea selecta fiierul dorit. Crearea de pagini de acces la date se face cu op iunea Blank Data Access Page a panoului de control (fig.2.4) sau n sec iunea Pages a ferestrei principale a unei baze de date deschise (fig.2.5). Pagina de acces la date permite citirea/consultarea datelor stocate n tabelele unei baze de date prin intermediul internetului, fiind de fapt un formular codificat n limbaj HTML (HyperText Markup Language), astfel nct s poat fi vizualizat cu ajutorul unui browser Web. Crearea unei aplica ii de tip proiect se face prin selectarea uneia dintre op iunile Project (Existing Data) i Project (New Data) ale panoului de control. O aplica ie de tip proiect n Access 18

Access Project este un fiier de date care asigur accesul la baze de date de tip SQL Server prin proceduri bazate pe arhitectura OLE DB (acces la date prin re ea/internet). Proiectele Access sunt aplica ii client/server care prelucreaz informa iile stocate n baze de date localizate pe servere prin obiecte de tip Data Access Page. Proiectele nu con in date efective, ci numai proceduri de prelucrare a acestora. La crearea sau deschiderea unei baze de date este afiat fereastra principal de gestionare a acesteia, al crei aspect este prezentat n figura 2.5.

Fig.2.5. Fereastra principal a bazei de date n partea din stnga a ferestrei se afl zona de selectare a diferitelor tipuri de obiecte (Objects), iar n partea superioar se afl un set de butoane Open, Design, New disponibile pentru execu ia diferitelor ac iuni asupra obiectelor selectate Deschidere/execu ie obiect existent, Proiectare/modificare obiect, Creare obiect nou. La selectarea unui tip de obiect (de exemplu, Tables), n fereastra principal sunt afiate obiectele disponibile de acel tip (n fig.2.5 s-a selectat sec iunea Tables, tabelele bazei de date). Dup cum s-a precizat anterior, un fiier baz de date Access poate s con in, pe lng tabelele cu date, i alte obiecte necesare gestionrii datelor memorate. Totui, utilizatorii avansa i (programatorii de aplica ii) recomand existen a a dou fiiere separate; unul pentru stocarea datelor propriu-zise sub form de tabele fiier date i altul pentru obiectele necesare gestionrii datelor respective (formulare, interogri etc.) fiier interfa care constituie interfa a ntre utilizatorii obinui i i date. Motivul este unul simplu: n general, utilizatorii obinui i nu trebuie s aib un acces nelimitat sau direct la datele stocate n tabele; ei consult/modific/adaug date prin intermediul unor obiecte specifice (formulare, panouri de comand etc.). Se asigur astfel integritatea nregistrrilor i protec ia mpotriva unor modificri accidentale sau ru-inten ionate a datelor. Legtura ntre cele dou fiiere se face prin procedura 19

linked table tabele legate. n fiierul interfa , n sec iunea Tables, numele tabelelor legate este precedat de o sgeat care indic faptul c tabelul respectiv nu este efectiv stocat acolo, ci ntr-un alt fiier. Una dintre activit ile de mare importan care au loc la crearea unei baze de date este cea de proiectare corect a structurii bazei de date i a tabelelor acesteia. Modelul rela ional care st la baza sistemului Access asigur din acest punct de vedere avantaje deosebite. n cele ce urmeaz se prezint cteva principii de baz privind proiectarea unei baze de date, cu exemplificare pe cele dou baze de date utilizate n cadrul aplica iilor din capitolul 4.

2.2. Proiectarea structurii unei baze de date


n capitolul 1 s-au prezentat cteva principii de baz care trebuie respectate atunci cnd se proiecteaz schema conceptual a unei baze de date care se va utiliza pentru gestiunea unei anumite colec ii de informa ii. Pentru proiectarea corect de la nceput a structurii bazei de date, este necesar aplicarea unor reguli relativ simple. Deoarece la baza sistemului Access se afl modelul rela ional, prezentat n subcap.1.2, exemplele analizate n continuare se bazeaz pe acest model. Se consider temele prezentate n exemplele 3 i 4 ale capitolului 1, adic: 1. gestiunea produselor achizi ionate / consumate (comercializate) de ctre o societate comercial; 2. gestiunea candida ilor la admitere la o facultate. Pentru rezolvarea primei teme, este necesar colectarea informa iilor de pe facturile de achizi ie ale produselor i de pe bonurile de consum (respectiv, facturile de vnzare). Informa iile minime de care este nevoie sunt urmtoarele: facturi de achizi ie: numr factur, data facturii, denumire furnizor, denumire produs, cantitate, pre achizi ie; bonuri de consum: numr bon, data bonului, departament, denumire produs, cantitate. Aceste informa ii ar putea fi gestionate n dou tabele ale bazei de date, achizi ii i consum, avnd urmtoarele structuri: achizi ii (nrfact, datafact, denfur, denprod, cant, pret); consum (nrbon, databon, dept, denprod, cant). Structurile prezentate mai sus pot asigura o gestionare a informa iilor, dar au cteva dezavantaje i dificult i n exploatare, cum ar fi: pentru fiecare produs existent pe factura de achizi ie se introduce cte o nregistrare n tabelul achizi ii, repetndu-se introducerea unor informa ii identice (numr factur, data facturii, denumire furnizor), existnd deci informa ii redundante n baza de date; informa iile despre furnizor sunt minime (denumire furnizor) i vor trebui completate ulterior cu altele (de ex. cod fiscal, adresa, telefon etc.), lucru care nseamn adugarea

20

de noi cmpuri n tabelul achizi ii, determinnd creterea dimensiunilor acestuia i o gestionare mai dificil; ar fi necesar i informa ia referitoare la unitatea de msur a produsului (buc i, seturi, kg, litri etc.) care trebuie adugat n tabelul achizi ii; dac se va dori legarea informa iilor din cele dou tabele, necesar spre exemplu pentru determinarea stocurilor de produse la un moment dat, ar fi foarte dificil. n cele dou tabele exist o singur posibilitate de a stabili o rela ie, prin cmpul denprod, dar aceast rela ie ar fi de tipul M-N i ar fi dificil de gestionat. Pentru rezolvarea problemei, se propune o structur a bazei de date format din 6 tabele, conform schemei din figura 2.6.

EVIDEN A PRODUSE

Tipuri de produse cod produs denumire produs unitate de msur

Eviden furnizori cod furnizor denumire furnizor adresa nr. telefon cod fiscal

Note recep ie nr. not recep ie cod furnizor nr. factur data facturii achitat

Intrri de produse n stoc cod produs nr. nota recep ie cantitate pre

PRODUSE

FURNIZORI

NOTEREC

STOCAPROV

Ieiri de produse n consum cod bon cod produs cantitate

Bonuri de consum cod bon data consum departament

STOCONSUM

BONCONSUM

Fig.2.6. Schema structural a unei baze de date rela ionale pentru gestiunea produselor ntr-o societate comercial Comentarii la schema din figura 2.6 Informa iile din factura de achizi ie se mpart n dou categorii: informa ii generale (date despre factur i furnizor) i informa ii speciale (date despre produsele din factur). Pe baza facturii de achizi ie se ntocmete o not de recep ie i informa iile se vor memora n dou tabele, noterec i stocaprov, legate rela ional prin cmpul nr. nota recep ie. n mod similar, informa iile

21

privind produsele date n consum se vor gestiona n dou tabele, bonconsum i stoconsum, legate rela ional prin cmpul cod bon. Informa iile despre produse i furnizori se vor memora n tabele distincte, produse i furnizori. Din punct de vedere informatic, gestionarea acestora se face mai comod dac se atribuie cte un cod specific fiecrui produs i, respectiv, fiecrui furnizor. Aceste coduri se memoreaz prin cmpurile cod produs i, respectiv, cod furnizor, care constituie i cmpuri de identificare a nregistrrilor, adic se pot constitui n chei primare ale tabelelor respective. Tabelele produse i furnizori pot fi legate prin rela ii specifice de celelalte tabele ale bazei de date, n func ie de necesit i. Fiind tabele distincte, dezvoltarea ulterioar a acestora este foarte simpl i nu pune probleme de ansamblu n baza de date (de exemplu, la un moment dat poate fi necesar adugarea n tabelul furnizori a altor informa ii (cont bancar, persoana de contact, numr de fax etc.). Schema structural din figura 2.6 asigur bazei de date simplitate, neredundan , distributivitate, extensibilitate i flexibilitate, adic acele propriet i necesare unei structuri moderne de date. n cazul celui de-al doilea exemplu, gestiunea candida ilor la admitere la o facultate se poate realiza cu un singur tabel, candidati, avnd urmtoarele cmpuri: Candidati (nrlegit, nume, sex, medie_bac, proba_conc, medie_admitere, admis_la, jud_domiciliu, op1, op2, op3, op4, op5, op6) Comentarii Identificarea fiecrei nregistrri se face prin numrul legitima iei de concurs a candidatului, nrlegit, care este unic pentru fiecare candidat. Cmpurile op1, op2,, op6 reprezint denumirile (sau codurile) specializrilor la care poate opta candidatul, n ordinea preferin elor acestuia. Dac aceste cmpuri con in coduri (ex. TECM tehnologia construc iilor de maini), atunci n tabelul candidati nu sunt memorate denumirile specializrilor i ar fi necesar un alt tabel n care s fie precizate acestea. Se observ c tabelul candidati are relativ multe cmpuri, acest aspect putnd crea dificult i n prelucrarea ulterioar i afiarea informa iilor. Din acest punct de vedere, se recomand evitarea acestei variante i separarea informa iilor dintr-un tabel mare n tabele mai mici legate prin rela ii specifice. Pentru mbunt irea structurii analizate, se propune o schem structural a bazei de date, format din 3 tabele, conform schemei prezentate n figura 2.7. Aceast schem utilizeaz dou tabele principale, eviden candida i i eviden op iuni, care separ informa iile referitoare la candida i n dou grupe, una cu informa iile generale de admitere i una cu op iunile pe specializri ale candida ilor. Cmpurile care memoreaz op iunile, optiune1, optiune2,, optiune6, con in coduri specifice. Pentru identificarea denumirilor complete ale op iunilor este necesar un al treilea tabel, eviden specializri, care stabilete coresponden a ntre codul i denumirea fiecrei op iuni i care poate fi legat de celelalte tabele prin rela ii n func ie de necesit i. Tabelele eviden candida i i eviden op iuni sunt legate rela ional prin cmpul nrlegit. 22

Din schemele structurale prezentate n figurile 2.6 i 2.7 se desprind cteva concluzii privind regulile de proiectare a unei baze de date corecte i eficiente: separarea informa iilor n tabele distincte, pe baza dependen ei acestora la o anumit grup (ex.produse, furnizori, facturi etc.); utilizarea cmpurilor cu coduri de identificare a nregistrrilor care sunt mai uor de prelucrat de ctre sistemul informatic; utilizarea rela iilor dintre tabele pentru legarea informa iilor din acestea; evitarea tabelelor cu multe cmpuri care sunt mai greu de exploatat.

EVIDEN A CANDIDA I ADMITERE

Eviden a specializari
cod specializare denumire specializare ordin

Eviden a candida i nr.legit numele admis la punctaj nota la proba medie bac medie admitere proba de concurs judet domiciliu

Eviden a op iuni nr.legit optiune 1 optiune 2 op iune 6

SPECIALIZARI

OPTIUNI

CANDIDATI
Fig.2.7. Schema structural a unei baze de date rela ionale pentru eviden a candida ilor la admitere la o facultate Dup cum se constat din cele prezentate anterior, proiectarea structurii optime a unei baze de date este o activitate important i, uneori, nu este simpl. O anumit tem se poate rezolva n mai multe moduri, dar, de obicei, exist numai unul care confer eficien maxim prelucrrii informa iilor. De aceea este necesar o analiz atent, la nceput, a tuturor variantelor, i alegerea celei care respect regulile de baz i asigur propriet ile specifice unei baze de date corecte. Schemele structurale analizate n figurile 2.6 i 2.7 au un anumit grad de distributivitate, adic pot fi aplicate, cu modificri minime, i altor colec ii de informa ii (de ex. gestiunea produselor la o societate de comer , gestiunea personalului angajat ntr-o institu ie, memorarea unei liste de persoane etc.).

23

2.3. Tabele. Creare structur, afiare nregistrri


Tabelele unei baze de date reprezint obiectele n care sunt memorate colec iile de date propriu-zise. Un tabel Access are o structur asemntoare cu o foaie de calcul Excel, con innd coloane, denumite cmpuri i linii, denumite nregistrri (vezi cap.1.2). Sec iunea tabelelor se activeaz prin apsarea butonului Tables al coloanei Objects din fereastra principal a bazei de date (fig.2.5). Aspectul general al ferestrei sec iunii tabelelor este cel prezentat n figura 2.5. Crearea unui tabel se poate face prin alegerea uneia dintre cele trei op iuni disponibile afiate n fereastra sec iunii (fig.2.5): 1. Creare tabel n fereastra de proiectare (Create table in Design view) afieaz fereastra de proiectare, fig.2.8. Aceast variant permite definirea cmpurilor tabelului i a propriet ilor acestora, nainte de a introduce date (nregistrri) n tabel. Fereastra are mai multe zone: Field Name definirea numelor cmpurilor tabelului; DataType stabilirea tipului de dat (vezi cap.2.4) pentru fiecare cmp; Description este op ional, poate con ine o descriere mai amnun it a semnifica iei datelor pentru fiecare cmp al tabelului; Field Properties afiarea propriet ilor unui cmp al tabelului, atunci Fig.2.8. cnd acesta este selectat; con ine dou pagini, General, n care sunt afiate propriet ile cmpului i Lookup, n care se poate configura un tip special de cmp (vezi cap.2.5). Observa ii Activarea zonelor ferestrei de proiectare se face prin depunerea prompterului de mouse n caseta de editare dorit i introducerea de la tastatur a informa iei necesare. Unele dintre casetele de editare pot s ofere o list de op iuni din care se poate alege cea potrivit. Acest lucru este eviden iat prin prezen a unui buton cu sgeat n caseta respectiv, dup cum se observ n figura alturat, n cazul coloanei DataType. Apsnd acest buton, se deschide lista de op iuni disponibile din care se poate alege cea dorit. Lungimea maxim a numelui unui cmp este de 64 caractere. Programatorii profesioniti recomand ca numele cmpurilor s nu fie prea lungi, dar, n acelai timp, s fie suficient de sugestive pentru tipul datelor memorate n ele (ex. den_pr pentru un cmp care memoreaz denumiri de produse, nr_fact pentru numere de facturi etc.). De asemenea, se recomand ca numele tabelului s fie precedat de prefixul tbl pentru a identifica mai uor tipul obiectului (ex.tblProduse pentru un tabel ce con ine nomenclatorul de produse).

24

2. Creare tabel utiliznd asisten a interactiv (Create table by using wizard) permite crearea structurii unui tabel prin alegerea acesteia dintr-o bibliotec pus la dispozi ie de ctre sistem. Alegerea se face interactiv, ntr-o succesiune de ferestre n care utilizatorul poate alege dintre diferite op iuni disponibile. Aceast variant este util atunci cnd structura tabelului nu este foarte bine definit sau utilizatorul nu are experien n proiectarea acesteia. 3. Creare tabel prin introducerea direct a nregistrrilor (Create table by entering data) afieaz fereastra nregistrrilor tabelului (fig.2.9), stabilind pentru tabel o structur predefinit cu un anumit numr de cmpuri (n fig.2.9, 10 cmpuri), avnd nume predefinite (Field1, Field2, ). Dup ce se introduce o nregistrare, se poate salva cu op iunea de meniu File Save (sau prin apsarea butonului specific de pe bara superioar sau prin apsarea combina iei de taste Ctrl+S), atribuind un nume structurii respective. Fig.2.9. Observa ii Fereastra de afiare a nregistrrilor are aspectul unui tabel de date, con innd coloane (cmpurile) denumite Field1, Field2, i rnduri (nregistrrile). nregistrarea curent acea nregistrare pe care se afl prompterul de mouse este eviden iat printr-un marcator sgeata neagr aflat n caseta de selectare gri de la nceputul rndului (fig.2.9). Deplasarea de pe un cmp pe altul se poate face cu ajutorul tastei Tab (nainte, de la stnga la dreapta) sau a combina iei de taste Shift+Tab (napoi, de la dreapta la stnga) sau prin depunerea prompterului de mouse n caseta corespunztoare a unui cmp sau nregistrare. La salvarea structurii, cmpurile n care nu s-au introdus date vor fi anulate, structura pstrnd numai acele cmpuri pentru care exist valori introduse (de exemplu, dac s-au introdus valori pe primele patru cmpuri, Field1,Field4, atunci numai acestea vor fi salvate n structura tabelului). La salvarea structurii, se solicit definirea unei chei primare a tabelului (vezi cap.1.2). Dac nu se dorete definirea acesteia se apas butonul No. Dac se apas butonul Yes, atunci sistemul creaz automat un cmp de tip Autonumber (vezi cap.2.4) care va fi cheia primar a tabelului. Definirea unui cmp drept cheie primar a tabelului se face prin selectarea acelui cmp i indicarea op iunii de meniu Edit Primary Key sau apsarea butonului specific de pe bara cu butoane superioar. Cmpurile, denumite implicit Field1, Field2, , pot fi redenumite prin dublu-click de mouse n caseta de culoare gri n care este scris numele respectiv. n partea inferioar a ferestrei de afiare a nregistrrilor se afl zona de navigare de la o nregistrare la alta Record. Semnifica ia butoanelor este descris n figura 2.10.

nregistrarea precedent prima nregistrare

nregistrarea curent

nregistrarea urmtoare ultima nregistrare nregistrare nou

Fig.2.10. Zona de navigare 25

Trecerea de la fereastra de afiarea a nregistrrilor tabelului (datasheet view) la fereastra de proiectare a structurii acestuia (design view) se poate face rapid cu ajutorul unui buton specific aflat pe bara cu butoane superioar. Aspectul butonului se modific n func ie de fereastra care este activ la un moment dat. O alt variant de creare a unui tabel este apsarea butonului New (fig.2.5), ac iune care afieaz o fereastr de op iuni, oferindu-se cinci moduri posibile de lucru (fig.2.11): 1. Datasheet View creare tabel n fereastra de afiare a nregistrrilor (fig.2.9); 2. Design View creare tabel n fereastra de proiectare a structurii (fig.2.8); 3. Table Wizard creare tabel cu ajutorul asisten ei interactive, prin alegerea structurii dintr-o bibliotec de exemple predefinite; 4. Import Table creare tabel prin importul datelor din surse externe, care pot fi alte baze de date Access sau de alt tip (dBase, Lotus, Paradox, tip ODBC), foi de calcul tip Excel, fiiere n format HTML specifice sau fiiere text avnd un format specific; odat cu crearea structurii tabelului se import i datele con inute n fiierul surs sub form de nregistrri; 5. Link Table crearea unei legturi spre un Fig.2.11. tabel de date extern; n fereastra Tables numele tabelului respectiv este precedat de un marcator (sgeat) care indic faptul c acesta nu exist practic n baza de date curent, dar nregistrrile pot fi accesate prin aceast legtur. Observa ie Pentru n elegerea deplin a no iunilor prezentate n continuare, se recomand parcurgerea exemplelor incluse n aplica ia practic nr.1, cap.4.

Introducerea i afiarea datelor Dup crearea i salvarea structurii tabelului, introducerea nregistrrilor se face n fereastra de afiare a acestora, deschis prin apsarea butonului Open al sec iunii Tables (fig.2.5), avnd numele tabelului respectiv selectat sau prin dublu-click de mouse pe numele tabelului. Dac tabelul are un cmp cheie primar, nregistrrile vor fi implicit afiate n ordine cresctoare dup valorile acelui cmp. Aceast ordine poate fi schimbat n orice moment prin aplicarea unui alt criteriu de ordonare (vezi cap.2.6). Dac tabelul se afl ntr-o rela ie de legtur cu alt tabel al bazei de date (vezi cap.1.2), atunci nregistrrile vor fi precedate de un buton avnd semnul +. Dac se apas acest buton, vor fi afiate nregistrrile corespunztoare din tabelul corespondent. Exemplul 1 n baza de date a crei structur este prezentat n fig.2.6, care va fi denumit Stocuri, afiarea nregistrrilor din tabelul Furnizori, mpreun cu nregistrrile corespondente din alte dou tabele, Noterec i Stocaprov, poate avea aspectul din figura 2.12. 26

Pentru nregistrarea referitoare la furnizorul SC BADR SA sunt afiate toate notele de recep ie ntocmite pe baza facturilor de achizi ie de la acest furnizor (5 nregistrri corespondente n tabelul Noterec), iar pentru nota de recep ie cu numrul 20010012 sunt afiate produsele corespunztoare intrate n stoc (2 nregistrri corespondente n tabelul Stocaprov).

Fig.2.12. Fereastra de afiare a nregistrrilor n tabele legate prin rela ii Adugarea de noi nregistrri ntr-un tabel se face prin depunerea prompterului de mouse n ultimul rnd gol, marcat cu * (asterisc) sau prin apsarea butonului corespunztor din zona de navigare Record (vezi figura 2.10). Editarea valorii de cmp a unei nregistrri se face prin depunerea prompterului de mouse n cmpul respectiv i efectuarea modificrilor dorite cu ajutorul tastaturii. Principiile de editare sunt aceleai ca i la celelalte aplica ii MS Office (Word, Excel). tergerea unei nregistrri se face prin selectarea acesteia pe caseta gri din stnga rndului corespunztor i alegerea uneia dintre urmtoarele variante: apsarea butonului Cut de pe bara cu butoane superioar, selectarea op iunii de meniu Edit Delete/Delete Record sau apsarea tastei Delete a tastaturii; se solicit o confirmare a tergerii pentru c nregistrarea tears nu mai poate fi recuperat; dac nregistrarea respectiv are nregistrri corespondente n alte tabele legate prin rela ii i nu este activat op iunea de tergere automat (vezi cap.2.5), atunci ac iunea nu se poate efectua i este afiat un mesaj specific. Adugarea de noi cmpuri sau tergerea unor cmpuri se recomand a fi efectuate n fereastra de proiectare a structurii tabelului (Design); totui, aceste ac iuni sunt posibile i n fereastra de afiare a nregistrrilor. Pentru adugarea unui cmp nou (coloan) se selecteaz cmpul n a crei parte stng se dorete adugarea noului cmp prin click de mouse n caseta gri cu numele cmpului i se alege op iunea de meniu Insert Column sau op iunea Insert Column din meniul contextual ob inut prin click buton dreapta mouse.

27

Pentru tergerea unui cmp, se selecteaz coloana corespunztoare i se alege op iunea de meniu Edit Delete Column sau op iunea Delete Column din meniul rapid. Modificarea aspectului de afiare a nregistrrilor cuprinde o serie de posibilit i, dup cum urmeaz: modificarea fontului de text, a culorii textului, fondului pe care este scris acesta i grilei de separare a cmpurilor; se realizeaz prin selectarea op iunilor de meniu Format Font / Datasheet. Cu ajutorul op iunii Font se alege tipul, stilul, mrimea i culoarea fontului de afiare a caracterelor (fig.2.13). n exemplul considerat n fig.2.13, s-a ales fontul Garamond, stilul Bold, mrimea (Size) de 12, culoarea Black, fr subliniere (caseta Underline inactiv). Cu ajutorul op iunii Datasheet se alege aspectul de afiare a fondului pe care sunt afiate nregistrrile (fig.2.14). n exemplul din figura 2.14 s-au ales op iunilor implicite, adic aspectul Flat, culoarea White a fondului, culoarea Black a grilei de separa ie, afiarea liniilor verticale i orizontale ale grilei (casetele Horizontal i Vertical sunt active) i tipul Solid pentru toate liniile de separa ie afiate. Op iunea Direction, cu valoare implicit Left-to-right indic ordinea de afiare a cmpurilor.

Fig.2.13. Fereastra Fonts Fig.2.14. Fereastra Datasheet modificarea ordinii de afiare a cmpurilor; afiarea cmpurilor se face implicit, de la stnga la dreapta, n ordinea n care ele au fost definite n structura tabelului; aceast ordine poate fi schimbat dac este necesar. Pentru mutarea unui cmp, se selecteaz coloana corespunztoare, prin click de mouse pe numele cmpului (coloana este afiat n video invers), apoi se selecteaz din nou coloana respectiv prin click de mouse pe numele cmpului i se mut prin drag&drop tragere&depunere n locul dorit. redimensionarea coloanelor i a rndurilor; modificarea l imii unei coloane se face prin selectarea acesteia i alegerea op iunii de meniu Format Column Width care afieaz o fereastr de dialog (fig.2.15); l imea coloanei se poate indica n caseta de editare, se poate alege op iunea Standard Width (valoare implicit) sau Best Fit Fig.2.15. (potrivire dup dimensiunea celui mai lung ir de caractere al cmpului respectiv). Modificarea nl imii rndurilor se face prin alegerea 28

op iunii de meniu Format Row Height; nl imea se poate indica n caseta de editare sau se poate alege op iunea implicit Standard Height; nl imea aleas se aplic pentru toate nregistrrile din tabel; nghe area cmpurilor; este o ac iune care determin men inerea pe loc a cmpurilor selectate n timpul parcurgerii celorlalte cmpuri. Ac iunea se realizeaz prin selectarea simultan a cmpurilor respective i apoi a op iunii de meniu Format Freeze Columns. Cmpurile selectate se vor pozi iona primele din stnga i vor rmne pe loc la parcurgerea ctre dreapta a celorlalte cmpuri. Anularea ac iunii se face cu op iunea de meniu Format Unfreeze All Columns; ascunderea cmpurilor; este o ac iune care determin dispari ia cmpurilor selectate din fereastra de afiare a nregistrrilor unui tabel (datasheet view). Ac iunea se realizeaz prin selectarea cmpurilor respective i apoi a op iunii de meniu Format Hide Columns. Reafiarea cmpurilor se face cu op iunea de meniu Format Unhide Columns care afieaz o fereastr con innd numele cmpurilor tabelului precedate de o caset de validare (fig.2.16); cmpurile care au caseta de validare marcat vor Fig.2.16 Fereastra Unhide Columns fi afiate, celelalte vor rmne ascunse. Observa ii La nchiderea ferestrei de afiare a nregistrrilor unui tabel, dac s-au efectuat modificri ale aspectului de afiare sau a structurii tabelului, se afieaz o fereastr de dialog cu op iune de salvare a modificrilor efectuate. Introducerea unor noi nregistrri n tabel sau modificarea valorilor nregistrrilor curente sunt salvate automat la ieirea din cmpul respectiv, nefiind necesar salvarea expres a acestora.

2.4. Tipuri de date. Propriet ile cmpurilor


Datele care se introduc n fiecare cmp al unui tabel al bazei de date pot fi de diferite tipuri (numerice, iruri de caractere, logice etc.). Fiecrui cmp al tabelului i se definete un anumit tip de dat care este acelai pentru toate nregistrrile. Alegerea tipului de dat se face n fereastra de proiectare a tabelului (design view), n coloana Data Type (vezi fig.2.8). n tabelul nr.1 sunt prezentate tipurile de date utilizabile n Access, mpreun cu caracteristicile acestora. Aceste caracteristici (Field Size i Format) fac parte din grupul propriet ilor cmpurilor i se configureaz n zona Field Properties (vezi fig.2.8). Propriet ile unui cmp pot fi grupate pe dou categorii: propriet i generale, care sunt asociate tuturor tipurilor de date posibile i propriet i specifice, care sunt asociate numai anumitor tipuri de date. n continuare sunt descrise cele mai importante dintre aceste propriet i. 29

Tabelul nr.1 Tipuri de date disponibile n Access


Denumirea tipului de dat Text Caracteristici principale ir de caractere. Poate con ine litere, cifre i alte caractere speciale (@, &, %, *, ? etc.). Poate con ine i spa ii. Poate avea lungimea maxim de 255 caractere. I se poate indica o lungime maxim Field Size. ir de caractere. Similar tipului Text. Poate avea lungimea maxim de 65.535 caractere. Numeric. Exist posibilitatea alegerii unui subtip de dat numeric (Field Size): Byte: numere ntregi de la 0 la 255 Integer: numere ntregi de la -32.768 la +32.768 Long Integer: numere ntregi de la -2.147.483.648 la +2.147.483.648 Single: numere reale cu simpl precizie Double: numere reale cu dubl precizie Replication ID: identificator unic atribuit Dat/or. Reprezint date calendaristice i/sau or. Date calendaristice valide ntre 1.01.100 i 31.12.9999. Nu are lungime definit (Field Size). Poate fi afiat n diferite formate (Format). Ex. short date 19/06/04 short time 17:34 Numeric cu simbol monetar ataat. Este de tip Single, dar cu pn la 4 cifre la dreapta simbolului zecimal. Simbolul monetar ataat este cel implicit al sistemului Windows. Observa ii Se prelucreaz cu func ii specifice incluse n biblioteca Access (Asc, Chr, Len, Ltrim, Rtrim, Left, Mid, Right etc.) sau cu operatorul de concatenare (& sau +) Se prelucreaz cu operatorii aritmetici uzuali (+, , *, /), cu operatorii rela ionali (<, >) sau cu func iile matematice incluse n biblioteca Access (Abs, Sgn, Fix, Sin, Cos, Tan, Exp, Sqr etc.) Se prelucreaz cu func ii specifice incluse n biblioteca Access (Day, Month, Year, Datepart etc.)

Memo

Number

Date/Time

Currency

Se prelucreaz cu func ii matematice uzuale. Valorile negative sunt prezentate ntre paranteze. Se utilizeaz drept cheie primar. Nu poate fi actualizat. Se prelucreaz cu operatorii logici (Not, And, Or). Linked object obiect integrat, cu pstrarea legturii cu originalul Embedded object obiect integrat, fr pstrarea legturii cu originalul

Ex. 240.500,75 Lei


AutoNumber Numeric. Valoare unic, atribuit automat de Access fiecrei nregistrri. Poate fi de tip Long Integer sau Replication ID. Valorile se pot atribui secven ial sau aleator. Logic. Are dou valori posibile True sau False (1 sau 0, da sau nu, deschis sau nchis etc.). Se utilizeaz pentru cmpuri care nu pot avea dect una din cele dou valori. Obiect integrat. Poate fi o imagine, o foaie de calcul Excel, un fiier sunet, video etc., create cu aplica ii Windows care con in suport OLE Object Linking&Embedding.

Yes/No

OLE Object

Hyperlink

Lookup Wizard

Hiperlegtur. O cale spre un fiier situat pe calculatorul propriu, pe alt calculator sau pe internet. La selectare, Access se deplaseaz la destina ia indicat, executnd aplica ia gsit acolo. Cutare interactiv. Valoarea cmpului se selecteaz Vezi aplica ia nr.2, cap.4. dintr-o list de valori disponibile care se ob in fie dintre cele existente ntr-un alt cmp, fie dintr-o list de valori definite de ctre utilizator.

30

Field Size

dimensiunea cmpului; se poate configura pentru tipurile Text, Memo, Number i Autonumber; exist valori implicite care se pot pstra dac sunt convenabile sau se pot schimba n func ie de necesit i formatul de afiare a datelor; este o proprietate general; se poate selecta un format predefinit dac exist sau se pot genera formate personalizate (vezi paragraful urmtor) ablon (model, masc) de control; controleaz formatul introducerii datelor; este o proprietate general (cu excep ia Autonumber); se configureaz de ctre utilizator cu ajutorul unor caractere special rezervate sau cu ajutorul asisten ei interactive Input Mask Wizard (pentru detalii, vezi paragraful urmtor) etichet de cmp; proprietate general; dac exist, n fereastra de afiare a nregistrrilor (datasheet view), se afieaz n locul numelui cmpului (field name) ca denumire a coloanei corespunztoare valoare prestabilit; proprietatea general; valoare care se introduce automat n cmp la fiecare nou nregistrare

Format

Input Mask

Caption

Default Value

Validation Rule regul de validare; permite verificarea datelor introduse cu ajutorul unor restric ii matematice ; se poate genera manual sau cu ajutorul asisten ei interactive (Expresion Builder Constructorul de expresii) Validation Text Required mesaj de aten ionare; este afiat ntr-o caset de dialog atunci cnd datele introduse nu respect regula de validare (Validation Rule) solicitare valoare; proprietate general; dac este activ (Yes), este obligatorie introducerea unei valori n cmpul respectiv; dac este inactiv (No) se poate introduce o valoare sau se poate lsa cmpul gol cmp indexat/neindexat; proprietate general; indexarea permite o gsire mai rapid a informa iei de ctre Access la tabele cu mii de nregistrri, pe baza unor algoritmi proprii; este activat automat pentru cmpurile cheie primar

Indexed

Observa ie Pentru n elegerea deplin a semnifica iei propriet ilor cmpurilor, se recomand parcurgerea exemplelor incluse n aplica ia practic nr.2, cap.4.

Stabilirea formatului de afiare a datelor (Format) Formatul de afiare a datelor n fereastra de afiare a nregistrrilor unui tabel (datasheet view) se poate configura de ctre utilizator, fie prin alegerea dintr-o list de formate disponibile, asociate fiecrui tip de dat, fie prin indicarea formatului dorit, la proprietatea Format a cmpului respectiv. Indicarea unui format personalizat se face prin combinarea unor caractere de control, special destinate acestui scop. Cele mai des utilizate dintre aceste caractere, precum i cteva exemple de formate personalizate sunt prezentate n continuare. 31

Simbolul

Semnifica ia Separator zecimal. Dac la Regional Settings in Windows Control Panel este stabilit sistemul United States, atunci simbolul este punct zecimal. Separator de mii. Simbol pentru cifre. Se afieaz o cifr (dac exist) sau 0. Simbol pentru cifre. Se afieaz o cifr (dac exist) sau nimic. Simbol monetar. Afieaz caracterul "$" acolo unde este plasat. Convertete literele textului n litere mici Convertete literele textului n majuscule Simbol procentual. Valoarea se nmul ete cu 100 i se ataeaz simbolul procentual %. Simbol text. Orice text ntre ghilimele ataat formatului va fi afiat la fiecare valoare a cmpului respectiv

. , 0 # $ < > % lei

Exemple de formate personalizate Tipul de date Formatul personalizat Pentru date de tip numeric (Number, 000 Autonumber etc.) 0.00 #,### #,###.00 #,###" lei" Pentru date calendaristice (Date/Time) dd/mm/yy dd/mmm/yyyy Modul de afiare a datelor 005 018 145 12.50 12.00 1,200 sau 12,500 sau 12,500,000 1,200.00 sau 12,500.50 126,500 lei 12/03/04 08/03/04 12/Mar/2004 Afieaz tot textul cu litere mici Afieaz tot textul cu majuscule

Pentru date de tip < Text sau Memo >

Configurarea unui ablon de control la introducerea datelor (Input Mask) Access permite controlul dinamic al valorilor introduse de ctre utilizator n nregistrrile tabelelor prin indicarea unui ablon de control (model de caractere, masc de intrare n traducere simpl). Configurarea unui ablon de control se face prin combinarea unor caractere de control special destinate acestui scop, n cadrul propriet ii Input Mask a cmpurilor. Cele mai des utilizate dintre caracterele de control, precum i cteva exemple de abloane sunt prezentate n continuare. 32

Caracterul de control 0 # L ? A a & C < > \ !

Efectul asupra datelor care se introduc Permite numai o cifr Permite orice cifr, semnele + sau i spa ii Permite numai o liter Permite numai o liter sau nimic Permite numai o liter sau cifre Permite orice liter sau cifr sau nici una Permite orice caracter sau un spa iu Permite orice caracter sau un spa iu sau nimic Convertete literele urmtoare n litere mici Convertete literele urmtoare n litere mari Adaug automat caracterul care urmeaz Aliniaz datele la dreapta

Exemple de abloane de control Exemplele urmtoare fac referire la nite cmpuri incluse n baza de date Stocuri a crei structur este prezentat i descris n fig.2.6, pag.22. Tipul de date Stocuri.mdb Tabelul Produse Cmpul Cod produs ablonul de control Observa ii Valorile codului produsului pot fi stabilite ca o succesiune de cinci cifre Ex. 11004 ablonul nu permite dect introducerea unei combina ii de cinci cifre Numerele de telefon n Romania respect formatul 0000-000000. ablonul introduce automat primul 0 i cratima de despr ire dintre prefix i numr i nu permite dect introducerea unei combina ii de cifre Numerele de facturi n Romania respect formatul LLLLL0000000, adic 5 litere urmate de 7 cifre. Semnul > transform literele n majuscule

00000

Stocuri.mdb Tabelul Furnizori Cmpul Nr.telefon

\000\-000000

Stocuri.mdb Tabelul Noterec Cmpul Nr.factur

>LLLLL0000000

33

2.5. Rela iile dintre tabele. Creare i configurare


n capitolul 1.2 s-au prezentat cteva no iuni teoretice referitoare la modelul rela ional de baz de date (SGBD-R). Un model rela ional de baz de date cuprinde tabele cu nregistrri ntre care se stabilesc rela ii de asociere, a cror existen este guvernat de un set de reguli precise. O rela ie se stabilete ntre dou tabele ale bazei de date, prin intermediul a dou cmpuri, cte unul din fiecare tabel, adic este de tip binar (cmp cmp). Microsoft Access este bazat pe modelul rela ional de baz de date, permi nd crearea i configurarea rela iilor ntre tabelele componente. Proiectarea structurii unei baze de date (tabele i cmpuri) n Access trebuie s in seama de principiile modelului rela ional. n capitolul 2.2 s-au prezentat principiile de proiectare a dou structuri de baze de date, Stocuri i Candida i, respectnd trei reguli fundamentale: Regula nr.1 separarea corect a informa iilor pe cmpuri Regula nr.2 utilizarea cheilor primare pentru identificarea unic a nregistrrilor Regula nr.3 utilizarea legturilor ntre tabele (rela ii) pentru regsirea corect a informa iilor dependente Rela iile ntre tabele asigur o eficien ridicat a administrrii bazei de date (introducere, afiare, modificare/actualizare a informa iilor). Crearea i configurarea rela iilor ntre tabele n Access se efectueaz n fereastra rela iilor (relationships), accesibil cu op iunea de meniu Tools Relationships sau prin apsarea butonului specific de pe bara cu butoane superioar. Aducerea tabelelor n fereastra rela iilor se face cu op iunea de meniu Relationships Show Table sau prin apsarea butonului specific de pe bara cu butoane superioar.

Fig.2.18 Fereastra de configurare a unei rela ii de tip 1N n figura 2.17 este prezentat fereastra rela iilor cu structura acestora n cazul bazei de date Stocuri. Crearea unei rela ii ntre dou tabele ale bazei de date Access necesit executarea urmtorilor pai: 34

Fig.2.17 Fereastra rela iilor

1. Deschiderea ferestrei rela iilor (relationships) i aducerea celor dou tabele n cadrul acesteia; 2. Selectarea cu ajutorul mouse-ului a cmpului din primul tabel (membrul stng al rela iei) i depunerea prin drag&drop peste cmpul corespunztor din cel de-al doilea tabel (membrul drept al rela iei), n acest moment se deschide o fereastr de configurare a propriet ilor rela iei (Edit Relationships, vezi fig.2.18) 3. Dac cele dou tabele con in nregistrri, Access le va analiza i va sugera tipul rela iei potrivite, ateptnd configurarea celorlalte propriet i (Enforce Referential Integrity i Join Type) 4. Dup configurarea propriet ilor se valideaz rela ia prin apsarea butonului Create; n fereastra rela iilor, rela ia creat va fi vizualizat printr-o linie de legtur ntre cele dou cmpuri, marcat la capete n func ie de tipul rela iei (11, 1 etc.). Op iunea Enforce Referential Integrity permite stabilirea unei rela ii de integritate referen ial ntre cele dou tabele, adic evitarea anomaliilor de introducere a datelor (nu se vor accepta nregistrri n tabelul al doilea (tabelul corelat) dac valoarea cmpului de legtur al acestora nu exist n primul tabel (tabelul primar) i a celor de modificare/actualizare (modificarea valorii de cmp a unei nregistrri n tabelul primar se transmite automat i valorilor cmpului de legtur din tabelul corelat). Modul de lucru al op iunii are dou subop iuni: Cascade Update Related Fields a crei activare determin transmiterea automat a modificrii valorii cmpului de legtur a unei nregistrri din tabelul primar la nregistrrile corespunztoare din tabelul corelat Cascade Delete Related Records a crei activare determin tergerea automat a nregistrrilor corespunztoare din tabelul corelat dac se terge o nregistrare din tabelul primar. Exemple n baza de date Stocuri sunt necesare 5 rela ii de tipul 1N (1) ntre tabele pentru o func ionare corespunztoare a acesteia. n figura 2.17 sunt prezentate aceste rela ii, descrise n cele ce urmeaz: ntre tabelele Produse i StocAprov pe cmpul Cod produs ; ntre tabelele Produse i StoConsum pe cmpul Cod produs ; ntre tabelele Noterec i StocAprov pe cmpul Nr.not recep ie ; ntre tabelele Furnizori i Noterec pe cmpul Cod furnizor ; ntre tabelele BonConsum i StoConsum pe cmpul Cod bon. n baza de date Candida i sunt necesare 2 rela ii, una de tipul 1N (1) i alta de tipul 11 ntre tabele, descrise n continuare: ntre tabelele Specializri i Candidati pe cmpurile Cod specializare i, respectiv, Admis la, rela ie de tipul 1N; ntre tabelele Candidati i Op iuni pe cmpul Nr.legit, rela ie de tipul 11.

35

2.6. Afiarea selectiv i ordonarea nregistrrilor


n fereastra de afiare a nregistrrilor unui tabel (datasheet view), acestea sunt afiate n mod implicit n ordine cresctoare dup valorile cmpului cheie primar al tabelului. Totodat, sunt afiate toate nregistrrile con inute n tabelul respectiv. Dac un tabel al bazei de date con ine sute de nregistrri, gsirea unor anumite informa ii este dificil dac acest lucru se realizeaz prin parcurgerea nregistrrilor una dup alta. Access ofer, pentru simplificarea cutrii, dou solu ii i anume: Cutarea unei anumite informa ii cu op iunea Find Find; Afiarea selectiv (filtrarea) nregistrrilor cu op iunea Filter Filter. La un moment dat, utilizatorul poate avea nevoie de afiarea nregistrrilor ntr-o anumit ordine, diferit de cea implicit (cresctoare dup valoarea cheii primare). Access asigur aceast posibilitate prin ordonarea nregistrrilor dup valorile unuia sau a mai multor cmpuri ale tabelului respectiv, cu op iunea Sort Sort. Cutarea unei informa ii n baza de date Cutarea i gsirea unei anumite informa ii ntr-un tabel al bazei de date se face cu op iunea de meniu Edit Find, sau prin apsarea butonului specific de pe bara cu butoane superioar. Se afieaz o caset de dialog n care se descriu op iunile de cutare (fig.2.19): casetele de editare: Find What: se scrie informa ia care se dorete a fi gsit Look In: se indic locul de cutare dorit Match: Any Part of Field / Whole Field / Start of Field potrivire ir de caractere dorit cu valoarea cmpului n orice parte a cmpului / cu ntreaga valoare / la nceputul valorii cmpului Search: Up / Down / All cutare de la nregistrarea curent napoi / nainte / n toate nregistrrile

caseta de validare: Match Case: potrivire la majuscule

Fig.2.19 Caset de dialog Find Observa ie

Fig.2.20 Caset de dialog Replace

Cmpul / nregistrarea curent sunt cele pe care se afl prompterul la un moment dat, n fereastra de afiare a nregistrrilor (datasheet view). Execu ia cutrii se face prin apsarea butonului Find Next care afieaz succesiv gsirea valorii cerute n diferite nregistrri.

36

Caseta de dialog Find este asociat cu a doua caset de dialog, denumit Replace fig.2.20 care ofer posibilitatea nlocuirii unor valori introduse cu altele dorite de utilizator. Semnifica ia op iunilor este urmtoarea : Find What: valoarea care se dorete a fi nlocuit Replace With: noua valoare care o va nlocui pe cea anterioar Look In, Match, Search: semnifica ii identice cu cele ale casetei Find butonul Replace: nlocuiete cte o valoare gsit succesiv butonul Replace All: nlocuiete toate valorile Find What, gsite n tabelul curent, cu cea indicat la Replace With Afiarea selectiv a nregistrrilor cu ajutorul filtrelor ntr-un tabel al bazei de date, afiarea selectiv nseamn afiarea numai a anumitor nregistrri care au o proprietate comun valoare comun a unuia sau a mai multor cmpuri. Ac iunea se realizeaz cu ajutorul op iunii de meniu Records Filter i alegerea unei posibilit i dintre cele disponibile sau prin apsarea unuia dintre butoanele specifice de pe bara cu butoane superioar. Filter By Selection Filter By Form Apply Filter Op iunea Filter are mai multe posibilit i de aplicare, dintre care cele mai importante sunt urmtoarele dou: Filter By Selection: afiare selectiv dup valoarea comun a unui singur cmp, care se indic prin depunerea prompterului pe valoarea respectiv la una dintre nregistrrile care o con in; Filter By Form: afiare selectiv dup valorile comune ale mai multor cmpuri, care se indic prin selec ie ntr-un formular special destinat. Aplicarea filtrului se face prin apsarea butonului Apply Filter, iar nlturarea acestuia prin apsarea aceluiai buton, acum cu semnifica ia Remove Filter. Observa ie Selec ia nregistrrilor cu ajutorul filtrelor, n fereastra de afiarea a acestora (datasheet view) este cea mai simpl ac iune de selec ie care se poate aplica nregistrrilor unui tabel. Selec ia mai complex a nregistrrilor dintr-unul sau mai multe tabele ale bazei de date, n care se pot utiliza i func ii specifice se realizeaz prin interogri (vezi cap.2.9).

Ordonarea nregistrrilor Afiarea nregistrrilor dintr-un tabel al bazei de date n fereastra Datasheet view se poate face ntr-o anumit ordine, dup valorile unuia sau a mai multor cmpuri, n func ie de necesit ile utilizatorului. Aceast ac iune se realizeaz cu ajutorul op iunii Records Sort i alegerea uneia dintre posibilit i, Sort Ascending ordonare cresctoare sau Sort Descending ordonare descresctoare. Ac iunea se poate realiza i prin apsarea unuia dintre butoanele corespunztoare de pe bara cu butoane superioar. Dac ordonarea se face numai dup valorile dintr-un singur cmp al tabelului (de ex. ordonare alfabetic dup nume a unei liste de informa ii despre persoane), atunci se depune prompterul n cmpul respectiv i se alege una dintre op iunile de ordonare. 37

Dac ordonarea trebuie fcut dup valorile a dou sau mai multe cmpuri (de ex. ordonare alfabetic dup localitate de domiciliu i nume a unei liste de informa ii despre persoane, atunci cele dou cmpuri trebuie s fie alturate n fereastra de afiare a nregistrrilor, se selecteaz cele dou cmpuri i se aplic apoi una dintre op iunile de ordonare. Observa ii Cmpurile dup care se aplic ordonarea trebuie s fie aezate de la stnga la dreapta n ordinea clasei de ordonare. Ordonarea se face n acelai fel (cresctor sau descresctor) dup toate cmpurile. Ordonarea n sensuri diferite dup mai multe cmpuri se poate realiza numai n cadrul interogrilor vezi cap.2.9. Se pot ordona nregistrri dup cmpuri de tip text, numeric sau data calendaristic. Schema de ordonare aplicat la un moment dat se poate memora (File Save), astfel nct la o afiare ulterioar a nregistrrilor din tabel, acestea s fie afiate n ordinea stabilit anterior.

2.7. Biblioteca de func ii integrate Access


Prelucrarea informa iilor cuprinse n tabelele unei baze de date presupune deseori i calcule matematice sau logice. Aceste calcule se fac cu operatorii matematici, logici etc. cunoscu i, utiliznd datele con inute n tabelele bazei de date. Aceti operatori se pot clasifica dup cum urmeaz: operatori aritmetici: + * / ^ operatori rela ionali (de comparare): < > = <> <= >= operatori logici: NOT AND OR operatori de grupare: ( ) operatori de concatenare: + &

Access dispune de o bibliotec de func ii predefinite integrate built-in functions care se pot utiliza pentru prelucrarea informa iilor de diferite tipuri (numerice, text, logice etc.) con inute la un moment dat ntr-o baz de date. Valorile cmpurilor definite n formulare, rapoarte sau interogri pot fi rezultatul evalurii unor rela ii matematice n care s fie incluse i func ii predefinite. Editarea rela iilor matematice se poate face direct de ctre utilizator dac acesta are suficient experien sau cu ajutorul asisten ei interactive, ntr-o fereastr de editare specific expression builder dialog box (fereastra constructorului de rela ii matematice). Atunci cnd n rela iile matematice se utilizeaz valorile unor cmpuri existente n tabelele bazei de date, referirea la acestea se face cu sintaxa [nume_tabel]![nume_cmp] sau prin indicarea numai a numelui cmpului, dac n baza de date sau n obiectul n care este creat rela ia matematic (formular, raport, interogare) exist un singur cmp cu numele respectiv. Activarea ferestrei de editare a rela iilor matematice cu ajutorul asisten ei interactive se face prin apsarea butonului specific de pe bara cu butoane superioar.

38

Exemplu n baza de date Candidati (vezi schema din fig.2.7), media final de admitere a candida ilor, Medie_adm, s-a calculat ca medie ponderat dintre media la bacalaureat (30%) i nota ob inut la proba de concurs (70%). Avnd n vedere c cele dou valori sunt con inute n cmpurile Medie_bac i Nota_la_proba, sintaxa rela iei matematice va fi urmtoarea: [Medie_bac]*0.3+[Nota_la_proba]*0.7 medie_adm: [Medie_bac]*0.3+[Nota_la_proba]*0.7 n figura 2.21 este prezentat fereastra utilizat pentru editarea rela iei matematice.

Fig.2.21 Fereastra de editare a rela iilor matematice Func iile predefinite integrate n biblioteca Access sunt grupate pe categorii (vezi fig.2.21) n func ie de tipurile de date pe care le pot prelucra. Cele mai importante dintre acestea sunt: func iile matematice Math: prelucreaz date de tip numeric func iile pentru iruri Text: prelucreaz date de tip ir de caractere func iile calendaristic Date/Time: prelucreaz date de tip dat calendaristic / or func iile globale SQL Aggregate: prelucreaz statistic seturi (mul imi) de nregistrri. Precizare n capitolele urmtoare se vor prezenta cteva dintre func iile predefinite integrate, care se pot utiliza pentru prelucrarea informa iilor din cele dou baze de date exemplificate Candidati i Stocuri pentru care sunt concepute i aplica iile incluse n capitolul 4 al acestui curs. n anexa nr.1 de la sfritul cursului sunt prezentate cele mai uzuale func ii predefinite integrate n biblioteca de func ii Access.

39

2.8. Proiectarea i execu ia interogrilor


Interogrile sunt obiecte ale bazei de date destinate prelucrrii informa iilor memorate. Interogrile rspund necesit ilor utilizatorului de a afia selectiv informa ii din baza de date, de a le prelucra prin crearea unor noi cmpuri sau tabele sau de a modifica valori ale nregistrrilor existente. Prin interogri, utilizatorii administreaz baza de date caut, prelucreaz, actualizeaz informa ii ndeplinind rolul principal pentru care aceasta a fost creat. Interogrile se creaz i se gestioneaz n sec iunea Queries. Exist trei butoane disponibile, asociate celor trei ac iuni care se pot efectua n legtur cu o interogare: Execu ia interogrii i afiarea nregistrrilor Open Deschiderea ferestrei de proiectare a unei interogri existente Design Crearea unei noi interogri New n func ie de scop, interogrile se clasific n dou categorii: interogri de selec ie: de cmpuri, de nregistrri, cu cmp calculat, cu parametru, de tip global, de tip tabel sintetic interogri de ac iune: de creare tabel nou, de modificare valori n tabel existent Crearea unei noi interogri. Fereastra de proiectare Exist dou posibilit i de a crea interogri, cu sau fr ajutorul asistentului interactiv: Design View - crearea interogrii n fereastra de proiectare, manual, de ctre utilizator; Simple Query Wizard - crearea unei interogri cu ajutorul asistentului interactiv, cu excep ia interogrilor de tip tabel sintetic; Crosstab Query Wizard - crearea unei interogri de tip tabel sintetic cu ajutorul asistentului interactiv. Fereastra de proiectare a unei interogri este prezentat n figura 2.22. Aceasta cuprinde dou zone : zona tabelelor con ine tabelele din care se dorete extragerea nregistrrilor; dac ntre tabele exist rela ii, acestea vor fi vizualizate zona de proiectare con ine o serie de rnduri specifice necesare descrierii interogrii; se mai numete i gril de interogare. Semnifica ia rndurilor din zona de proiectare este urmtoarea : Field i Table : numele cmpurilor i a tabelului din care provin sau ale cmpurilor nou create (calculate cu rela ii matematice) Sort : ordonare dup valorile din cmpul respectiv Show : afiare sau nu a cmpului (caset de validare) Criteria : criteriul de selec ie a nregistrrilor Total : apare la interogrile de tip global i precizeaz op iunile de grupare sau de operare statistic cu valorile din cmpul respectiv (Group By, Expression, Min, Max, Sum etc.) 40

Crosstab : apare la interogrile de tip tabel sintetic, pentru precizarea atributului cmpului respectiv (Row Heading, Column Heading, Value)

Fig.2.22 Fereastra de proiectare a unei interogri Proiectarea unei interogri n Access se face vizual prin selectarea pe rnd a tuturor op iunilor i prezentarea grafic a acestora. Acolo unde este necesar, Access furnizeaz i asisten interactiv. Acest mod de proiectare este numit QBE Query By Example (interogare prin exemplu) i este mai uor de folosit pentru utilizatorii cu experien minim. De fapt, n spatele acestui mod de proiectare st un limbaj de programare bazat pe un set de instruc iuni standard [BAS 97, FOT 97], numit SQL - Structured Query Language. Acest limbaj a devenit un standard (1986) i este integrat n toate sistemele informatice de gestiune a bazelor de date moderne. Dup proiectarea interogrii, aceasta se execut cu op iunea de meniu Query Run sau prin apsarea butonului specific de pe bara cu butoane superioar. Execu ia afieaz o fereastr similar cu cea de afiare a nregistrrilor unui tabel Datasheet view con innd nregistrrile care corespund criteriilor precizate. Exist i posibilitatea afirii setului de instruc iuni SQL al interogrii prin selectarea modului de afiare SQL View. Trecerea de la un mod de afiare la altul Datasheet View, SQL View sau Design View se face cu ajutorul op iunii de meniu View sau prin utilizarea butonului specific de pe bara cu butoane superioar, buton care i schimb aspectul n func ie de fereastra care este activ la un moment dat. n figurile 2.23 i 2.24 sunt prezentate ferestrele Datasheet View i SQL View pentru interogarea a crei fereastr de proiectare Design View este prezentat n figura 2.31. Aspectul de afiare a nregistrrilor (font, dimensiune, culoare, etc.) este cel Fig.2.23 Fereastra Datasheet a unei interogri 41

implicit al primului tabel adus n fereastra interogrii. Acest aspect poate fi modificat i memorat n interogare. Modificarea propriet ilor cmpurilor se face n fereastra de proiectare a interogrii, depunnd prompterul n rndul Field al cmpului i selectnd din meniul contextual clickdreapta de mouse op iunea Properties.

Fig.2.24 Fereasta SQL a unei interogri setul de instruc iuni SQL n continuare se prezint principalele tipuri de interogri mpreun cu cteva exemple pentru fiecare tip. Rezolvarea exemplelor este descris n cadrul aplica iilor nr.4 i 5, din capitolul 4. Interogri de selec ie de cmpuri Sunt destinate afirii anumitor cmpuri din tabelele bazei de date. Valorile din cmpurile respective sunt afiate pentru toate nregistrrile din tabele. Op ional, se poate face ordonarea dup unul sau mai multe cmpuri (rndul Sort). Prin execu ia interogrii, n fereastra de afiare a rezultatelor Datasheet View vor apare toate nregistrrile din tabele, afind valorile din cmpurile selectate. Exemple 1. Afiarea n baza de date Candida i a urmtoarelor informa ii: nr.legitima ie, numele i prenumele candidatului, proba de concurs, prima optiune, judetul. nregistrrile trebuie afiate n ordine alfabetic, dup numele candida ilor 2. Afiarea n baza de date Stocuri a unor date despre facturile de aprovizionare, afiate n ordine cronologic: nr.factura, data facturii, denumire furnizor, telefon furnizor Interogri de selec ie de nregistrri Sunt destinate afirii selective a nregistrrilor din tabele, dup anumite criterii de selec ie, precizate pe grila de nterogare, n rndul Criteria. Interogrile de acest tip sunt similare cu utilizarea filtrelor pentru tabele (vezi subcap.2.6), dar ofer mai multe posibilit i de selec ie. Op ional, se poate face ordonarea dup unul sau mai multe cmpuri (rndul Sort). Prin execu ia interogrii, n fereastra de afiare a rezultatelor vor apare nregistrrile ale cror valori de cmp respect criteriul de selec ie. Pentru construc ia de rela ii matematice n rndul Criteria se utilizeaz operatorii aritmetici, rela ionali, logici, de concatenare (+, &) sau func iile specifice de comparare (Is Null, Is Not Null, Like, In, Between). La construc ie se poate utiliza asistentul interactiv Expression Builder Wizard (vezi subcap.2.7). 42

Pentru construc ia criteriului de selec ie trebuie respectate cteva reguli care sunt prezentate n tabelul urmtor. Reguli de formare a criteriului de selec ie Valorile de tip ir de caractere (Text) se introduc ca atare (Access adaug automat ghilimele) Ex. tecm Referirile la nume de cmpuri se includ ntre paranteze drepte, altfel se consider iruri de caractere (de tip Text) Ex. [OP1] [denmat] Pentru selec ia nregistrrilor dup anumite cmpuri, se pot utiliza constante predefinite, cum ar fi True sau False (pentru cmpuri de tip Yes/No) Pentru selec ia valorilor ntr-un anumit interval se utilizeaz operatorii de comparare:

<

>

<=

>=

Pentru utilizarea mai multor valori de selec ie simultan pe acelai cmp se folosesc operatorii logici Or sau And Func ia Like se utilizeaz cu caractere de nlocuire (wildcard, joker)

* nlocuiete orice numr de caractere ? nlocuiete un singur caracter


Func iile Is Null sau Is Not Null selecteaz nregistrrile care nu au / au valoare n cmpul respectiv Func ia In (val_1; val_2; ; val_n) selecteaz nregistrrile ale cror valoare de cmp este una dintre valorile val_1, val_2, , val_n Func ia Between valoare1 and valoare2 selecteaz nregistrrile ale cror valori de cmp se situeaz ntre valoare1 i valoare2, exceptndu-le pe acestea Exemple 1. Afiarea n baza de date Candida i a candida ilor admii la o anumit specializare, n ordine alfabetic Se aplic o selec ie pe cmpul [admis], indicnd codul specializrii respective (ex.TECM); Se indic ordonare cresctoare dup valorile cmpului [nume]. Observa ie Access nu este Case Sensitive (nu face diferen a ntre litere mici i majuscule n irurile de caractere (TECM sau tecm sau Tecm).

2. Afiarea n baza de date Candidati a candida ilor respini, n ordinea descresctoare a mediilor finale de admitere Se aplic o selec ie pe cmpul [admis], utiliznd func ia Is Null; Se indic ordonare descresctoare dup valorile cmpului [medf]. 43

3. Afiarea n baza de date Candida i a candida ilor admii, al cror nume ncepe cu o anumit liter Se aplic o selec ie pe cmpul [nume], utiliznd func ia Like cu caracterul de nlocuire * i o selec ie pe cmpul [admis], utiliznd func ia Is Not Null; De exemplu, pentru selec ia candida ilor ai cror nume ncepe cu litera B, sintaxa func iei va fi Like B* B*. 4. Afiarea n baza de date Candidati a candida ilor care au fost admii la prima op iune din fia de nscriere Se aplic o selec ie pe cmpul [admis], indicnd egalitatea valorilor acestui cmp cu cele din cmpul [tblOptiuni]![op1]. 5. Afiarea n baza de date Candida i a candida ilor admii care au ob inut media final ntr-un anumit interval de valori Se aplic pe cmpul [admis] o selec ie a candida ilor admii cu func ia Is Not Null; Se aplic pe cmpul [medf] o selec ie cu func ia Between val1 and val2, n care val1 i val2 reprezint limitele intervalului sau cu o rela ie de comparare de tipul >val1 and <val2 6. Afiarea n baza de date Stocuri a unor date despre facturile de aprovizionare dintr-o anumit perioad de timp Se aplic pe cmpul [datafact] o selec ie, utiliznd func ia Between, Between #09/01/01# and #09/30/01# Obs. Valoarea de tip dat calendaristic se introduce n formatul implicit al sistemului Windows (n exemplul dat LL/ZZ/AN). Caracterul special # (diez) nu trebuie introdus, el este adugat automat atunci cnd se identific o valoare de tip dat calendaristic. 7. Afiarea n baza de date Stocuri a facturilor neachitate Se aplic pe cmpul [achitat] o selec ie, utiliznd valoarea False.

Interogri de selec ie cu cmp calculat Sunt interogri n care se creaz noi cmpuri ale cror valori sunt calculate cu rela ii matematice, utiliznd valorile din cmpurile existente n tabelele bazei de date. Cmpurile calculate sunt create la execu ia interogrii. Alturi de cmpurile calculate se pot aduce pe grila de interogare cmpuri existente n tabelele bazei de date. Pot fi aplicate selec ii de nregistrri sau criterii de ordonare dup oricare cmp. La construc ia rela iei matematice se pot utiliza func iile predefinite incluse n biblioteca Access (vezi anexa nr.1), a cror editare se poate face apelnd asistentul interactiv Expression Builder. Sintaxa unui cmp calculat este urmtoarea: matematica nume_cmp: <relatie matematica> n care nume_cmp reprezint un nume care se atribuie cmpului respectiv, iar <relatie matematica> reprezint rela ia matematic de calcul al valorilor cmpului.

44

Exemple 1. Afiarea n baza de date Candidati a mediei finale de admitere ca un cmp calculat ca medie ponderat a valorilor din cmpurile [notap] 70% (nota la prob) i [mbac] 30% (medie bacalaureat). Noul cmp, denumit [media], se calculeaz cu rela ia matematic: media: [notap]*0.7 + [mbac]*0.3 2. Crearea n baza de date Candidati a unui cmp ale crui valori s fie Da sau Nu n func ie de valoarea mediei finale [medf]; dac media este mai mare sau egal cu 8,50, valoarea s fie Da, iar n celelalte cazuri s fie Nu. Valorile ar putea fi utilizate pentru decizia privind acordarea bursei ctre studen i. Se utilizeaz func ia condi ional IIf cu sintaxa de mai jos: IIf, Da; bursa: IIf ([medf] >=8,50; Da; Nu) 3. Afiarea n baza de date Stocuri a valorii aprovizionate pe fiecare produs sau factur pentru nregistrrile din tabelul tblStocAprov. Valoarea se ob ine prin nmul irea valorilor cmpurilor [pret] i [cantitate], utiliznd rela ia matematic de mai jos: ValAprov: [pret]*[cantitate] 4. Afiarea n baza de date Stocuri a unor date din facturile de aprovizionare, n ordine cronologic, n func ie de luna achizi iei. Luna achizi iei este inclus n data facturii i poate fi extras cu ajutorul unor func ii predefinite Month sau Datepart: luna: Month([datafact]) Datepart(m;[datafact]) luna: Datepart(m;[datafact]) 5. Afiarea n baza de date Stocuri a pre ului de achizi ie al produselor n euro, pe baza pre ului n lei. Pre ul n euro se calculeaz prin mpr irea pre ului de aprovizionare n lei, [pret] din tabelul tblStocAprov, la cursul valutar lei/euro : 37800 pret_euro: [pret] / 37800

Interogri de selec ie cu parametru Parametrul reprezint o valoare variabil, care este dat de ctre utilizator, ntr-o fereastr de dialog specific, n momentul execu iei interogrii. Parametrul se poate utiliza drept criteriu de selec ie de nregistrri sau n rela ii matematice care definesc cmpuri calculate. Identificarea unui parametru se face printr-un mesaj specific ntre paranteze drepte [mesaj]. Mesajul va fi afiat n fereastra de dialog n care se solicit valoarea parametrului i trebuie s indice semnifica ia valorii care se introduce. Exemple 1. Afiarea n baza de date Candida i a candida ilor admii la o anumit specializare, fr a o preciza explicit, ci sub form de parametru. Se aplic o selec ie pe cmpul [admis], indicnd un mesaj specific n rndul Criteria, cum ar fi [Introduceti codul specializarii]; specializarii] 45

La execu ia interogrii se va solicita valoarea parametrului, ntr-o fereastr de dialog n care se afieaz mesajul specific indicat, fig.2.25. 2. Afiarea n baza de date Candida i a candida ilor admii avnd media final ntr-un interval precizat de ctre utilizator Fig.2.25 Se aplic pe cmpul [admis] o selec ie a candida ilor admii cu func ia Is Not Null; Se aplic pe cmpul [medf] o selec ie cu func ia Between val1 and val2, n care val1 i val2 reprezint limitele intervalului, n locul unor valori numerice se vor indica nite mesaje specifice de forma Between [Media minima] And [Media maxima] 3. Afiarea n baza de date Stocuri a pre ului de achizi ie al produselor n euro, pe baza pre ului n lei. Pre ul n euro se calculeaz prin mpr irea pre ului de aprovizionare n lei, [pret] din tabelul tblStocAprov, la cursul valutar lei/euro, care este definit ca un parametru: pret_euro: pret_euro: [pret] / [Introduceti cursul LEI/EURO]

Interogri de selec ie de tip global Interogrile de tip global prelucreaz informa iile din tabelele bazei de date cu ajutorul unor op iuni de tip global, similare func iilor de tip global (vezi anexa nr.1 SQL Aggregate). nregistrrile sunt grupate prin selec ie, pe seturi, dup valoarea comun a unor cmpuri (Group By) i apoi se efectueaz prelucrarea seturilor astfel create, dup valorile din alte cmpuri, cu func iile de tip global (Count, Sum, Min, Max, Avg, Expression). Interogarea de tip global se creaz dintr-o interogare de selec ie, apsnd butonul de pe bara superioar; pe gril apare rndul Total n care se aleg op iunile de prelucrare pentru fiecare cmp. Exemple 1. Afiarea n baza de date Candidati a numrului de admii pe specializri Se aduce de dou ori cmpul [admis] pe gril ; primul cmp este utilizat pentru gruparea nregistrrilor pe seturi n func ie de valoarea cmpului, iar al doilea pentru prelucrarea seturilor cu func ia global Count. 2. Afiarea n baza de date Candidati a mediei minime i maxime de admitere pe specializri Se utilizeaz cmpurile [admis] i [medf], aplicnd func iile globale Min i, respectiv, Max. 3. Afiarea n baza de date Candidati a numrului de candida i dup prima liter a numelui acestora Se utilizeaz un cmp calculat Litera: left([nume];1) pentru a grupa nregistrrile pe seturi i cmpul [legit], aplicnd func ia global Count. 4. Afiarea n baza de date Stocuri a cantit ii totale aprovizionate / consumate pe produse

46

Se utilizeaz cmpurile [codprod] i [denprod] din tblProduse i cmpul [cantitate] din tblStocAprov / tblStoConsum i se aplic func ia global Sum pe cmpul [cantitate]. 5. Afiarea n baza de date Stocuri a valorii totale de aprovizionare pe produse (facturi / furnizori) Se utilizeaz cmpurile [codprod] i [denprod] din tblProduse i un cmp calculat ValAprov:[cantitate]*[pret] i se aplic func ia global Sum pe acest cmp; Se poate utiliza un cmp calculat cu rela ia ValAprov:Sum([cantitate]*[pret]) i, pe rndul Total se alege op iunea Expression.

Interogri de selec ie de tip tabel sintetic Interogrile de tip tabel sintetic sunt, de obicei, interogri de tip global care afieaz rezultatul execu iei ntr-un format specific, asemntor unui tabel de sintez. O interogare de tip tabel sintetic trebuie s con in cel pu in trei cmpuri (fig.2.26): Row Heading un cmp ale crui valori reprezint antetul liniilor n tabelul de sintez, pot exista mai multe cmpuri cu acest atribut n fig.2.26 sunt dou cmpuri; Column Heading un singur cmp ale crui valori reprezint antetul coloanelor n tabelul de sintez; Value un singur cmp ale crui valori reprezint valorile celorlalte celule ale tabelului de sintez. Row Heading Column Heading

Value

Fig.2.26 Interogare de tip tabel sintetic Crosstab Query O interogare de tip tabel sintetic se creaz dintr-o interogare de tip global cu op iunea de meniu Query Crosstab Query, configurnd n mod corespunztor op iunile rndului Crosstab al grilei de interogare. Exemple 1. Afiarea n baza de date Candidati a numrului de candida i, repartiza i pe probele de concurs, pentru fiecare specializare Se utilizeaz cmpurile [op1] i [proba] ; 47

Cmpul [proba] se utilizeaz de dou ori, o dat drept antet de coloane Column Heading i a doua oar drept valoare n celulele tabelului Value calculat cu func ia global Count; Fereastra de proiectare a interogrii i rezultatul execu iei acesteia sunt prezentate n figura 2.27,a i, respectiv, 2.27,b.

a. Fereastra de proiectare

b. Rezultatul execu iei interogrii

Fig.2.27 Interogare de tip tabel sintetic n baza de date CANDIDA I 2. Afiarea n baza de date Stocuri a cantit ilor totale din fiecare produs, achizi ionate de la fiecare furnizor Se utilizeaz cmpurile [codprod] i [denprod], [tblStocAprov]![cantitate] i [denfur]; Cantitatea total se determin prin aplicarea func iei globale Sum pe cmpul [cantitate]; Rezultatul execu iei interogrii este prezentat n fig.2.26; Absen a unor valori din celulele tabelului afiat arat c produsul respectiv nu a fost achizi ionat de la furnizorul respectiv.

48

2.9. Proiectarea i utilizarea formularelor


Formularele sunt obiecte ale bazei de date destinate introducerii i/sau vizualizrii ntr-o form specific a datelor. Formularele sunt utile pentru operatorii mai pu in experimenta i care trebuie s lucreze cu informa iile din baza de date. n acest sens, formularele constituie o interfa mai accesibil ntre operator i baza de date. Formularele afieaz nregistrri din tabele sau interogri ale bazei de date sau asigur introducerea unor noi nregistrri n tabele. Proiectarea i gestionarea formularelor se face n sec iunea Forms. Asupra unui obiect de tip formular se pot executa trei ac iuni, corespunztoare celor trei butoane disponibile: Deschidere (utilizare) formular existent Open Deschidere fereastr de proiectare formular existent Design Creare formular nou New Crearea unui nou formular. Elemente componente Exist mai multe posibilit i de a crea formulare, dintre care cele mai utilizate sunt urmtoarele : Design View - creare formular n fereastra de proiectare; se recomand utilizatorilor experimenta i Form Wizard - creare formular cu ajutorul asistentului interactiv; varianta cea mai recomandat, att pentru nceptori, ct i pentru avansa i AutoForm - creare automat formular simplu; limitat ca posibilit i Chart Wizard - creare formular cu grafice incluse, cu ajutorul asistentului interactiv Fereastra de proiectare a unui formular este prezentat n figura 2.28.

Etichet text

Etichet text Caset cmp

Butoane comand

Fig.2.28. Fereastra de proiectare a unui formular Design View

49

Un formular poate s con in trei zone: Form Header antetul formularului, Detail zona cmpurilor i Form Footer subsolul formularului. Dintre acestea, zona Detail este obligatorie, celelalte fiind op ionale. Zona Form Header este destinat, de obicei, unui titlu pentru formular i includerea unor elemente informative (ex. numele emitentului, data sau ora curent, nr.pagin, etc). n zona Detail se introduc cmpurile tabelului ale cror valori trebuie afiate pentru fiecare nregistrare a acestuia. Zona cuprinde grupuri de entit i formate din dou elemente, o etichet i o caset de cmp. Zona Form Footer este destinat includerii unor elemente informative sau anumitor observa ii legate de utilizarea formularului. De asemenea, aici se pot include butoane de comand pentru utilizarea formularului. Fiecare entitate definit n formular (cum ar fi etichetele de text, casetele de cmp, butoanele de comand etc), zonele acestuia precum i formularul nsui au anumite propriet i specifice, configurabile de ctre utilizator. Afiarea acestora se face selectnd entitatea i alegnd op iunea Properties din meniul contextual afiat prin apsarea butonului dreapta al mouse-ului. Se afieaz o fereastr de dialog specific (fig.2.29 pentru o caset de cmp). Adugarea de noi entit i n formular se face prin selectarea acestora de pe bara cu butoane asociate Toolbox, care este afiat automat la deschiderea ferestrei de proiectare a formularului (dac nu este afiat, se selecteaz op iunea de meniu View Toolbox).

Fig.2.29 Fereastra Properties Denumire entitate Buton asociat pe Toolbox

Cele mai uzuale entit i care pot fi incluse ntr-un formular sunt descrise n tabelul de mai jos. Descriere

Label
etichet text

Text Box caset de cmp Combo Box caset list pop-up

Text simplu care poate fi formatat (font, mrime, culoare etc). Poate servi ca titlu de formular sau ca etichet (denumire) asociat unei casete de cmp Caset de cmp. Se asociaz cu cmpuri ale cror valori trebuie afiate/introduse. Poate fi formatat i transformat n caset tip list simpl sau combinat Caset list pop-up (derulant). Se poate ataa unui cmp ale crui valori le afieaz pentru toate nregistrrile sub forma unei liste derulante 50

(continuare) Denumire entitate Buton asociat pe Toolbox Descriere

List Box caset list simpl Command Button Buton comand Rectangle Line

Subform

Caset list simpl. Se poate ataa unui cmp ale crui valori le afieaz pentru toate nregistrrile sub forma unei liste simple. Buton de comand. La apsare, se execut o anumit comand asociat (nchidere/deschidere obiect, cutare valori, parcurgere nregistrri etc). Element grafic dreptunghi. I se poate modifica tipul de linie, grosimea, culoarea. Element grafic linie. I se poate modifica tipul de linie, grosimea, culoarea. Buton de creare subformular. Se creaz o legtur ctre un formular existent sau se creaz interactiv un subformular care este utilizat n cadrul formularului principal.

Observa ii Atunci cnd se adaug o caset de cmp (Text/Combo/List Box), ea este nso it ntotdeauna de o etichet (Label). Dac aceasta nu este necesar, poate fi tears prin selectare i apsarea tastei Delete sau a butonului asociat de pe bara cu butoane superioar. Propriet ile entit ilor con inute n formulare Aa dup cum s-a precizat anterior, toate entit ile cuprinse ntr-un formular, zonele acestuia precum i formularul au o serie de caracteristici (propriet i) ale cror valori pot fi stabilite de ctre utilizator. Orice entitate inclus n formular este cuprins ntr-o caset imaginar, marcat de 8 ptr ele negre, dintre care unul de dimensiuni mai mari, situat n col ul stnga sus fig.2.30. Activarea casetei imaginare se face prin selectarea entit ii cu mouse-ul.

Fig.2.30 Entitate selectat caseta imaginar cu marcajele de selectare este activat Prin indicarea cu mouse-ul a ptratului negru mai mare i drag&drop (tragere&depunere), entitatea selectat poate fi mutat n cadrul formularului. Se observ c, n timpul mutrii, indicatorul mouse-ului devine o palm neagr. Prin indicarea cu mouse-ul a unuia dintre celelalte ptr ele negre i drag&drop (tragere&eliberare), se pot modifica dimensiunile casetei imaginare, n cazul n care se observ c textul scris n ea nu se vede n totalitate. Dac se execut dublu-click pe oricare dintre ptr elele negre, dimensiunile casetei se adapteaz la dimensiunea textului astfel nct acesta s se vad n totalitate fig.2.31, cazul b.

51

n cazul casetelor de cmp care sunt nso ite de o etichet de text, cele dou entit i sunt legate ntre ele i se pot gestiona n grup sau separat fig.2.32.

a. Caset prea mic b. Caset corect c. Caset prea nalt Fig.2.31 Redimensionarea casetei imaginare n func ie de textul afiat Etichet Caset de cmp Fig.2.32 Grup de entit i etichet caset de cmp (Text Box) Observa ie n cazul casetelor de cmp nu se recomand dimensionarea casetei dup lungimea textului scris n ea, care de obicei este numele cmpului, deoarece acesta poate fi mai mic dect lungimea unor valori ale cmpului respectiv, con inute n nregistrrile tabelului i, n consecin , acele valori nu se vor afia n totalitate.

Cele mai importante dintre propriet ile entit ilor care pot fi incluse n cadrul formularelor sunt descrise n cele ce urmeaz. Pentru etichetele de text i casetele cmpurilor: modificarea aspectului: font de text, mrime, culoare, fond (Font Name, Size/Weight, Fore Color, Back Style/Color, Border Style/Color etc.) Pentru casetele cmpurilor: sursa datelor afiabile n caset: Control Source dac este un cmp din tabel/interogare, este afiat numele acelui cmp, dac este o rela ie matematic sau o func ie integrat (vezi cap.2.7), atunci se afieaz rela ia/func ia. formatul de afiare a datelor: Format / Decimal Places cmp editabil sau blocat: Locked No/Yes cmp accesibil/inaccesibil cu tasta Tab: Tab Stop Yes/No pozi ia cmpului la parcurgere cu tasta Tab: Tab Index 0, 1, 2, .a.m.d. Pentru butoanele de comand afiare text pe buton: Caption afiare imagine pe buton: Picture / Picture Type asociere ac iune la apsare buton: On click [Event Procedure] Pentru zonele formularului stil i culoare fond (Special Effect, Back Color) Pentru formular sursa nregistrrilor: Record Source dac este un tabel sau o interogare, aici trebuie s apar numele obiectului respectiv controlul introducerii/afirii datelor: Data Entry Yes/No - introducere date noi / afiare date existente aspectul general al formularului (bare de derulare, butoane de min/max/close etc.): Scroll Bars, Record Selectors, Navigation Buttons, Min Max Buttons, Close Button etc. 52

Dup configurarea propriet ilor entit ilor, zonelor formularului i a propriet ilor acestuia i salvarea modificrilor, utilizarea ulterioar a formularului se face prin dublu-click pe numele acestuia n sec iunea Forms sau prin selec ie i apsarea butonului Open. n figura 2.33 este prezentat formularul a crui fereastr de proiectare a fost descris n figura 2.28. Trecerea ntre cele dou ferestre (utilizare proiectare) se poate face i cu ajutorul butonului asociat de pe bara cu butoane superioar, care i schimb forma n func ie de fereastra care este activ la Fig.2.33 Fereastra Form View (Open Form) un moment dat. Crearea i utilizarea subformularelor Subformularul este un formular care se utilizeaz n cadrul altui formular de care este legat printr-o rela ie de asociere. De obicei, formularele cu subformulare se folosesc pentru a afia sau a introduce date din / n tabele ntre care exist rela ii (vezi cap.2.5). Un subformular se poate crea n dou moduri: ca orice formular, cu op iunile disponibile (Design View, Form Wizard etc.) i apoi se adaug n formularul principal, stabilindu-se asocierea cu acesta prin propriet ile Source Object, Link Master Fields i Link Child Fields cu ajutorul asistentului interactiv n fereastra de proiectare a formularului principal, apelnd butonul specific de pe bara cu butoane Toolbox. Exemplu n baza de date Stocuri se poate crea un formular cu subformular pentru introducerea datelor din facturile de aprovizionare. Formularul principal este necesar pentru adugarea datelor generale despre factura de aprovizionare n tabelul tblNoterec, iar subformularul va permite adugarea de nregistrri despre produsele achizi ionate prin factura respectiv, n tabelul tblStocAprov (vezi exemplul de la aplica ia nr.6).

53

2.10. Proiectarea i utilizarea rapoartelor


Rapoartele sunt obiecte ale bazei de date destinate tipririi la imprimant ntr-o form specific a datelor. Dei informa iile din tabelele unei baze de date se pot tipri i direct din fereastra de afiare a nregistrrilor (datasheet view), aceast variant are o serie de limite. Rapoartele permit tiprirea informa iilor din tabele sau interogri ale bazei de date. Gestiunea rapoartelor se face n sec iunea Reports. Rapoartele permit tiprirea informa iilor din mai multe tabele simultan i pot con ine entit i ale cror valori sunt calculate cu rela ii matematice, pe baza valorilor cmpurilor din tabelele bazei de date. Proiectarea i utilizarea rapoartelor se face n mod asemntor cu formularele (cap.2.8). Din acest punct de vedere cele dou tipuri de obiecte sunt similare. Se poate spune c rapoartele tipresc informa iile prezentate la imprimant, n timp ce formularele le tipresc pe ecranul calculatorului. Deoarece rapoartele tipresc informa iile pe hrtie, valorile parametrilor acesteia format hrtie, dimensiuni margini, antet, subsol etc. vor fi preluate din sistem, conform valorilor existente n Microsoft Office. Binen eles, aceste valori pot fi modificate cu ajutorul op iunii de meniu File Page Setup, n func ie de cerin ele momentane ale utilizatorului. Asupra unui obiect de tip raport se pot executa trei ac iuni, corespunztoare celor trei butoane disponibile: Vizualizare raport existent nainte de tiprire Preview Deschidere fereastr de proiectare raport existent Design Creare raport nou New Crearea unui nou raport. Elemente componente Exist mai multe posibilit i de a crea rapoarte, dintre care cele mai utilizate sunt urmtoarele : Design View - creare raport n fereastra de proiectare; se recomand utilizatorilor experimenta i Report Wizard - creare raport cu ajutorul asistentului interactiv; varianta cea mai recomandat, att pentru nceptori, ct i pentru avansa i Auto Report - creare automat raport simplu; limitat ca posibilit i Chart Wizard - creare raport cu grafice incluse, cu ajutorul asistentului interactiv Label Wizard - creare raport pentru tiprire etichete Fereastra de proiectare a unui raport este prezentat n figura 2.34. Un raport poate avea, de regul, 5 zone componente: Report Header, Page Header, Detail, Page Footer i Report Footer. Dac informa iile care se tipresc provin din mai multe tabele ale bazei de date i se aplic unele criterii de grupare a acestora n func ie de valorile anumitor cmpuri, atunci raportul poate s con in i alte dou zone, antet i subsol de grup pentru fiecare cmp ale crui valori reprezint un criteriu de grupare. Zona Report Header este destinat includerii unui titlu pentru raportul respectiv, titlu care va fi tiprit o singur dat la nceputul raportului, pe prima pagin a acestuia. Se mai pot include aici informa ii statistice (data curent, nr.pagini raport etc.). 54

Zona Page Header reprezint antetul de pagin, n care se includ, de obicei, ca titluri de coloane, etichetele cmpurilor. Se mai pot include i date statistice (nr. de pagin, dat calendaristic etc.). Informa iile se vor tipri pe fiecare pagin a raportului n antetul acesteia.

Antet de grup Subsol de grup

Fig.2.34 Fereastra de proiectare a unui raport n zona Detail se includ cmpurile dorite din tabele, pentru care vor fi tiprite datele nregistrrilor. Zona Page Footer reprezint subsolul de pagin, n care se includ, de obicei, date statistice (nr. de pagin, dat calendaristic, subtotalizri de pagin etc.). Informa iile se vor tipri n subsolul fiecrei pagini a raportului. Zona Report Footer reprezint subsolul raportului, n care se pot include totalizri finale, semnturi etc). Acestea se vor tipri o singur dat, la sfritul raportului, pe ultima pagin a acestuia. Fiecare entitate definit n raport, zonele acestuia precum i raportul nsui au o serie de propriet i specifice, configurabile de ctre utilizator. Accesul la aceste propriet i se face, ca i la rapoarte, selectnd entitatea i butonul din dreapta al mouse-ului, op iunea Properties. n fereastra de dialog care apare se configureaz valorile propriet ilor. Propriet ile care apar in entit ilor unui raport sunt similare cu cele ale celor incluse n formulare i au fost descrise n cadrul cap.2.9 (aspectul etichetelor i casetelor de cmp, butoane de comand, elemente grafice etc.). Este disponibil, ca i la formulare, bara cu butoane ToolBox, cu ajutorul creia se pot aduga entit i n diferite zone ale raportului. Entit ile care pot face parte din componen a unui raport sunt similare cu cele incluse n formulare i au fost prezentate n tabelul de la cap.2.9. Unele informa ii statistice care se pot include n rapoarte pot fi adugate cu ajutorul op iunilor de meniu Insert Page Numbers / Date and Time: Page Numbers adugarea numrului de pagin ntr-un anumit format 55

Date and Time adugarea datei calendaristice i/sau orei curente ntr-un anumit format Pentru adugarea unui contor automat (numerotare curent) n raport, se adaug o caset de cmp Text Box n zona Detail i se stabilesc propriet ile acesteia la Control Source: =1 i Running Sum: Over All/Over Group, n func ie de cerin ele momentane ale utilizatorului. Criteriile de ordonare i grupare aplicate nregistrrilor prelucrate i tiprite cu ajutorul unui raport sunt configurabile fie n ferestrele de dialog specifice asistentului interactiv (Form Wizard), dac raportul se creaz cu ajutorul acestuia, fie cu op iunea de meniu View Sorting and Grouping, fig.2.35.

Fig.2.35 Fereastra Sorting and Grouping

Fig.2.36 Fereastra Preview a unui raport Dac s-a aplicat un criteriu de grupare a nregistrrilor dup valorile unui cmp i se dorete ca nregistrrile care fac parte dintr-un grup s fie tiprite pe aceeai pagin a raportului, acest lucru se ob ine prin configurarea op iunii Keep Together la valoarea Whole group, n fereastra Sorting and Grouping (fig.2.35). Dup configurarea propriet ilor entit ilor, zonelor raportului i a propriet ilor acestuia i salvarea modificrilor, utilizarea ulterioar a raportului se face prin dublu-click pe numele acestuia n sec iunea Reports sau prin selec ie i apsarea butonului Preview, care vizualizeaz raportul pe foaia de hrtie (format A4-Portrait), aa cum va fi el tiprit. n figura 2.36 este prezentat raportul a crui fereastr de proiectare a fost descris n figura 2.34. Trecerea ntre cele dou ferestre (previzualizare proiectare) se poate face i cu ajutorul butonului asociat de pe bara cu butoane superioar, care i schimb forma n func ie de fereastra care este activ la un moment dat.

56

2.11. Proiectarea i utilizarea panourilor de comand


Panourile de comand sunt obiecte ale bazei de date destinate lansrii n execu ie a diferitelor ac iuni de gestionare a acesteia prin simpla apsare a unor butoane de comand. Ele constituie o interfa ntre utilizatorul neexperimentat i obiectele bazei de date. Panourile de comand sunt obiecte de tip formular care, de obicei, con in numai butoane de comand, asociate cu texte explicative. Crearea unui panou de comand se poate face fie prin proiectarea acestuia ca orice formular (vezi subcap.2.8), fie cu ajutorul utilitarului Switchboard Manager care poate fi executat din meniul Tools Database Utilities. La crearea primului panou de comand ntr-o baz de date, acesta primete numele implicit Main Switchboard. Configurarea panoului de comand i adugarea de butoane de comand i ac iuni asociate acestora se face prin apsarea butonului Edit n fereastra Switchboard Manager (fig.2.37). n aceast fereastr semnifica ia butoanelor este urmtoarea:

Fig.2.37 Fereastra Swb Manager Close nchiderea ferestrei; New crearea unui nou panou de comand; Edit editarea panoului de Fig.2.38 Panou de comand comand selectat; Delete tergerea panoului de comand selectat; Make Default configurarea panoului de comand selectat ca panou implicit. n figura 2.38 este prezentat un exemplu de panou de comand n baza de date Stocuri. Cu ajutorul acestuia se pot executa 4 ac iuni n baza de date, corespunztoare a 4 butoane de comand prezente pe panou: Nomenclator produse deschiderea unui formular de afiare a nregistrrilor din tabelul Produse; Nomenclator furnizori deschiderea unui formular de afiare a nregistrrilor din tabelul Furnizori; Adugare factur n stoc adugarea datelor generale ale unei facturi de achizi ie i a datelor despre produsele achizi ionate pe factura respectiv n tabelele Noterec i, respectiv StocAprov; Facturi neachitate execu ia unei interogri care afieaz informa iilor despre facturile neachitate la un moment dat. 57

Panoul de comand din figura 2.38 mai con ine i un buton de nchidere al acestuia. Fereastra de editare a unui panou de comand este prezentat n figura 2.39. Caseta Switchboard Name indic numele panoului, iar caseta Items on this Switchboard indic lista butoanelor de comand prezente pe panou. Semnifica ia butoanelor din partea dreapt este urmtoarea: Close nchiderea ferestrei; New crearea unui nou buton de comand i asocierea unei ac iuni la apsarea acestuia; Edit editarea unei ac iuni existente; Delete tergerea unui buton de comand i a ac iunii asociate acestuia; Move Up i Move Down modificarea pozi iei butonului de comand selectat. Fereastra de editare a unei ac iuni asociate unui buton de comand este prezentat n figura 2.40. Semnifica ia casetelor de editare este urmtoarea: Text mesaj text asociat butonului de comand care se afieaz pe panou; reprezint i numele butonului afiat n fereastra Edit Switchboard Page; Command ac iunea care se execut la apsarea butonului; se alege dintr-o list de ac iuni disponibile; Form indic obiectul asupra cruia se execut ac iunea selectat anterior; acest obiect poate fi un formular, un raport, o comand macro sau un alt panou de comand; n func ie de tipul obiectului, caseta este denumit Form, Report, Macro sau Switchboard.

Fig.2.39 Fereastra Edit Switchboard Page

Fig.2.40 Fereastra Edit Switchboard Item

Pe lng obiectul de tip formular creat n sec iunea Forms, unui panou de comand i se ataeaz i un tabel, denumit Switchboard Items, care con ine cte o nregistrare corespunztoare fiecrui panou de comand creat n baza de date precum i fiecrui buton de comand prezent pe panou. n figura 2.41 este prezentat con inutul tabelului respectiv pentru panoul de comand afiat n figura 2.38. Exist 5 nregistrri, una pentru panoul nsui i patru pentru cele patru butoane ale acestuia.

Fig.2.41 Tabelul asociat unui panou de comand i butoanelor acestuia 58

Obiectul de tip panou de comand, fiind un formular, poate fi editat n sec iunea Forms, aducndu-i-se modificri n func ie de cerin ele utilizatorului. Sunt disponibile toate posibilit ile de modificare a aspectului (font, mrime i culoare text, adugare de elemente grafice etc.) pe care le are orice formular. De asemenea, se pot ataa i alte butoane de comand specifice, cum ar fi butonul de nchidere (fig.2.38), conform celor prezentate n cadrul subcap.2.8. Panourile de comand pot fi create i ca formulare obinuite, n sec iunea Forms, cu op iunea New Design View i apoi adugarea etichetelor i a butoanelor de comand necesare. Aspectul unui astfel de formular care execut aproximativ aceleai ac iuni ca i cel din figura 2.38 poate fi cel prezentat n figura 2.42.

Fig.2.42 Panou de comand creat ca formular obinuit Butoanele panoului de comand din figura 2.42 au asociate ac iuni, de obicei descrise n macrocomenzi, care sunt executate la ac ionarea lor cu click de mouse. Asocierea ac iunilor se face fie cu ajutorul asistentului interactiv, fie prin proiectarea macrocomenzii specifice care trebuie apoi asociat propriet ii On Click a butonului respectiv. n cadrul aplica iei nr.8, cap.4, este prezentat succesiunea ac iunilor necesare pentru crearea panoului de comand din figura 2.38, n baza de date Stocuri.

59

2.12. Proiectarea i utilizarea macrocomenzilor


Macrocomenzile reprezint o modalitate simpl de a efectua o succesiune de ac iuni n legtur cu utilizarea unei baze de date, cum ar fi: deschiderea/nchiderea tabelelor, formularelor sau interogrilor, selec ia de nregistrri, aplicarea unor filtre, tiprirea rapoartelor etc.). Execu ia unei macrocomenzi este, de obicei, asociat unui buton de comand dintr-un panou de comand sau formular i poate fi efectuat fr a avea cunotin e avansate despre Access. O macrocomand reprezint de fapt o succesiune de comenzi care se execut automat la o singur apsare de buton. Proiectarea macrocomenzilor se face n sec iunea Macros. Exist trei ac iuni care se pot efectua n legtur cu o macrocomand, i anume: Run execu ia unei macrocomenzi existente; se poate efectua i prin dublu-click pe numele macrocomenzii respective; Design deschiderea ferestrei de proiectare a unei macrocomenzi existente; New deschiderea ferestrei de proiectare a unei noi macrocomenzi. Fereastra de proiectare a unei macrocomenzi este prezentat n figura 2.43. Semnifica ia zonelor este urmtoarea: Action lista ac iunilor care trebuie executate la execu ia macrocomenzii (vezi anexa nr.2);

Fig.2.43 Fereastra de proiectare a unei macrocomenzi Comment linie de comentariu asociat fiecrei ac iuni; Action arguments obiectul (argumentul) asupra cruia se execut ac iunea i anumite op iuni specifice n func ie de ac iunea selectat; Condition op ional, condi ie care decide execu ia ac iunii, dac rezultatul evalurii condi iei este adevrat (True, 1 etc.), atunci ac iunea se va executa, altfel nu;

60

Caseta de ajutor n partea din dreapta jos a ferestrei este afiat un mesaj explicativ cu referire la entitatea pe care se afl cursorul la un moment dat (n exemplul din figura 2.43 apare o descriere a ac iunii MsgBox). Execu ia unei macrocomenzi din fereastra de proiectare a acesteia se poate face numai dup salvare, prin apsarea butonului Run de pe bara cu butoane superioar, ca i n cazul interogrilor. Execu ia se poate face n dou moduri: complet, prin executarea tuturor ac iunilor ntr-o singur etap (Run); pas cu pas, prin executarea ac iunilor una cte una i ateptarea confirmrii de continuare din partea utilizatorului (Single Step). Cele mai utilizate ac iuni n macrocomenzi sunt prezentate n anexa nr.2. n cadrul aplica iei nr.8, cap.4, sunt prezentate cteva exemple de macrocomenzi care pot fi asociate unor butoane de comand de pe panoul de comand.

61

ELEMENTE DE BAZ PRIVIND NTRE INEREA I ADMINISTRAREA UNEI BAZE DE DATE

Administrarea eficient a unei baze de date presupune proiectarea tuturor obiectelor necesare utilizatorilor pentru a introduce, a modifica, a selecta, a consulta, a tipri diverse date, fr a afecta integritatea acestora. ntre inerea unei baze de date necesit efectuarea unor ac iuni de rutin n scopul verificrii integrit ii datelor existente la un moment dat i a protec iei acestora mpotriva unor eventuali factori de alterare accidental sau deliberat. Pentru a realiza aceste activit i, un software care gestioneaz baze de date trebuie s dispun de o serie de instrumente specifice. Microsoft Access dispune de astfel de instrumente, unele uzuale care exist i la alte SGBD, altele specifice, care sunt prezente numai n cadrul acestui sistem. n cele ce urmeaz se vor prezenta cteva elemente de baz privind ac iunile care trebuie efectuate ntr-o baz de date pentru men inerea integrit ii i actualit ii acesteia. Exemplele se refer la sistemul Microsoft Access.

3.1. Aspecte privind securitatea datelor


Problema securit ii unei baze de date se pune mai ales atunci cnd aceasta are caracter public, adic trebuie s fie accesibil mai multor utilizatori sau atunci cnd se dorete restric ionarea accesului la acea baz de date. n aceste cazuri, este necesar un control al accesului utilizatorilor la obiectele bazei de date (tabele, formulare, interogri etc.) n ceea ce privete posibilitatea acestora de a consulta / aduga / modifica date sau obiecte ale bazei de date. Controlul accesului utilizatorilor la o baz de date se poate face prin mai multe metode. Configurarea unei parole de acces la deschiderea bazei de date (Database Password); Separarea bazei de date n fiiere diferite (Database Splitter); Configurarea sistemului de grupuri de lucru cu acces controlat (Workgroup Accounts); Codificarea (criptarea) bazei de date (Encrypt); Configurarea uneia dintre op iunile de mai sus se face din meniul Tools.

62

Configurarea unei parole de acces la deschiderea bazei de date (Database Password) Este cea mai simpl posibilitate de protec ie a unui fiier n care este creat o baz de date. Deschiderea fiierului i vizualizarea obiectelor sunt protejate de ctre o parol dat de ctre utilizator. Parola controleaz accesul numai la acel fiier. n Microsoft Access, ac iunea se efectueaz cu op iunea de meniu Tools Security Set Database Password, avnd baza de date deschis cu op iunea Exclusive n fereastra de deschidere a bazei de date (Open) se apas sgeata de pe butonul Open Butonul Open (fig.3.1) i se alege op iunea Open Exclusive. Atunci cnd un fiier *.mdb este deschis cu op iunea Exclusive, numai utilizatorul care l-a deschis are acces n acel moment la Fig.3.1. Fereastra Open *.mdb fiierul respectiv, nemaipermi nd altui utilizator s-l deschid. Security Unset Eliminarea parolei de acces se face cu op iunea de meniu Tools Database Password, avnd baza de date deschis cu op iunea Exclusive i fiind necesar cunoaterea parolei respective. Observa ii n ceea ce privete formarea unei parole, exist numeroase preri care spun c parolele formate din combina ii ale numelui sau prenumelui, data naterii, numere de asigurare social, de carte de identitate etc. sau chiar cuvinte obinuite nu sunt prea sigure. Exist astzi programe care folosesc dic ionare de cuvinte uzuale pentru a gsi parola potrivit i care pot fi utilizate de ctre hackeri. O regul sigur pentru generarea unei parole este utilizarea combina iilor neobinuite de cifre, litere sau caractere speciale ($, &, +, *). De asemenea, este necesar ca parola s aib minimum patru caractere. ATEN IE: Parolele de acces sunt Case sensitive (diferen iaz literele mici de majuscule)

Separarea bazei de date n fiiere diferite (Database Splitter) Este un instrument util pentru protejarea nregistrrilor con inute n tabelele bazei de date, atunci cnd baza de date este public. Acest caz apare atunci cnd baza de date trebuie s fie accesibil mai multor utilizatori. Fiierul de tip *.mdb, care n mod obinuit con ine att tabelele cu nregistrri, ct i celelalte obiecte necesare administrrii interogri, formulare, rapoarte etc. se mparte n dou fiiere, unul care va con ine tabelele cu nregistrri i altul care va con ine celelalte obiecte formulare, rapoarte, interogri etc. Fiierul cu tabele va avea un acces restric ionat, iar cellalt fiier va putea fi gestionat de ctre utilizatorii obinui i fr restric ii. Metoda este foarte util atunci cnd accesul la informa ii se face prin intermediul unei re ele. 63

Divizarea bazei de date se face cu op iunea de meniu Tools Database Utilities Database Splitter i se urmresc instruc iunile din casetele de dialog afiate. Configurarea sistemului de grupuri de lucru cu acces controlat (Workgroup Accounts) Sistemul se bazeaz pe crearea unor grupuri de utilizatori crora le sunt atribuite conturi de utilizator, fiecare avnd protec ia asigurat printr-o parol. Exist dou grupuri implicite, Admins i Users. Grupul Admins (administratori) are drepturi nelimitate i este rezervat celor care proiecteaz i ntre in baza de date. Grupul Users (utilizatori) are drepturi limitate, stabilite de ctre administratori, i cuprinde utilizatorii obinui i. Acetia pot primi drepturi referitoare la deschidere/execu ie a diferitelor obiecte ale bazei de date (Open/Run), citire / actualizare / adugare / tergere de date (Read/Update/Insert/Delete Data), vizualizare / proiectare obiecte ale bazei de date (Read/Modify Design). Securizarea bazei de date prin aceast metod asigur controlul accesului la ntreg sistemul Access, deci la toate bazele de date create. Identificarea utilizatorilor se face la pornirea programului i este valabil pentru orice baz de date existent. Configurarea sistemului se face cu o aplica ie extern, MS Access Workgroup Administrator (existent n subdirectorul \Program Files\Microsoft Office). Codificarea (criptarea) bazei de date (Encrypt) Codificarea (cifrarea, criptarea) unei baze de date asigur un nivel minim de securitate, n cazul lucrului n re ea de calculatoare. Codificarea bazei de date o face inaccesibil citirii cu alte programe utilitare sau aplica ii Office. Baza de date criptat nu se poate importa n alte medii. Orice utilizator care dispune de sistemul Access poate decripta fiierul i vizualiza informa iile. Accesul la baza de date criptat este posibil n limitele permisiunilor stabilite de Workgroup Administrator, dac acestea au fost configurate. Criptarea/decriptarea unei baze de date se face cu op iunea Tools Security Encrypt/Decrypt Database. Baza de date care se codific trebuie s fie nchis. Versiunea codificat se poate salva n alt fiier sau peste fiierul existent. Desigur, astzi exist programe care pot decripta fiiere criptate prin diferite metode i prin urmare metoda de criptare n Access asigur un nivel minim de securitate doar mpotriva acelor utilizatori obinui i, care nu au drepturi de utilizare a sistemului i deci, nu trebuie s vad fiierele de tip *.mdb.

3.2. Aspecte privind integritatea datelor


Integritatea datelor dintr-o baz de date se refer la asigurarea corectitudinii datelor existente la un moment dat i la posibilitatea actualizrii corecte a informa iilor atunci cnd este necesar. Integritatea datelor se poate asigura prin una dintre metodele de control al accesului disponibile, 64

prezentate n cadrul subcap.3.1 sau prin metode specifice cum ar fi, de exemplu n Access, crearea unei copii identice a bazei de date Database Replica. O prim msur care asigur protec ia informa iilor mpotriva deteriorrii sau pierderii acestora este crearea unei copii de siguran a fiierului care con ine baza de date ntr-un loc sigur (alt disc dur, o unitate de stocare mobil etc.). Binen eles c este necesar ns o actualizare periodic a informa iilor din copie pentru ca aceasta s fie la zi cu datele incluse n fiierul original. Integritatea actualizrii datelor din baza de date trebuie controlat cnd se lucreaz cu baza de date n mai multe puncte de lucru, pe fiiere fizice diferite. n acest caz este necesar includerea simultan a nregistrrilor de la toate punctele de lucru n aceeai baz de date acelai fiier actualizare periodic a informa iilor. n Microsoft Access, integritatea actualizrii se realizeaz cu facilitatea de reproducere a bazei de date Database Replication crearea unei copii identice a fiierului *.mdb. Ac iunea se execut cu op iunea de meniu Tools Replication Create Replica. Fiierul original care con ine baza de date actualizat este pstrat n siguran i nu se lucreaz pe el, iar utilizatorii (punctele de lucru) lucreaz pe fiierul-copie care poate fi distribuit n mod corespunztor. Actualizarea datelor ntre copie i original se face, periodic, cu op iunea de meniu Tools Replication Synchronize Now, care compar cele dou fiiere i le completeaz pe fiecare cu nregistrrile pe care nu le are din cealalt, astfel nct, n final, cele dou fiiere s con in aceleai nregistrri. Actualizarea se face numai la nivelul nregistrrilor din tabele, celelalte obiecte interogri, formulare etc. rmnnd specifice fiecrui fiier. n cazul deteriorrii con inutului unei baze de date, din diferite cauze, SGBD-urile dispun de unelte care pot reface integritatea bazei de date. n Microsoft Access, repararea unei baze de date deteriorat se face cu op iunea de meniu Tools Database Utilities Compact and Repair Database care, totodat, micoreaz spa iul ocupat pe discul dur de ctre fiierul care con ine baza de date.

3.3. Aspecte privind importul i exportul datelor


Un sistem software de gestiune a bazelor de date (SGBD) modern trebuie s asigure posibilitatea schimbului de informa ii nregistrri, formulare, rapoarte, interogri etc. cu baze de date create n alte sisteme software similare. Schimbul de informa ii se refer la importul, exportul i conversia datelor con inute ntr-o baz de date. Microsoft Access permite importul informa iilor din baze de date create cu majoritatea celorlaltor SGBD (dBASE, Paradox, Lotus, SQL-ODBC) sau aplica ii similare (Microsoft Excel, text files delimited, fixed-width, Rich Text Format, HTML). De asemenea se pot importa obiecte din alte baze de date Access. Importul se face cu op iunea File Get External Data. Exist dou posibilit i de import: Import datele se aduc fizic n baza de date Access i se creaz noi tabele;

65

Link Tables datele rmn n baza de date original i n Access se creaz o legtur (link) ctre acestea. Ele pot fi prelucrate astfel n format Access. Importul datelor se poate face i la crearea unui nou tabel n sec iunea Tables, cu op iunea New Import Table i urmrirea instruc iunilor din casetele de dialog ale asistentului (vezi subcap.2.3 i aplica ia nr.1, cap.4). Microsoft Access permite exportul informa iilor din bazele de date ctre majoritatea celorlaltor SGBD (dBASE, Paradox, Lotus, SQL-ODBC) sau aplica ii similare (Microsoft Excel, text files delimited, fixed-width, Rich Text Format, HTML). De asemenea se pot exporta obiecte ctre alte baze de date Access. Obiectele create (tabele, formulare etc.) se pot exporta numai individual. Exportul datelor se face cu op iunea File Export i urmrirea instruc iunilor din casetele de dialog. Microsoft Access dispune de posibilitatea transformrii (conversiei) bazelor de date create cu versiuni mai vechi ale programului (Access 1.x, 2.0, Access 95 etc.). Versiunile mai noi Access 20032000 nu mai au posibilitatea conversiei ctre versiuni mai vechi dect Access 97. Database Utilities Convert Database i se Conversia se face cu op iunea Tools urmeaz instruc iunile afiate.

66

Anexa nr.1 Func ii predefinite integrate n Access

Obs. n func ie de valoarea stabilit de ctre sistemul de operare Windows, separatorul zecimal poate fi punctul . (sistemul american) sau virgula , (sistemul romnesc). n exemplele date n continuare s-a considerat ca separator zecimal virgula.

Math Func ii pentru date numerice Sintaxa func iei Explica ii Returneaz valoarea absolut (fr Abs (val_num) semn) a valorii numerice val_num Returneaz arctangenta valorii numerice val_num, n radiani Atn (val_num) Este inversul trigonometric al func iei Tan Returneaz cosinus al valorii numerice val_num, care trebuie dat Cos (val_num) n radiani Returneaz numrul e ridicat la puterea val_num Exp(val_num) Este complementara func iei Log Returneaz valoarea ntreag a valorii numerice val_num prin trunchiere Fix(val_num) (eliminarea pr ii frac ionare) Returneaz logaritmul natural (n baza e) al valorii numerice val_num Log(val_num) Este complementara func iei Exp Returneaz valoarea rotunjit a valorii numerice val_num; dac prec lipsete, (val_num; prec> Round (val_num; <prec>) atunci se rotunjete la ntreg, dac exist, reprezint numrul de ordine al zecimalei care se rotunjete Sgn(val_num) Sin (val_num) Sqr(val_num) Tan(val_num) Tan(val_num)

Exemple Abs(1200)=1200 Abs(12,65)=12,65 Atn(1)=0,785 (rad)

Cos(3,14)= 1

Exp(1)=2,7182 Fix(12,6)=12 Fix(12,3)=12 Fix(12,4)= 12 Log(2,7182)=1

Round(12,6)=13 Round(12,65;1)=12,7

Sgn(12,6)=1 Returneaz o valoare ntreag care Sgn(0)=0 semnific semnul valorii val_num Sgn(12,6)= 1 Returneaz sinus al valorii numerice Sin(3,14)=0 val_num, care trebuie dat n radiani Returneaz rdcina ptrat din Sqr(3)=1,73 valoarea val_num Returneaz tangenta valorii numerice Tan(0,785)=1 val_num, care trebuie dat n radiani

Text Func ii pentru date de tip ir de caractere Sintaxa func iei Explica ii Exemple Returneaz irul val_sir transformat cu caractere mici Lcase(DaTe)=date (val_sir sir) LCase (val_sir) Dac val_sir este o valoare constant, atunci trebuie dat ntre marcajele

67

Sintaxa func iei Left (val_sir; nc)

Len(val_sir)

LTrim(val_sir)

Mid(val_sir; st; <nc>)

Right (val_sir; nc)

RTrim(val_sir) Space(nc) String(nc;char) Trim(val_sir) (val_sir) UCase (val_sir)

Explica ii Returneaz un subir format din irul val_sir pornind de la primul caracter i avnd lungimea de nc caractere Returneaz un numr natural reprezentnd lungimea irului val_sir n lungime sunt incluse i spa iile libere Returneaz un sir reprezentnd irul val_sir din care s-au eliminat eventualele spa ii libere de la nceput Returneaz un subir format din irul val_sir pornind de la caracterul st i avnd lungimea de nc caractere. Dac nc nu este precizat, se consider toate caracterele pn la sfritul irului Returneaz un subir format din irul val_sir pornind de la ultimul caracter napoi i avnd lungimea de nc caractere Returneaz un sir reprezentnd irul val_sir din care s-au eliminat eventualele spa ii libere de la sfrit Returneaz un ir format din nc spa ii libere Returneaz un ir format prin repetarea de nc ori a caracterului char Returneaz un sir reprezentnd irul val_sir din care s-au eliminat eventualele spa ii libere de la nceput i de la sfrit Returneaz irul val_sir transformat cu caractere majuscule

Exemple Left(Baze Date;4)= =Baze Len (Baze Date)=9

LTrim( Baze)=Baze Mid(Baze Date;6;2)= =Da Mid(Baze Date;6)= =Date Right(Baze Date;4)= =Date RTrim(Baze )=Baze Space(4)=

String(3;X)=XXX Trim( Baze )= =Baze Ucase(DaTe)=DATE

Date/Time Func ii pentru date de tip dat calendaristic / or Sintaxa func iei Explica ii Exemple Returneaz o valoare reprezentnd data curent preluat din sistemul de operare Windows Date ( )=08.01.2005 Date ( ) Afiarea valorii se face n modul implicit definit n Access Returneaz o valoare ntreag Dac vd=8.02.2005 reprezentnd parte din val_data, n DatePart(yyyy;vd)=2005 func ie de valoare indicat prin cod DatePart(m;vd)=2 DatePart(cod; val_data; DatePart(cod; val_data; fwd i fw sunt valori op ionale care DatePart(d;vd)=8 definesc numerotarea zilelor i <fwd>; <fw>) DatePart(w;vd)=3 sptmnilor ntr-un an calendaristic Valori implicite; fwd: Sunday DatePart(y;vd)=39 fw : spt.cu 1 Ian. DatePart(ww;vd)=7 Returneaz o valoare ntreag ntre 1 i Dac vd=8.02.2005 31 reprezentnd ziua din lun extras Day(vd)=8 Day (val_data) din val_data Month (val_data) Returneaz o valoare ntreag ntre 1 i Dac vd=8.02.2005 12 reprezentnd luna din an extras din Month(vd)=2 val_data

68

Sintaxa func iei

Now( )

Time ( )

Year(val_data)

Explica ii Returneaz o valoare reprezentnd data i ora curent preluat din sistemul de operare Windows Afiarea valorii se face n modul implicit definit n Access Returneaz o valoare reprezentnd ora curent preluat din sistemul de operare Windows Afiarea valorii se face n modul implicit definit n Access Returneaz o valoare ntreag reprezentnd anul extras din val_data

Exemple

Now( )=08.01.2005 13:31:41

Time( )=13:33:56
Dac vd=8.02.2005 Year(vd)=2005

SQL Aggregate Func ii pentru prelucrarea statistic a seturilor de valori grupate cu Group By n cadrul interogrilor (func ii de tip global) argument reprezint variabila dup care se face gruparea valorilor; poate fi un cmp al unui tabel din baza de date sau un cmp calculat n interogare Sintaxa func iei Explica ii Exemple Returneaz valoarea medie din fiecare ([argument] Avg ([argument]) set de valori format Returneaz numrul de valori din ([argument] Count ([argument]) fiecare set de valori Returneaz valoarea maxim din ([argument] Max ([argument]) fiecare set de valori Returneaz valoarea minim din fiecare ([argument] Min ([argument]) set de valori Returneaz suma valorilor din fiecare ([argument] Sum ([argument]) set de valori Alte func ii Sintaxa func iei

(rela valNU) IIf (rela ie; valDA; valNU)

Explica ii Exemple Func ie condi ional IIf([medf]>=5;ADMIS; Returneaz valDA dac rela ia RESPINS) este adevrat Returneaz valNU dac rela ia Pt.[medf]>=5, IIf=ADMIS Pt.[medf]<5, IIf=RESPINS este fals

69

Anexa nr.2 Ac iuni asociate macrocomenzilor


Denumirea ac iunii ApplyFilter Close CopyObject DeleteObject DeleteObject GoToControl GoToRecord Maximize Minimize MoveSize MsgBox OpenForm OpenQuery OpenReport OpenReport OpenTable PrintOut Quit Restore RunApp RunMacro SelectObject SetValue ShowAllRecords TransferDatabase TransferText Descrierea ac iunii Aplic un filtru de selec ie a nregistrrilor sau apeleaz o interogare existent pentru afiarea selectiv a nregistrrilor nchide fereastra deschis a unui obiect specificat (tabel, interogare, formular, raport etc.) Copiaz obiectul specificat sub un nume specificat n baza de date curent sau n alt baz de date specificat terge obiectul specificat din baza de date Selecteaz un cmp sau un control specificat, existent n structura nregistrrilor curente dintr-un tabel, interogare sau formular Selecteaz nregistrarea specificat din tabelul, interogarea sau formularul curent sau din alt obiect specificat Redimensioneaz fereastra curent la dimensiunea maxim de afiare Reduce dimensiunile ferestrei curente la dimensiunile barei de titlu a acesteia i o deplaseaz n partea inferioar a ecranului Mut i redimensioneaz fereastra curent Afieaz un mesaj sau o pictogram ntr-o caset de dialog Deschide formularul specificat, spre utilizare Execut o interogare specificat Deschide un raport specificat, n fereastra Preview Deschide un tabel de date specificat, afind nregistrrile acestuia Tiprete la imprimant obiectul specificat nchide mediul Access Redimensioneaz fereastra curent la dimensiunile avute anterior Deschide alt aplica ie Windows sau MS-DOS din interiorul mediului Access Execut alt macrocomand n cursul macrocomenzii curente Selecteaz un obiect specificat asupra cruia se poate executa apoi o anumit ac iune Atribuie o valoare specificat (care poate fi rezultatul evalurii unei expresii matematice) unui cmp sau control dintr-un obiect specificat nltur filtrele stabilite anterior i afieaz toate nregistrrile din tabelul curent Import/export date din/n alte fiiere tip baz de date n/din tabelul specificat Import/export date n format text din/n alte fiiere n/din tabelul specificat

70

BIBLIOGRAFIE
1. [BAS 97] Bsc, O. Baze de date. Editura Bic All, Bucureti, 1997. 2. [BRA 03] Brady, A.J., Monk, F. E. Problem Solving Cases in Microsoft Access and Excel. Course Technology Inc., 2003. 3. [BRY 97] Brydon, Michael. Microsoft Access Tutorials, http://www.unixg.ubc.ca, 1997 4. [CON 01] Conolly Th., Begg C., Strachan A. Baze de date Proiectare, implementare, gestionare (traducere din limba englez). Editura Teora, Bucureti, 2001. 5. [FOT 97] Fotache, M. Baze de date rela ionale. Organizare, interogare i normalizare. Edi ia a II-a adugit. Editura Junimea, Iai, 1997. 6. [GUN 04] Gunderloy, M., S. Sales Harkins, Microsoft Office Access 2003 pentru nceptori (traducere din limba englez). Editura All, Bucureti, 2004. 7. [JEN 00] Jennings, R. Totul despre Microsoft Access 2000 (traducere din limba englez). Editura Teora, Bucureti, 2000. 8. [LUN 95] Lungu, I., Todea C., Bdescu G., Ioni C. Baze de date, organizare, proiectare, implementare. Editura All, Bucureti, 1995. 9. [PAS 01] Pasewark W.R.Sr., Pasewark W.R.Jr., Cable, S., Microsoft Access 2002 Complete Tutorial. Course Technology Inc., 2001. 10. [POP 00] Popa, Gh., Iliescu M., Udric M. Baze de date Access. Culegere de probleme. Editura Cison, Bucureti, 2000. Microsoft Access: Practice and Exercises. 11. [SOL 02] Solosky C. Stephen, Kendall/Hunt Publishing Company, 2002. 12. 13. 14. 15. 16. [*** 01] * * * Microsoft Access 2000. Manualul nceptorului (traducere din limba englez). Microsoft Press, Editura Teora, Bucureti, 2000. [*** 02] * * * Access 2003 - Programul Microsoft Office pentru baze de date. Site internet, http://www.microsoft.com/romania/ [*** 03] * * * Microsoft Access 2000 Tutorial. Florida Gulf Coast University. Site internet, http://www.fgcu.edu/support/office2000/access/ [*** 04] * * * Access Tips. Site internet, http://www.access-programmers.co.uk/

[*** 05] * * * Microsoft Access 2000 Basics. Bay City Public Schools. Site internet, http://www.bcschools.net/staff/

71

You might also like