You are on page 1of 37

UNIVERSITATEA VALAHIA TÂRGOVIŞTE

Departamentul D.I.D.F.C.
Specializarea Informatica - Slatina, Olt

PROIECT

Coordonator:

Cursant :
2010

PROIECT
BAZE DE DATE

2
CUPRINS

CAPITOLUL I. SGBD – ASPECTE FUNDAMENTALE

1.1. Conceptul de SGBD ………..……………………………………………………….. 4

1.2. Obiectivele unui SGBD ……..………………………………………………………. 5

1.3. Funcţiile unui SGBD ……..…………………………………………………………. 8

1.4. Clasificarea SGBD …………………………………………………………………. 10

1.5. Arhitecturi de SGB …………………………………………………………………. 11

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

2.1. Caracteristici generale ………………………………………………………………. 13

2.2. Arhitectura Microsoft ACCESS ……………………………………………………….. 13

2.3. Tabele (tables) ………………………….………………………………..………… 14

2.4. Interogările (Queries) ………………….…………………………………………… 17

2.5. Formulare (Forms) …………………….…………………………………………… 18

2.6. Rapoartele (Reports) …………………….………………………………………….. 20

2.7. Macroinstrucţiunile (Macros) ……….……………………………………………... 20

2.8. Modul (Modules) …………………….…………………………………………….. 21

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


ŞCOLAR AGRICOL - BALŞ

3.1. Analiza structurală ………………..….…………………………………………… 22

3.2. Crearea şi popularea bazei de date …….………………………………………….. 25

CAPITOLUL IV. CONCLUZII …………….………….……………………………….. 33

BIBLIOGRAFIE …………………………………….………………………………………… 34

3
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.
c) Evoluţia SGBD-urilor
Evoluţia SGBD-urilor este legată, în principal, de modelul de date pe care-l implementează.
Organizarea datelor în memoria externă în baze de date se face conform unui model de date.
Etapele în evoluţia SGBD-urilor sunt următoarele:
1. Până în anii şaizeci datele erau organizate doar în fişiere, gestionate de programe scrise în
diferite limbaje de programare universale (exemple: Cobol, Fortran etc.).
2. La sfârşitul anilor şaizeci a apărut modelul arborescent de organizare a datelor şi primele
SGBD-uri care erau ierarhice şi implementau acest model (exemplu: IMS).
3. La începutul anilor şaptezeci a apărut modelul reţea de organizare a datelor şi SGBD-urile
reţea ce implementau acest model (exemple: IDMS, SOCRATE).
SGBD-urile arborescente şi reţea fac parte din prima generaţie şi ele constituie pionieratul în
domeniu.
4. La sfârşitul anilor şaptezeci, începutul anilor optzeci a apărut modelul relaţional de
organizare a datelor şi ulterior s-au realizat SGBD-urile relaţionale ce implementau acest model
(exemple: Oracle, Informix, DB2, SQLServer, Visual Foxpro, Access etc.). Este generaţia a doua de
SGBD, care prin simplitate, interactivitate şi neproceduralitate domină piaţa actuală.
5. La sfârşitul anilor optzeci, începutul anilor nouăzeci a apărut modelul orientat obiect de
organizare a datelor şi SGBD-urile orientate obiect ce implementau acest model (exemple: Gemstone,
O2, Jasmine etc.). Aceasta este generaţia a treia de SGBD care este în plină dezvoltare acum.
În acest moment, în lume, cea mai mare parte a bazelor de date sunt realizate cu SGBD
relaţionale, o foarte mică parte cu SGBD de generaţia întâi şi câştigă tot mai mult teren cele realizate
cu SGBD orientate obiect.
4
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
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.
5
- 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.
Regăsirea datelor este una din operaţiile cele mai folosite într-o bază de date. Fie că este
folosită pentru actualizare sau pentru consultare, sub forme diferite, regăsirea datelor este realizată la
cererea tuturor tipurilor de utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice în
ceea ce privesc facilităţile de regăsire. Acestea au atins performanţe ridicate în sistemele relaţionale,
multe din facilităţile de regăsire de aici fiind preluate în generaţia a treia de SGBD-uri.
- Spre deosebire de sistemul clasic de prelucrare pe fişiere, unde există un singur criteriu de
adresare (cel care a stat la baza organizării fişierului) în cazul bazelor de date, sistemul de gestiune
trebuie să ofere posibilitatea unui acces multicriterial. În timp ce modificarea criteriului la fişierele
clasice implică reorganizarea lor, la bazele de date schimbarea criteriului nu afectează cu nimic datele.
SGBD-ul stochează datele în entităţile bazei de date şi permite mai multe căi de acces. Pentru diferite
moduri de adresare SGBD creează dinamic, la momentul execuţiei, o serie de fişiere anexe (de index
etc.) care lasă neschimbate entităţile bazei de date.
1.2.4. Protecţia datelor
Î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.
b) Utilizarea viziunilor (view) este asigurată de SGBD pentru reprezentarea schemelor externe
ale bazei de date. Cu ajutorul viziunilor, SGBD-ul permite să se definească partiţii logice ale bazei de
date, definite pentru diferiţi utilizatori, în raport cu cerinţele acestora de acces la date. Securitatea
datelor este asigurată de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o
viziune şi revocarea drepturilor pentru obiectele iniţiale.
c) Realizarea unor proceduri speciale de acces asupra datelor este permisă de SGBD. Aceste
proceduri scrise în LMD se păstrează în formă precompilată, iar anumitor utilizatori li se va acorda
dreptul de execuţie şi li se va interzice accesul direct la obiectele bazei de date.
6
d) Criptarea este asigurată de SGBD prin oferirea unor rutine de criptare (codificare) a datelor
apelate automat sau la cerere şi prin existenţa unor instrumente care permit utilizatorului să realizeze
propriile rutine de criptare. Criptarea şi decriptarea se realizează după algoritmi specifici, cu o cheie
(parolă) de acces la rutină.
Componentele unui sistem de criptare sunt:
- Algoritmul de criptare este o rutină care transformă datele iniţiale într-o formă cifrată
(codificată);
- Cheia de criptare este o valoare secretă (parola) care permite intrarea în algoritmul de criptare;
- Algoritmul de decriptare este o rutină care transformă datele din forma criptată în cea iniţială;
- Cheia de decriptare este o parolă de intrare în algoritmul de decriptare.
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.
La execuţia concurentă a tranzacţiilor SGBD-ul trebuie să asigure blocarea datelor utilizate la
un moment dat. Aceasta înseamnă că se interzice accesul celorlalte tranzacţii concurente la aceleaşi
date, până se termină tranzacţia curentă.
Tehnica de blocare utilizată de SGBD se poate aplica la nivelul întregii baze de date, a unui
fişier, a unei înregistrări sau chiar a unui câmp.
Ea poate fi pentru citire (partajabilă) sau pentru scriere (exclusivă).
Cele mai multe SGBD-uri realizează blocarea la nivel de înregistrare şi fişier, prin diferite
metode: setarea unui bit pentru resursa respectivă, construirea unei liste cu resursele blocate,
menţinerea resurselor blocate într-o zonă specială etc.
Interblocarea este situaţia în care două tranzacţii blochează anumite resurse, apoi solicită
fiecare resursele blocate de cealaltă. La nivelul de SGBD trebuie să existe facilitatea de prevenire sau
rezolvare a interblocării.
- Prevenirea interblocării presupune că programele blochează toate resursele de care au nevoie
încă de la începutul fiecărei tranzacţii (greu de precizat).
- Soluţionarea interblocării presupune că există nişte mecanisme pentru detectarea şi eliminarea
interblocării (de exemplu graful dependenţelor proceselor de executat).
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.
Jurnalul tranzacţiilor este un fişier creat şi întreţinut de SGBD, în care se memorează
informaţiile despre tranzacţiile efectuate asupra bazei de date. Aceste informaţii sunt: codul tranzacţiei,
momentul începerii tranzacţiei, identificatorul utilizatorului care a lansat tranzacţia, actualizările
efectuate pe BD. Jurnalul imaginilor se deosebeşte de cel al tranzacţiilor prin aceea că nu conţine
descrierea operaţiilor efectuate asupra BD ci efectul acestora.
Există următoarele variante:
- Jurnalul cu imaginea înregistrărilor după actualizare (after image), ce conţine copia fiecărei
înregistrări în forma de după efectuarea unei actualizări asupra ei.
7
- Jurnalul cu imaginea înregistrărilor înainte de efectuarea unei actualizări (before image), ce
conţine copia fiecărei înregistrări în forma de dinaintea efectuării unei actualizări asupra ei.
- Jurnalul mixt ce conţine atât imaginea înregistrărilor dinainte de actualizare cât şi după
actualizare.
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.
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.
Problema partajabilităţii se pune la un nivel superior pentru SGBD-urile care permit lucrul în
reţea.
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.
8
Concretizarea acestei funcţii este schema bazei de date, memorată în cod intern. Memorarea se
face într-un fişier, ceea ce permite afişarea şi actualizarea structurii bazei de date, în orice moment.
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.
După realizarea funcţiei de descriere, într-un SGBD, entităţile bazei de date există create deja
ca fişiere, dar nu conţin datele propriu-zise, ci numai structura bazei de date (schema bazei 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-
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.
9
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.
În etapa de exploatare a bazei de date, administratorul are rolul de a autoriza accesul la date
(acordă conturi, parole etc.), de a reface baza de date în caz de incidente (prin jurnalizarea, copii), de a
utiliza eficient spaţiul de memorie internă şi externă (prin organizare, rutine de optimizare), de a
realiza o serie de analize statistice din baza de date (număr şi tip de utilizatori, număr de accese, număr
de actualizări etc.). Pentru fiecare din aceste activităţi SGBD-ul oferă instrumente şi tehnici de lucru.
În cazul lucrului în reţea de calculatoare cu baze de date distribuite, SGBD-ul are dezvoltate
foarte mult componentele destinate administratorului. Acest lucru este determinat de faptul că baza de
date este, în acest caz, de mare complexitate, datele sunt distribuite pe calculatoarele din reţea, iar
utilizatorii sunt de toate tipurile şi în număr mare.
În principal pentru funcţia de administrare, dar parţial şi pentru celelalte funcţii, SGBD-ul
asigură protecţia bazei de date. Aici vor fi prezentate aspectele esenţiale, urmând ca în continuare la
fiecare tip de SGBD să se precizeze prin exemple şi aspectele specifice ce apar.

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ă

- 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).
10
Tendinţa actuală este ca SGBD-ul să aibă implementat, pe lângă un limbaj procedural, şi un
limbaj de regăsire neprocedural, care să permită formularea de cereri de regăsire uşor, de către toţi
utilizatorii bazei de date. În acest sens, majoritatea SGBD-urile pentru microcalculatoare au
implementat, parţial sau total, limbajul SQL, care este şi standardizat internaţional.

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).
Tipurile de mai sus de SGBD-uri, având drept criteriu modelul de date implementat, sunt de
bază (fundamentale). Pornind de la acestea, prin extensia tehnologiei informatice, există şi alte tipuri
de SGBD-uri: deductive, distribuite, multimedia, spaţiale etc.
Există, de asemenea, tipuri de SGBD-uri (ca de exemplu cele funcţionale) care se bazează pe
alte modele de date decât cele de mai sus. Acestea însă, au o răspândire mai restrânsă având
performanţe doar pentru domenii bine precizate.

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.
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).

1.5. Arhitecturi de SGBD

De la apariţia lor şi până în prezent, SGBD-urile au cunoscut o mare varietate. Aşa cum reiese
şi din clasificarea SGBD-urilor, acestea sunt de diferite tipuri conform diferitelor criterii de grupare.
Din acest motiv este dificil de dat o arhitectură unică, valabilă pentru toate SGBD-urile,
apărând particularităţi de la un sistem la altul. Există preocupări de standardizare a arhitecturii
sistemelor de gestiune a bazelor de date care caută să definească un cadru general al lor.
Dintre acestea, sunt două arhitecturi de referinţă a unui SGBD propuse de grupul de lucru
CODASYL şi respectiv ANSI/SPARC [VELU00].
11
În ultimul timp, arhitectura de SGBD a evoluat spre o configuraţie cu trei categorii de
componente (nucleul, interfaţa, instrumentele), situaţie întâlnită la ultimele versiuni de sisteme
comerciale (arhitectura unui SGBDR).
O altă tendinţă este dată de arhitecturile distribuite şi orientate obiect de SGBD, care sunt tot
mai des utilizate în contextul de reţea de calculatoare şi noile tipuri de aplicaţii informatice ( SGBD
distribuite şi respectiv orientate obiect).
Deoarece arhitectura pe componente (niveluri) reflectă tendinţa actuală de structurare a SGBD-
urilor, o vom prezenta în continuare.
Arhitectura pe componente (niveluri) a unui SGBD
Nu orice software care gestionează date în memoria externă este un SGBD:
- In primul rând, produsul software trebuie să fie un sistem, adică un ansamblu de programe
intercorelate între ele care lucrează pentru un scop comun.
- Mai departe, sistemul de programe trebuie să gestioneze date în memoria externă.
- Datele nu pot exista oricum, ci organizate conform unui model de date într-o bază de date
(trebuie urmărite obiectivele unei baze de date).
- În sfârşit, dacă sistemul de programe gestionează o bază de date şi în plus îndeplineşte
funcţiile specifice, atunci acel sistem este un SGBD.
Rezultă că SGBD-ul conţine o serie de componente care sunt instrumente software ce au scopul
de a realiza funcţiile specifice:

Fig.1.6. Arhitectura pe componente a unui SGBD


Majoritatea arhitecturilor actuale de SGBD pot fi aduse la forma de mai sus, pe trei niveluri.
Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau mai multe propuneri
de arhitecturi) pot fi încadrate (uneori discutabil) în unul dintre cele trei niveluri.
Nivelurile din arhitectura de mai sus, pot conţine următoarele componente ale unui SGBD:
• Nucleul (motorul) conţine limbajul de descriere a datelor (LDD), limbajul de manipulare a
datelor (LMD), componente obligatorii în kit-ul minim de SGBD. Componenta este destinată
analiştilor, programatorilor şi administratorilor BD.
• Interfeţele sunt formate din: generatoarele de diferite tipuri (de meniuri, de videoformate, de
rapoarte etc.), elementele de CASE (Computer Aidede Software Engeenering), interfeţe cu limbaje de
programare universale, interfeţe cu alte sisteme etc. Componenta este destinată tuturor categoriilor de
utilizatori: finali, intensivi, specialişti.
• Instrumentele sunt formate din: editoarele, navigatoarele (browsers), utilitarele (shells) de
diferite tipuri. Componenta este destinată, în principal, administratorului bazei de date, dar şi altor
categorii de utilizatori.
Arhitectura pe niveluri este simplă dar completă:
- Arhitecturile standardizate (CODASYL şi ANSI) pot fi aduse pe cele trei niveluri;
- Noile tehnologii de baze de date (de exemplu tehnologia orientată obiect) au determinat
apariţia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi adaptate pe cele trei
niveluri;
- Noile tehnologii informatice (de exemplu multimedia, Internet etc.) au interferat cu
tehnologia bazelor de date rezultând SGBD-uri derivate corespunzătoare. Pentru acestea s-au propus
arhitecturi care, însă, pot fi adaptate la structurarea pe trei niveluri.
12
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
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).

13
 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.
Putem concluziona că Access îndeplineşte cerinţele unui sistem profesional de gestiune a
bazelor de date relaţionale, reprezentând un instrument important de dezvoltare a aplicaţiilor ce
gestionează colecţii de date.
Privit sub aspectul performanţelor în funcţionare, menţionăm că acestea scad o dată cu
creşterea volumului bazei de date (când numărul înregistrărilor depăşeşte ordinul sutelor de mii,
viteza de lucru este sub nivelul celei oferite de sisteme de gestiune a bazelor de date, cum ar fi
ORACLE sau INFORMIX).
Access poate fi instalat în versiune completă sau conform opţiunilor utilizatorului.

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:
- navigarea prin înregistrări folosindu-se bara de navigare situată în partea de jos a ferestrei
tabelului;

14
- 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.

15
• 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
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ă

16
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
ş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

17
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ă).
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.

18
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;
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
19
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ă.

20
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.

21
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:

22
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:

23
Profesori:

24
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.

25
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.

26
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.
27
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
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.

28
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:
• î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.

29
Î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.
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.

30
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.

31
Am adus câmpurile nume_elev, pren_elev(din tabelul Elevi),
media_semI(din tabelul Note) şi den_disciplina(din tabelul Discipline).
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;

32
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;
– << 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 Interogarea Medii scăzute la nume_elev,
purtare purtare 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

33
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.

34
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;
• 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.
35
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.

CAPITOLUL IV.

CONCLUZII

În concluzie, putem spune că o bază de date în Access constă din mai multe tabele, din
interogări, formulare şi rapoarte. Comutarea între aceste grupe de obiecte se realizează prin executarea
unui simplu clic pe obiectul în speţă. Astfel în partea dreapta a ferestrei vor putea fi vizualizate toate
obiectele acestei grupe.
În partea de sus a ferestrei se găsesc trei opţiuni al căror rol este:

Deschidere - pentru deschiderea obiectului adică:

- vizualizare sau afişare pentru formulare, tabele, rapoarte;


- rulare pentru interogări sau macroinstrucţiuni.

Proiect - pentru editarea obiectului selectat - proiectarea sa;

Nou - pentru crearea unui obiect nou.

În plus, există câteva comenzi rapide ce ajută la economisirea timpului:

- se executa dublu clic pe orice obiect pentru a-l deschide;


- se execută clic dreapta pe orice obiect pentru a avea acces la meniurile de comenzi rapide.

36
BIBLIOGRAFIE

Botezatu Cornelia – Proiectarea sistemelor informatice. Metode sistemice – Ed. Sylvi,


Bucuresti, 2002

Colectivul BDASEIG, Florescu V. coord. “Baze de date”, Ed. InfoMega, Bucureşti, 2000

Gheorghe Popa, Matei Iliescu, Bogdan Vasilciuc, “Baze de date Access”, Ed. Universităţii
Titu Maiorescu, 2006

Lungu Ion, Sabau Gheorghe – Sisteme informatice pentru conducere – Editura Siaj,
Bucuresti, 1999

Maria Stănescu, Mihail Şerban Voiculescu, Bogdan Gabriel Vasilciuc, “Bazele tehnologiei
informatiei”, Ed. Universităţii Titu Maiorescu, Bucureşti, 2005

Poepescu, E, Cordes, M., Cordes D., Vlad, M., Initiere în Excel, Powerpoint şi Access, Editura
ELSE, Craiova 201

Stoian, V., Baze de date - suport de curs, Facultatea de automatică, calculatoare şi electronică,
Craiova, 2009.

37

You might also like