Sunteți pe pagina 1din 29

FACULTATEA DE STIINTE ECONOMICE

PROIECT
BAZE DE DATE

2
CAPITOLUL I.
SGBD – ASPECTE FUNDAMENTALE
1.1. Conceptul de SGBD.
Pentru a înţelege noţiunea de SGBD (Sistem de Gestiune a Bazelor de Date, în engleză –
DataBase Management System), în contextul unui SBD (Sistem de Bază de Date), vom studia
definirea, rolul şi evoluţia SGBD-urilor.
a) Definirea unui SGBD
SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date şi
utilizatorii acesteia.
SGBD este componentă software a unui sistem de bază de date care interacţionează cu toate
celelalte componente ale acestuia, asigurând legătura şi interdependenţa între elementele sistemului
(vezi arhitectura unui SBD)
b) Rolul unui SGBD
Rolul unui SGBD într-un context de sistem de bază de date este de a:
1. defini şi descrie structura bazei de date, care se realizează printr-un limbaj propriu specific,
conform unui anumit model de date;
2. încărca/valida datele în baza de date respectând nişte restricţiile de integritate impuse de
modelul de date utilizat;
3. realiza accesul la date pentru diferite operaţii (consultare, interogarea, actualizare, editare
situaţii de ieşire), utilizând operatorii modelului de date
4. întreţine baza de date cu ajutorul unor instrumente specializate (editoare, utilitare - shells,
navigatoare – browsers, convertoare etc);
5. asigura protecţia bazei de date subaspectul securităţii şi integrităţii datelor.

1.2. Obiectivele unui SGBD


Obiectivul general al unui SGBD este de a furniza suportul software complet pentru
dezvoltarea de aplicaţii informatice cu baze de date. Fiind un mediu specializat, SGBD satisface
cerinţele informaţionale ale utilizatorului într-un mod optim. Astfel, el asigură minimizarea costului de
prelucrare a datelor, reduce timpul de răspuns (timp util), asigură flexibilitate şi deschidere mari
aplicaţiei, asigură protecţie ridicată a datelor.
Pentru ca un produs software să atingă performanţele de mai sus şi să fie un SGBD, el trebuie
să asigure un set minim de obiective, aceste obiective sunt prezentate în continuare:
1.2.1 Asigurarea independenţei datelor

3
Se spune că o aplicaţie informatică depinde de date, dacă modificarea structurii de memorare a
datelor sau a strategiei de acces la date afectează şi aplicaţia.
Independenţa datelor faţă de aplicaţie poate fi:
- fizică, adică modul de memorare a datelor şi tehnicile fizice de memorare (strategia de acces),
pot fi schimbate fără a rescrie programele (exemplu, se poate face acces secvenţial, apoi se poate
indexa şi face un acces direct);
- logică, adică structura de date poate fi schimbată (deoarece este păstrată în dicţionarul bazei
de date) fără a rescrie programele (exemplu, se poate adăuga în structură un nou câmp).
Necesitatea asigurării independenţei datelor faţă de programele de aplicaţie, de către SGBD,
este dată de următoarele aspecte:
• diferite aplicaţii au nevoie de viziuni diferite ale utilizatorului asupra celorlalte date.
O bază de date este realizată pentru o gamă largă de utilizatori, care au la dispoziţie un volum
mare de date. SGBD-ul trebuie să-i permită la un moment dat unui utilizator să “vadă (să-şi
construiască o viziune) doar o parte din baza de date şi anume numai acele date care îl interesează;
• administratorul bazei de date trebuie să aibă libertatea de a schimba structura de memorare
sau strategia de acces, ca răspuns la cerinţele noi apărute, fără a modifica aplicaţiile existente (sistem
deschis). După darea în folosinţă a unei baze de date pot apare schimbări de standarde sau norme, se
pot modifica priorităţile aplicaţiei, se pot modifica unităţile şi modul de memorare ale datelor etc. Cu
alte cuvinte, dinamica lumii reale înconjurătoare va genera modificări în baza de date. SGBD-ul va
permite aplicaţiei informatice să funcţioneze cu programele existente şi să convertească datele;
Baza de date existentă la un moment dat, precum şi programele de aplicaţie care au fost folosite
o perioadă de timp, reprezintă o investiţie majoră la care nu trebuie să se renunţe prea uşor.
Cheltuielile pentru realizarea unei baze de date sunt mari, iar ele trebuie recuperate integral şi
adus un beneficiu.

1.2.2. Redundanţă minimă şi controlată a datelor


Spre deosebire de sistemele clasice (cu fişiere) de prelucrare automată a datelor, stocarea
informaţiilor în bazele de date se face astfel încât datele să nu fie multiplicate. Cu toate acestea, uneori,
pentru a realiza performanţe sporite, în ceea ce priveşte timpul de răspuns se acceptă o anumită
redundanţi a datelor. Aceasta va fi însă controlată pentru a se asigura coerenţa (corectitudinea datelor)
bazei de date.
Exemplul tipic de redundanţă controlată acceptată este cea apărută la proiectare bazelor de date
relaţionale prin tehnica de normalizare.

1.2.3. Facilităţi de utilizare a datelor


Această facilitate presupune ca SGBD-ul să aibă nişte componente specializate pentru diferite
operaţii de utilizare:
- Folosire datelor de către mai mulţi utilizatori în diferite scopuri.
- De cele mai multe ori, o bază de date nu este realizată izolat. Mai ales în cazul realizării unor
aplicaţii informatice cu baze de date care fac parte dintr-un sistem integrat, dar nu numai, datele de la o
aplicaţie trebuie să poată fi utilizate în alte aplicaţii. Acest lucru reduce spaţiul de memorare necesar şi
efortul de încărcare / validare a datelor.
- Accesul cât mai simplu al utilizatorilor la date, fără ca ei să fie nevoiţi să cunoască structura
întregii baze de date, acest lucru rămânând în sarcina administratorului bazei de date.
Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul aplicaţiei cu baze de
date, are puţine noţiuni de informatică. De aceea pe el nu îl interesează structura bazei de date, ci
numai o utilizare cât mai uşoară. Pentru acest lucru SGBD-ul trebuie să ofere instrumente specializate
pentru dezvoltarea de programe de aplicaţie cât mai prietenoase, care să dirijeze şi să ajute beneficiarul
în utilizarea bazei de date.
- Existenţa unor limbaje performante de regăsirea a datelor care permit exprimarea interactivă a
unor cereri de regăsire a datelor şi indicarea unor reguli pentru editarea informaţiilor solicitate.

1.2.4. Protecţia datelor


4
În sistemele de bază de date, protecţia datelor se asigură sub două aspecte: securitatea şi
integritatea.
Securitatea (confidenţialitatea) datelor semnifică faptul că accesul la date se face numai printr-
o autorizare corespunzătoare şi doar controlat (sarcina administratorului bazei de date cu ajutorul
SGBD.
În acest sens, SGBD-ul permite: autorizarea şi controlul accesului la date, utilizarea viziunilor,
realizarea unor proceduri speciale, criptarea datelor.
a) Autorizarea şi controlul accesului la date este realizat de SGBD prin intermediul parolelor.
Acestea identifică clasele de utilizatori, cu anumite drepturi de acces, la anumite date.
Clasele de utilizatori pentru care se poate autoriza accesul la baza de date sunt:
- Utilizatorii obişnuii care nu au în proprietate obiecte şi nu au alte privilegii decât cele date de
administratorul BD.
- Proprietarii de obiecte (tabele, viziuni, proceduri etc) sunt utilizatorii care îşi creează anumite
obiecte. Implicit proprietarul unui obiect are toate privilegiile asupra acestuia, putând să le revoce sau
să le transmită altor utilizatori.
- Administratorul BD este utilizatorul care are implicit toate drepturile asupra datelor şi dreptul
de a revoca sau stabili privilegii pentru ceilalţi utilizatori.
Privilegiile diferiţilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator)
poate realiza anumite acţiuni, asupra anumitor obiecte, în limita anumitor restricţii (condiţii
suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, număr nivel de
acces.

Integritatea datelor se referă la corectitudinea (coerenţa) datelor şi este asigurată prin


protejarea acestora împotriva unor incidente intenţionate sau neintenţionate
Componentele SGBD-ului asigură integritatea datelor tratând separat cauzele care pot altera
baza de date: integritatea semantică, controlul accesului concurent, salvarea / restaurarea.
a) Integritatea semantică este asigurată prin operaţii efectuate de SGBD asupra datelor şi a
prelucrărilor. Aceste operaţii alcătuiesc un set de reguli numit restricţii de integritate. SGBD-ul asigură
astfel de restricţii implicite (rezultă din modelul de date implementat) şi explicite (proceduri incluse în
programele de aplicaţie).
b) Accesul concurent asigură coerenţa datelor şi este un obiectiv al SGBD-ului care se pune cu
acuitate mai ales la baze de date distribuite. În acest sens SGBD-ul are o unitate distinctă de prelucrare
a datelor numită tranzacţie, care este constituită dintr-o secvenţă de operaţii marcată de puncte de
început şi sfârşit. Tranzacţia poate fi controlată de SGBD implicit, când punctele de început şi de
sfârşit sunt automat definite, sau explicit, când punctele de început ţi de sfârşit sunt definite prin
comenzi specifice.
c) Salvarea / restaurarea (backup/recovery) ca facilitate a SGBD-ului permite refacerea
consistenţei datelor care au fost alterate fizic din diferite motive.
Salvarea datelor este un proces de stocare prin realizarea de copii de siguranţă şi prin
jurnalizarea tranzacţiilor şi a imaginilor. SGBD-ul poate asigura salvarea automat sau la cererea
administratorului bazei de date.
Restaurarea porneşte de la colecţii de date stocate prin salvare şi reface consistenţa bazei de
date, minimizând prelucrările pierdute.
Restaurarea este asigurată automat de SGBD, dar se poate realiza şi manual.
- Restaurarea automată a BD este realizată de SGBD cu ajutorul fişierelor jurnal. Pentru a se
putea realiza acest lucru, SGBD realizează o paginare a BD şi la o cerere de regăsire transferă o astfel
de pagină în memoria internă. Aici are loc prelucrarea ei şi abia după ce această prelucrare s-a terminat
complet, se face transferul paginii înapoi pe disc. Sincronizarea memoriei interne cu baza de date şi
fişierele jurnal, se realizează prin diferite tehnici: algoritmi specifici, executarea unor puncte de
verificare (check point) la intervale de timp sau la cerere etc.

5
La nivelul SGBD-ului pot exista o serie de parametri de configurare care influenţează procesul de
restaurare automată. Aceşti parametri se referă la: intervalul de restaurare, indicatorul de restaurare (ce
informaţii vor fi scrise în fişierul de erori) etc.
- Restaurarea manuală a BD implică intervenţia administratorului pentru refacerea bazei de
date de pe un suport tehnic care a fost distrus. Cea mai recentă copie de siguranţă efectuată pentru o
BD afectată este încărcată şi se reiau prelucrările efectuate din momentul copierii până la producerea
defecţiunii. Restaurarea manuală se face prin deconectarea tuturor utilizatorilor de la BD, încărcarea
copiei şi reluarea lucrului.
1.2.5. Partajabilitatea datelor
Partajabilitatea datelor se referă nu numai la aspectul asigurării accesului mai multor utilizatori
la aceleaşi date, ci şi la posibilitatea dezvoltării unor aplicaţii fără a se modifica structura bazei de date.
1.2.6. Legăturile între date
Legăturile între date corespund asocierilor care se pot realiza între obiectele unei aplicaţii
informatice. Orice SGBD trebuie să permită definirea şi descrierea structurii de date, precum şi a
legăturilor dintre acestea, conform unui model de date. Fiecare tip de model de date permite anumite
legături între date. Un SGBD, care implementează un anumit model de date, va trebui să asigure şi
realizarea legăturilor dintre datele corespunzătoare în conformitate cu schema conceptuală.

1.2.7. Performanţele globale


Performanţele globale ale aplicaţiei sunt influenţate de SGBD. Acesta trebuie să gestioneze un
volum mare de date de o complexitate ridicată, într-un anumit timp de acces rezonabil pentru diferiţi
utilizatori. Pentru toate aceste lucruri SGBD-ul foloseşte diferite metode de acces, tehnici de
optimizare, tipuri de date. Implementarea lor se face în componente specializate ale SGBD-ului.
1.3. Funcţiile unui SGBD
Realizarea obiectivelor prezentate anterior este asigurată de sistemele de gestiune a bazelor de
date printr-o serie de componente ce permit efectuarea unor operaţii specifice. În funcţie de natura lor
şi scopul urmărit, operaţiile pot fi grupate pe activităţi. Activităţile acceptă şi ele o grupare pe funcţii
astfel încât, una sau mai multe activităţi, relativ omogene, vor realiza o anumită funcţie.
1. Descrierea datelor
SGBD-ul, prin această funcţie, permite definirea structurii bazei de date cu ajutorul limbajului
de definire a datelor (LDD). Definirea datelor poate fi realizată la nivel conceptual, logic şi fizic. Se
descriu atributele (câmpurile) din cadrul structurii bazei de date, legăturile dintre entităţile bazei de
date sau dintre atributele aceleiaşi entităţi, se definesc eventualele criterii de validare a datelor,
metodele de acces la date, aspectele referitoare la asigurarea integrităţii datelor.
Această funcţie a fost mult automatizată în timp, LDD având acum puţine comenzi. LDD este
specific fiecărui SGBD, dar el întotdeauna realizează descrierea datelor conform elementelor
modelului de date pe care îl implementează SGBD-ul respectiv. Astfel se realizează definirea şi
descrierea entităţilor şi a caracteristicilor lor, definirea legăturilor dintre obiecte (asocierile) şi a
regulilor de integritate specifice modelului de date.
2. Funcţia de manipulare a datelor
Funcţia de manipulare este cea mai complexă şi realizează actualizarea şi regăsirea datelor din
baza de date, cu ajutorul limbajului de manipulare a datelor (LMD).
Sunt realizate următoarele activităţi: încărcarea, actualizarea, prelucrarea şi regăsirea datelor.
a) Încărcarea datelor în baza de date se realizează prin operaţii automatizate sau programate ce
asigură şi criteriile de validare necesare.
b) Actualizarea bazei de date constă în operaţii de adăugare, modificare şi ştergere de
înregistrări. La operaţiile de adăugare şi de modificare se păstrează aceleaşi criterii de validare care s-
6
au folosit şi la activitatea de încărcare a datelor. Actualizarea se realizează numai autorizat, prin
asigurarea unei protecţii corespunzătoare a datelor, pentru a se păstra coerenţa bazei de date.
c) Prelucrarea datelor se realizează prin operaţii de selecţie, ordonare, interclasare (compunere)
şi ventilare (descompunere) efectuate asupra entităţilor bazei de date. Acestea sunt, de obicei, operaţii
pregătitoare activităţii de regăsire a datelor. Multe din operaţiile de prelucrare sunt realizate cu ajutorul
operatorilor din modelul de date pe care îl implementează SGBD-ul.
d) Regăsirea (interogarea) datelor constă în operaţii de vizualizare (afişare pe ecran, imprimare
pe hârtie), răsfoire, editarea unor situaţii de ieşire. Situaţiile de ieşire pot fi intermediare sau finale şi se
pot obţine pe diferiţi suporţi tehnici de informaţie (ecran, hârtie, mediu magnetic, mediu optic). Ele pot
avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) şi se pot obţine
după cele mai diferite criterii de regăsire.

3. Utilizarea bazei de date


Funcţia de utilizare asigură mulţimea interfeţelor necesare pentru comunicarea tuturor
utilizatorilor cu baza de date . Pentru a realiza această funcţie SGBD-ul trebuie să asigure facilităţi
pentru mai multe categorii de utilizatori ai bazei de date: neinformaticienii, specialişti (informaticieni),
administratorul.
a) Utilizatorii neinformaticienii reprezintă principala categorie a beneficiarilor de informaţii
(utilizatori finali şi intensivi) din baza de date. SGBD-ul le oferă acestora limbaje neprocedurale şi alte
facilităţi de interogare (generatoare, utilitare etc) a bazei de date într-o formă simplă şi interactivă.
Aceşti utilizatori nu trebuie să cunoască structura bazei de date şi nu trebuie să ştie să programeze,
SGBD-ul ajutându-i interactiv în utilizarea bazei de date. În acest sens SGBD-ul oferă: meniuri cu
opţiuni sugestive, ferestre, şabloane pentru diferite forme, asistenţi tip Wizard, autodocumentarea
(help-uri, mesaje/ferestre explicative).
b) Utilizatorii specialişti în informatică creează structura bazei de date şi realizează proceduri
complexe de exploatare a bazei de date. SGBD-ul oferă acestor utilizatori limbajul de descriere şi
limbajul de manipulare a datelor precum şi interfeţe cu limbaje universale. Acestea sunt de
complexitate şi putere diferită, de la un SGBD la altul, oferind atât elemente neprocedurale cât şi
procedurale specialistului în informatică. Cu aceste elemente el descrie schema bazei de date şi asigură
manipularea complexă a datelor.
Pentru realizarea bazei de date SGBD-ul oferă specialistului şi elemente de CASE (Computer
Aide Software Enginering). Acestea îl ajută în diferitele activităţi care intervin în etapele de proiectare
a bazei de date.
c) Administratorul bazei de date, care este un utilizator special şi are un rol hotărâtor în ceea ce
priveşte funcţionarea optimă a întregului sistem. Datorită importanţei acestei categorii de utilizatori,
SGBD-ul are o funcţie distinctă în acest sens.
4. Funcţia de administrare

Funcţia de administrare este complexă şi de competenţa administratorului bazei de date.


Administratorul, care are o bogată experienţă de analiză, proiectare şi programare, organizează
şi administrează baza de date în toate etapele de realizare a acesteia. Astfel, el organizează baza de date
conform unei anumite metodologii, realizează schema (conceptuală) bazei de date, coordonează
proiectarea bazei de date. Pentru toate aceste lucruri SGBD-ul oferă o serie de elemente de CASE,
precum şi o serie de utilitare specializate.

1.4. Clasificarea SGBD-urilor

Diversitatea de SGBD-urilor, care au fost şi care sunt în exploatare pe diferite calculatoare şi


sub diferite sisteme de operare, impune o clasificare a lor după diferite criterii.

1) După sistemele de calcul pe care se implementează

7
- SGBD pentru calculatoare mari se folosesc pentru baze de date foarte complexe şi foarte mari
(exemple: Oracle, DB2, IMS).
- SGBD pentru minicalculatoare se folosesc pentru baze de date complexe şi mari şi au
cunoscut o dezvoltare puternică în anii ‘80 (exemplu: Oracle).
- SGBD pentru microcalculatoare se folosesc pentru baze de date de complexitate şi de mărime
mici şi medii. Au o mare răspândire în momentul actual (exemple: FoxPro, Oracle, Acces).
Tendinţa actuală este ca SGBD-ul să fie compatibil pe cât mai multe sisteme de calcul sub cât
mai multe sisteme de operare. Acest lucru este dictat de noua tehnologie de realizare de aplicaţii tip
sisteme deschise, lucru de care ţine cont şi noua generaţie (a treia) de SGBD-uri.

2) După limbajul de programare utilizat

- SGBD-ul cu limbaj gazdă este cel care are un limbaj de manipulare a datelor bazat pe unul de
nivel înalt (universal). Limbajul gazdă poate fi chiar un limbaj universal (Cobol, Pascal) sau o extensie
(adaptare) a unui astfel de limbaj. Avantajul acestei soluţii este acela că se pot dezvolta proceduri
complexe de program, se pot realiza interfeţe om-maşină foarte bune, se valorifică experienţa de
programare din limbajele de nivel înalt (toate rezultă din avantajele programării procedurale).
Dezavantajul major este acela că formularea cererilor de regăsire se face mai greu, de multe ori
într-un mod inaccesibil utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte componente
specifice: generatoare, utilitare etc. (exemplu Oracle).
- SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de manipulare a datelor
specific. Acest limbaj de programare propriu este procedural şi are marele avantaj că permite
implementarea tuturor facilităţilor oferite de SGBD. În el se pot programa proceduri complexe şi
interfeţe puternice ca într-un limbaj universal, dar în plus se realizează un acces uşor şi optimizat la
baza de date. Dezavantajul este că un astfel de limbaj nu poate fi utilizat decât de specialiştii în
informatică (exemplu limbajul din Visual FoxPro).

3) După modelul logic de date implementat

- SGBD ierarhice sunt cele care implementează modelul de date arborescent (ierarhic) şi au fost
primele care s-au utilizat pentru gestionarea bazelor de date. Ele au o serie de avantaje pentru domenii
precise din lumea reală înconjurătoare, de exemplu tehnologia construcţiei de maşini, dar au limite
pentru alte domenii (exemplu: IMS).
- SGBD reţea sunt cele care implementează modelul de date reţea şi care au eliminat multe din
limitele celor ierarhice. Ele au o largă aplicabilitate pentru numeroase probleme din lumea reală, dar
sunt dificil de utilizat datorită complexităţii ridicate (exemplu: IDMS).
- SGBD relaţionale sunt cele care implementează modelul de date relaţional şi au aplicabilitate
în majoritatea domeniilor din lumea reală. Ele pot fi folosite de o gamă largă de utilizatori datorită
facilităţilor oferite (generatoare, limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox,
Acces, Informix, Progres).
- SGBD orientate obiect sunt cele care implementează modelul de date orientat obiect. Ele se
pretează bine la problemele foarte mari, de complexitate ridicată, precum şi pentru tipurile noi de
aplicaţii (proiectarea asistată, multimedia, sisteme deschise) (exemple: O2, Orion, Jasmin).
Majoritatea SGBD-urilor actuale au implementate, în ultimele versiuni, facilităţi de tratare a
obiectelor (exemple: Oracle, Visual FoxPro).

4) După localizarea bazei de date

- SGBD centralizate sunt cele care gestionează datele amplasate într-o singură bază de date
centrală. La acestea au acces toţi utilizatorii autorizaţi pentru a efectua diferite operaţii de manipulare a
datelor. Toate calculatoarele care nu sunt legate în reţea şi lucrează cu baze de date au instalat un
SGBD centralizat.

8
Tot un SGBD centralizat, dar cu facilităţi de lucru în reţea, trebuie instalat şi în reţelele de
calculatoare care au plasată baza de date pe un singur calculator (de obicei pe server).(exemplu: Visual
FoxPro, Access)
- SGBD distribuite sunt cele care gestionează datele amplasate pe mai multe calculatoare dintr-
o reţea tratându-le ca un tot unitar. Complexitatea acestor SGBD-uri este ridicată, având componente
speciale pentru realizarea conexiunilor şi tratarea distribuită a datelor (exemplu: Oracle, DB2,
Informix).

CAPITOLUL II.
ACCESS – PROGRAMUL MICROSOFT OFFICE PENTRU BAZE DE DATE

2.1. Caracteristici generale

Microsoft Access este un program pentru crearea şi administrarea bazelor de date şi beneficiază de toate
facilităţile Microsoft Windows. Este integrat în Microsoft Office permiţând schimbul de informaţii cu alte
aplicaţii din Office.
De asemenea, permite folosirea datelor memorate în diferite baze de date sau create cu alte sisteme de
gestionare a datelor.
Access prezintă şi un mod de lucru asistat, cu multe ferestre de dialog ce uşurează mult munca
utilizatorului.
Microsoft ACCESS îmbină modelul relaţional cu cel orientat spre obiecte, adică organizează relaţional
datele şi este orientat spre obiecte care au asociate evenimente sau proprietăţi. Access-ul delimitează baza de
date şi tabelul.
Principalele sale caracteristici sunt:
 este relaţional şi lucrează sub sistemul de operare Windows;
 este deschis comunicării cu alte Sisteme de Gestiune a Bazelor de Date cum ar fi FoxPro sau Paradox;
 este compatibil cu tehnologia ActiveX, care permite realizarea aplicaţiilor client/server;
 permite realizarea unor aplicaţii complexe prin utilizarea limbajului Visual Basic;
 permite accesul la baze de date din reţeaua Internet, fiind un instrument util pentru publicarea
informaţiilor în paginile Web;
 este autodocumentat prin help, apelabil contextual sau la cerere;
 conţine instrumente Wizard care permit utilizatorului crearea într-o manieră foarte simplă a obiectelor
bazei de date;
 permite crearea de comenzi rapide (shortcuts) în vederea accesării obiectelor Access;
 permite crearea de grupuri de obiecte definite de utilizator în cadrul bazei de date;
 permite personalizarea bazei de date;
 permite utilizarea obiectelor Access din cadrul altor aplicaţii rulate sub sistemul de operare Windows;
 pe baza facilităţii de compactare, se minimizează dimensiunea bazei de date Ia închidere;
 se permite crearea de aplicaţii care să utilizeze baze de date stocate în SQL Server, în cadrul unei reţele
de calculatoare.
 Access 2003 acceptă o varietate de formate de date, inclusiv Extensible Markup Language (XML),
OLE, Open Database Connectivity (ODBC) şi Microsoft Windows® SharePoint™ Services.
 oferă posibilitatea de a lega tabele, astfel încât să putem accesa concomitent informaţii din mai multe
baze de date în cadrul formularelor, rapoartelor şi al paginilor de acces la date din Access 2003. Se pot
lega tabele din alte baze de date Access, foi de calcul Microsoft Excel, surse de date ODBC, baze de
9
date Microsoft SQL Server™ şi din alte surse de date.
 oferă posibilitatea de a încorpora în soluţiile Access date bazate pe Microsoft SQL Server. Se poate
utiliza Stored Procedure Designer pentru a crea şi a modifica proceduri simple stocate în SQL Server,
fără să fie necesară cunoaşterea Transact-SQL.

2.2. Arhitectura Microsoft ACCESS

O bază de date Access poate fi definită ca o colecţie de obiecte: tabele, interogări, formulare, rapoarte,
pagini Web, macro comenzi şi module.
 Tabela este un obiect definit de utilizator în care sunt stocate datele
primare (expresia modelului relaţional).
 Formularul este un obiect care permite introducerea datelor, afişarea acestora sau
controlul întregii aplicaţii.
 Interogarea este un obiect care permite vizualizarea informaţiilor obţinute prin
prelucrarea datelor din una sau mai multe tabele şi/sau alte cereri de interogare.
 Raportul este un obiect care permite formatarea şi tipărirea informaţiilor obţinute în
urma consultării bazei de date sub formă de documente.
 Pagina Web de accesare a datelor reprezintă un obiect care include un fişier HTML şi
alte fişiere suport în vederea furnizării accesului la date prin intermediul browser-elor Internet.
 Macro comanda reprezintă un obiect care conţine o definiţie structurată a
uneia sau mai multor acţiuni pe care Access Ie realizează ca răspuns la un anumit eveniment.
 Modulul reprezintă un obiect care conţine proceduri definite de
utilizator şi scrise în limbajul de programare Visual Basic.
Trebuie subliniată diferenţa majoră care există între Microsoft Access şi alte sisteme de gestiune a
bazelor de date. Astfel, în Visual FoxPro, prin baze de date (database) se înţeleg doar acele fişiere în care sunt
stocate datele.
Funcţiile SGBD-ului Microsoft Access sunt următoarele:
- funcţia de descriere a datelor este realizată cu limbajul de descriere a datelor pentru definirea
structurii tabelelor şi a relaţiilor dintre acestea ;
- funcţia de manipulare a datelor este realizată cu limbajele de manipulare a datelor în cele trei
variante QBE, SQL, şi VBA ;
- funcţia de securitate a datelor şi lucru în regim utilizator este realizată prin parole şi drepturi de
acces ;
- funcţia de import şi export de date permite importul şi exportul de date între baze de date
diferite ale sistemului ;
- funcţia de menţinere a integrităţii datelor reduce riscul erorii de definire sau înregistrare a
datelor indiferent de volumul acestora prin intermediul unor reguli.

2.3. Tabele (tables)


Fiecare bază de date, indiferent dacă este nouă sau goală, sau este gata concepută, deţine un fel
de centrală de navigaţie în care obiectele separate ale bazei de date, cum sunt tabelele, interogările,
formularele pot fi amplasate. O bază de date Access conţine aşa cum am amintit şapte tipuri de
obiecte: tabele, interogări, formulare, rapoarte, pagini, macro comenzi, module. Dacă se execută
clic pe simbolul unei grupe de obiecte, în partea dreapta a ferestrei (la versiunile începând cu Office
2000) vor fi prezentate toate obiectele grupei prezentate.
Tabele (tables) - toate datele pe care le stocam în Acces se vor păstra în tabele. Fiecare coloană
a tabelului se numeşte câmp, iar fiecare rând al tabelei se numeşte înregistrare. Fiecărui câmp îi este
asociat un tip de date şi o dimensiune exprimată în octeţi.
În cadrul unui tabel se pot adăuga câmpuri noi, iar alte câmpuri pot fi şterse. Structura tabelului
poate fi de asemenea modificată. În cazul în care s-au creat deja interogări şi rapoarte care folosesc
datele din tabel s-ar putea să fie necesară reproiectarea tabelului.
Alte operaţii ce se mai pot executa într-un tabel sunt:
10
- navigarea prin înregistrări folosindu-se bara de navigare situată în partea de jos a ferestrei
tabelului;
- adăugarea înregistrărilor noi care se poate realiza doar la sfârşitul tabelului, pe linia unde este
situat caracterul”*”.
Poziţia cursorului se poate schimba între diferite câmpuri cu ajutorul tastelor direcţionale, prin
clic cu mouse-ul sau cu ajutorul tastei <Tab>;
- ştergerea înregistrărilor presupune ca în prealabil înregistrările care se doresc a fi şterse să fie
marcate. Marcarea acestora se realizează cu ajutorul câmpului de marcare din stânga înregistrării.
Ca rezultat întreaga înregistrare va apare pe un font de culoare neagră, înregistrarea marcată va
fi ştearsă fie apăsând tasta <Delete> de pe tastatură fie selectând opţiunea Delete Record din meniul
File.
În cazul în care se doreşte ştergerea simultană a mai multor înregistrări acestea vor fi selectate
cu ajutorul mouse-ului ţinând tasta <Shîft> apăsată. O dată cu ştergerea unei înregistrări va dispărea şi
cheia primară a acesteia.
- modificarea datelor existente într-un tabel se realizează simplu prin editarea noului text în
câmpul de date corespunzător. Modificarea dimensiunii caracterelor poate fi realizată cu ajutorul
opţiunii Font din meniul Format, ce va deschide următoarea fereastră de dialog în pot fi stabilite
tipurile de caractere, mărimea acestora precum şi culoarea prin executarea unui clic pe opţiunea aleasă.
Dimensiunile celulelor din tabel pot fi modificate simplu cu ajutorul opţiunilor Row height şi
Column width. Lăţimea coloanelor mai poate fi reglată şi prin procedeul Drag and drop aplicat
liniilor care separă capetele de coloane.
- deplasarea înregistrărilor se realizează în mod analog deplasării blocurilor de texte în
aplicaţiile Office, adică folosind opţiunile Cat şi Paste din meniul Edit, după ce în prealabil
înregistrările de mutat au fost selectate.
- inserarea unei noi înregistrări presupune selectarea înregistrării înaintea căreia dorim
inserarea unei înregistrări şi alegerea opţiunii New Record din meniul Insert.
- ştergerea unui câmp se realizează cu ajutorul opţiunii Delete Column din meniul Edit după ce
câmpul ce urmează a fi îndepărtat a fost selectat;
- inserarea unui câmp presupune selectarea câmpului înaintea căruia dorim inserarea noului
câmp şi alegerea opţiunii Lodkup field din meniul Insert.
- tipărirea tabelei de date se realizează cu ajutorul opţiunii Print din meniul File respectiv din
bara de butoane.
- importarea unui tabel dintr-o altă bază de date se realizează cu ajutorul opţiunii Preluare
Date Externe Data - Import din meniul File.
Astfel, aplicaţia Access permite importarea datelor din alte baze de date realizate cu diferite
SGBD-uri precum FoxPro, Paradox, dBase (III,IV ,V) dar şi din alte aplicaţii precum Word, Excel,
Lotus, etc.
În Microsoft Access există două metode de a crea o tabelă. Se poate crea o tabelă goală (empty)
pentru a introduce singuri datele sau se poate crea o tabelă folosind datele existente într-o altă sursă
de date.

Tipuri de date
La alegerea tipului de date pentru un câmp se va ţine cont de următoarele:
 Ce tipuri de date doresc să fie admise în câmp? Spre exemplu, nu se va putea memora text
într-un câmp cu tipul de date Number.
 Cât spaţiu doresc să folosesc pentru memorarea valorilor din câmp?
 Ce tipuri de operaţii doresc să se execute cu valorile din câmp? Spre exemplu, Microsoft
Access poate aduna valorile din câmpurile Number sau Currency, dar nu şi valorile din
câmpurile Text sau OLE Object.
 Doresc sortarea sau indexarea unui câmp? Câmpurile Memo sau OLE Object nu pot fi
sortate sau indexate.
 Doresc folosirea unui câmp pentru a grupa articolele din cereri şi rapoarte? Câmpurile
Memo sau OLE Object nu se pot folosi pentru a grupa articolele.
11
 Cum doresc să sortez valorile dintr-un câmp? într-un câmp Text, numerele sunt sortate ca
şiruri de caractere (1, 10, 100, 2, 20, 200 s.a.m.d.), nu ca valori numerice. Pentru a sorta
numerele ca valori numerice se folosesc câmpurile Number sau Currency. De asemenea,
multe formate de date calendaristice nu se vor sorta corect. Dacă se introduc într-un câmp
Text; pentru a fi sortate corect se introduc numai într-un câmp Date/Time.

Următorul tabel prezintă toate tipurile de date admise în Microsoft Access, modul lor de
folosire şi dimensiunea de memorare.

Tipul datei Utilizare Spaţiul de memorie necesar


Text Text sau combinaţie de text şi numere, cum ar Până la 255 caractere. Microsoft Access
fi adresele. De asemenea, numere ce nu necesită memorează numai caracterele introduse în
calcule, cum ar fi numerele de telefon, numerele câmp; nu se memorează caractere „spaţiu”
de partidă sau codurile poştale. pentru poziţiile nefolosite. Pentru a controla
numărul maxim de caractere ce pot fi
introduse se setează proprietatea FieldSize.
Memo Texte şi numere foarte lungi, cum ar fi notiţe Până la 64,000 caractere.
sau descrieri.
Number Date numerice folosite pentru calcule 1, 2, 4 sau 8 bytes (16 bytes numai pentru
matematice, cu excepţia calculelor ce impun Replication ID).
valori monetare. Pentru a defini un anumit tip
Number setaţi proprietatea FieldSize.
Date/Time Date calendaristice şi timpi. 8 bytes.
Currency Valori monetare. Se va folosi tipul de date 8 bytes.
Currency pentru a preveni rotunjirea pe timpul
calculelor. Precizia tipului este de 15 cifre la
partea întreagă şi 4 cifre la partea zecimală.
AutoNumb Numere în secvenţă unică (din 1 în 1) sau 4 bytes (16 bytes numai pentru Replication
er aleatoare care sunt automat inserate atunci când ID).
se adaugă un articol.
Yes/No Câmpuri care vor conţine numai una din două 1 bit.
valori, cum ar fi Yes/No, True/False, On/Off.
OLE Obiecte (cum ar fi documente Microsoft Pâna la 1 GB (limitat de spaţiul disc).
Object Word, foi de calcul Microsoft Excel, imagini,
sunete sau alte date binare) create în alte
programe folosind protocolul OLE, ce pot fi
înlănţuite sau încapsulate într-o tabelă
Microsoft Access. Trebuie să se folosească un
cadru de obiect legat într-o machetă sau raport
pentru a afişa obiectul OLE.
Lookup Crearea unui câmp care permite alegerea unei Acelaşi spaţiu ca şi câmpul cheii primare

12
Wizard valori dintr-o altă tabelă sau dintr-o listă de folosit pentru a executa examinarea, în mod
valori folosind o casetă combo. Alegând această obişnuit 4 bytes.
opţiune, se lansează un Wizard care dirijează
crearea listei.

În general o bază de date conţine mai multe tabele care de regulă sunt asociate, adică au o
relaţie între ele.

Alegerea cheii primare

Cheia primara identifică în mod univoc fiecare înregistrare dintr-un tabel şi leagă introducerea
unei valori multiple intr-un câmp al cheii primare.
Alegerea cheii primare se face din fereastra Table prin alegerea unui câmp (care urmează a fi
cheia primară) şi executarea unui clic pe simbolul cu acelaşi nume din bara de butoane sau prin
intermediul opţiunii Primary Key din meniul Edit.
Ca rezultat va apare simbolul cheii în stânga denumirii câmpului. Executarea unui nou clic pe
acelaşi simbol îndepărtează cheia primară.
Crearea relaţiilor între tabele

Pentru stabilirea unei relaţii între 2 tabele este nevoie ca acestea să aibă un câmp comun. Există
3 tipuri de relaţii:
1. Relaţie unu la unu sau biunivocă în care fiecărei înregistrări din tabela A îi corespunde cel
mult o înregistrare în tabela B. Acest tip de relaţie se obţine punând acelaşi câmp în ambele tabele, sau
cheia primara din unul va fi preluată drept cheie externă în cel de-al doilea.
2. Relaţie unu la mai mulţi şi în acest caz unei înregistrări din A îi vor corespunde mai multe
înregistrări din B.
3. Relaţia mai mulţi Ia mai mulţi adică o înregistrare din A poate fi în relaţie cu mai multe
înregistrări din B şi invers.
Pentru stabilirea relaţiilor dintre tabele se foloseşte opţiunea Relationships din meniul Tools. La
selectarea acestei opţiuni va apare caseta de dialog Show Table, în care se vor alege tabelele între care
se vor stabili legături prin executarea unui dublu clic asupra denumirii acestuia.
Pentru a stabili o legătură între două tabele trebuie parcurse următoarele etape:
- Se apasă tasta <Ctrl>;
- Se alege câmpul de legătură dintr-o tabelă şi deplasându-ne pe câmpul de legătură din cea de-
a doua tabela eliberăm butonul mouse-ului pentru a deschide caseta de dialog Relationships.
În fereastra Relationships se pot stabili câteva opţiuni:
- Impunere integritate referenţială impune respectarea unor condiţii la eliminarea sau
modificarea unor înregistrări (previne ştergerea accidentală a unor înregistrări de folos într-o tabelă
corelată).
- Actualizare în cascadă câmpuri corelate realizează actualizarea în cascadă a câmpurilor
asociate.
- Ştergere în cascadă câmpuri corelate prin care ori de câte ori se vor elimina înregistrări din
primul tabel, automat vor fi eliminate şi din tabelul corelat.
Pentru a preciza tipul de legătură se selectează opţiunea Join Tipe:
- 1 include toate înregistrările din acele tabele pentru care câmpurile de legătura au valori egale.
- 2 include toate liniile din A şi numai pe acelea din B pentru care câmpurile sunt egale.
- 3 include liniile din B şi numai pe acelea din A pentru care există egalitatea câmpurilor.

2.4. Interogările (Queries)

Interogările (Queries) reprezintă rezultatul unui procedeu de filtrare, prin care sunt afişate
spre vizionare numai anumite date din tabele, în acest caz filtrul este stabilit de către utilizator precum
13
şi ordinea de aşezare a înregistrărilor. Există şi posibilitatea combinării datelor provenite din mai multe
tabele asociate precum şi amplasarea rezultatelor interogării într-o singură fereastră.
Programul Access include aplicaţia QBE (Query by Example) grafic. Utilizarea acestei
caracteristici oferă o mai mare flexibilitate decât Filter, permiţând alegerea câmpurilor care apar în
rezultatul interogării şi crearea unor interogări mult mai complexe, folosind informaţia din tabele
principale şi din cele asociate acestora.
Există patru tipuri de interogări:
 interogări de selecţie (select) - sunt extrase date din unui sau mai multe tabele şi rezultatul este
afişat sub formă de listă.
 interogări încrucişate (crosstab) - centralizează datele din unui sau mai multe tabele în formatul
unei foi de calcul tabelar Acest tip de interogare este util dacă obiectul îl reprezintă analiza
datelor şi crearea de grafice şi diagrame pe baza sumei valorilor din câmpurile numerice ale
mai multor interogări.
 interogări de acţiune (action) - acest tip de interogare permite adăugarea, modificarea sau
ştergerea înregistrărilor dintr-un tabel. Prin aceste interogări sunt create noi tabele în bazele de
date sau modificate tabelele existente.
 interogări parametrice (parameter) - folosesc în mod repetat o interogare, făcând numai simple
modificări ale criteriilor ei. La rularea unei asemenea interogări Access deschide o casetă de
dialog în care trebuie furnizată valoarea criteriului de filtrare.

În lista de interogări din fereastra Database pentru fiecare tip de interogare există câte un
simbol plasat înaintea denumirii interogării.
Prin urmare, interogările permit acţiunea asupra datelor din mai multe tabele sau asupra datelor
dintr-o interogare şi un alt tabel, în general într-o interogare sunt prezente acele înregistrări. sau părţi
ale acestora, care respectă anumite criterii de căutare.
Crearea unei cereri de interogare se poate face în mai multe moduri:
 proiectare pas cu pas în modul Vizualizare proiect;
 proiectarea cu ajutorul expertului( Wizard);
 proiectarea în limbajul SQL;
 crearea unui filtru şi salvarea acestuia ca cerere de interogare.
În continuare vom prezenta realizarea unei interogări pas cu pas în modul Vizualizare proiect.
Pentru început se activează opţiunea Interogări în fereastra Bază de date şi se execută clic pe
opţiunea Nou, iar din caseta de dialog Interogare nouă se alege opţiunea Vizualizare proiect. În
caseta de dialog AfişareTabel se aleg tabele de unde includem câmpuri în interogare.
Fereastra interogării este împărţită în două panouri, în panoul superior al ferestrei este afişată o
listă cu toate tabelele din care trebuie să fie interogate datele.
Dacă se creează o interogare pe baza unor tabele corelate, relaţiile vor apare pe măsură ce
amplasăm tabele în panoul superior.
În partea de jos a ferestrei sunt listate toate câmpurile care trebuie să fie afişate în interogare.
Fiecare din aceste câmpuri are mai multe proprietăţi ce pot fi modificate.
Proprietăţile câmpurilor sunt:
- Câmp: dă numele câmpului;
- Tabel: indică tabelul de origine al câmpului;
- Sortare: aici putem indica dacă rezultatul interogării se sortează;
- Afişare: specifică dacă un câmp va fi afişat sau nu;
- Criterii: aceasta constituie probabil cea mai importantă proprietate a unei interogări.
Aici trebuie să stabilească utilizatorul după ce criteriu trebuie filtrate datele din întreaga bază
de date. Regulile de introducere a criteriilor interogării corespund celor de Ia criteriile filtrelor.
În partea superioară a ferestrei de proiectare a interogării se găseşte o listă care conţine toate
câmpurile tabelului de origine.
Executând dublu clic pe o opţiune a acestei liste, câmpul respectiv este adăugat interogării şi va
apărea în panoul inferior ca ultima intrare, în partea dreaptă. Câmpurile pot fi mutate din poziţiile lor
prin procedeul „drag and drop"(trage şi plasează).

14
Dacă unele câmpuri trebuie ulterior îndepărtare, se marchează simplu întreaga coloană şi se
şterge cu ajutorul tastei <Delete>. Dacă o coloană este importantă pentru o interogare dar la un
moment dat nu trebuie vizualizată, aceasta poate fi dezactivată cu ajutorul proprietăţii Afişare.
La închiderea modului Vizualizare proiect suntem atenţionaţi automat în cazul în care nu am
salvat modificările. Când interogarea va fi deschisă din nou, ea va prezenta rezultatul sub forma unui
tabel.

2.5. Formulare (Forms)


Formulare (Forms) sunt ferestre personalizate pentru introducerea datelor în tabele, pentru
afişarea şi editarea datelor pe ecran. Datele pot fi afişate câte o înregistrare o dată sau pot fi afişate în
orice ordine, în plus, formularele pot conţine subformulare pentru a afişa date asociate.
Formularele sunt utilizate ca interfaţă între utilizator şi tabele. Acestea sunt alcătuite din
elemente sau obiecte de control, cum ar fi: casete de text (sunt folosite la introducerea datelor), etichete
(folosite la stocarea numelui câmpurilor) sau cadre de obiect (folosite pentru afişarea graficelor).
Un formular reprezintă o fereastră în care sunt plasate mai multe elemente de control.
Formularele se pot clasifică, după aplicaţia la ce se folosesc în baza de date, în trei grupe :
 formulare pentru procesarea tranzacţiilor - sunt folosite pentru adăugarea unor noi
înregistrări într-un tabel sau editarea celor existente. Este necesar să fie permisă scrierea într-un
tabel legat la un astfel de formular.
 formulare utilizate în scopul facilitării luării deciziilor - furnizează o serie de informaţii,
dar nu permit adăugarea sau modificarea datelor.
 formulare pentru întreţinerea bazei de date - asigură crearea tabelelor bazei de date,
securitatea prin criptare a informaţiei, compactarea bazelor de date şi salvarea acestora. Acţiunile
de întreţinere presupun accesul la toate obiectele unei aplicaţii de baza de date.
Primele două tipuri de formulare sunt esenţiale în cadrul unei baze de date.
Un formular permite includerea unui subformular şi a unui subformular într-un alt subformular
(proces denumit imbricare). Sunt permise cel mult trei niveluri de imbricare.
Formularele conferă un aspect profesional bazelor de date şi prezintă câteva avantaje:
 realizarea unei configuraţii personalizate;
 formularul poate să cuprindă numai o parte din câmpuri;
 permit vizualizarea înregistrărilor şi de către alţi utilizatori fără posibilitatea de a interveni
asupra acestora.
În concluzie, formularele nu sunt altceva decât tabele pregătite cu o anume grafică, ce servesc
ca mască de ecran pentru introducerea şi observarea mai bună a înregistrărilor. De aceea, formularele
sunt generate de regulă după un tabel deja construit. În continuare, vor fi prezentate câteva modalităţi,
mai uşoare de obţinere a formularelor folosind modul asistat.
Aplicaţia Access pune la dispoziţia utilizatorilor modalităţi rapide de generare a formularelor.
Pentru aceasta se selectează butonul FORMULAR, din fereastra bazei de date şi apoi se execută clic
pe butonul Nou.
În fereastra Formular Nou, în secţiunea Alegeţi tabelul sau interogarea de unde provin
datele despre obiect, se introduce numele tabelei sau al interogării de unde se vor prelua câmpuri
pentru realizarea formularelor urmând a se alege una din următoarele opţiuni:
- Autoformular Coloane;
- Autoformular Tabele;
- Autoformular Foaie de date;
- Autoformular PivotTable;
- Autoformular PivotChart.
Spre deosebire de autoformulare aplicaţia EXPERT FORMULAR permite preluarea datelor
din mai multe tabele corelate.
Astfel, pentru crearea unui tabel folosind EXPERT FORMULAR trebuie parcurşi următorii
paşii:
a) Activăm butonul Formular din fereastra bazei de date şi executăm clic pe butonul Nou;
b) Selectam opţiunea EXPERT FORMULAR;
15
c) În fereastra EXPERT FORMULAR se stabileşte tabela de unde se vor prelua câmpurile
în secţiunea Tabele/Interogari, urmând ca după aceea să fie selectate câmpurile de care avem
nevoie din zona Câmpuri disponibile. Într-un formular, în funcţie de utilizare nu trebuie să
existe toate câmpurile care stau la baza sa. Fiecare câmp care trebuie să apară în formular este
marcat în lista de opţiuni câmpuri disponibile şi preluat în lista câmpurilor selectate.
d) În cazul în care s-au selectat date din mai multe tabele se va selecta tipul dorit pentru
subformular;
e) Se alege stilul dorit pentru formular. La acest pas se poate alege dintre diferite formate de
design. Aceste modificări sunt legate numai de aspect şi nu au nici un efect asupra modului de
funcţionare al formularului.
Cele mai folosite stiluri sunt:
- COLUMNAR ( o coloană): prezintă pe fiecare pagină o singură înregistrare;
- TABELAR (sub formă de tabel): prezintă pe fiecare pagină mai multe înregistrări sub
formă de listă;
- DATASHEET (fişa de date): prezintă pe fiecare pagină mai multe înregistrări sub formă
de tabel;
- JUSTIFIED (în blocuri); prezintă pe fiecare pagină numai o singură înregistrare
câmpurile de date fiind aranjate sub formă de blocuri.
f) Se stabileşte numele formularului şi se execută clic pe butonul Finish.
Datele se introduc în câmpurile formularului şi sunt preluate automat în tabelul de bază şi nu
trebuie salvate. În cazul în care mai sunt de făcut anumite modificări se selectează formularul în cauza
şi se selectează opţiunea Design View.

2.6. Rapoartele (Reports)


Rapoarte (Reports) sunt asemănătoare din punct de vedere al structurii cu interogările servind
la extragerea datelor din tabele sau interogări şi dirijarea acestora către o imprimantă. Orice dorim să
tipărim va trebui să ia forma unui raport indiferent dacă este o statistică financiară sau etichetă poştală.
Access pune la dispoziţie mai multe programe Wizard pentru a ajuta la crearea de rapoarte
uzuale.
Scopul unei aplicaţii bază de date este generarea unui raport.
În cadrul programului Access există, practic, şase tipuri de rapoarte:
 rapoarte unicoloană - sunt generate cu ajutorul instrumentului AutoReport şi permit
afişarea unei înregistrări pe o coloană, câmpurile şi valorile acestora fiind plasate pe
linie. Nu sunt frecvent utilizate, fiind mari consumatoare de hârtie.
 rapoarte dispuse pe rânduri - înregistrările sunt afişate pe rânduri, iar câmpurile pe coloană.
Dacă pe o pagină nu pot fi induse toate câmpurile, atunci sunt tipărite mai multe pagini până ia
terminarea numărului de coloane, apoi se tipăresc următoarele grupuri de înregistrări.
 rapoarte multicoloană - informaţiile care nu încap în prima coloană (în rapoartele
unicoloană) continuă pe a doua coloană, dar alinierea coloanelor nu corespunde dorinţelor
utilizatorului.
 rapoarte cu grupare / totalitare - permit sumarea datelor pe grupuri de înregistrări şi realizarea
de totaluri generale la sfârşitul raportului. Sunt cele mai frecvent utilizate.
 rapoarte multicoloană cu etichete pentru corespondenţă - sunt folosite pentru a tipări în mod
grupat informaţii provenite din mai multe câmpuri (exemplu: nume şi adrese). Fiecare
grupare de câmpuri semnifică o celulă dintr-o reţea.
 rapoarte neasociate - nu sunt asociate unei surse de date, dar includ subrapoarte care au la bază
tabele sau interogări ce pot fi independente.
Un raport este destinat numai tipăririi. Pentru rapoarte sunt disponibile numai opţiunile Print
Preview (previzualizare) şi Report Design (fereastra de proiectare), fără opţiunea Datasheet View.
Din punct de vedere al structurii, rapoartele sunt foarte asemănătoare cu interogările. Ele
reprezintă tot rezultatul unui procedeu de filtrare, prin care sunt reprezentate numai anumite date dintr-
un tabel. Diferenţa faţă de interogări constă în aceea că raportul nu este destinat afişării pe ecran, ci
tipăririi la imprimantă.
16
Din acest motiv, raportul nu poate f! deschis şi afişat pe ecran, precum tabelele, formularele sau
interogările, fiind posibilă numai o previzualizare a modului cum va arata raportul tipărit.
Ca şi în cazul formularelor Access pune la dispoziţia utilizatorilor o serie de instrumente
puternice ce permit obţinerea cu uşurinţă a rapoartelor. Acest tip de rapoarte astfel create reprezintă o
alternativă serioasă la rapoartele personalizate create în modul Design.

Ca şi în cazul formularelor, cele mai simple rapoarte şi cel mai uşor de obţinut sunt
autorapoartele. Acestea pot fi de două tipuri: autorapoarte pe coloană (Autoraport Coloane) şi sub
formă tabelară (Autoraport Tabele).
Pentru crearea unui autoraport se selectează butonul Raport din fereastra bazei de date şi se
execută clic pe opţiunea New.
În caseta de dialog Raport Nou ce se va deschide urmează a fi selectate una din opţiunile de
realizare a autorapoartelor: Autoraport Coloane, Autoraport Tabele.
Tot în această casetă vom executa clic pe lista derulantă din dreapta textului unde vom alege
tabelul sau interogarea ce conţine datele ce urmează a fi preluate în raport.

2.7. Macroinstrucţiunile (Macros)


Macroinstrucţiunile (Macros) sunt secvenţe de comenzi, executate de Access pentru a
produce un anumit rezultat, de exemplu rularea unei interogări. Macroinstrucţiunile sunt folosite
pentru a crea meniuri personalizate şi a executa comenzi simple în situaţia în care programarea poate fi
prea complicată.
Macroinstrucţiunile (numite şi macro-comenzi sau macrouri) din Access reprezintă o
modalitate de a executa acţiuni fără ca proiectantul aplicaţiei să aibă cunoştinţe de programare.
Acţiunile macrocomenzii pot fi alese dintr-o listă de acţiuni.
De exemplu, Close (închide fereastra), OpenForm (deschide un formular), OpenReport
(deschide un raport), Quit (părăseşte Access), Msgbox(afişează un mesaj).
Pentru crearea macrourilor, Access dispune de utilitarul Macro Builder. Acţiunile macroului
vor fi executate la producerea unui anumit eveniment.
Pentru un formular existent, ne propunem ca la lansarea sa în execuţie, acesta să se
maximizeze, iar la terminare să afişeze un mesaj folosind macroinstrucţiuni.
Evenimentul care va permite maximizarea este încărcarea formularului, deci vom folosi la
evenimentul Onload sau OnOpen macro-ul mcrmaxim, iar pentru macroul de afişare a mesajului
(mcrminim) ne vom servi de evenimentul OnUnload sau OnClose.
Pasul 1. Apelăm utilitarul Macro Builder prin Baza de Date-> Macro-> Nou.
Utilitarul are propria fereastră de proiectare, care cuprinde pe prima coloană acţiunile care vor
forma macro-instrucţiunea, în a doua coloană - comentarii, iar în partea de jos - anumite atribute
asociate ca argumente comenzilor.
Pasul 2. în coloana Action se deschide o listă cu acţiunile care pot fi trecute în macro şi se
alege acţiunea.
Pasul 3. Se completează - dacă este necesar - argumentele acţiunii, în cazul nostru, vom scrie
chiar mesajul. Pot fi şi acţiuni fără argumente!
Pasul 4. Salvăm.
Pasul 5. Se asociază macroul evenimentului dorit în fereastra Properties – a se vedea
imaginea capturată pentru un formular.

2.8. Modul (Modules)

Modul (Modules) conţine una sau mai multe subrutine scrise în Visual Basic for
Applications, limbaj de programare folosit în cadrul aplicaţiilor Microsoft Office.

17
CAPITOLUL III.
SITUAŢIA ŞCOLARĂ A ELEVILOR DIN CLASA a XI-a A
GRUPUL ŞCOLAR AGRICOL - BALŞ

Definirea problemei.

Crearea unei baze de date pentru evidenţa situaţiei şcolare a elevilor din clasa a XI-a A.
Baza de date trebuie să stocheze notele acordate de profesori elevilor, la fiecare materie la
sfârşitul semestrului I.

3.1. Analiza structurală

Identificarea entităţile bazei de date sunt:

- discipline
- elevi
- note
- profesori

Identificarea asocierilor între entităţi este următorul pas. Prin asociere se înţelege o legătura
între cele două entităţi bazată pe un câmp al lor.
Stabilirea acestora este o operaţie relativ intuitivă care, în cazul meu entităţile au următoarele
asocieri care generează relaţii de tip unu-la-mai mulţi:

18
Un elev are mai multe note, evident, la o materie poţi primi mai multe note, un profesor acord ă
mai multe note.
Stabilirea câmpurilor se face în funcţie de specificul utilizării bazei de date. O atenţie sporită
trebuie acordată atributelor cheie primară (scrise cu roşu). În cazul meu am preferat, pentru
simplificarea codificării datelor, voi folosi tipul de dată AutoNumber.
Elevi:

Discipline:

19
Profesori:

20
Note:

3. 2. Crearea şi popularea bazei de date

S-a creat Baza de date cu ajutorul programului MICROSOFT ACCESS utilizând obţinea
“New-Blank Data Base”.S-a salvat baza de date intr-un fişier numit “Proiect Access ”.

3. 2.1. Crearea tabelelor

S-a deschis baza de date nou creată ; s-a selectat obţinea “Table” şi s-au creat patru tabele cu
ajutorul opţiuni “Create with Design View”: Elevi, Discipline, Profesori, Note.
În formarea numelui câmpului se recomandă:
– să nu se utilizeze caracterul spaţiu; pentru îmbunătăţirea lizibilităţii numelui se poate înlocui spaţiul
cu caracterul de subliniere ( _ ) sau se pot utiliza litere majuscule şi minuscule în acelaşi nume;
– reducerea lungimii numelui câmpurilor pentru a conserva resursele sistemului şi pentru a scuti
utilizatorul de introduceri lungi atunci când se fac referiri la numele câmpului.
S-au creat, în fiecare tabel, mai multe câmpuri descrise mai sus.
În tabelul Profesori, pentru câmpul ,, grad didactic" am creat un tip de data cu ajutorul Lookup
Wizard in modul Datasheet View.

21
Tabelele Access se pot salva în mai multe moduri:
– din meniul File se alege opţiunea Save;
– se execută click pe butonul Save de pe bara cu instrumente de lucru;
– se execută evenimentul click pe butonul de închidere a ferestrei de descriere a tabelei
– din meniul de control se alege opţiunea Close.
Indiferent de modul de salvare, Access afişează caseta de dialog Save As care solicită
furnizarea unui nume pentru tabelă. Utilizatorul introduce numele tabelei în caseta de text Table Name
şi apoi execută click pe butonul OK.

3.2.2. Definirea cheii primare

Orice tabelă trebuie să posede o cheie primară ( Primary Key), adică un câmp sau un grup de
câmpuri care identifică în mod unic fiecare înregistrare. Dacă utilizatorul nu stabileşte o cheie primară,
Access stabileşte una în mod implicit creând un câmp de tip AutoNumber care va conţine un
număr unic pentru fiecare înregistrare.
Cheia primară se defineşte din fereastra Indexes se activează meniul View, opţiunea Indexes.

22
Proprietăţile din fereastra Indexes:
• Primary – valoarea Yes indică faptul că indexul este cheie primară;
• Unique – valoarea Yes indică faptul că indexul va avea valori unice, nefiind permis
duplicatele; pentru o cheie primară, această proprietate are obligatoriu valoarea Yes.
• Ignore Nulls - valoarea Yes indică faptul că sunt permise valorile Null într-un index; pentru o
cheie primară, această proprietate are obligatoriu valoarea No.
Pe lângă modalitatea descrisă anterior, cheia primară a unui tabel se mai poate defini astfel:
– dacă este vorba de o cheie formată dintr-un singur câmp, se poziţionează cursorul în câmpul
respectiv, se acţionează click dreapta şi se alge opţiunea Primary Key;
– pentru chei primare formate din mai multe câmpuri, se selectează câmpurile din bordura
ferestrei de proiectare şi se acţionează butonul menţionat anterior.
O cheie externă nu se defineşte explicit în Access sub noţiunea de cheie externă, ea fiind
stabilită prin definirea relaţiilor dintre tabele. Pentru creşterea performanţelor se recomandă definirea
de indecşi pentru fiecare cheie externă.

3.2.3. Adăugarea înregistrărilor

Pentru a efectua aceste operaţii este necesar ca tabela să fie deschisă în modul DataSheet.
Dacă tabela este deschisă imediat după creare, Access va afişa o foaie de date vidă, iar
pointerul de înregistrare va fi plasat pe prima şi unica linie, pe butonul ei de selecţie (butonul gri
din prima coloană din tabela afişată în modul Datasheet View).
Pentru a introduce date se plasează pur şi simplu cursorul pe câmp şi se introduce o valoare.
în timp ce se efectuează această operaţie, pointerul de înregistrare * se transformă într-un creion,
ilustrând faptul că se editează o înregistrare. O nouă linie vidă apare dedesubtul primei linii. În locul
23
pointerului de înregistrare figurează un asterisc indicând o nouă înregistrare.
Dacă tabela care se deschide în modul Datasheet View conţine date, pentru a adăuga o nouă
înregistrare trebuie plasat cursorul pe ultima linie (al cărei pointer este un asterisc) şi se introduce
noua înregistrare. Pentru plasarea cursorului pe ultima linie se execută click pe butonul New Record
de pe bara cu instrumente sau se alege Insert –> Record sau se utilizează tasta săgeata în jos.
S-au introdus date in tabele deschizându-le pe rând.

3.2.4. Definirea legăturilor dintre tabele

Definirea legăturilor dintre tabele se realizează din meniul Tools-> Relationships, acesta
activând un panou de editare vizuală a acestora. Prima activare a acestei opţiuni are ca efect şi afişarea
unei ferestre cu obiectele bazei de date ce se pot plasa în panou prin dublu-click sau selectarea
obiectului şi butonul Add.
Pentru a putea defini o legătură între două tabele, trebuie să existe compatibilitate între tipul de
date al cheii primare şi cel al cheii externe corespunzătoare.
După plasarea tuturor tabelelor în panoul de editare, definirea propriu-zisă a unei relaţii se
realizează prin drag-and-drop dinspre cheia primară a unei tabele spre cheia externă corespunzătoare
sau invers.

Dacă o cheie este formată din mai multe câmpuri, acestea se editează corespunzător în panoul
Edit Relationship.
Relaţiile sunt:
- între tabela Note şi tabela Elevi relaţie de tipul unu-la-mai mulţi
- între tabela Note şi tabela Profesori relaţie de tipul-unu-la-mai mulţi
- între tabela Note şi tabela Discipline relaţie de tipul unu-la-mai mulţi
3.2.5. Interogările (Queries)
Interogarea datelor din tabele se realizează în două moduri:
24
• în mod grafic prin interfaţa Query By Example (QBE) - interogare prin exemplu;
• prin limbajul SQL sub formă de blocuri de cerere.
Access oferă trei posibilităţi pentru definirea interogării şi afişarea rezultatelor acesteia.
– Design View – fereastră sub forma unei grile de interogare, în care se defineşte interogarea;
– Datasheet View – fereastră în care se afişează rezultatele interogării;
– SQL View – fereastră în care Access generează automat codul SQL al interogării QBE;
aceeaşi fereastră este folosită şi pentru scrierea directă a unei interogări cu ajutorul
instrucţiunilor SQL.

În baza de date am creat următoarele interogări:


a) Afişarea doar a numelui şi a prenumelui elevilor în ordine alfabetică.
Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create
query in Design view. Fereastra Show Table conţine tabelele (afişare implicită), interogările sau
combinaţiile dintre acestea, de unde am ales sursa de date pentru interogare curentă.
Selectăm Elevi apoi executăm click pe Add.
Se aduc câmpurile din tabel pe grila de interogare într-o ordine dorită de utilizator. Sunt mai
multe posibilităţi pentru a aduce câmpurile pe grila de interogare.
Ne vom referi numai la două dintre acestea:
– pentru a aduce câmp cu câmp pe grilă, se execută click pe câmpul din tabelă şi se trage pe
grila de interogare, sau se execută dublu click pe câmp, acesta adăugându-se automat în grilă;
– pentru a aduce toate câmpurile tabelului deodată, se execută dublu click pe numele tabelului
şi se trag câmpurile pe grilă.
Aducem câmpurile nume_elev, pren_elev. La linia Sort alegem tipul de sortare ascendentă.
Închidem interogarea de la butonul x, se salvează sub numele ordine alfabetică, apoi
vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.

25
b) Am creat o interogare care să calculeze media semestrială a elevilor la obiectele la care susţin
teză şi care să afişeze doar numele, prenumele, disciplina, nota1, nota2, nota3, teza şi media
acestora.
Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create
query in Design view. Am adus câmpurile nume_elev, pren_elev,den_disciplina, nota1, nota2, nota3 şi
teza şi am completat următoarea coloană din grilă cu:
Medie: Round((3*(([nota1]+[nota2]+[nota3])/3)+[teza])/4)
La linia Criteria alegem în câmpurile nota3 şi teza criteriul’’ >0’’. Închidem interogarea de la butonul
x, se salvează sub numele Medie cu teza, apoi vizualizăm rezultatul prin deschiderea acesteia din
fereastra Database, opţiunea Queries.
c) Am creat o interogare de selecţie care să afişeze mediile semestriale ale elevilor şi să se
specifice elevii corigenţi.
d)

Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create
query in Design view. Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din
tabelul Note) şi den_disciplina(din tabelul Discipline) şi am completat următoarea coloană din grilă cu:
Rezultat: IIf([Media_semI]<=4;"CORIGENT")
Închidem interogarea de la butonul x, se salvează sub numele Corigenţi promovaţi, apoi
vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.
e) Am creat o interogare de selecţie care să afişeze mediile semestriale ale elevilor corigenţi.
Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create
query in Design view.
Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din tabelul Note) şi
den_disciplina(din tabelul Discipline).

26
La linia Criteria alegem în câmpul media_semI criteriul’’ <=4’’. Închidem interogarea de la
butonul x, se salvează sub numele Corigenţii, apoi vizualizăm rezultatul prin deschiderea acesteia din
fereastra Database, opţiunea Queries.
f) Am creat o interogare de selecţie care să afişeze elevii cu note scăzute la purtare.
Se de click pe butonul Queries (Interogări) din fereastra Database: şi se alege opţiunea Create
query in Design view. Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi), media_semI(din
tabelul Note) şi id_disciplina(din tabelul Discipline).
La linia Criteria alegem în câmpul media_semI criteriul’’ <10’’ şi în câmpul id_disciplina
criteriul “ purta”. Închidem interogarea de la butonul x, se salvează sub numele Medii scăzute purtare,
apoi vizualizăm rezultatul prin deschiderea acesteia din fereastra Database, opţiunea Queries.
g) Am creat o interogare de sintetizare a datelor pentru obţinerea mediei generale a elevilor şi
sortarea acestora în ordinea descrescătoare a mediei. Elevii au un număr de 15 discipline.
Rezolvarea problemei se va realiza în două etape:
– se va face o interogare de tip total pentru calculul mediei fiecărui elev şi– interogarea Medie;
– se va face o interogare pe baza interogării precedente, Medie, şi a tabelei Elevi, se vor calcula
mediile generale– interogarea Medie_generala.
Dacă se doreşte afişarea mediei generale doar cu două zecimale vom alege Properties –>
Format –> Fixed pentru câmpul Media al interogării Medie_generala.
Pentru interogarea Medie am ales câmpurile: id_disciplina(din tabelul Discipline), id_elev(din
tabelul Elevi) şi media_semI(din tabelul Note).
Pentru interogarea Medie_generala am ales tabelul Elevi şi tabelul Medie creat prin interogarea
anterioară. Câmpurile alese sunt nume_elev, pren_elev(din tabelul Elevi) şi am completat următoarea
coloană din grilă cu:
media_generala: Sum([media_semI])/14
În linia Total alegem opţiunea Group By pentru câmpurile nume_elev, pren_elev iar pentru
câmpul media_generala opţiunea Expresion, precum şi sortarea Descending.
3.2.6. Formulare(Forms)
Access pune la dispoziţia proiectantului o serie de facilităţi în vederea creării unui formular.
Astfel se poate alege între:
– generarea automată a unor formulare predefinite (AutoForm: Columnar, Tabular, Datasheet,
PivotTable, Pivotchart);
– proiectarea asistată, caz în care utilizatorul este îndrumat de către o serie de
asistenţi(Wizards: Form Wizard, Chart Wizard, PivotTable Wizard).
Formularele create sunt:
a) Corigenţii1, Media generala şi Medii scăzute la purtare pentru care am folosit
formularele Wizard, folosind ca sursă diferite tabele.
Etapele pe care le-am parcurs au fost:
1. se acţionează butonul New din fereastra bazei de date pentru activarea asistentului New
Form;
2. se optează pentru varianta Form Wizard;
3. se selectează tabela sau interogarea dorită în rubrica derulantă solicitată; prin click pe
butonul Ok, sistemul intră în modul Wizard;
4. se selectează câmpurile din sursa de date, ce vor fi afişate în formular; câmpurile accesibile
ale tabelei/interogării selectate sunt afişate în zona Available Fields; câmpurile ce for face parte
din formular sunt afişate în zona Selected Fields;
Selectarea câmpurilor se face cu ajutorul butoanelor:
– > pe al cărui click se transmite un singur câmp selectat din zona Available Fields în zona
Selected Fields;
– >> pe al cărui click se transmit toate câmpurile din zona Available Fields în zona Selected
Fields;
– < pentru revenirea unui câmp selectat din Selected Fields în Available Fields;
27
– << pentru revenirea tuturor câmpurilor selectate din Selected Fields în Available Fields;
Denumire formular Tabel(sursa de date) Câmp selectat în zona
Available Fields
Corigenţii1 Interogarea Corigenţii nume_elev,
pren_elev,
den_disciplina
Media generala Interogarea Media generala nume_elev,
pren_elev,
media_generala
Medii scăzute la purtare Interogarea Medii scăzute la purtare nume_elev,
pren_elev
media_semI

5.se alege tipul de formular şi anume opţiunile privind forma de poziţionare a datelor din
formular; opţiunile sunt: Columnar, Tabular, Datasheet, Justified, PivotTable, PivotChart
6. se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);
7. în ultima etapă se defineşte titlul formularului, precum şi modul în care va fi deschis
formularul

Există posibilitatea opţiunii asupra deschiderii noului formular:


– Open the form to view or enter information – pentru execuţie;
– Modify the form's design – pentru eventuale modificări.
b) Am creat formularul legat Elevi cu formularul Note.
Rolul subformularelor este de a actualiza mai multe tabele prin intermediul unei singure
ferestre (formular). Subformularele sunt create în general pentru anumite tabele dependente (tabele în
care câmpul comun este cheie externă), din cadrul unei relaţii de tip 1–n.

Definirea unui subformular presupune înglobarea (includerea) unui formular în cadrul altui
formular, primul devenind subformular, iar al doilea formular principal.
Pentru definirea unui subformular în modul Design se procedează astfel:
• se deschide în modul Design, formularul ce se doreşte a fi formular principal;
• se activează fereastra bazei de date;

28
• folosind tehnica drag&drop, se aduce depune formularul, ce se doreşte a fi subformular, în
interiorul formularului principal;
• se salvează formularul principal.
Sincronizarea formular–subformular se realizează prin intermediul câmpurilor de legătură
cheia primară din sursa de date aferentă formularului principal şi cheia externă din sursa de date
aferentă subformularului.
Denumirile acestor câmpuri sunt înscrise automat de Access în proprietăţile Link Master Field
şi Link Child Field ale controlului de tip subform din formularul principal.
Am creat un formular cu subformular în modul Form Wizard pentru tabelele Elevi şi Note:
1. se acţionează butonul New din fereastra bazei de date pentru activarea asistentului New Form;
2. se optează pentru varianta Form Wizard;
3. se selectează câmpurile din tabela Elevi sau apoi din tabela Note şi tabela Discipline;
4. pentru tabelul Elevi se selectează opţiunea Linched formes;
5. se alege un model de prezentare pentru subformular;
6. se stabileşte imaginea de fundal pentru formular (Stone, Standard etc.);
7. se stabileşte denumirea primului formular (First form) Elevi1 şi a celui de-al doilea formular
(Second form) Note1.
În primul formular am inserat cu ajutorul butonului Subform/subreport un alt formular în
punctual de inserare, în modul Design Wiev. Formularul introdus este tabelul Medie generala.
Acest formular apare ca ecran de prezentare:
- meniul Tools şi am selectat Startup
- am executat clic pe săgeata listei Display From/Page şi apoi am selectat formularul Elevi1
- am executat OK.

29

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