Sunteți pe pagina 1din 105

Prof. univ. dr.

Bogdan Oancea
Prof. univ. Dr. Constantin Baron

Baze de date relationale

Universitatea Nicolae Titulescu din Bucureti


2012
Introducere

Suportul de curs reprezint o sintez a coninutului disciplinei Baze de date. El este destinat
studenilor de la forma de nvmnt la distan (ID) i constituie materialul bibliografic minim
necesar pentru parcurgerea, nsuirea i evaluarea disciplinei respective.
Suportul de curs este structurat conform standardelor i procedurilor de uz larg n
nvmntul universitar naional i internaional, care se adreseaz nvrii individuale, pe baze
interactive. Parcurgerea suportului de curs, pe baza prezentelor instruciuni, asigur reinerea
informaiilor de baz, nelegerea fenomenelor fundamentale i aplicarea cunotinelor dobndite la
rezolvarea unor probleme specializate.
Suportul de curs este structurat pe trei parti care sunt structurate, la rndul lor, pe uniti de
nvare. Fiecare dintre cele trei parti reprezint o categorie de probleme distincte din materia
disciplinei, care formeaz un tot unitar din punct de vedere al specificului cunotinelor, al nsuirii
unui anumit aspect al fenomenologiei disciplinei precum i din perspectiva timpului necesar
parcurgerii i nsuirii fondului informaional respectiv. n acest sens, fiecare dintre cele trei parti ale
suprotului de curs conine una sau mai multe uniti de nvare. Unitatea de nvare reprezint o
componenta omogena din punct de vedere al continutului, caracterizat de un volum strict limitat de
cunotine, care pot s fie parcurse i nsuite printr-un efort continuu de concentrare intelectual,
care se refer la coninutul de idei al unitii de nvare. Fiecare unitate de nvare are o structur
proiectat din perspectiva exigenelor autoinstruirii, astfel c folosirea suportului de curs se face pe
baza unui program de autoinstruire.
Recomandm astfel, cteva regului de baz n procedura de realizare a programului de
autoinstruire pe baza acestui suport de curs:
1. Unitile de nvare se parcurg n ordinea n care sunt prezentate, chiar n cazul n care
studentul apreciaz c ar putea sri direct la o alt unitate de nvare (de exemplu n cazul n care
studentul se afl la a doua facultate sau n alte situaii echivalente). Criteriile i modalitatea de
nlnuire a unitilor de nvare sunt prezentate la fiecare unitate de nvare i ele trebuie
respectate ntocmai, sub sanciunea nerealizrii la parametri maximali a programului de autoinstruire;
2. Fiecare unitate de nvare conine teste destinate autoevalurii gradului i corectitudinii
nsuirii cunotinelor specifice unitii de nvare, nelegerii fenomenelor i proceselor descrise sau
prezentate n unitatea de nvare;
Fiecare test al unitii de nvare este prevzut cu un sistem de notare (puncte) care nsumeaz
un maximum de 100 puncte;
3. Ordinea logic a parcurgerii unitii de nvare este urmtoarea:
a) se citete scopul i obiectivele unitii de nvare;
b) se citesc termenii de referin ;
c) se parcurge coninutul de idei al unitii de nvare;
d) se parcurge bibliografia recomandat;
e) se rspunde la ntrebrile de autocontrol, revznd, dac este necesar, coninutul de idei al
unitii de nvare;
f) se elaboreaz, pe o pagin, cte un eseu pentru fiecare dintre temele de reflecie propuse la
unitatea de nvare;
g) se efectueaz testele de evaluare dup procedura descris;
h) se rezolv exerciiile, problemele sau studiile de caz propuse pentru laboratorul sau
lucrrile practice propuse n unitatea de nvare.
Pentru creterea eficienei utilizrii suportului de curs i fixarea temeinic a cunotinelor
dobndite, fiecare unitate de invatare se ncheie cu: teste de autoevaluare si teste de evaluare, teme de
control, teme pentru studii de caz.
Obiectivele cursului

Obiectul suportului de curs este studiul organizrii datelor n baze de date relationale
i al gestiunii acestor baze de date, studiu realizat pe exemplul sistemului de gestiune
al bazelor de date Microsoft Access atat in mod grafic cat i n modul de lucru
programat, pe exemplul limbajului neprocedural SQL.
Obiectivele principale ale suportului de curs sunt:
nsuirea temeinic a noiunilor fundamentale privind bazele de date, n
particular ale celor organizate dup modelul de date relaional;
cunoaterea conceptelor de organizare structural a datelor gestionate n mediul
de dezvoltare Microsoft Access;
formarea deprinderilor practice necesare pentru gestiunea bazelor de date
relaionale n mediul de dezvoltare Microsoft Access i n mediul de programare SQL.
Suportul de curs este structurat pe trei parti, fiecare parte coninnd, n funcie
de problematica abordat, unitati de invatare specifice.

Competene conferite

Capacitatea de alegere a unui sistem de gestiune a bazelor de date n funcie de


domeniul de activitate din care provin aplicaiile informatice, de specificul
acestora i de cerinele i exigenele utilizatorilor.
Capacitatea de a proiecta o baz de date i de a o implementa folosind
S.G.B.D.-ul Microsoft Access.
Capacitatea de alegere a facilitilor mediului de programare Microsoft Access
n funcie de domeniul de activitate din care provin aplicaiile de gestiune a
bazelor de date, de specificul acestora i de cerinele i exigenele utilizatorilor.
Capacitatea de alegere a facilitilor limbajului SQL n funcie de domeniul de
activitate din care provin aplicaiile, de specificul acestora i de cerinele i
exigenele utilizatorilor.
Capacitatea de a dezvolta o aplicaie de gestiune folosind mediul Microsoft
Access.

Resurse i mijloace de lucru

Pentru parcurgerea acestui curs va fi nevoie de utilizarea Sistemului de Gestiune a


Bazelor de Date Microsoft ACCESS 2010, care este parte a pachetului software
integrat MICROSOFT OFFICE 2010.

Structura cursului

Suportul de curs este structurat pe trei parti astfel:

Partea I contine o prezentare teoretic i metodologic a problematicii abordate,


coninnd trei unitati de invatare:
Unitatea 1. Organizarea datelor n baze de date;
Unitatea 2. Modelul relaional al datelor.
Unitatea 3. Sisteme de gestiune a bazelor de date. Microsoft Access;
Partea a II-a contine o abordare i tratare practic a gestiunii bazelor de date
relaionale n mediul de dezvoltare Microsoft Access, coninnd patru unitati de
invatare:
Unitatea 4. Gestiunea obiectelor Tables;
Unitatea 5. Gestiunea obiectelor Queries;
Unitatea 6. Gestiunea obiectelor Forms;
Unitatea 7. Gestiunea obiectelor Reports.
Partea a III-a contine o abordare i tratare practic a gestiunii bazelor de date
relaionale n mediul de lucru programat, coninnd urmatoarele unitati de invatare:
Unitatea 8. Gestiunea obiectelor Macros;
Unitatea 9. Introducere in limbajul SQL
Unitatea 10. Gestiunea obiectelor Queries cu limbajul neprocedural SQL in
mediul Access

Cerine preliminare

Pentru nelegerea conceptelor i noiunilor prezentate n acest curs i pentru a le


aplica eficient n practic este necesar parcurgerea n prealabil a cursului de Bazele
Tehnologiei Informaiei din anul I de studiu.

Discipline deservite

Pe baza cunotinelor dobndite n cadrul disciplinei curente studenii vor fi capabili s


urmeze cursurile de Proiectarea sistemelor informatice financiar-bancare, Sisteme
informatice de gestiune, Sistem informatice in marketing.

Durata medie de studiu individual

Timpul mediu necesar parcurgerii unei Uniti de nvare este 2-3 ore.

Evaluarea studenilor

Nota finala la disciplina Baze de date va fi stabilita prin :


- evaluarea final (examen scris de tip gril) cu ponderea de 70%;
- evaluri pe parcurs (evaluari n cadrul activitilor asistate si elaborarea unui
proiect) cu ponderea de 30%;
Cuprins
Introducere 2
Obiectivele cursului 3
Competene conferite 3
Resurse i mijloace de lucru 3
Structura cursului 3
Cerine preliminare 4
Discipline deservite 4
Durata medie de studiu individual 4
Evaluarea studenilor 4
UNITATEA DE NVARE 1. ORGANIZAREA DATELOR N BAZE DE DATE 10
1.1. Obiective 10
1.2. Competenele unitii de nvare 10
1.3. Noiuni generale 10
1.4. Noiunea de baz de date 13
1.5. Clasificarea bazelor de date 15
1.6. Sisteme de gestiune a bazelor de date 17
1.7. Arhitectura unei baze de date 18
1.8 Etape in realizarea bazelor de date 18
1.9. Rezumat 19
1.10. Test de autoevaluare a cunotinelor 20
1.11. Tem de control 21
1.12. Bibliografie 21
UNITATEA DE NVARE 2. MODELUL RELAIONAL AL DATELOR. 22
2.1. Obiective 22
2.2. Competenele unitii de nvare 22
2.3. Modelul relaional al datelor 22
2.4. Elementele modelului relaional al datelor 23
2.5. Operatorii modelului relational al datelor 26
2.6. Rezumat 28
2.7. Test de autoevaluare a cunotinelor 28
2.8. Test de evaluare a cunotinelor 29
2.9. Bibliografie 29
UNITATEA DE NVARE 3. SISTEME DE GESTIUNE A BAZELOR DE DATE.
MICROSOFT ACCESS 31
3.1. Obiective 31
3.2. Competenele unitii de nvare 31
3.3. Prezentare general Microsoft Access 31
3.4 Structura bazelor de date Microsoft Access 34
3.5 Sistemul de asistare software (Help) 34
3.6. Instrumentele de ajutor Wizard 36
3.7 Limbajul de programare VBA 36
3.8 Rezumat 39
3.9. Test de autoevaluare a cunotinelor 39
3.10. Test de evaluare a cunotinelor 40
3.11. Bibliografie 40
UNITATEA DE NVARE 4. GESTIUNEA OBIECTELOR TABLES. 42
4.1. Obiective 42
4.2. Competenele unitii de nvare 42
4.3. Crearea unui obiect de tip tabel 42
Furnizati mai multe detalii privind crearea de tabele in Microsoft Access 2010. Folositi drept
sursa de informare Internetul 44
4.4 Stabilirea relaiilor dintre tabele 47
4.5. Rezumat 48
4.6. Test de autoevaluare a cunotinelor 49
4.7. Test de evaluare a cunotinelor 49
4.8. Bibliografie 50
UNITATEA DE NVARE 5. GESTIUNEA OBIECTELOR QUERIES 51
5.1. Obiective 51
5.2. Competenele unitii de nvare 51
5.3. Notiunea de interogare 51
5.4 Tipuri de interogari 52
5.5 Operaii cu obiecte de tip interogare 52
5.6 Modificarea unui obiect de tip interogare 55
5.7 Alte tipuri de interogri 56
5.8 Rezumat 56
5.9. Test de autoevaluare a cunotinelor 57
5.10. Test de evaluare a cunotinelor 57
5.11. Bibliografie 58
UNITATEA DE NVARE 6. GESTIUNEA OBIECTELOR FORMS 59
6.1. Obiective 59
6.2. Competenele unitii de nvare 59
6.3. Definirea i clasificarea formularelor 59
6.4 Crearea i modificarea formularelor 60
6.5 Structura formularelor 63
6.6 Proprietile formularelor 63
6.7 Controalele n formulare 64
6.8 Proprietile controalelor 64
6.9 Formulare/subformulare 65
6.10 Rezumat 65
6.11. Test de autoevaluare a cunotinelor 66
6.12. Test de evaluare a cunotinelor 67
6.13. Bibliografie 67
UNITATEA DE NVARE 7. GESTIUNEA OBIECTELOR REPORTS 68
7.1. Obiective 68
7.2. Competenele unitii de nvare 68
7.3. Noiuni generale 68
7.4 Crearea i modificarea rapoartelor 69
7.5 Afiarea i tiprirea rapoartelor 72
7.6 Proprietile rapoartelor 72
7.7 Proprietile seciunilor din rapoarte 73
7.8 Controale calculate 73
7.9 Rezumat 73
7.10. Test de autoevaluare a cunotinelor 74
7.11. Test de evaluare a cunotinelor 75
7.12 Tema de control 75
7.13. Bibliografie 76
UNITATEA DE NVARE 8. GESTIUNEA OBIECTELOR MACROS 77
8.1. Obiective 77
8.2. Competenele unitii de nvare 77
8.3. Prezentare general 77
8.4 Crearea unui obiect macro 78
8.5 Aciuni programabile n obiecte macro 79
8.6 Grup de obiecte macro 80
8.7 Rezumat 81
8.8. Test de autoevaluare a cunotinelor 81
8.9. Bibliografie 82
UNITATEA DE NVARE 9. INTRODUCERE IN LIMBAJUL SQL 83
9.1. Obiective 83
9.2. Competenele unitii de nvare 83
9.3. Modelul relaional al datelor 83
9.4. Elementele limbajului SQL 84
9.5 Instruciuni SQL 84
9.6 Reuniunea, intersectia i diferena tabelelor 92
9.7 Rezumat 93
9.8. Test de autoevaluare a cunostintelor 94
9.9. Tema de control 95
9.10. Bibliografie 95
UNITATEA DE NVARE 10. GESTIUNEA OBIECTELOR QUERIES CU LIMBAJUL
NEPROCEDURAL ACCESS-SQL 96
10.1. Obiective 96
10.2. Competenele unitii de nvare 96
10.3. Prezentare general Access-SQL 96
10.4. Microsoft Access-SQL 97
10.5 Etapele crerii i executrii interogrilor Access-SQL 99
10.6 Instruciuni pentru definirea datelor 101
10.7 Instruciuni de selecie a datelor 101
10.8 Instruciuni pentru manipularea datelor 102
10.9 Definirea cererilor SQL n MS-Access 103
10.10. Rezumat 103
10.11. Test de autoevaluare a cunotinelor 103
10.12. Test de evaluare a cunotinelor 104
10.13 Tema de control 104
10.14. Bibliografie 105
UNITATEA DE NVARE 1. ORGANIZAREA DATELOR N BAZE DE
DATE
Cuprins
1.1. Obiective
1.2. Competenele unitii de nvare
1.3. Noiuni generale
1.4. Noiunea de baz de date
1.5. Clasificarea bazelor de date
1.6. Sisteme de gestiune a bazelor de date
1.7. Arhitectura unei baze de date
1.8. Etape in realizare bazelor de date
1.9. Rezumat
1.10. Test de autoevaluare a cunotinelor
1.11. Tem de control
1.12. Bibliografie

1.1. Obiective
n aceast prim unitate de nvare se va prezenta noiunea de baz de date, aceea de
model de date i implicaiile acestora n organizarea datelor. Tot n cadrul acestei
unitti de nvare vom prezenta noiunile de fundamentale legate de sistemele de
gestiune a bazelor de date i a criteriilor de alegere a acestora n funcie de domeniul n
care se folosesc i de specificul aplicaiilor.

1.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Care sunt semnificaiile noiunii de baz de date fa de cele ale noiunii de
fiier de date;
Ce avantaje prezinta folosirea bazelor de date n efectuarea de aplicaii
informatice cu un volum mare i chiar foarte mare n comparaie cu folosirea fiierelor
de date;
Care sunt principalele tipuri de baze de date;

Durata de parcurgere a primei uniti de nvare este de 2 ore.

1.3. Noiuni generale

Extinderea sferei de aplicabilitate a calculatoarelor electronice pentru


efectuarea unor aplicaii tot mai variate i complexe, necesita stocarea unui volum tot
mai mare de date. Astfel, pentru a ndeplini aceste cerine, s-a impus perfecionarea
modului de organizare si structurare a datelor. Noul mod de organizare trebuie s
00:05 permit accesul foarte rapid la datele stocate, n scopul regsirii i prelucrrii acestora.
Accesul rapid la date trebuie s rezolve problemele legate de viteza de regsire
a datelor, dar i de asigurarea accesului mai multor utilizatori la aceleai date (acces
concurent), pentru efectuarea unor operaii diferite de prelucrare.
Problemele implicate de organizarea i regsirea datelor se refer la:
definirea, structurarea, ordonarea i gruparea datelor n colecii de date omogene;
stabilirea legturilor dintre coleciile de date;
reprezentarea i stocarea datelor pe suporturi magnetice (organizarea fisierelor de
date, a structurilor de tip index etc.).
Furnizati mai multe definiii pentru noiunea de organizare a datelor.
Folosii drept principal surs de informare Internetul.
....................................................................................................................................
....................................................................................................................................
...................................................................................................................................
Evoluia organizrii datelor, att sub aspectul teoretic ct i practic, s-a extins
cu precdere asupra principiilor i metodelor de structurare, stocare i regsire, n
general de gestiune a datelor, n concordan cu progresele nregistrate n domeniile
hardware i software i cu cerinele tot mai diverse i exigente ale utilizatorilor. In
acest context, au aprut i s-au dezvoltat concepte noi privind gestiunea datelor cu
00:20
mijloace electronice de calcul, printre care se nscriu cele de baz de date i banc de
date. Astfel de concepte au dus la actualizarea i dezvoltarea unor noiuni cunoscute
ca: entitate, atribut, relaie.
Pornind de la realitatea obiectiv, pentru a identifica datele care urmeaz s fie
stocate i regsite pentru prelucrare cu ajutorul calculatorului, precum i pentru a
satisface cerinele specifice de organizare a acestor date este necesar modelarea
acestei realiti, folosind modelele de date.
Modelele de date transpun complexitatea informaiilor reale n reprezentri
specifice, n scopul efecturii prelucrrii cu calculatorul electronic. Pentru folosirea
modelului de date adecvat este necesar s se efectueze un studiu i o analiz privind
situaia real, pentru identificarea necesarului de informaii i a modului de
reprezentare, precum i a cerinelor de prelucrare a acestor informaii. Modelele de
date necesit identificarea structurii modelului, a operatorilor care acioneaz asupra
structurilor de date i a restriciilor (constrangerilor) pentru meninerea corectitudinii
datelor.
Structura modelului presupune identificarea obiectelor reale din activitatea care
urmeaza a fi informatizata (care sunt denumite entiti), a caracteristicilor acestora
(denumite atribute sau cmpuri de date) i a legturilor dintre aceste obiecte (denumite
relaii sau asocieri).
Entitatea constituie unitatea informaional elementar din structura unei
colectii de date prin care se reflect elemente reale sau abstracte ce definesc segmente
omogene ale realitii obiective caracterizate prin nume unic, numr maxim de apariii
(realizri) i o structur specific acestei realiti pe care o descrie.
Mai pe scurt, prin entitate se inelege un coninut de sine stttor, o existen
determinat (ca intindere, importan, valoare etc).
De exemplu, ntr-o societate comerciala pot fi definite entitile: personal,
utilaje, produse, materiale, secii, ateliere, contracte, furnizori, beneficiari, facturi, note
de intrare-receptie, etc.
Fiecare apariie real a unei entiti n cadrul unei colectii de date se numete
realizare, format, la rndul su, din elemente descriptive denumite atribute.
Atributul sau caracteristica este o proprietate a unei entiti prin care aceasta
poate fi descris din punct de vedere informaional ca o component a datelor. De
exemplu, pentru entitatea personal se pot defini atribute ca: numele, data-naterii,
starea civil, adresa, calificarea etc.
Fiecare atribut poate avea mai multe valori. De exemplu, pentru sexul
persoanei se pot atribui valorile: brbtesc i femeiesc, pentru starea civil valorile:
cstorit, necstorit, divorat i vduv.
ntre entitile unei colectii de date se pot stabili anumite legturi (conexiuni)
denumite relatii.
Relaia descrie o legtur specific, delimitat logic, ntre dou tipuri
semnificative de entiti sau chiar n interiorul entitilor, prin care se definete gradul
de implicare a unei entiti n raport cu altele. De exemplu, astfel de relaii se pot
stabili ntre entiti ca: utilaje i produse, contracte i furnizori, furnizori si facturi etc.
Pentru a stabili tipul legturii, trebuie determinate numerele minime i maxime
posibile de realizri ale unei entiti, care pot fi asociate cu o realizare a unei alte
entiti cu care se afl n legtur. O astfel de implicare reprezint cardinalitatea
relaiei (legturii).
Dup gradul asocierii (valorile maxime identificate), relaiile din cadrul unei
colectii de date pot fi de diferite tipuri si anume:
de tipul 1 - 1, prin care se semnific conexiunea simpl;
de tipul 1 - n i n - m prin care se semnific conexiunea multipl.
Dup numrul de entiti distincte ce particip la asociere, relaiile pot fi:
relaii binare, n care se realizeaz legturi ntre dou entiti distincte;
relaii recursive, n care se realizeaz legturi ale entitilor cu ele nsele;
relaii complexe, n care se realizeaz legturi ntre mai mult de dou entitai
distincte.
n funcie de modul in care sunt definite si reprezentate elementele prezentate
anterior, pot exista mai multe tipuri de modelele de date, fiecare cu caracteristicile,
avantajele si dezavantajele sale. Cele mai des intalnite modele de date in practica
curenta a dezvoltarii aplicatiilor informatice sunt:
modele ierarhice sau arborescente;
modele reea;
modele relaionale;
modele orientate obiect.
Modelele ierarhice (arborescente) sunt construite astfel nct au un nod
(element) unic rdcin i un numr finit de succesori, care la rndul lor au alte noduri
succesoare, pn la nodurile terminale, care nu mai au ali succesori. Orice nod,
exceptnd nodul rdcin, are un predecesor unic. Relaiile care se stabilesc n cadrul
acestor modele de date sunt de tipul 1-n.
Modelele de tip reea sunt modele de tip graf cu legturi bidirecionale ntre
noduri. Un nod poate avea mai muli predecesori i mai muli succesori. n aceste
modele se stabilesc relaii de tipul m-n.
Modelele de tip relaional presupun organizarea datelor in tabele
bidimensionale de date, care au fost aduse prin anumite metode specializate ntr-o
00:30 form optim pentru exploatare. n astfel de modele relaiile stabilite admit orice tip de
relaie: 1-1,1-n, n-m.
Modelele orientate obiect redau structuri de date complexe ale realitii,
ncorporand atributele care descriu entitatile impruna cu operatiile care se pot executa
asupra acestor atribute intr-o structura unica denumita clasa de obiecte. Aceste modele
de date admit orice tip de relaie: 1-1, 1-n, n-m.
In realizarea unei aplicatii informatice se parcurg de regula mai multe etpae.
Una dintre cele mai importanta etape, de care depinde in mare masura eficienta
sistemului informatic, consta in modelarea sistemului. In acest sens se folosesc o serie
de tehnici de modelare si proiectare a sistemelor informatice. Pentru modelarea datelor
gestionate de catre sistemul informatic, cea mai cunoscuta metoda de modelare poarta
denumirea de modelul Entitate - Atribut - Relaie (EAR).

Furnizati mai multe definiii pentru noiunile de atribut, relaie, entitate.


Folosii drept principal surs de informare Internetul.
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
1.4. Noiunea de baz de date
Noiunea de baz de date a aprut n anul 1969, cu ocazia prezentrii primului
raport CODASYL (COnference of DAta SYstem Language), avnd ca idee central
organizarea datelor ntr-un mod care s asigure independena organizrii datelor fa
de programele de aplicaii i a programelor de aplicaii fa de organizarea datelor.
00:40 Accesul oricrui utilizator la baza de date se asigur printr-o descriere global a
datelor, care conine descrierea structurii coleciilor de date i a legturilor dintre
acestea.
O colecie de date aflate n interdependen care reflect un anumit aspect al
realitatii i este destinat unui anumit grup de utilizatori mpreun cu descrierea
structurii lor i relaiilor dintre ele, formeaz o baz de date. Exista mai multe
posibilitati de creare si gestionare a bazelor de date: manual (de exemplu, o agenda
telefonica clasica) sau cu ajutorul calculatorului (o agenda telefonica in format
electronic).
Operatiile pe care utilizatorii unei baze de date le pot efectua asupra datelor se
clasficia in mai multe categorii:
Introducerea de valori noi;
Modificarea datelor existente;
tergerea unora dintre datele existente;
Interogarea bazei de date cu scopul de a regsi informaii conform unuianumit criteriu
definit de utilizator.

Entitile, atributele i relaiile stabilite intre entitati, descrise printr-un limbaj


specializat n scopul memorarii lor pe un suport tehnic de date adresabil (memorie
extern, de regula hard-discul) constituie baza de date. Aceasta poate fi exploatat prin
cu ajutorul unor program specializate, denumit sistemul de gestiune al bazei de date
(SGBD).
Atat baza de date cat i SGBD-ul folosit la gestionarea si exploatarea ei devin
operaionale si functioneaza sub controlul sistemului de operare aferent calculatorului
n scopul satisfacerii cerinelor generale i specifice ale utilizatorilor.
Una dintre caractersiticile esentiale care deosebesc o baza de date de
modalitatea de organizare a datelor sub forma de fisisere consta in includerea n baza
de date a descrierii structurii datelor. Prin aceasta se asigur independena datelor din
baza de date fa de programele de aplicaii i invers. Independenta datelor fata de
programe poate fi privita la mai multe niveluri:
independen fizic - permite ca modalitatea i tehnicile de stocare a datelor
(memorare)a lor pe suport de memorie externa) s poat fi modificate fr a necesita
rescrierea programelor de aplicaii care exploateaza baza de date;
independen logic - permite adugarea de entitati noi sau
extinderea/modificarea structurii bazei de date fr a mai fi necesar rescrierea
programelor de aplicaii care exploateaza baza de date.
Independena datelor din baza de date fa de programele de aplicaii i invers
prezinta o serie de avantajele dintre care cele mai importante sunt:
accesul rapid la datele stocate n baza de date;
redundan minim i controlat a datelor.

Un sistem de baze de date (database system) este un sistem de gestionare a


unei anumite activiti din lumea reala cu ajutorul calculatorului electronic. Ca
dimensiune, sistemele de baze de date pot fi foarte diferite: de la cteva nregistrri
(exemplul precedent al agendei telefonice) pana la zeci sau sute de milioane de
nregistrri (de exemplu, ntr-un sistem de evidenta a clientilor unei companii de
telefonie mobila.
Componenele unui sistem de baze de date sunt: hardware-ul, software-ul,
utilizatori si datele (Figura 1.1.)

Utilizator Utilizator
final final

Program Program
Aplicaie Aplicaie

SGBD

Figura 1.1. Componentele unui sistem de baze de bate

a. Hardware-ul este reprezentat de regula de calculatoare de uz general, de la


calculatoare PC standard (desktop, laptop), pn la staii multiprocesor cu putere de
calcul foarte mare. Ceea ce intereseaz n mod deosebit n utilizarea unui calculator
pentru un sistem de baze de date este capacitatea memoriei externe, folosita pentru
memorarea coleciei de date persistente ale bazei de date. De regula, bazede date date
se stocheaza pe unitati de hard disc care asigura acces foarte rapid la date si capacitate
mare de stocare. Pentru efectuarea unor copii de siguranta ale bazelor de date se
folosesc unitatile de banda magnetica sau discurile optice.
b. Software-ul este reprezentat in principal de Sistemul de Gestiune a Bazei de Date
(SGBD). SGBD-ul este cea mai important component software a unui sistem de
baze de date, dar nu este singura component software : orice SGBD este executat sub
controlul sistemului de operare al calcuatorului respectiv.Alte componente software
care intra in alcatuirea unui sistem de baze de date sunt programe de proiectare si
dezvoltare a programelor de aplicatii cu care se va exploata in mod curent baza de
date.
c. Utilizatorii. Utilizatorii unui sistem de baze de date se pot mpri n urmatoarele
categorii: programatorii de aplicaii sunt cei care scriu aplicaiile de baze de date,
folosind limbaje de programare de nivel nalt cu ar fi de exemplu C, C++, Java, Visual
Basic; utilizatorii finali, adica acei utilizatori care acceseaz baza de date prin
intermediul unui program de aplicaie si au posibiliti de execuie respectiv drepturi
limitate de acces la date; administratorul bazei de date este un specialist in
informatica si in special in baze de date care are ca sarcin meninerea funcionarii
corecte si eficiente a bazei de date prin stabilirea drepturilor de acces a diferitelor
categorii de utilizatori, indexarea/reindexare bazei de date, efectuarea operaiilor
periodice de salvare a datelor, etc.).
d. Datele memorate ntr-o baz de date. Acestea reprezinta informatiile proproiu-zise
care descriu activitatea informatizata si sunt date persisente, adic ele rmn memorate
pe suport magnetic, independent de execuia programelor de aplicaii.

S ne reamintim...
O colecie de date aflate n interdependen care reflect un anumit aspect al lumii
reale i este destinat unui anumit grup de utilizatori, mpreun cu descrierea
structurii lor i relaiilor dintre ele, formeaz o baz de date.

1.5. Clasificarea bazelor de date


Bazele de date i-au impus superioritatea fa de fiierele clasice de date i au
avut o evoluie rapid. In prezent, practic nu exista aplicatie in domeniul economic
01:00 care sa nu foloseasca o baza de date. Diversitatea modurilor in care sunt utilizate
bazele de date i a modelelor de organizare a datelor a condus la necesitatea clasificrii
bazelor de date dup diferite criterii.
Dup modelul datelor organizate n baza de date se disting:
- baze de date de tip ierarhic sau arborescent, avnd o structur arborescent n care
exist relaii de subordonare de tip ierarhic (1 la n), astfel nct fiecare entitate
subordoneaz una sau mai multe entiti i este subordonat, la rndul ei, unei singure
entiti superioare (ca de exemplu: GIS (IBM), IMS (IMB), IDMS (UNIVAC)). Astfel
de baze de date s-au folosit in trecut, fiind prima generatie de baze de date dar astazi se
intalnesc foarte rar, avand mai mult o importanta istorica;
- baze de date de tip reea, care asigur legturi de orice natur ntre entitile bazei de
date (1la 1; 1 la n; n la m), astfel nct orice entitate poate fi legat direct cu alte
entiti n scopul reflectrii unei corespondene funcionale. Ele se bazeaza pe pe
modelul reea (un graf orientat alctuit din noduri conectate prin arce), un model
complex i dificil de folosit. Limbajele de gestiune a acestor baze de date efectueaz
prelucrarea secvenial a datelor, care este o prelucrare lent. Un SGBD de tip reea
este IDMS (Integrated Database Management System), care dispune de un limbaj de
descriere i un limbaj de manipulare. Si aceste baze de date au disparut practic din
utilizarea curenta;
- baze de date de tip relaional, care se bazeaz pe modelul relaional al datelor, au
cunoscut o larg rspndire n prezent deoarece asigur independena organizrii
datelor fa de programele de aplicaii i invers, o redundan minim si controlat a
datelor, un acces rapid la datele stocate i limbaje puternice de manipulare (limbaje
procedurale i limbaje neprocedurale). Modelul de date relaional s-a impus prin
simplitate i prin aria larg de aplicabilitate. Acest model care opereaz cu entiti
(tabele bidimensionale denumite si relatii), avnd structura format din nregistrri
(denumite si tupluri), atribute (coloanele tabelelor), domenii i valori. Tuplul, prin
analogie cu terminologia specific fiierelor de date, poate fi considerat un articol de
date sau o nregistrare logic, iar valorile tuplurilor pot fi considerate valorile din
cmpurile de date ale unei nregistrri logice. Numrul tuplurilor dintr-o relaie
reprezint cardinalitatea relaiei, iar numrul valorilor dintr-un tuplu reprezint gradul
relaiei.
Produsul dintre cardinalitatea i gradul relaiei reprezint numrul de valori
reale stocate la un moment dat.
Atributul poate fi asimilat cu noiunea de cmp de date ntlnit la fiierele de
date. Numrul de atribute reprezint un element invariabil determinat prin structura
bazei de date. Atributul este identificat prin:
nume, care, n general, corespunde semnificaiei valorilor din cadrul coloanei
(atributului);
tip, care reprezint tipul de date pentru valorile din cmpurile de date;
dimensiune, care reprezint mumrul maxim de poziii (caractere) rezervate
pentru datele fiecrui cmp de date.
Suma dimensiunilor tuturor atributelor reprezint dimensiunea relaiei.
La intersecia unei linii (unui tuplu) cu o coloan (un atribut) se gsete
valoarea efectiv a cmpului de date. Toate valorile existente ntr-un tuplu formeaz o
realizare a bazei de date.
Urmatoarele noiuni sunt similare:
Atribut = Cmp = Coloan = Caracteristic
Tuplu = Realizare = Linie = nregistrare
In unitatea de invatare nr. 2 aceste vor fi prezentate detaliat elementele
modelului relational al datelor.
Sistemele de gestiune a bazelor de date relaionale reprezint a doua generaie
de SGBD-uri. Ca exemple de astfel de SGBDR-uri se pot meniona urmtoarele: IBM
DB2, INGRES, SABRINA, ORACLE, MySQL, Microsoft SQL Server, Postgresql
etc.
- baze de date orientate obiect, opereaz cu date complexe denumite clase de obiecte,
care incapsuleaza atributele unei entitati si operatiile de prelucrare care se pot aplica
asupra valorilor atributelor. Ele au aparut din necesitatea de memorare, regsire i
prelucrare a unor elemente complexe (sunet, imagine, in general informatie
multimedia), precum i datorit necesitii prototipizrii care asigur vitez de lucru i
siguran n exploatare. Aceste baze de date se bazeaz pe noiunea de clasa de obiecte
iar un obiect este o colecie de proprieti si operatii de prelucrare prin care se descrie
01:15 o entitate din realitate. n aceste baze de date se pot reprezenta structuri de date
0 complexe cu ajutorul obiectelor. Sistemele de gestiune a bazelor de date orientate pe
obiecte reprezint a treia generaie de SGBD-uri, care urmrete s realizeze
prelucrarea de obiecte. Exemple de SGBDO-uri sunt GemStone (Servio), ObjectStore
(ObjectDesign), Ontos, ORACLE ncepand cu versiunea 7, etc.
Dup gradul de centralizare a datelor se disting:
- baze de date centralizate, care asigur prelucrarea integrat a datelor n mod global
la nivelul unei uniti economice. Sistemele informatice ecnomice care utilizeaza astfel
de baze de date poarta denumirea de sisteme informatice integrate. Un exepmlu de
astfel de sistem este un sistem ERP;
- baze de date descentralizate, care realizeaz prelucrarea parial a datelor la nivelul
unei unitati organizatorice semnificative dintr-o unitate economic.
Dup modul de distribuire a datelor pe calculatoare pot fi:
- baze de date locale sau centralizate: datele sunt memorate pe o singura statie de
lucru. Datele pot fi acesate de mai multi utilizatori, dar ceea ce este esential pentru o
astfel de baza de date este faptul ca datele rezida pe un singur calculator;
- baze de date distribuite: datele sunt stocate fizic pe mai multe statii de lucru
conectate in cadrul unei reele de calculatoare, dar sub aspect logic exist ca o singur
baz de date. Avantajele unei baze de date distribuite sunt: controlul centralizat,
asigurarea independenei datelor fa de programele de aplicaii, transparena
distribuiei fizice a datelor, asigurarea unei redundane minime controlate a datelor,
sporirea performanelor sistemului, creterea siguranei sistemului, creterea
adaptabilitaii sistemului. Sistemele de gestiune a bazelor de date distribuite
ndeplinesc funciile de asigurare a interfeei cu utilizatorul, localizarea datelor,
asigurarea controlului cererilor concurente i a integritii datelor.
-Dupa numarul de utilizatori care pot accesa baza de date:
- baze de date monoutilizator: suporta accesul unui singur utilizator la un moment
dat;
- baze de date multiutilizator: suport accesul concurent a mai multor utilizatori;
S ne reamintim...
Bazele de date pot fi clasificate dup mai multe criterii:, modelul datelor, gradul de
centralizare, numarul de utilizatori etc.

1.6. Sisteme de gestiune a bazelor de date


Memorarea, gestiunea i prelucrarea datelor organizate n baze de date este
asigurat de un ansamblu de programe denumit Sistem de Gestiune a Bazelor de
Date (SGBD). Sistemele de gestiune a bazelor de date reprezint instrumentul
software care permite ca modelele de date prezentate anterior s poat deveni
operaionale si implementate in practica. Pentru fiecare dintre tipurile de baze de date
exist sisteme specifice de gestiune a datelor.
Sistemul de gestiune a bazelor de date are ca rol asigurarea urmatoarelor
functionalitati:
- definirea structurii bazei de date;
- ncrcarea datelor n baza de date;
- gestionarea i exploatarea bazei de date;
- reorganizarea bazei de date atunci cand este necesar;
- securitatea datelor din baza de date.
Pentru gestiunea eficienta a datelor, orice sistem de gestiune a bazelor de date
are o serie de obiective bine determinate, prin care se asigur:
- independena datelor fata de suportul hardware utilizat;
- redundana minim si controlat a datelor;
- accesul mai multor utilizatori la date (acces concurent);
- sporirea gradului de securitate a datelor prin utilizarea unor drepturi de acces
la date;
- integritatea coninutului informaional al datelor pe suportul fizic.
01:25 n continuare vom discuta numai despre SGBD-urile care utilizeaza modelul
relational al datelor, cu alte cuvinte, vom discuta numai despre bazele de date
relationale.
n scopul descrierii i utilizrii structurilor logice, conceptuale i fizice ale
bazei de date SGBD-ul realizeaz funciile urmtoare:
- funcia de descriere a entitilor bazei de date (reprezentate sub forma de tabele
bidimensionale) i a relaiilor dintre entitati ntr-o viziune unitara, prin intermediul
unui limbaj specializat denumit limbaj de descriere a datelor (LDD);
-funcia de manipulare a entitilor si relaiilor din baza de date n scopul realizrii
operaiilor de creare, actualizare, stergere, interogare a bazei de date, prin intermediul
limbajului de manipulare a datelor (LMD);
-funcia de utilizare i comunicaie, care permite legtura dintre utilizatori i baza de
date, precum i conexiunea fizic dintre bazele de date distribuite;
- funcia de administrare, care revine persoanei abilitate s gestioneze baza de date
adica administratorului bazei de date. Dintre responsabilitile care revin
administratorului bazei de date cele mai importante sunt: stabilirea parolelor de acces
i a utilizatorilor care vor avea acces la baza de date; ntreinerea bazei de date;
asigurarea unor copii de siguran a bazei de date; luarea unor msuri adecvate n
situaii critice (incidente).

S ne reamintim...
Gestiunea i prelucrarea datelor organizate n baze de date este asigurat de un
ansamblu de programe denumit Sistem de Gestiune a Bazelor de Date (SGBD).
1.7. Arhitectura unei baze de date
Arhitectura unei baze de date a fost propusa in standardul ANSI/X3/SPARC si
ea impune organizarea acesteia pe trei nivele functionale: intern (fizic), extern
(logic), conceptual.
Nivelul intern (fizic) corespunde tehnicilor de stocare a datelor i de exploatare
a datelor prin transpunerea structurii conceptuale a bazei de date pe suporturile de date
(suporturile de memorie extern).
Nivelul extern (logic) corespunde sintetizrii cerinelor informaionale care sunt
specifice grupurilor de utilizatori care exploateaza baza de date. Acestui nivel i
corespunde structura logic a bazei de date definit de entitile i relaiile solicitate
direct de o categorie de utilizatori n scopul satisfacerii cerinelor informaionale
proprii. Fiecarei categorii de utilizatori ii corespunde o viziune individuala asupra
bazei de date, acesta continand datele la care are acces respectiva categorie si
drepturile de acces asupra datelor.
Nivelul conceptual corespunde sintetizrii unitare a cerinelor informaionale
adresate bazei de date, n scopul satisfacerii cerinelor globale i specifice ale tuturor
utilizatorilor. Acestui nivel i corespunde structura conceptual definit prin reuniunea
entitilor i relaiilor aferente de ctre toi utilizatorii.

1.8 Etape in realizarea bazelor de date

Realizarea unei baze de date este o activitate complexa. Care presupune


parcurgerea unor etape:
analiza activitatii care urmeaza a fi informatizata si pentru care se realizeaz
baza de date;
proiectarea structurii bazei de date;
introducerea datelor n baza de date;
exploatarea i ntreinerea bazei de date.

Analiza sistemului pentru care se realizeaz baza de date


n aceast etap se analizeaz activitatea care urmeaz a fi modelata n scopul
realizrii automate a funciunilor sale. n acest scop:
se efectueaz o analiza static, pentru a identifica, n primul rnd, care sunt
componentele sistemului (entitatile) i legturile (realtiile) dintre acestea;
se utilizeaz tehnica Entitate - Atribut - Relaie, rezultnd astfel modelul logic al
bazei de date;
se efectueaz analiza dinamica a sistemului care trebuie informatizar pentru a
pune n eviden transformrile din sistem n funcie de diverse evenimente, rezultnd
astfel modelul dinamic;
se folosete tehnica diagramelor de flux, pentru a identifica cerinele
informaionale ale sistemului, rezultnd modelul funcional;
se integreaz cele trei modele (static, dinamic i funcional), pentru a constitui
modelul conceptual al bazei de date care va fi independent de SGBD-ul ce urmeaza s
fie folosit la gestiunea bazei de date.

Proiectarea structurii bazei de date


n aceast etap se ine seama de conceptele specifice ale unui sistem de
gestiune a bazelor de date, pentru a realiza:
alegerea sistemului de gestiune a bazei de date;
proiectarea schemei (structurii) bazei de date.
Alegerea sistemului de gestiune a bazei de date se efectueaz n concordan cu
cerinele utilizatorilor i cu cerine de natur tehnic i economic.
Cerinele utilizatorilor sunt n funcie de specificul aplicaiilor, timpul de
rspuns al sistemului, confidenialitatea i securitatea datelor dar i uurina utilizrii
SGBD-ului.
Cerinele tehnice sunt legate de performanele i facilitile sistemului de
gestiune a bazei de date (portabilitatea SGBD-ului);
Cerinele economice se refer la costurile implicate de realizarea i exploatarea
aplicaiilor, timpul i efortul pentru introducerea noului sistem, eventuala pregatire a
viitoriilor utilizatori.
Proiectarea schemei bazei de date se realizeaz folosind modelul de date
specific i sintetiznd unitar toate cerinele informaionale ale utilizatorilor identificate
n etapa de analiz a sistemului real. Proiectarea se realizeaz la nivel conceptual i la
nivel fizic.
Introducerea datelor n baza de date
Introducerea datelor se poate face prin preluarea datelor din documentele
primare sau din alte surse de date. Pentru a asigura corectitudinea i coerena datelor se
recomand, de regul, efectuarea validrii (verificrii) datelor. Validarea se efectueaz
att pentru respectarea restriciilor de integritate a datelor ct i a celor de
comportament, specifice fiecrei aplicaii.
Exploatarea i ntreinerea bazei de date
Exploatarea bazei de date se refer la efectuarea operaiilor de consultare
(folosire efectiv a datelor), la operaiile de actualizare a datelor (adugare, modificare
i tergere), precum i la modificarea structurii bazei de date.
ntreinerea bazei de date este sarcina administratorului bazei de date i este
asigurat de toate programele utilitare puse la dispoziie de SGBD-ul aferent.

Bazele de date pot fi clasificate n urmatoarele tipuri:


...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

1.9. Rezumat
Modelele de date transpun complexitatea informaiilor reale n reprezentri
specifice, n scopul efecturii prelucrrii cu calculatorul electronic. Structura
modelului presupune identificarea obiectelor (care sunt denumite entiti), a
caracteristicilor acestora (denumite atribute sau cmpuri de date) i a legturilor
(denumite relaii sau asocieri).
Colecia de date este mulimea realizrilor (apariiilor unei entiti) ntr-o
organizare a datelor.
O colecie de date aflate n interdependen care reflect un anumit aspect al
lumii reale i este destinat unui anumit grup de utilizatori mpreun cu descrierea
01:50
structurii lor i relaiilor dintre ele, formeaz o baz de date.
Gestiunea i prelucrarea datelor organizate n baze de date este asigurat de un
ansamblu de programe (software) denumit Sistem de Gestiune a Bazelor de Date
(SGBD). Sistemele de gestiune a bazelor de date reprezint instrumentul care permite
ca modelele de date stabilite s poat devenifunctionale.
Realizarea global i specific a aplicaiilor utilizatorilor care folosesc baze de
date impune organizarea acesteia pe trei nivele: logic, conceptual si fizic.
Principalele etape de realizare a bazelor de date sunt:
analiza sistemului pentru care se realizeaz baza de date;
proiectarea structurii bazei de date;
ncrcarea datelor n baza de date;
exploatarea i ntreinerea bazei de date.

Principalele tipuri de baze de date sunt:


Bazele de date ierarhice
Bazele de date reea
Bazele de date relaionale
Bazele de date orientate pe obiecte
Bazele de date distribuite

1.10. Test de autoevaluare a cunotinelor


(timp necesar: 20 min.)

1. Fiecare apariie real a unei entiti ntr-o colectie de date se numete


a. structur b. realizare c. index d. atribut

2. O baz de date se poate defini ca o colecie de:


a. resurse fizice b. resurse logice c. date d. programe

3. O colecie de date mpreun cu descrierea structurii datelor i relaiilor dintre acestea


se numete:
a. realizare b. structur de date c. colecie de date d. baz de date

4. Organizarea datelor pe suporturi tehnice se poate realiza pe baza conceptului:


a. colecie de date b. cmp de date c. structur de date d. baz de date

5. Termenul care se refer la datele organizate pe suportul de memorare, din denumirea


de SGBD, este
a. gestiune b. organizare c. prelucrare d. baz de date

6. Elementul indivizibil dintr-o baz de date se numete:


a. articol de date b. cmp de date c. caracter d. nregistrare fizic

7. Pentru ca o colecie de date s devin baz de date este necesar ca, pe lng datele
propriu-zise, s mai conin:
a. realizri b. descrierea structurii c. articole de date d. Modelul de prelucrare

8. Pentru realizarea unei baze de date este necesar s se realizeze (parcurg) anumite:
a. funcii b. obiective c. etape d. activiti

9. O baz de date i SGBD-ul folosit devin operaionale prin intermediul unui:


a. software de baz b. software de aplicaii c. nucleu de programe specializate d.
sistem de calcul

10. Bazele de date care sunt integrate logic, dar stocate fizic, pe staiile de lucru ale
unei reele sunt baze de date:
a. locale b. ierarhice c. universale d. distribuite
Rspunsurile corecte la ntrebrile din testul de tip gril:
1. b 2. c 3. d 4. d 5. d 6. c 7. b 8. c 9. c 10. d

1.11. Tem de control


Realizai o analiz n care s comparai avantajele i dezavantajele sistemelor de
gestiune a bazelor de date relaionale i a sistemelor de gestiune a bazelor de date
orientate obiect. Exemplificai analiza prin SGBD-uri din cele dou categorii utilizate
pe scar larg n prezent.

1.12. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2008.
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
3. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 2. MODELUL RELAIONAL AL
DATELOR.
Cuprins
2.1. Obiective
2.2. Competenele unitii de nvare
2.3. Modelul relaional al datelor
2.4. Elementele modelului relaional al datelor
2.5. Operatorii modelului relational al datelor
2.6. Rezumat
2.7. Test de autoevaluare a cunotinelor
2.8. Test de evaluare a cunotinelor
2.9. Bibliografie

2.1. Obiective
n aceast unitate de nvare se vor prezenta fundamentele teoretice ale modelului
relational al datelor: conceptele utilizate in cadrul modelului relational si operatorii
modelului relational al datelor;

2.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Care sunt elementele care definesc modelul relaional al datelor;
Care sunt principalele operaii/operatori ale/ai modelului relaional al
datelor;

Durata de parcurgere a acestei uniti de nvare este de 2 ore.

2.3. Modelul relaional al datelor


Modul n care sunt memorate datele n vederea prelucrrii lor de ctre
aplicaii reprezint o problema de importan major pentru orice SGBD. Din punct
de vedere istoric, au existat mai multe modele de structurare a datelor care azi sunt
00:00 depite din cauza dificultilor de exploatare. Acestea au fost deja amintite in
capitoulul precedent:
Modelul ierarhic (arborescent) - structureaza datele sub form ierarhic-
arborescent: un nod (element) unic rdcin i un numr finit de noduri fiu,
care la rndul lor au alte noduri succesoare, pn la nodurile terminale, care
nu mai au ali succesori. Orice nod, exceptnd nodul rdcin, are un
predecesor unic. Firma IBM a implementat acest model n SGBD-ul IMS.
Modelul reea. Datele sunt structurate sub forma unui graf cu legturi
bidirecionale ntre noduri. Un nod poate avea mai muli predecesori i mai
muli succesori. n acest model relaiile stabilite ntre noduri (entiti) sunt de
tipul m-n.

Dezavantajul major al modelelor ierarhic i reea const n modalitatea de


acces la o nregistrare: aceasta presupune parcurgerea arborelui sau grafului pentru a
localiza nregistrarea dorit ceea ce poate conduce la o serie de probleme legate de
detectarea anomaliilor ce apar n timpul proiectrii bazei de date dar i de timpul
necesar scrierii de aplicaii care poate fi foarte mare.
n anul 1970, Edgar Frank Codd prin articolul A relational model for large
shared databanks propune un nou model de date numit modelul relational al
datelor. Codd propune o structur de date tabelar, independent de echipamentele
hardware pe care sunt stocate datele i de software de sistem, dotat cu o serie de
operatori care permit manipularea i extragerea datelor. Aceast structur prezint o
serie de avantaje care au dus la dispariia n timp a celorlalte modele de date:
Asigur independena logic i fizic a datelor;
Dispune de un suport teoretic foarte bun;
Este un model mai simplu dect precedentele modele ceea ce l face mai
uor de neles i aplicat n practic;
Datele sunt stocate doar ca valori. Nu exista pointeri de legatura intre
inregistrari sau de navigare prin structura de date ceea ce conduce la
optimizarea accesului la date;
Pune la dispoziia utilizatorilor limbaje neprocedurale de interogare prin
care acestia specific ce date doresc s extrag i nu modul concret cum se
va ajunge la rezultat. Modul concret n care sunt extrase datele ramane in
sarcina SGBD-ului. Un exemplu de astfel de limbaj este limbajul SQL
folosit azi pe scara largade catre toate SGBD-urile relationale;
mbuntete integritatea i confidenialitatea datelor;

S ne reamintim...
Modele de organizare a datelor utilizate in domeniul bazelor de date sunt:
-Modelul ierarhic;
-Modelul retea;
-Modelul relational;

2.4. Elementele modelului relaional al datelor


Modelul relational al datelor opereaza cu o serie de concepte/notiuni dintre
care cele mai importante sunt prezentate in continuare.
00:15
a) Domeniu - este reprezentat de o multime de valori avand asociat un nume.
Domeniile pot fi definite in mai multe moduri: fie prin enumerarea elementelor sale,
fie prin specificarea unor caracteristici de fundamentale ale sale. Exemple de
domenii:
Nota = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} (definit prin enumerarea elementelor
sale) \
Nota = {n N* | n 1 si n 10} (definit printr-o caracteristica/proprietate a
elementelor)

b) Relatie relatia este elementul de baza al modelului relational, fiind definita ca o


submultime a unui produs cartezian avand asociat un nume. Notiunea de produs
cartezian este cea clasica provenita din teoria multimilor: fiind date n domenii D1,
D2, , Dn, produsul lor cartezian este urmatorul:

D1 D2 Dn={(a1,a2,,an)|ai Di , i = 1, , n}

Elementele unei relatii sunt denumite in literatura de specialitate tupluri. O


reprezentare intuitiva pentru o relatie este o tabela bidimensionala care contine date,
fiecare coloana avand asociat un anumit tip de date, dat de domeniul din care
provine.
Exemplu de relatie:
Produse :
101 Monitor HP Buc. 550 1001
102 Unitate DVD Buc 120 1002
103 Cablu coaxial m 1.5 1003

c) Atribut o coloan a unei relatii (tabele) avand asociat un nume.


Pentru relatia Produse reprezentata in exemplul precedent putem stabili de exemplu
urmatoarele nume de atribute:
CodProd Codul produsului (nu exista doua produse avand acelasi cod)
DenumireProd denumirea produsului
UM Unitatea de masura
PU Pret unitar
CodFurnizor Codul furnizorului produsului

Produse :
CodProd DenumireProd UM PU CodFurnizor
101 Monitor HP Buc. 550 1001
102 Unitate DVD Buc 120 1002
103 Cablu coaxial m 1.5 1003

d) Schema unei relatii - numele relatiei (tabelei) urmat de lista atributelor sale si
eventual de domeniul din care acestea provin.

Exista mai multe modalitati prin care se poate specifica schema unei relatii.
O posibila modalitate de specificare a relatiei Produse este urmatoarea :

Produse(CodProd, DenumireProd, UM, PU, CodFurnizor)

In acest exemplu schema relatiei a fost specificata doar prin doar prin denumirea
relatiei urmata de lista atributelor sale.

e) Cheia unei relatii - o multime minimala de atribute ale caror valori identifica in
mod unic fiecare tuplu (rand, inregistrare) al relatiei (tabelei).
Relatia fiind o multime, ea nu poate contine elemente duplicat, deci tuplurile pot fi
identificate in mod unic prin valorile aflate pe una sau mai multe coloane din
relatie.Aceasta/aceste coloane reprezinta cheia relatiei respective.
In exemplul precedent, atributul CodProd identifica in mod unic (prin
definitie) un produs, deci multimea {CodProd} poate fi considerata o cheie a relatiei
Produse.

De ce multimea de atribute {DenumireProd} din tabela Produse nu poate fi o cheie a


acestei tabele ?
.......................

Sa consideram un alt exemplu de tabela denumita Angajat cu urmatoarea


schema:
Angajat(CodAngajat, Nume, Prenume, SalariulBrut, CNP, SerieCarteIdentitate,
NrCarteIdentitate)
Aceasta tabela poate avea mai multe chei :
{CodAngajat} deoarece fiecare angajat are alocat un cod unic ;
{CNP} fiecare persoana, deci si fiecare angajat, are un cod numeric
personal distinct ;
{SerieCarteIdentitate, NrCarteIdentitate}- deoarece nu pot exista doi angajati
cu aceeasi combinatie serie-numar carte de identitate.

De ce multimea de atribute {CNP, SerieCarteIdentitate, NrCarteIdentitate} nu este o


cheie a tabelei Angajat ?
.......................

In teoria bazelor de date relationale sunt folosite urmatoarele notiuni care


sunt legate de conceptul de cheie a unei relatii (tabele): cheie primara, cheie externa
(sau cheie straina) si cheie candidata.
O cheie candidat a unei relaii R este o mulime A de atribute cu
urmtoarele doua proprieti:
- identificare unica - mulimea A de atribute identific n mod unic fiecare tuplu al
relaiei R;
- nu exist o submulime proprie a lui A (distinct de A) care s aib proprietatea de
identificare unic.
O cheie este simpl dac este format dintr-un singur atribut, i este compus
n caz contrar. O relaie poate avea mai multe chei candidate - una dintre acestea se
alege pentru a fi folosit n aplicaii ca i cheie de identificare a tuplurilor. Cheia
candidat folosit n acest scop se numete cheie primar;
Cheia externa se defineste astfel. Fie R1, R2 doua relaii. O cheie extern din
R2 este o mulime A2 de atribute cu urmtoarele proprieti:
- tabela R1 are o cheie candidat A1;
- fiecare valoare a setului A2 din R2 coincide cu o valoare a setului A1 din R1.
Cheile externe se folosesc pentru a implementa legturile dintre tabele.
Legturile de tip 1-la-1 i 1-la-n se implementeaz introducnd n una din tabele o
cheie extern, care va face legtura cu cheia primar din tabela corespondent. O
legtur de tip n-la-m se implementeaz introducnd o tabel suplimentar care are o
cheie primar compus, fiecare element al cheii primare fiind o cheie extern.

f) Valoarea NULL este utilizata n cadrul sistemelor de gestiune a bazelor de date


relaionale pentru a reprezenta informaia lips sau indisponibil la un moment dat,
indiferent de tipul de dat.

g) Corectitudinea datelor - in cazul sistemelor de gestiune a bazelor de date


existente pe piata, acestea pun la dispozitie mecanisme de verificare a corectitudinii
datelor numite constrangeri de integritate. Acestea pot fi de mai multe tipuri:
g.1) Constrngeri NOT NULL. Aceast constrngere interzice stocarea n
baza de date a valorilor NULL, ceea ce nseamn c nu se permite ca anumite
coloane s fie goale.
g.2) Constrngeri UNIQUE. Constrangerea UNIQUE specific una sau mai
multe coloane care identific n mod unic fiecare tuplu din cadrul unui tabel. n
acelai timp, fiecare coloan ce apare n clauza UNIQUE trebuie s fie declarat ca
fiind NOT NULL.
g.3) Constrngeri PRIMARY KEY (integritatea entitii). Cheia primar
a unui tabel trebuie s conin o valoare unic nenul pentru fiecare tuplu introdus n
tabel.
g.4) Constrngeri FOREIGN KEY cheie externa (integritatea
referenial). O valoare a cheii externe trebuie s aib o valoare corespondent n
tabelul printe. Tabelul ce conine cheia extern se numete tabelul referit, copil sau
extern, n timp ce tabelul ce conine cheia candidat se numete tabelul de referin
sau printe. Integritatea referenial are semnificaia faptului c nici o baz de date
relaional nu poate conine valori necorespunztoare ale cheii externe. Cheia
extern necorespunztoare reprezint o valoare a cheii externe dintr-un tabel referit
pentru care nu exist valoare n tabelul de referin.
g.5) Constrngeri CHECK (validare). Exist dou tipuri de constrngeri
CHECK. Una dintre ele este denumit constrngere de domeniu de valori, deoarece
stabilete mulimea de valori pe care o poate lua un atribut, iar cealalt se numete
constrngere logic utilizat cu scopul de a pune n eviden anumite condiii
suplimentare asupra datelor incarcate in baza de date.
Cel puin urmtoarele dou constrngeri trebuie s existe n orice baz de
date relaional:
a. Integritatea entitii: nici o component a cheii primare nu are voie s aibe
valoarea NULL.
b. Integritatea referenial: pentru fiecare valoare nenul a cheii externe din baza
de date relaional, trebuie s existe o valoare corespunztoare din acelai
domeniu de valori i de acelai tip (cheia primar).

S ne reamintim...
Modelul relational al datelor este definit printr-o serie de concepte:
Domeniu;
Relatie;
Atribut;
Schema unei relatii;
Cheia unei relatii;
Valori NULL;
Constrangeri referitoare la asigurarea corectitudinii datelor;

2.5. Operatorii modelului relational al datelor


Modelul relational al datelor are un suport teoretic foarte solid fiind bazat pe
teoria seturilor i pe logica matematic. Asupra relatiilor (tabelelor) se pot aplica o
serie de operatori ai modelului relational.
01:15 Operatorii modelului relaional sunt operatorii din algebra relaional i
0 operatorii din calculul relaional.
Algebra relaional este o colecie de operaii formale aplicate asupra
tabelelor (relaiilor), i a fost conceput de E.F.Codd. Operaiile sunt aplicate n
expresiile algebrice relaionale care sunt compuse din operatorii relaionali i
operanzi. Operanzii sunt ntotdeauna tabele (una sau mai multe). Rezultatul evalurii
unei expresii relaionale este format dintr-o singur tabel.
Algebra relaional are cel puin puterea de regsire a calcului relaional. O
expresie din calculul relaional se poate transforma ntr-una echivalent din algebra
relaional i invers.
E.F. Codd a propus opt operaii ale algebrei relaionale, grupate n dou
categorii:
Operaii pe mulimi: reuniunea (union), intersecia (intersection), diferena
(difference) i produsul cartezian (Cartesian product). Aceste operatii
acioneaz asupra tabelelor vzute ca mulimi de elemente (tupluri), fr a
tine cont de compoziia fiecrui tuplu si reprezint adaptarea operatiilor
echivalente din teoria mulimilor;
Operaii relaionale speciale: restricia (restriction), proiecia (projection),
jonciunea (join) i diviziunea (division). Operaiile relaionale speciale iau
n consideraie compoziia tuplurilor, formate din valori ale atributelor
relaiilor.

Fie R1, R2, R3 trei relatii (tabele). Operatorii pe multimi se definesc astfel:
Reuniunea: R3 este reuniunea relatiilor R1 si R2 notata R3 = R1 R2, unde
R3 va conine tupluri din R1 sau R2 luate o singur dat;
Intersecia. R3 reprezinta intersectia relatiilor R1 si R2, notata R3 = R1
R2, unde R3 va conine tupluri care se gsesc n R1 i R2 n acelai timp.
Diferena. R3 reprezinta diferenta relatiilor R1 si R2 notata R3 = R1 \ R2,
unde R3 va conine tupluri din R1 care nu se regsesc n R2;
Produsul cartezian. R3 reprezinta produsul cartezian al relatiilor R1 si R2,
notat R3 = R1 R2, unde R3 va conine tupluri construite din perechi (v1,
v2), cu v1R1 i v2R2;

Operatorii relaionali speciali se definesc astfel:


Restrictia este o operaie relaional unar (se aplica pe o singura tabela) care
selecteaz dintre tuplurile relaiei operand acele tupluri care ndeplinesc o
condiie dat. Operaia de restricie se mai numete i selecie. Din R1 se
obine o subtabel R2, care va conine o submulime din tuplurile iniiale din
R1 ce satisfac un predicat (o condiie). Numrul de atribute din R2 este egal
cu numrul de atribute din R1. Numrul de tupluri din R2 este mai mic dect
numrul de tupluri din R1.
Proiecia este o operaie relaional unar prin care se selecteaz o
submulime de atribute ale relaiei operand. Din R1 se obine o subtabel R2,
care va conine o submulime din atributele iniiale din R1 i fr tupluri
duplicate. Numrul de atribute din R2 este mai mic dect numrul de atribute
din R1.
Jonciunea este o operaie binar a algebrei relaionale prin care se combin
tuplurile a dou relaii ntr-o singur relaie fiind o derivaie a produsului
cartezian, ce presupune utilizarea unui operator de comparatie care s
permit compararea valorilor unor atribute din R1 i R2. R1 i R2 trebuie s
aib unul sau mai multe atribute comune care au valori comune.
Diviziunea este o operaie binar a algebrei relaionale prin care se obine o
relaie care conine atributele diferenei mulimilor de atribute ale relaiilor
operand.

Algebra relaional este prin definiie neprocedural (descriptiv), iar


calculul relaional permite o manier de cutare mixt (procedural/neprocedural).
Calculul relaional se bazeaz pe calculul predicatelor de ordinul nti
(domeniu al logicii) i a fost propus de E.F. Codd. Predicatul este o relaie care se
stabilete ntre anumite elemente i care poate fi confirmat sau nu. Predicatul de
ordinul 1 este o relaie care are drept argumente variabile care nu sunt predicate.
Variabila poate fi de tip tuplu (valorile sunt dintr-un tuplu al unei tabele) sau
domeniu (valorile sunt dintr-un domeniu al unei tabele). Cuantificatorii (operatorii)
utilizai n calculul relaional sunt: universal () i existenial ().
Construcia de baz n calculul relaional este expresia relaional de calcul
tuplu sau domeniu (funcie de tipul variabilei utilizate).
Expresia relaional de calcul este format din: operaia de efectuat, variabile
(tuplu respectiv domeniu), condiii (de comparaie, de existen), formule bine
definite (operanzi-constante, variabile, funcii, predicate; operatori), cuantificatori.
Pentru implementarea acestor operatori exist comenzi specifice n limbajele
de manipulare a datelor (LMD) din sistemele de gestiune a bazelor de date
relaionale (SGBDR). Aceste comenzi sunt utilizate n operaii de regsire
(interogare) a datelor.

2.6. Rezumat
Modelul relational al datelor foloseste o serie de concepte/notiuni
fundamentale. Acestea sunt: domeniu, relatie, atribut, schema unei relatii, cheia unei
relatii, valoare NULL, constrangeri referitoare la asigurarea corectitudinii datelor.
Totodata, modelul relational defineste si operatiile care se pot efectua asupra
relatiilor (tabelelor). Aceste operatii au fost propuse de E.F.Codd si sunt grupate pe
doua categorii:
Operaii pe mulimi: reuniunea, intersecia, diferena i produsul cartezian;
Operaii relaionale speciale: restricia , proiecia , jonciunea i diviziunea.
01:50

2.7. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. Printre modelele de organizare a datelor regasim:


a. modelul ierarhic si modelul unitar;
b. modelul retea si modelul relational;
c. modelul disjunctiv si modelul conjunctiv
d. modelul retea si modelul asimetric;

2. O linie dintr-o tabel a unei baze de date relaionale se mai numete i:


a. rnd
b. linie de date
c. tuplu
d. cuplu de date

3. Tabelele unei baze de date relaionale se mai numesc i:


a. baze de date
b. structuri de date
c. relaii
d. colecii de date

4. O cheie primar reprezint:


a. un concept de securitate
b. un concept de limbaj
c. un concept de accesare
d. un mijloc de identificare unic a liniilor unei tabele

5. O cheie primar referit printr-o legtur dintr-o alt tabel reprezint pentru
tabela din care se refer:
a. tot o cheie primar
b. o cheie extern
c. o cheie candidat
d. o cheie intern
6. O tabel poate avea:
a. cel mult o cheie primar
b. obligatoriu o cheie primar
c. oricte chei primare
d. oricte chei candidat

7. Selecia reprezint un:


a. element de baz al oricrui SGBD
b. operator al modelului operaional
c. operator al modelului de date relational
d. niciuna dintre variantele de mai sus

8. O coloan sau un grup de coloane care pe lng cheia primar permite


identificarea n mod unic a unei linii dintr-o tabel se numete:
a. cheie primar
b. cheie unitar
c. cheie extern
d. cheie candidat

9. Valoarea NULL pentru o celul aparinnd unei tabele dintr-o baz de date
semnific faptul c:
a. n acea celul se gsete irul vid
b. n acea celul se gsete valoarea zero
c. n acea celul nu se gsesc date
d. niciuna dintre variantele de mai sus

10. Reuniunea reprezint un:


a. Un tip special de jonctiune
b. operator al modelului operaional
c. operator al modelului de legturi
d. niciuna dintre variantele de mai sus

Rspunsurile corecte la ntrebrile din testul de tip gril:


1. b 2. c 3. b 4. d 5. b6. b 7. c 8.d 9. c 10. d

2.8. Test de evaluare a cunotinelor


A. Descrieti elementele care definesc modelul relational al datelor.
B. Care sunt operatiile modelului relational al datelor? Exemplificati.

2.9. Bibliografie
1. Codd E. F., "A Relational Model of Data for Large Shared Data Banks",
Communications of the ACM, 1970.
2. Codd E. F., The Relational Model for Database Management, Addison-Wesley
Publishing Company, 1990.
3. Fotache M., Proiectarea bazelor de date Normalizare i postnormalizare.
Implementri SQL i ORACLE, editura Polirom, 2005.
4. Harrington J., Relational Databases Design and Implementation, third edition,
editura Morgan Kauffman, 2009.
5. Petersen J., Baze de date pentru nceptori, editura B.I.C. ALL, 2003.
UNITATEA DE NVARE 3. SISTEME DE GESTIUNE A BAZELOR DE
DATE. MICROSOFT ACCESS
Cuprins
3.1. Obiective
3.2. Competenele unitii de nvare
3.3. Prezentare generala Microsoft-Access
3.4. Arhitectura Microsoft Access
3.5. Sistemul de asistare software (Help)
3.6. Instrumente WIZARD
3.7. Rezumat
3.8. Test de autoevaluare a cunotinelor
3.9. Test de evaluare a cunotinelor
3.10. Bibliografie

3.1. Obiective
n aceast unitate de nvare se vor prezenta elementele arhitecturale ale mediului de
Microsoft Access precum si cunoaterea posibilitilor de lucru Microsoft Access
pentru gestiunea bazelor de date i a sistemului de asistare software a utilizatorilor.

3.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se pot folosi posibilitile de exploatare ale S.G.B.D. MS Access pentru
gestiunea bazelor de date relaionale;
Cum se pot gestiona obiectele bazelor de date MS Access.

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

3.3. Prezentare general Microsoft Access


MS-Access este o component a pachetului de programe integrate Microsoft
Office, care se poate instala i exploata pe calculatoare personale (PC-uri) ce lucreaz
sub oricare sistem de operare de tip Windows (Windows 95, Windows 98, Windows
00:00 2000, Windows XP, Windows Vista, Windows 7).
Lansat iniial n anul 1992, pachetul Microsoft Office a evoluat rapid i s-a
dezvoltat substanial, ajungnd n prezent la versiunea MS-Office 2010, ca versiune
mbuntit fa de versiunile anterioare (MS-Office 2007, MS-Office XP). innd
seama de ponderea nsemnat ocupat de pachetul de programe integrate Microssoft
Office n vnzrile de produse software pentru microcalculatoare, se poate afirma c
MSAccess este unul dintre cele mai folosite sisteme de gestiune a bazelor de date
instalate i exploatate pe calculatoare personale.
n pachetul de programe integrate Office sunt componente tradiionale, pe care
firma Microsoft le-a meninut i dezvoltat odat cu evoluia pachetului:
Word program pentru procesarea de texte;
Excel program de calcul tabelar;
Access sistem de gestiune a bazelor de date;
Power Point program pentru prezentarea de aplicaii;
Outlook program pentru organizarea i gestiunea potei electronice.
Furnizati mai multe detalii privind componentele pachetelor MS-Office 2010, 2007,
XP. Folositi drept sursa de informare Internetul.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

Pe lng aceste componente, n versiunea MS-Office 2010 au mai fost introduse


componentele urmtoare:
Publisher program pentru realizarea de publicaii;
00:30 OneNote program pentru crearea de notite si management al informatiei;
InfoPath program pentru proiectarea, realizarea si distribuirea de formulare
electronice continand date structurate;
SharePoint Workspace program pentru partajarea documentelor si colaborarea
la elaborarea lor in cadrul unei echipe;
Versiunea Microsoft Office 2010 aduce noi aspecte si este disponibil n mai
multe variante (ediii):
Starter Edition;
Online Edition;
Personal Edition;
Home and Student Edition;
Home and Business Edition;
Standard Edition;
Professional Edition
Professional Plus Edition.
MS-Office 2010 pstreaz aceleai componente ca i versiunea anterioar (MS-
Office 2007), ns aducnd unele mbuntiri tuturor componentelor/aplicatiilor.
MS-Office 2010, cu toate c nu are componente noi fa de versiunea 2007,
totui componentele coninute au fost substanial mbuntite. Astfel, pentru a ajuta
utilizatorii la operaiile complicate, Microsoft a introdus:
Task Panes una dintre cele mai importante mbuntiri aduse MS-Office-
ului, constnd dintr-o serie de panouri verticale, situate pe partea dreapt a
ecranului, care apar cnd este necesar (de regul dup lansarea n execuie a
componentei MS-Office), oferind posibilitatea ca printr-un click de mouse s se
efectueze diferite operaii, care ar fi necesitat n versiunile anterioare folosirea
unor casete de dialog;
Smart Tags casete mici de culoare gri care se ataeaz singure anumitor intrri.
Aceste casete ajut utilizatorii n unele cazuri s controleze eficient MS-Office-
ul astfel nct s efectueze automat anumite schimbri;
Disaster Recovery o mbuntire introdus special pentru a salva
documentele atunci cnd MS-Office-ul se blocheaz;
Speech Recognition una dintre cele mai nsemnate mbuntiri i
extraordinare carateristici, care permite dictarea i utilizarea de comenzi vocale
n majoritatea aplicaiilor efectuate n MS-Office fr a mai fi necesar un
program dedicat. Aceasta componenta a fost introdusa inca de la verisunea XP
dar performante mai bune se inregistreaza de la versiunea Office 2010;
Product Activation Wizard o mbuntire care permite crearea unui numr de
identificare (ID) bazat pe profilul hardware al utilizatorului, profil care trebuie
transmis ctre firma Microsoft pentru a preveni instalarea pachetului MS-Office
pe alte PC-uri dect cele cu licen.

n pachetul MSOffice componentele au fost proiectate pentru a lucra mpreun


ntr-un mediu integrat, oferind utilizatorilor posibilitatea de a depi limitele
componentelor individuale. Astfel, folosind mediul integrat MSOffice se poate realiza
o mare varietate de funcii, cum ar fi:
nglobarea informaiilor dintr-un anumit tip de document ntr-un alt tip,
permind editarea acestora fr a se modifica sursa datelor;
crearea de legturi ntre fiiere, astfel nct modificarea informaiilor ntr-un
fiier s determine actualizarea automat a acestora n celelalte fiiere catre care
puncteaza legaturile;
combinarea unei baze de date cu adrese, creat n Access, cu un formular de
scrisoare, realizat n Word, pentru a obine rapid de scrisori;
administrarea mesajelor i a programului de lucru, partajarea de informaii n
diverse moduri, folosind programul Microsoft Outlook;
colaborarea eficient cu ceilali parteneri, prin lucrul simultan n registre de
calcul partajate i prin schimbul de informaii.

Caracteristicile de baza i facilitile principale de exploatare ale S.G.B.D.-ului


MS-Access sunt urmtoarele:
MS-Access este un S.G.B.D. care permite gestionarea bazelor de date
relaionale folosite n mod exclusiv sau n mod multiutilizator (partajat);
MS-Access se bazeaz pe interfaa grafic de utilizator (GUI-Graphic User
Interface), specific produselor software de tip Windows, care este uor de
folosit, oferind utilizatorului un mediu de lucru prietenos;
MS-Access se fundamenteaz pe concepte noi (obiect, proprieti ale obiectelor,
eveniment, procedur care se lanseaz n execuie cnd apare un eveniment,
programare orientat pe obiecte i evenimente etc);
MS-Access este un S.G.B.D. deschis comunicrii cu alte sisteme de gestiune a
bazelor de date relaionale (dBASE, Fox Pro, Paradox);
MS-Access permite realizarea cu uurin a importului i exportului de date cu
alte componente MS-Office (de exemplu cu Excel, fisiere XML, text etc.);
MS-Access permite efectuarea de aplicaii complexe folosind limbajul VBA
(Visual Basic for Applications) sau generatorul de macroinstruciuni;
MS-Access permite interogarea bazelor de date relaionale, fie n mod grafic
folosind interfaa QBE (Query By Example), fie folosind limbajul SQL
(Structured Query Language);
MS-Access dispune de un sistem eficient de asistare software (Help), care
permite documentarea utilizatorului n mod contextual sau la cerere;
MS-Access conine instrumente Wizard, care permit utilizatorului s creeze cu
uurin obiectele care intra in alcatuirea unei baze de date (tabele, formulare,
rapoarte etc);
MS-Access permite accesul la baze de date din reeaua Internet, fiind un mediu
de lucru util pentru publicarea de informaii n pagini Web;
MS-Access se poate instala pe calculatoare personale care conin resurse
hardware similare cu cele impuse de versiunea sistemului de operare gazd
(Windows 95/98/2000/XP/VISTA/7).

S ne reamintim...
Caracteristicile de baza i facilitatile principale de exploatare ale S.G.B.D.-ului MS-
Access sunt urmtoarele: MS-Access este un S.G.B.D. care permite gestionarea bazelor
de date relaionale, se bazeaz pe interfaa grafic de utilizator (GUI-Graphic User
Interface), se fundamenteaz pe concepte noi (obiect, proprieti ale obiectelor,
eveniment), este deschis comunicrii cu alte sisteme de gestiune a bazelor de date
relaionale (dBASE, MySQL, etc.), permite interogarea bazelor de date relaionale, fie
n mod grafic folosind interfaa QBE (Query By Example), fie folosind limbajul SQL
(Structured Query Language).

3.4 Structura bazelor de date Microsoft Access

Microsoft Access este un S.G.B.D. elaborat pentru gestionarea bazelor de date


realaionale. O baz de date Access se poate defini ca o colecie de obiecte de diferite
01:00 tipuri si functionalitati: Tables (tabele), Queries (cereri de interogare), Forms
(formulare), Reports (rapoarte), Macros (comenzi macro), Modules (module
program).
Definit astfel, baza de date Access se deosebete de bazele de date definite n
alte SGBD-uri.
Tables (tabele) sunt obiectele definite de utilizator n care datele sunt stocate
sub form de nregistrri (articole) denumite si tupluri i care reprezint astfel expresia
modelului relaional al bazei de date.
Queries (cereri de interogare) sunt obiecte care permit extragerea si
vizualizarea informatiilor necesare la un moment dat din una sau mai multe tabele ale
bazei de date. Prin astfel de obiecte utilizatorul poate selecta din baza de date cu
ajutorul unor criterii numai datele care i sunt necesare pentru prelucrare.
Forms (formulare) sunt obiecte care permit introducerea datelor de la tastatur,
vizualizarea (afiarea pe ecran) acestor date sau controlul ntregii aplicaii Access. Prin
aceste obiecte se poate efectua transferul datelor introduse de utilizator n tabele (baza
de date), fiind astfel un mod indirect de ncrcare a bazei de date.
Reports (rapoarte) sunt obiecte care permit afiarea si tiprirea informatiilor
extrase din baza de date cu ajutorul cererilor de interogare sau direct din tabelele bazei
de date sub form de documente. Astfel de obiecte reprezinta informatiile conform unei
structuri speciale, conform cerinelor, specificaiilor i exigenelor utilizatorilor.
Macros (comenzi macro) sunt obiecte ce definesc aciuni care se execut la
declanarea unui eveniment. Obiectele macro, identificate printr-un nume, sunt create
pentru automatizarea executrii de aciuni asupra unor obiecte din baza de date.
Modules (module) sunt obiecte care conin proceduri definite de utilizator
scrise n limbajul VBA (Visual Basic for Applications) care este un subset al limbajului
de programare Visual Basic.
Colecia de obiecte, prin care se poate defini o baz de date n SGBD Microsoft
Access, se caracterizeaz prin interdependena i interaciunea obiectelor coninute n
scopul gestionrii informatiilor din baza de date i realizrii de aplicaii complexe.
Astfel, n tabele (tables) sunt stocate datele introduse iniial de la tastatur prin
formulare (forms). Informatiile necesare utilizatorilor la un moment dat sunt extrase
(selectate) prin cereri de interogare (queries) i sunt afiate sau tiprite prin
intermediul rapoartelor (reports). Pentru realizarea cererilor de interogare, a
formularelor si a rapoartelor se pot folosi comenzi macro (macros) i / sau proceduri
VBA (modules).

S ne reamintim...
O baz de date de tip Access se poate defini ca o colecie de obiecte: Tables
(tabele), Queries (cereri de interogare), Forms (formulare), Reports (rapoarte),
Macros (comenzi macro), Modules (module program).

3.5 Sistemul de asistare software (Help)


La fel ca celelalte componente din pachetul de programe integrate Microsoft
Office, S.G.B.D.-ul MS Access are ncorporat un sistem de asisten software (Help),
apelabil n dou moduri distincte:
activarea meniului Help - pictograma cu semnul ntrebrii pozitionata in partea
dreapta pe bara de meniuri Access;
01:30 acionarea tastei funcionale F1.
5 Sistemul de asistare a utilizatorilor (Help) permite acestora s procedeze n mod
difereniat pentru a primi asisten software n funcie de cerinele i complexitatea
aplicaiilor. Dup acionarea tastei funcionale F1 sau activarea opiunii similare din
meniul Help se afieaz fereastra tipic de asistenta Help, n care utilizatorul este
invitat s introduc o ntrebare i unde va primi rspunsul ateptat. Sistemul de
asistenta Help a fost introdus ncepnd cu versiunea 97 a pachetului Microsoft Office
pentru asistarea continu a utilizatorilor pe ntreaga perioad de proiectare, realizare si
exploatare a aplicaiilor. Fereastra componentei Help este prezentata in figura 3.1.

Figura 3.1 Fereastra componentei HELP

Astfel, cu ajutorul acestei fascilitati de asistenta utilizatorii au posibilitatea:


s caute informatiile disponibile despre o functionalitate a S.G.B.D.-ului
ACCESS n caseta Search;
s aleaga un capitol din cuprinsul manualului de utilizare ACCESS Browse
Access Help;
s activeze opiunea Show content from Office.com din lista de opiuni a
meniului Help, pentru a vizualiza pagini Web cu informaii de asisten
software, n timpul unei sesiuni de lucru n reeaua Internet.
Folosirea casetei Search
Caseta Search constituie o cale rapida de a regasi o informatii in sistemul de
asistenta din MS Access. Aceast caset se gsete n partea din dreapta-sus a ferestrei
de aplicaie MS Access.
Astfel, dac un utilizator dorete s obin asisten privind modul de creare a
unui obiect Table (tabela), acesta va putea tasta de exemplu intrebarea How do I create
a new table? n caseta Search, apoi s apese tasta Enter. Sistemul va raspunde cu o
lista de informatii referitoare la facilitatea ceruta de utilizator.

S ne reamintim...
Sistemul de asistenta software in MS Access 2010 este apelabil n dou moduri
distincte: fie prin activarea meniului Help - pictograma cu semnul ntrebrii pozitionata
in partea dreapta pe bara de meniuri Access fie prin acionarea tastei funcionale F1.

3.6. Instrumentele de ajutor Wizard

Pentru usurarea realizarii aplicaiilor n SGBD Access si cresterea eficientei si


productivitatii muncii realizatorilor de aplicatii, compania Microsoft a introdus o serie
01:50 de instrumente de ajutor denumite Wizard (vrjitor, cu sens de asistare), care se pot
grupa n dou categorii:
instrumente Wizard generale;
instrumente Wizard orientate obiect.

Functia de baza a acestor intrumente este de a ajuta utilizatorii la realizarea n


mod automat si rapid a bazelor de date sau obiectelor unei baze de date (tabele, cereri
de interogare, formulare, rapoarte) n funcie de anumite specificaii, cerine, exigene,
opiuni, preferine ale utilizatorilor.
Instrumentele Wizard generale ajut utilizatorii pentru realizarea aplicaiilor
care pot fi generate automat prin folosirea unor abloane, fiind create toate obiectele
necesare folosind anumite specificaii ale utilizatorilor. Un exemplu concret n acest
sens poate fi crearea bazei de date pentru evidena operativ a stocurilor de bunuri
materiale.
Instrumentele Wizard orientate obiect ajut utilizatorii pentru crearea obiectelor
ce intra in componenta unei baze de date in mod interactiv, prin parcurgerea unor etape
de dialog ntre utilizator i sistem, n care utilizatorul furnizeaz specificaii, alege
optiuni prezentate de Wizard pe baza crora se creaz obiectul respectiv.
Instrumentele de ajutor Wizard trebuie folosite cu anumite rezerve, deoarece nu
toate aplicaiile se preteaz n aceeai msur la folosirea acestor instrumente. Astfel,
folosirea instrumentelor Wizard se recomand n special pentru crearea obiectelor de
tip formular sau raport. n cazul obiectelor de tip tabel, instrumentul Wizard nu poate
ajuta semnificativ utilizatorul atunci cnd obiectul tabel ce va fi creat conine cmpuri
de date speciale care nu pot fi realizate de instrumentul Wizard. La fel in cazul cererilor
de interogare, instrumentul Wizard poate creea doar cateva tipuri simple, predefinite,
de cereri.

3.7 Limbajul de programare VBA

Limbajul de programare BASIC (Beginners All Purpose Symbolic


Instruction Code) a fost introdus de compania Microsoft ca un limbaj comun pentru
02:05 realizarea tuturor aplicaiilor care folosesc proceduri tip macro (bazate pe comenzi
macro). Limbajul BASIC a fost apoi tranformat in Visual Basic, odata cu aparitia
mediilor de programare grafice. El este disponibil si in mediul integrat de dezvoltare al
aplicatiilor Visual Studio.
Odata cu aparitia pachetului Office, acest limbaj a fost integrat in toate
aplicatiile Microsoft, avnd ca rezultat apariia unui nou limbaj cunoscut sub denumirea
de Visual Basic for ApplicationsVBA. Acest limbaj este in prezent disponibil pentru a
crea module (proceduri) de prelucrare a datelor in toate aplicatiile pachetului Microsoft
Office. Deci, VBA este un subset al limbajului Visual Basic, orientat pe obiecte i
evenimente, folosit n SGBD Access pentru crearea de obiecte de tip modul (Modules).
Obiectele de tip modul (Modules) conin programe elaborate n limbajul VBA
folosite pentru realizarea aplicaiilor Access sau crearea de proceduri echivalente cu
procedurile macro. Subliniem faptul ca in limbajul VBA nu pot fi create programe de
sine statatoare, ci el poate fi utilizat doar pentru crearea
procedurilor/functiilor/modulelor a caror executie este declansata de un eveniment (de
exemplu deschiderea unui formular, apasarea unui buton de catre utilizator etc.).
Un modul Access este o colecie de declaraii i proceduri descrise mpreun ca
un ntreg, structurat n dou seciuni:
seciunea de declaraii;
seciunea procedurilor.

In VBA procedurile pot fi de trei tipuri: functie, subrutina si eveniment.


Procedurile de tip functie (Function) reprezinta un set de instructiuni ce efectueaza
anumite prelucrari asupra datelor si care returneaza o valoare ca rezultat al functiei.
Procedurile de tip subrutina (Sub) efectueaza operatii de prelucrare asupra datelor dar
nu returneaza valori. Procedurile de tip eveniment sunt declansate automat ca rspuns la
un eveniment iniiat fie de utilizator fie de codul program.
Un modul poate fi creat selectand optiunea Create din meniul principal apoi
deschizand lista de optiuni Client Objects aflata in partea stanga a toolbarului de
unde se va alege Module. In figura 3.2 se poate vizualiza acest meniu.

Figura 3.2 Crearea unui Modul

Modulele Access pot fi de trei tipuri:


module globale, care sunt accesibile pentru toata aplicatia;
module specifice obiectelor forms sau reports, care sunt accesibile numai
acestor obiecte;
module class, care permit definirea claselor de obiectelor utilizator.

Odata aleasa optiunea Module se va deschide mediul integrat de programare


disponibil pentru editarea modulelor care contine facilitati de editare a modulelor,
executare a lor, depanare. Procedurile pot fi asamblate n module innd seama de
cerinele utilizatorului. Astfel, o procedur, dup ce a fost definit, poate fi apelat
repetat din orice obiect al bazei de date, cu excepia cazului n care a fost declarat
Private.
Pentru a efectua ct mai simplu consultarea i actualizarea
modulelor/procedurilor, se recomand ca acestea s fie grupate dup criterii
funcionale. Modulele/procedurile create pot fi ulterior modificate, activnd opiunea
Design View in seciunea Modules din panelul All Access Objects al ferestrei
principale Acces (vezi figura 3.3).
Editorul de VBA contine facilitati avansate de asistare a utilizatorilor care
creeaza proceduri, cuvintele cheie i cuvintele utilizator fiind transformate automat n
forma n care au fost declarate, dac sunt folosite corect.
Asupra procedurilor VBA se efectueaz verificri sintactice:
la nivel local, asupra fiecrei instruciuni, odat cu scrierea (editarea) acesteia;
la nivel contextual, asupra ntregii proceduri;
n momentul compilrii explicite, efectuat cu opiunea Compile din meniul
Debug;
n momentul execuiei propriu zise, cu opiunea Go/Continue din meniul Run
sau, mai simplu, apsnd pe tasta F5.

Figura 3.3 Editarea unui modul

n momentul scrierii (editrii) unei proceduri VBA are loc i afiarea


contextual a elementelor care caracterizeaz un anumit context (exemplu, tipul unei
variabile declarate).
Aceasta este cea mai puternic facilitate a editorului de programe surs VBA,
deoarece utilizatorul nu trebuie s rein cuvintele cheie (obiecte, metode, proprieti,
tipuri de date etc), aa cum sunt definite, unele dintre acestea fiind destul de lungi. n
schimb utilizatorul trebuie s tie de existena acestor cuvinte cheie, s aleag
elementul contextual corespunztor, fr a mai fi necesar s introduc de la tastatur
denumirea complet, ceea ce permite editarea rapid a procedurii.
Instruciunile se introduc n procedur, n general cte una pe un rnd, fiind
totui permis introducerea mai multor instruciuni pe acelai rnd, separate prin
caracterul special :. O instruciune poate fi editat pe mai multe rnduri, cu condiia
ca la sfritul fiecrui rnd s se pun caracterul special -, cu excepia ultimului rnd.
Procedura, unele pri din procedur sau instruciuni pot fi nsoite de un text
explicativ de tip comentariu, care trebuie introdus precedat de caracterul special
(apostrof). Comentariile nu afecteaz cu nimic procedura, deoarece sunt ignorate de
compilator n momentul rulrii programului.

Folosind sistemul Help documentati-va despre deosebirile dintre obiecte Macros si


obiectele Modules. Descrieti cateva dintre aceste deosebiri.
...
...
...

3.8 Rezumat
Access este o component a pachetului de programe integrate Microsoft Office,
care se poate instala i exploata pe calculatoare personale (PC-uri) ce lucreaz sub
oricare sistem de operare de tip Windows.
Microsoft Access este un S.G.B.D. elaborat pentru gestionarea bazelor de date
realaionale. O baz de date in Access se poate defini ca o colecie de obiecte: Tables
(tabele), Queries (cereri de interogare), Forms (formulare), Reports (rapoarte),
Macros (comenzi macro), Modules (module program).
La fel ca celelalte componente din pachetul de programe integrate Microsoft
Office, componenta Access are ncorporat un sistem de asisten software Help.
02:40

3.9. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. ncepnd cu care versiune Microsoft Office au fost introduse componente (aplicatii)


noi fa de cele cinci componente tradiionale ?
a. MS-Office 97 b. MS-Office 2000 c. MS-Office XP d. MS-Office 2003

2. Panourile verticale situate pe partea dreapt a ecranului dup lansarea n


execuie a unui program din pachetul Microsoft-Office se numesc:
a.Task Panes b. Smart Tags c. Microsoft Office d. Blank Database

3. Interfaa grafic de utilizator specific produselor software de tip Windows,


inclusiv programului Microsoft-Access se numete:
a. VBA b. QBE c. GUI d. SQL

4. Suportul de programare folosit n aplicaiile cu baze de date tip Microsoft


Access se numete:
a. GUI b. QBE c. VBA d. SQL

5. n bazele de date Microsoft-Access expresia modelului relaional al bazei de


date este reprezentat de obiectele:
a.Tables b. Queries c. Forms d. Reports

6. n bazele de date Microsoft-Access obiectele care permit s se vizualizeze


rezultatele prelucrrii datelor din tabele i interogri se numesc:
a.Tables b. Queries c. Forms d. Reports

7. n bazele de date Microsoft-Access introducerea datelor n mod indirect se


poate realiza prin obiectele:
a.Tables b. Queries c. Forms d. Reports

8. n bazele de date Microsoft-Access obiectele care permit afiarea (tiprirea)


rezultatelor prelucrrii datelor n format de editare se numesc:
a.Tables b. Queries c. Forms d. Reports

9. n bazele de date Microsoft-Access obiectele organizate din aciuni care se execut la


declanarea unui eveniment se numesc:
a. Macros b. Queries c. Forms d. Reports

10. n bazele de date Microsoft-Access obiectele care conin proceduri definite de


utilizatori i editate n mediul de programare VBA se numesc:
a.Tables b. Queries c. Macros d. Modules

Rspunsurile corecte la ntrebrile din testul de tip gril:


1. b 2. a 3. c 4. c 5. a 6. b 7. c 8. d 9. a 10. d

3.10. Test de evaluare a cunotinelor

Care sunt obiectele din care este alcatuita o baza de date MS-Access?
Pentru ce se utilizeaza obiectele de tip Reports?

3.11. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid prin
imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura Economic,
Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 4. GESTIUNEA OBIECTELOR TABLES.
Cuprins
4.1. Obiective
4.2. Competenele unitii de nvare
4.3. Crearea unui obiect de tip Table (tabela)
4.4 Stabilirea relatiilor intre tabele
4.5. Rezumat
4.6. Test de autoevaluare a cunotinelor
4.7. Test de evaluare a cunotinelor
4.8. Bibliografie

4.1. Obiective
n aceast unitate de nvare se vor prezenta modurile de creare a unui obiect Table i de
definire a relaiilor standard dintre obiecte Tables, operaiilee care se pot efectua cu
nregistrrile din tabele si modul de efectuare a modificrii structurii unei tabele i de
includere a unei tabele ntr-o baz de date.
4.2. Competenele unitii de nvare
Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se poate crea un obiect Table, folosind unul din modurile afiate n fereastra
de dialog New Table;
Cum se poate stabili tipul sau natura cmpurilor de date din structura nregistrrilor
obiectului Table;
Cum se pot specifica proprietile cmpurilor de date n funcie de specificul
aplicaiilor.

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

4.3. Crearea unui obiect de tip tabel

ncepnd cu versiunea Microsoft Office 2007, interfata grafica a aplicatiilor Office


00:00 a fost modificata. Astfel, meniurile i grupurile de instrumente (toolbar) care erau plasate
sub meniu n au fost nlocuite de o panglic (denummirea data de Microsoft acestei zone
este Ribbon) cu scopul principal de a ajuta utilizatorii n a gsi rapid comenzile de care
au nevoie la un moment dat. Comenzile sunt grupate logic in mai multe paneluri (tab)
afisate pe ribbon.
Fiecare tab continecomenzi aflate in legatura cu un anumit tip de operatii: de
exemplu, formatarea textului, sortarea inregistrarilor unei tabele etc. Unele tab-uri sunt
afisate doar in contextul lucrului cu un anumit tip de obiect. In figura 4.1 este afisata
fereastra aplicatiei Access 2010 unde se poate identifica noua forma a interfetei grafice.
Figura 4.1 Noua interfata grafica a Microsoft Access 2010

Ms-Access permite crearea unei baze de date care poate conine pn la 32768 de
tabele (tables) dintre care pot fi deschise simultan 254 tabele. Crearea unui tabel i
includerea acesteia n baza de date MS-Access se poate realiza prin click pe meniul Create
si alegerea uneia din urmatoarele optiuni:
Table conduce la crearea tabelei in modul Datasheet;
Table Design conduce la crearea tabelei in modul Design View;

Figura 4.2 Crearea unui tabel

Alegerea optiunii Table conduce la crearea unui tabel in modul Datasheet


View(fig.4.3)

Figura 4.3 Crearea tabelului in modul Datasheet

O alta modalitate de creare a unui tabel este urmatoarea: din fereastra de dialog
Microsoft Access, afiat dup lansarea n execuie a produsului MS-Access:
se selecteaz butonul Blank Database;
se execut click-stnga pe butonul CREATE (fig. 4.4);
din fereastra afiat All Accesss Objects, n care este selectat implicit grupul de
obiecte Tables, unde automat a fost creat un tabel denumit Table1 (fig 4.5).

Figura 4.4 Crearea unui Tabel

Figura 4.5 Fereastra New Table

Furnizati mai multe detalii privind crearea de tabele in Microsoft Access 2010. Folositi
drept sursa de informare Internetul
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Exista mai multe moduri de creare a unei tabele : Datasheet, Design View,
Import Table i Link Table. Acestea prezinta urmatoarele caracteristici.
Modul Datasheet View permite realizarea simultan a dou obiective:
crearea structurii tabelului, adic definirea cmpurilor de date;
00:25 completarea tabelului cu date (nregistrri sau tupluri).
Acest mod de creare a unei tabele se aseamn cu lucrul n Microsoft Excel, astfel
c fiecare linie reprezint o nregistrare (un tuplu) din tabel. Dup definirea coloanelor se
pot introduce imediat datele necesare pe linii i se salveaz tabelul n contextul ferestrei de
dialog Save As. n consecin, modul Datasheet View se poate folosi pentru crearea de
tabele simple, fr a permite stabilirea unor detalii (de exemplu, proprietile tabelei i /
sau coloanelor).
Modul Design View se poate folosi pentru crearea, ntr-un mod riguros, a unui
tabel n fereastra Table (fig.4.6), permind:
definirea cmpurilor de date care aparin structurii tabelului (nume cmp, tip date,
eventual descriere cmp);
specificarea proprietilor cmpurilor de date care au fost definite, n funcie de
tipul de date coninute.

Figura 4.6 Crearea unei tabele in modul Design View

Numele cmpului de date (Field Name) trebuie s fie unic n structura tabelului i
s conin cel mult 64 caractere (din care se exclud caracterele ! . [ ] deoarece au
semnificaii speciale n MS-Access).

Exemple:
Cod material Codmat CODMAT
Tipul de date (Data Type) se poate alege, n funcie de natura cmpului de date,
dintr-o list care se afieaz efectund clik-stnga n coloana Data Type i apoi pe butonul
derulant afiat.
00:50 Descrierea cmpului de date (Description) este opional, ns este recomandabil
s apar deoarece permite specificarea de informaii suplimentare referitoare la cmpul de
date respectiv.
Proprietile cmpului de date (Field Properties) se afieaz n partea de jos a
ferestrei de dialog pentru crearea unui tabel n modul Design View. Aceste proprieti
difer n funcie de tipul de date ales pentru fiecare cmp de date (atribut). Unele dintre
proprietile de baz sunt comune pentru toate tipurile de date. Cu excepia proprietilor
booleene, adica a acelora care permit doar doua valori true respective false - (Required,
Allow Zero Length i Indexed), singurele proprieti care trebuie specificate sunt Field
Size (pentru tipurile de date Text, Number i Autonumber) i New Values (pentru
Autonumber). Celelalte proprieti disponibile sunt opionale.
Aceste proprieti se gsesc n pagina General din partea de jos a ferestrei de
dialog Table. Cea de a doua pagin este Lookup care, pentru unele tipuri de date (Text,
Number i Yes/No), permite alegerea tipului de obiect vizual de control folosit pentru
introducerea datelor n cmpul de date respectiv.
Dup definirea cmpului de date i specificarea proprietilor acestor cmpuri
urmeaz salvarea tabelului creat cu astfel de structur, avnd coninut vid. Salvarea
tabelului se poate efectua n fereastra de dialog Save As, care se afieaz procednd n unul
din urmtoarele trei moduri:
printr-un clik pe opiunea Save din meniul File;
printr-un clik pe pictograma Save de pe bara de instrumente standard;
folosind combinatia de taste CTRL-S.
Pe bara de text din fereastra de dialog Save As se afieaz un nume implicit pentru
tabel, care poate fi acceptat sau nlocuit cu un alt nume dorit de utilizator. Dar nainte de
salvarea tabelului trebuie stabilit cheia primar, care poate fi alctuit din unul sau mai
multe cmpuri de date (atribute). Un tabel trebuie s conin o cheie primar pentru
identificarea tuplurilor (inregistrarilor). Pentru aceasta se selecteaz campul de date
(campurile de date) i apoi din bara de instrumentare standard se execut clik-stnga pe
pictograma Primary Key. Cheia primar mai poate fi stabilit i cu opiunea Primary Key
din meniul Edit. Dac utilizatorul nu a stabilit cheia primar pentru tabelul respectiv,
atunci acesta va fi consultat de ctre MS-Access privind posibilitatea definirii unei chei
primare n mod implicit prin introducerea automat a unui nou cmp de date n structura
tabelului (cmp denumit ID).
Pentru completarea tabelului cu nregistrri (tupluri) se selecteaz numele acesteia
din grupul de obiecte Tables din fereastra de dialog Database afiat. Apoi se execut
clik-stnga pe butonul de comand Open. n fereastra de dialog Table (avnd numele
tabelului) afiat se introduc n cmpurile de date definite datele corespunztoare pentru
fiecare nregistrare (tuplu). Dup terminarea introducerii acestor date se nchide fereastra
de dialog Table, folosind unul din modurile cunoscute i se revine n fereastra de dialog
Database.
Modurile Import Table i Link Table sunt moduri care se pot folosi pentru
crearea de tabele plecand de la date slavate intr-un alt format (cu ajutorul unei alte
aplicatii).
Astfel, se poate meniona c:
modul Import Table permite importul de obiecte i date din surse externe, cum ar
fi: Excel, XML, fiiere text sau din alte baze de date Access;
modul Link Table permite crearea de legturi ntre baza de date curent i tabele din
surse externe (oricare dintre cele menionate mai sus).
S ne reamintim...
Microsoft Access permite crearea tabelelor in mai multe moduri: Datasheet View, Design
View, Import Table respectiv Link Table.

4.4 Stabilirea relaiilor dintre tabele

Posibilitatea de creare i folosire a relaiilor dintre tabelele unei baze de date


constituie punctul forte al bazelor de date relaionale i al sistemelor de gestiune a bazelor
de date relaionale, printre care i Microsoft Access.
01:30 Pentru a avea acces simultan la datele din mai multe tabele ale unei baze de date
5 este necesar s se stabileasc relaiile standard dintre aceste tabele, folosind cmpuri de
date (atribute) cheie care sunt comune tabelelor pe care le leag. Aceste relaii trebuie s se
stabileasc nainte de completarea tabelelor cu nregistrri (tupluri) i de formularea
cererilor de interogare (Queries).
Relaiile standard (de tip 11, 1n, mn) corespund unor legturi tipice dintre
tabele i anume:
relaiile de tip 11 se stabilesc n cazul n care unei nregistrri dintr-un tabel i
corespunde o singur nregistrare dintr-un alt tabel, ceea ce nseamn c unei
nregistrri a cmpului de date cheie primar dintr-un tabel i corespunde o singur
nregistrare a unui cmp de date cu rol de cheie extern aparinnd nregistrrilor
dintr-un alt tabel;
relaiile de tip 1n se stabilesc n cazul n care unei nregistrri dintr-un tabel i
corespund mai multe nregistrri dintr-un alt tabel, ceea ce nseamn c aceeai
valoare a cmpului de date cheie primar dintr-un tabel se regsete ca nregistrare
a cmpului de date cu rol de cheie extern n mai multe nregistrri dintr-un alt
tabel;
relaiile de tip mn se stabilesc ca asocieri libere, iar cmpurile de date cu rol de
cheie primar au valori duplicate.

Stabilirea relaiilor de tip 11 i 1n se bazeaz pe respectarea restriciilor de


integritate referenial, restricii care garanteaz validitatea relaiilor existente ntre
nregistrrile aparinnd la tabele diverse.

Pentru stabilirea relaiilor dintre tabele este necesar s se deschid fereastra de


dialog Relationships (fig.4.7).
Aceast fereastr conine caseta de dialog cu bif denumit Enforce Referential
Integrity (fig.4.7), care se activeaz cnd:
cmpul de date din tabelul surs este o cheie primar;
cele dou cmpuri de date sunt de acelai tip n cele dou tabele;
cele dou tabele se gsesc n aceeai baz de date.
Figura 4.7 Crearea relatiilor intre tabele

S ne reamintim...
Relatiile intre tabele sunt de mai multe tipuri : 11, 1n, mn. Acestea se stabilesc inainte
de introducerea datelor in tabele prin utlizarea optinuii Relationships din toolbarul
aplicatiei Microsoft Access.

Folosirea optiunii Relationships conduce la:


...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

4.5. Rezumat
In aceasta unitate de invatare am prezentat modalitatea de creare a unei tabele
precum si modalitatea de stabilire a relatiilor intre tabele. Microsoft Access permite crearea
tabelelor in mai multe moduri: Datasheet View, Design View, Table Wizard, Import
Table respectiv Link Table. Pentru crearea relatiilor intre tabele se utilizeaza optiunea
Relationships din toolbar-ul principal al aplicatiei.

01:50
4.6. Test de autoevaluare a cunotinelor
(timp necesar : 20 minute)

1. Modul de creare a unui tabel care se aseamn cu lucrul n MS-Excel se numete:


a. Design View b. Datasheet c. Table Wizard d. Import Table

2. Pentru crearea ntr-un mod riguros a unui tabel se poate folosi, din fereastra Table,
opiunea:
a. Datasheet b. Design View c. Table Wizard d. Import Table

3. Pentru crearea unui tabel prin importarea datelor din alta sursa de date:
a. Design View b. Datasheet c. Table Wizard d. Import Table

4. Modurile Import Table i Link Table permit crearea de tabele baz de date folosind:
a.sistemul Help b.meniul Help c.folosirea unor surse de date externe d.experii
Access

5. Dup definirea cmpurilor de date ntr-un tabel din baza de date i specificarea
proprietilor acestora, urmeaz operaia:
a. completarea tabelului cu nregistrri b. deschiderea tabelului
c. consultarea tabelului d. salvarea tabelului

6. Modificarea structurii unui tabel din baza de date implic folosirea, din fereastra de
dialog Database, a opiunii:
a. Open b. Design c. New d. Preview

7. Pentru definirea unei relaii dintre un tabel i alte tabele ale unei baze de date, tabelul
trebuie s conin:
a. o cheie primar b. un cmp de date c. o proprietate
d. un tip de date

8. Dac la crearea unui tabel din baza de date nu a fost stabilit o cheie primar, atunci se
poate introduce automat:
a. un nou cmp de date ID b. o nou proprietate
c. o nou nregistrare d. un nou obiect

9. Includerea unui tabel ntr-o baz de date se poate efectua n fereastra de dialog:
a. Database b. Table c. Show Table d. Desing Table

10. Lungimea maxim a numelui unui cmp de date dintr-un tabel poate fi:
a. 8 caractere b. 64 caractere c. 255 caractere d.1024 caractere

Rspunsurile corecte la ntrebrile din testul de tip gril:


1. b 2. b 3. c 4. d 5. d 6. b 7. a 8. a 9. a 10. b

4.7. Test de evaluare a cunotinelor


Creati doua tabele denumite Produse, Furnizori cu urmatoarea schema:

Produse(CodProdus:Numeric, DenumireProdus: Text, CodFurnizor:Numeric, Cantitate:


Numeric)
Furnizori(CodFurnizor: Numeric, DenumireFurnizor: Text, Adresa: Text, CodFiscal:
Text)

Stabiliti apoi relatia (legatura) intre cele doua tabele.

4.8. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i practice,
Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru gestiunea
bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid prin
imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura Economic,
Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 5. GESTIUNEA OBIECTELOR QUERIES
Cuprins
5.1. Obiective
5.2. Competenele unitii de nvare
5.3. Notiunea de interogare
5.4. Tipuri de interogari
5.5. Operatii cu obiecte de tip interogare
5.6. Modificarea unui obiect de tip interogare
5.7. Alte tipuri de interogari
5.8. Rezumat
5.9. Test de autoevaluare a cunotinelor
5.10. Test de evaluare a cunotinelor
5.11. Bibliografie

5.1. Obiective
n aceast unitate de nvare se vor prezenta
Conceptul de cerere (Query) i tipuri de cereri (Queries);
Moduri de creare a unui obiect Query (n mod grafic, n mod implicit i n mod
SQL);
Operaiile care se pot efectua cu obiecte Queries;
Modul de efectuare a modificrii structurii unui obiect Query ntr-o baz de date;
Modul de efectuare a cmpurilor calculate i de includere n cererile de selecie.

5.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se poate crea un obiect Query, folosind unul din modurile afiate n
fereastra de dialog New Query;
Cum se poate modifica structura unui obiect de tip Query n funcie de cerinele
de interogare a bazei de date;
Cum se pot realiza cmpurile calculate n cererile de selecie n funcie de
specificul aplicaiilor.
Cum se poate lucra cu diferite tipuri de obiecte Queries n contextul cerinelor
de interogare a bazei de date.

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

5.3. Notiunea de interogare


Interogarea unei baze de date Access nseamn:
regsirea datelor nregistrate ntr-o tabel sau n mai multe tabele baz de date sau
chiar ntr-o alt cerere;
00:00 extragerea dintr-o tabel (cerere) sau din mai multe tabele (cereri) datele pe care
utilizatorul intenioneaz s le prelucreze n cadrul unor aplicaii.
Pentru efectuarea interogrilor n baza de date MS-Access pune la dispoziia
utilizatorilor obiectele de tip cerere (Queries).
Rezultatul unei interogri (cereri) se prezint sub forma unei foi de rspuns
dinamic denumit DynaSet, care exist fizic att ct dureaz interogarea (cererea).
Interogrile (cererile) sunt legate logic, astfel nct toate modificrile efectuate
asupra unor date afiate ntr-o interogare (cerere) sunt operate i n tabela sau tabelele
cu datele surs.
O interogare (cerere) se poate folosi pentru:
regsirea datelor nregistrate ntr-o tabel sau n tabelele baz de date;
efectuarea unor operaii de prelucrare (de exemplu, operaii de calcul) cu date din
tabelele bazei de date;
actualizarea datelor din baza de date, prin cereri de tip aciune;
pregtirea adecvat a datelor din baza de date pentru a fi vizualizate i / sau
tiprite sub form de formulare sau rapoarte;
realizarea de reprezentri agrafice, avnd ca surs de date o tabel de sintez a
datelor.

Furnizati mai multe detalii pentru noiunea de interogare si rspuns dinamic. Folosii
drept principal surs de informare Internetul.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
5.4 Tipuri de interogari
n MS-Access exist patru tipuri de interogri (cereri):
interogri de selecie;
interogri de analiz ncruciat;
00:20 interogri de aciune;
interogri parametrizate.
Interogrile de selecie permit utilizatorilor s extrag date dintr-o tabel sau
din mai multe tabele baz de date i / sau din alte interogri i s efectueze i operaii de
calcul.
Interogrile de analiz ncruciat permit s sinteti-zeze datele i rezultatele
obinute din calcule, sub forma unei foi de calcul tabelar.
Interogrile de aciune permit s creeze noi tabele i s actualizeze baza de
date.
Interogrile parametrizate permit s efectueze modi-ficarea dinamic a
criteriilor de cutare n baza de date.
Cele mai frecvent folosite n aplicaiile utilizatorilor sunt interogrile de selecie a
datelor din baza de date.

S ne reamintim...
Pentru efectuarea interogrilor n baza de date MS-Access pune la dispoziia
utilizatorilor obiectele de tip cerere (Queries). In MS-Access exista 4 tipuri de
interogari: de selectie, de analiza incrucisata, de actiune, parametrizate.
5.5 Operaii cu obiecte de tip interogare

Cu obiectele de tip interogare (cerere) se pot efectua operaiile urmtoare:


operaia de creare (construire);
00:30 operaia de folosire (deschidere i afiare) a datelor;
5 operaia de modificare (a definiiei cererii realizate prin operaia de creare).

Crearea unui obiect de tip interogare. Aceast operaie se poate efectua:


n mod grafic (cu interfa grafic);
n mod SQL.

n MSAccess crearea unui obiect de tip interogare (cerere) pornete selectand


Create din toolbar-ul aplicatiei apoi se selecteaza Query Wizard (activeaza asistentul
de creare a interogarilor) sau Query Design (permite creare interogarilor in modul de
proiectare). Selectarea optiunii Query Wizard conduce la afisarea ferestrei din figura
5.1 unde se alege modalitatea de creare efectiv a obiectului query, dintre cele cinci
variante afiate:
Simple Query Wizard;
Crosstab Query Wizard;
Find Duplicates Query Wizard;
Find Unmatched Query Wizard.

Figura 5.1 Fereastra New Query afind opiunile pentru crearea de obiecte Queries

Simple Query Wizard - permite crearea de obiecte query simple, fr restricii i


formulate pentru o singur tabel baz de date.
Crosstab QueryWizard - permite crearea de obiecte query din tabele ncruciate.
Find Duplicates Query Wizard - permite cutarea nregistrrilor duplicat.
Find Unmatched Query Wizard permite cutarea nregistrrilor fr
corespondent n cele dou tabele.

Pentru crearea unui obiect query de selecie in modul de proiectare se alege


Query Design din toolbar-ul aplicatiei. Dup activarea acestei opiuni se afieaz
fereastra de creare a obiectului Query i peste aceasta fereastr Show Table (figura
5.2).
Din structura ferestrei Show Table se poate observa c sursa de date pentru un
obiect query este reprezentat de:
una sau mai multe tabele baz de date;
unul sau mai multe obiecte query;
tabele i interogri (cereri) Access.

Astfel, trebuie s se selecteze obiectul surs, apoi prin click pe butonul Add s l
adauge n fereastra Select Query.
Figura 5.2 Fereastra Show Table afind tabelele pentru crearea unui obiect Query

Dup precizarea sursei de date, se nchide fereastra Show Table cu un clik pe


butonul Close de pe bara de titlu sau pe butonul de comand Close. Dac este, totui,
necesar se poate redeschide fereastra Show Table printr-un click pe pictograma Show
Table de pe bara de instrumente sau executnd opiunea Show Table din meniul
Query.
Fereastra Query este mprit n dou zone:
zona superioar n care se poate vizualiza structura obiectului query, adic
tabelele/interogrile surs de date i relaiile stabilite ntre acestea;
zona inferioar, grila Query Design, alctuit din urmtoarele elemente
structurale:
o Field: pentru specificarea numelui cmpului de date selectat;
o Table: pentru precizarea sursei de date;
o Sort: pentru a preciza, dac este cazul, ordinea aranjrii nregistrrilor n
funcie de cmpul de date selectat;
o Show: pentru nhibarea, dac este cazul, a afirii nregistrrilor din
cmpul de date selectat;
o Criteria: pentru precizarea unor eventuale criterii de selecie prin
folosirea unor expresii Acces corespunztoare;
o Or: pentru a preciza criterii de selecie alternative, folosind operatorul
Or.
Dup specificarea sursei de date, definirea obiectului query de selecie implic
parcurgerea unor etape de dialog n ordinea urmtoare:
specificarea cmpurilor de date n funcie de care se va realiza selecia
nregistrrilor, prin preluarea acestor cmpuri din bara derulant din rndul
Field (zona inferioar);
specificarea criteriului de selecie, prin introducerea unei expresii Access n
rndul Criteria, eventual i n rndul Or; expresia se poate tasta sau construi
folosind generatorul de expresii (Expression Builder), care se activeaz cu un
click pe opiunea Build de pe bara de instrumente;
specificarea, dac este cazul, i a unei operaii de sortare a nregistrrilor
selectate, prin activarea elementului Sort, apoi selectnd i executnd opiunea
(sensul) de sortare.
Dup definirea obiectului query urmeaz executarea acestui obiect (interogare
sau cerere), prin selectarea optiunii Desing din meniul principal al Access apoi dintre
modurile urmtoare:
executnd cu clik pe pictograma View, de pe bara de instrumente;
executnd un click pe pictograma Run de pe aceeai bar de instrumente;
exectnd opiunea Datashect (View) din meniul View;

S ne reamintim...
Obiectele Query se pot creea in doua moduri: Query Design, modalitate care permite
utilizatorului cea mai mare flexibilitate in definirea interogarii, si Query Wizard,
optiune care activeaza asistentul specializat in crearea interogarilor.

5.6 Modificarea unui obiect de tip interogare


Un obiect Query creat se poate modifica ulterior, operaie care const n:
introducerea de cmpuri de date noi (coloane Field);
01:30 tergerea unor cmpuri de date existente (deja definite);
modificarea unui criteriu de selecie sau de sortare;
modificarea opiunilor de afiare.

Fiecare dintre aceste moduri se execut procednd astfel:


un cmp de date nou se introduce selectnd cmpul naintea cruia se efectueaz
introducerea, apoi executnd un click pe opiunea Insert Column din meniul
Design;
un cmp de date existent se terge selectnd cmpul n cauz, apoi apsnd tasta
Delete sau executnd un click pe pictograma Cut de pe bara de instrumente,
respectiv pe opiunea Delete Column din meniul Design.

Dup ce a fost proiectat i eventual modificat, o interogare (cerere) trebuie


salvat, operaie care se poate executa cu opiunea Save din meniul File sau folosind
combinatia de taste Ctrl-S.
Dac operaia de salvare se efectueaz dup proiectare sau dup modificare
(dac salvarea este condiionat) utilizatorul este invitat s introduc de la tastatur pe
bara de text a ferestrei Save As, numele interogrii (cererii) i s selecteze de pe bara de
derulare tipul acesteia; implicit numele atribuit de Access acestui obiect este Query n,
unde n reprezint numrul obiectului, iar tipul este Query.
Obiectele de tip selecie pot conine i cmpuri de date calculate. Astfel de
cmpuri returneaz la executarea obiectului valoarea expresiilor Access asociate lor.
O expresie n Access este alctuit din elementele urmtoare:
operatori (aritmetici, de atribuire i comparare, logici, de concaternare i de
identificare);
constante (numerice; de tip text i dat calendaristic);
identificatori (nume de obiecte (tabele, cmpuri de date, formulare etc));
funcii (dat calendaristic, text; matematice, financiare, funcii diverse).
Expresiile MS-Access se pot folosi ntr-un obiect query de selecie drept
criteriu de selecie sau pentru a calcula anumii indicatori.
Obiectele query de selecie pot returna nregistrri din tabele sau alte interogri
de date care corespund nu numai unor anumite cereri ale cror criterii de selecie se pot
preciza de utilizatori n funcie de cerinele lor. Astfel de criterii de selecie se introduc
pe rndul Criteria, n locul unor expresii, sub form de mesaje incluse ntre paranteze
drepte, care se afieaz n momentul executrii interogrii (cererii), ca s se poat
introduce criteriile de selecie.
De asemenea, obiectele query de selecie pot returna nregistrri din tabele sau
interogri de date, nu numai n mod grafic, ci i n mod SQL. Astfel de obiecte, definite
n mod grafic se pot converti ntr-un bloc de cerere SQL. Trecerea din modul Design n
modul Datasheet (vizualizare) sau SQL se poate realiza din meniul View cu opiunea
SQL View.

5.7 Alte tipuri de interogri


n practica gestionrii bazelor de date MS-Access, utilizatorii mai pot folosi i
alte tipuri de interogri (cereri), n funcie de anumite cerine i anume:
interogri (cereri) de sintetizare a datelor;
02:20 interogri (cereri) de cutare a nregistrrilor duplicate;
interogri (cereri) de cutare a nregistrrilor (tuplurilor) fr corespondent;
interogri (cereri) ncruciate;
interogri (cereri) de tip aciune:
o generatoare de tabele;
o pentru adugare de nregistrri n tabele;
o pentru tergerea de nregistrri din tabele;
o pentru actualizarea de nregistrri din tabele.

Interogarile reprezinta:
...
...
...

5.8 Rezumat
Interogarea unei baze de date Access nseamn:
regsirea datelor nregistrate ntr-o tabel sau n mai multe tabele baz de date
sau chiar ntr-o alt cerere;
extragerea dintr-o tabel (cerere) sau din mai multe tabele (cereri) datele pe care
utilizatorul intenioneaz s le prelucreze n cadrul unor aplicaii.

n MS-Access exist patru tipuri de interogri (cereri):


interogri de selecie;
02:50
interogri de analiz ncruciat;
interogri de aciune;
interogri parametrizate.

n MSAccess crearea unui obiect de tip interogare (cerere) pornete selectand


Create din toolbar-ul aplicatiei apoi se selecteaza Query Wizard (activeaza asistentul
de creare a interogarilor) sau Query Design (permite creare interogarilor in modul de
proiectare).
5.9. Test de autoevaluare a cunotinelor
(timp necesar : 20 minute)

1. Obiectele MS-Access care conin proceduri definite de utilizator i scrise n VBA


se numesc:
a. Queries b. Forms c. Reports d. Modules

2. Obiectele definite de utilizator care reprezint expresia modelului relaional al bazei


de date MS-Access se numesc:
a. Reports b. Forms c. Queries d. Tables

3. Obiectele prin care utilizatorul poate extrage din baza de date MS-Access numai
datele necesare prelucrrii se numesc:
a. Tables b. Queries c. Forms d. Reports

4. Obiectele care permit introducerea datelor de la tastatur n baza de date MS-


Access, vizualizarea lor etc., se numesc:
a. Tables b. Queries c. Forms d. Reports

5. Obiectele care permit formatarea i afiarea datelor din baza de date MS-Access sub
form de documente se numesc:
a. Tables b. Queries c. Forms d. Reports

6. Obiectele MS-Access organizate structural din aciuni care se execut la declanarea


unui eveniment se numesc:
a. Queries b. Forms c. Reports d. Macros
7. Pentru realizarea interogrilor SGBD, MS-Access pune la dispoziia utilizatorilor:
a. Tables b. Queries c. Forms d. Reports

8. Rezultatul realizrii unei interogri se prezint sub forma unei foi de rspuns
dimamic denumit:
a. DynaSet b. Crosstab c. Criteria d. Column

9. Funcia de creare de noi tabele i de actualizare a bazei de date se numesc cereri:


a. de selecie b. de aciune c. de analiz ncruciat d. Parametrizate

10. Obiectele bazelor de date Access prin care se pot efectua aplicaii n modul interfa
QBE se numesc:
a. tabele b. interogri c. formulare d. rapoarte

Rspunsurile corecte la ntrebrile din testul de tip gril:


1. d 2. d 3. b 4. c 5. d 6. d 7. b 8. a 9. b 10. b

5.10. Test de evaluare a cunotinelor

Care sunt tipurile de interogari care se pot crea in MS-Access?

Care sunt subtipurile interogarii de tip actiune?


5.11. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid prin
imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura Economic,
Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 6. GESTIUNEA OBIECTELOR FORMS
Cuprins
6.1. Obiective
6.2. Competenele unitii de nvare
6.3. Definirea si clasificarea formularelor
6.4. Crearea si modificarea formularelor
6.5. Structura formularelor
6.6. Proprietatile formularelor
6.7. Controalele in formulare
6.8. Proprietatile controalelor
6.9. Formulare/Subformulare
6.10. Rezumat
6.11. Test de autoevaluare a cunotinelor
6.12. Test de evaluare a cunotinelor
6.13. Bibliografie

6.1. Obiective
n aceast unitate de nvare se vor prezenta:
modurile de creare a unui obiect Form i de definire a elementelor vizuale
(controale);
avantajele oferite de folosirea obiectelor de tip Form, pentru actualizarea
datelor din obiectele Tables;
clasificraea obiectelor Forms dup criteriile: sursa de date, modul de afiare,
modul de interaciune;
proprietile obiectelor Forms pe categorii (Format, Data, Event, Other) i a
modului de setare pentru a fi preluate n formulare i subformulare.

6.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se poate crea un obiect Form, folosind unul din modurile afiate n
fereastra de dialog New Form;
Cum se poate modifica structura unui obiect de tip Form n funcie de cerinele
de gestiune a bazei de date;
Cum se pot seta (stabili) proprietile obiectelor Forms n funcie de specificul
aplicaiilor;
Cum se poate lucra cu formulare i subformulare n funcie cerinele de gestiune
a bazei de date.

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

6.3. Definirea i clasificarea formularelor

Formularele (Forms) sunt machete (ferestre) folosite pentru efectuarea de


operaii tipice (curente) cu datele din tabelele bazei de date i anume:
00:00 adugri de nregistrri (tupluri) n tabelele bazei de date MS-Access;
tergeri de nregistrri (tupluri) din tabelele bazei de date MS-Access;
modificri privind coninutul unor nregistrri din tabelele bazei de date;
consultri privind datele din nregistrrile tabelelor bazei de date.
Pentru efectuarea acestor operaii un formular (form) trebuie s conin diferite
elemente grafice (obiecte vizuale) denumite controale.

Furnizati mai multe detalii pentru noiunea de controale grafice. Folosii drept
principal surs de informare Internetul.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Folosirea formularelor pentru actualizarea datelor din tabelele bazei de date are
avantaje semnificative fa de actualizarea n mod direct, prin deschiderea acestora
(modul Open) din fereastra bazei de date. Astfel de avantaje sunt:
existena unei interfee prietenoase, realizat prin diferite controale (butoane,
casete de text etc) sau prin alte elemente grafice;
posibilitatea definirii unor reguli de validare suplimentare celor definite la
nivelul tabelelor (de exemplu, restriciile impuse de necesitatea corelrii datelor
din tabelele diferite;
posibilitatea actualizrii mai multor tabele printr-un singur formular, operaie
realizabil folosind subformulare.

Formularele se pot clasifica dup diferite criterii:


a) dup sursa de date:
formulare legate (bound) care permit afiarea sau actualizarea datelor din
tabelele bazei de date;
formulare nelegate (unnbound) care sunt destinate pentru afiarea sau
editarea unor date care nu sunt stocate n tabelele bazei de date; astfel de
formulare se folosesc de obicei pentru:
afiarea de mesaje;
vizualizarea unor informaii despre sistem;
preluarea datelor pentru afiarea unui raport etc;
b) dup modul de afiare:
formulare singulare (single forms), care afieaz numai nregistrarea curent;
formulare continui (continuous forms), care permit afiarea mai multor
nregistrri;
formulare foaie de calcul (datasheet forms), care afieaz datele din nregistrri
ca ntr-o foaie de calcul (pe linii i coloane);
formulare de tip grafic (chart forms), care afieaz datele din nregistrri sub
form de grafic;
c) dup modul de interaciune:
formulare modale sau de dialog, care permit accesarea obiectelor existente
numai n ferestre nchise (closed) sau ascunse (hiden);
formulare nemodale, care permit s se activeze i alte ferestre.
n fereastra de dialog All Access Objects, formularele sunt afiate n grupa de
obiecte Forms. n aceast fereastr cu formularele se pot executa operaii prin trei
butoane de comand:
New, pentru crearea unui nou formular;
Design, pentru modificarea unui formular existent;
Open, pentru deschiderea unui formular existent i afiarea datelor coninute.
6.4 Crearea i modificarea formularelor

Crearea unui formular (form)


Pentru crearea unui formular nou se procedeaz astfel:
00:40 Din meniul principal se alege optiunea Create;
Din toolbar-ul Form (fig. 6.1) se selecteaz una din opiunile (variantele)
disponibile afiate:
FORM, dac crearea formularului nu va fi asistat de Access;
Form Wizard, dac crearea formularului este asistat de Access prin Wizard;
AutoForm:Columnar, dac MS-Access va genera automat un formular
singular (single form);
AutoForm: Tabular, dac Access va genera automat un formular continnu
(continuous form);
AutoForm: Datasheet, dac MS-Access va genera automat un formular foaie
de calcul (datasheet);
Chart Wizard, dac crearea formularului de tip grafic (chart) va fi asistat de
Access prin Wizard;
Pivot Table Wizard, dac crearea formularului va include o tabel pivot
generat de programul Excel prin asistare Wizard.

Figura 6.1. Toolbar-ul Form afind opiunile pentru crearea unui obiect Form

Fiecare dintre opiuni (variante) implic parcurgerea n unor etape determinante


i efectuarea unor operaii specifice.
Opiunea (varianta) Design View este folosit mai puin, implicnd generarea
unui formular gol, n care utilizatorul trebuie s i defineasc controalele proprii.
Astfel, cmpurile de date din sursa de date se pot afia prin preluarea acestora,
folosind tehnica drag and drop, din fereastra afiat Field List (opiunea Field List din
meniul View sau pictograma cu acelai nume de pe bara de instrumente) i depunerea
n interiorul formularului (de regul n Detail).
n practic, opiunea folosit frecvent este Form Wizard. Folosirea acestei
opiuni (variante) implic, atunci cnd sursa de date este o tabel, procedura
urmtoare:
Din fereastra afiat FormWizard (fig. 6.2) se selecteaz cmpurile de date din
sursa de date, care vor fi afiate pe formular, acionnd butonul cu simbolul > sau >>;
Se acioneaz butonul Next > i din lista afiat se alege tipul de formular i
anume: Columnar, Tabular, Datasheet, Justified, care este nsoit i de modul de
afiare a datelor;
Se acioneaz din nou butonul Next i din lista afiat, care conine o diversitate de
stiluri de afiare, se selecteaz stilul dorit (implicit Standard);
Se acioneaz n continuare butonul Next i n bara de text afiat se definete
titlul formularului (implicit poate fi titlul sursei de date);
Se acioneaz butonul Finish, avnd ca rezultat afiarea ferestrei preciznd modul
n care va fi deschis formularul, pentru folosirea curent sau modificarea ulterioar.
Figura 6.2. Fereastra Form Wizard pentru crearea unui obiect Form

Figura 6.3. Fereastra Form Wizard forma grafic pentru crearea unui obiect Form
Modificarea unui formular (form)
Pentru modificarea unui formular existent se poate proceda astfel:
Din fereastra All databse Objects se selecteaz grupa de obiecte Forms i apoi
formularul;
Se efectueaza click drepata pe numele formularului si se acioneaz butonul
Design;
n fereastra afiat Form se procedeaz la modificarea:
structurii formularului;
elementelor din structura formularului;
proprietilor formularului.
S ne reamintim...
Formularele se pot crea in mai multe moduri: FORM, dac crearea formularului nu va
fi asistat de Access, Form Wizard, dac crearea formularului este asistat de Access
prin Wizard, AutoForm:Columnar, dac MS-Access va genera automat un formular
singular (single form), AutoForm: Tabular, dac Access va genera automat un
formular continnu (continuous form), AutoForm: Datasheet, dac MS-Access va
genera automat un formular foaie de calcul (datasheet), Chart Wizard, dac crearea
formularului de tip grafic (chart) va fi asistat de Access prin Wizard, Pivot Table
Wizard, dac crearea formularului va include o tabel pivot generat de programul
Excel prin asistare Wizard.

6.5 Structura formularelor


Un formular Access este o fereastr Access, care ca orice fereastr n sistemele
Windows conine elementele structurale definitorii. Astfel de elemente ale unui
formular (Design) sunt urmtoarele:
01:30 a) Elemente comune (standard) ale ferestrei:
5 Title bar (bara de titlu), care conine: meniul sistem, titlul formularului i butoanele:
minimizare, maximizare/ restaurare, nchidere;
Border (bordura sau chenarul), care delimiteaz formularul pe ecran;
Scroll bars (barele de defilare), pe vertical i pe orizontal;
b) Elemente specifice ferestrei formular (seciuni form):
Form Header (antetul formularului), care conine titlul formularului sau alte
informaii despre folosirea formularului; afiarea acestui element depinde de tipul
formularului (dup modul de afiare);
Page Header (antetul de pagin), care se afieaz numai cnd formularul este tiprit
la imprimant; totui n timpul proiectrii acest element se poate afia validnd
opiunea Page Header/Footer din meniul View;
Detail (detaliu), care conine toate controalele necesare afirii/editrii nregistrrilor
din formular;
Page Footer (subsolul de pagin), care conine data curent, numrul de pagin i
alte informaii; acest element este afiat numai la tiprirea formularului;
Form Footer (subsolul formularului), care este asemntor cu elementul Page
Header, conine diferite informaii (totalul general, controalele etc);
Navigation Buttons (butoane de navigare), care pot fi folosite pentru deplasarea n
cadrul nregistrrilor din formular; acest element este afiat numai n timpul consultrii
formularului (n modul Open).

S ne reamintim...
Elemente specifice ferestrei formular sunt:antetul formularului, antetul de pagina, zona
de detaliu, subsolul de pagina, subsolul formularului si butoane de navigare.

6.6 Proprietile formularelor


Formularele, ca i alte obiecte ale unei baze de date Access (tables, queries,
reports etc), sunt descrise printr-un set de proprieti i metode.
Proprietile formularelor sunt disponibile:
01:30 n timpul proiectrii formularelor (n modul Design) prin fereastra
Form/Properties, care se poate afia prin activarea opiunii Properties din meniul
View sau executnd pe pictograma Properties de pe bara de instrumentare;
n timpul consultrii formularelor (n modulul Open) prin obiectele de tip macro
(Macros) sau prin limbajul VBA.
Metodele de descriere a formularelor pot fi disponibile, att n cursul proiectrii,
ct i n cursul consultrii, numai prin obiecte macro sau prin limbajul VBA.
n fereastra Form/Properties, proprietile formularului curent sunt afiate n
cadrul unor grupe distincte:
Format, care conine proprieti referitoare la dimen-siune, aspect, coordonate
de afiare etc;
Data, care conine proprieti referitoare la sursa de date i la nregistrrile
aferente;
Event, care conine evenimentele ce pot fi tratate prin obiecte de tip macro sau
prin limbajul VBA;
Other, care conine diverse alte proprieti;
All, care conine toate proprietile care sunt aferente formularelor.
Stabilirea (setarea) unei proprieti se poate efectua prin:
tastarea valorii respective a proprietii;
selectarea valorii respective dintr-o list derulant;
folosirea asistentului Access, cnd este disponibil, prin activarea pictogramei
Build (Wizard) afiat pe bara de instrumente.

6.7 Controalele n formulare


Controalele, denumite i elemente vizuale, sunt obiecte de tip grafic, incluse n
formulare sau rapoarte, n scopul editrii/afirii datelor sau executrii unor operaii
(exemplu, lucrul cu etichete, cu casete de text, cu butoane etc).
02:20 Includerea controalelor n formulare sau rapoarte este posibil numai atunci
cnd sunt create sau modificate, astfel:
se execut opiunea Toolbox din meniul View sau se activeaz pictograma Toolbox
de pe bara de instrumente;
din fereastra Toolbox afiat se selecteaz butonul aferent controlului dorit de
utilizator;
se descrie cu mouse-ul o suprafa dreptunghiular n interiorul formularului,
pentru a defini poziia i dimensiunea controlului respectiv.
Controalele se pot clasifica dup diferite criterii:
a) Dup rolul ndeplinit:
controale pentru editarea i afiarea datelor (exemple: casetele text, etichetele
etc);
controalele pentru executarea unor aciuni (exemplu: butonul de comand);
controale pentru afiarea graficelor (exemple: imagini, obiecte cadru etc.);
b) Dup sursa de date:
controale legate (bounds); sunt controale care afieaz datele din cmpuri
(exemplu: o caset de text ce va actualiza cmpul Dat factur din tabela Factur);
controale nelegate (unbounds); sunt controale indepen-dente de realizrile
cmpurilor; nu permit actualizarea lor;
c) Dup structur:
controale elementare (exemple: butoane, casete text etc);
controale container, care nglobeaz alte controale (exemple :grup de opiuni,
Control Tag etc).

6.8 Proprietile controalelor


Proprietile unui control sunt afiate n fereastra Properties, atunci cnd
controlul respectiv este selectat. La fel ca la formulare, metodele controalelor sunt
disponibile numai prin intermediul obiectelor macro sau modulelor VBA.
02:35 Dintre proprietile controalelor se pot meniona:
proprieti din categoria Format: Format, Decimal Places, Caption, Visible, Left,
Top, Width, Height, etc.;
proprieti din categoria Data: Control Source, Input Mask, Default Value,
Validation Rule, Validation Text, Enabled, Locked;
proprieti din categoria Event, care conin denumirile funciilor, procedurilor,
evenimentelor sau macro-urilor; cele mai folosite sunt: Before Update, Change, Enter,
Exit;
alte proprieti: Name, Status Bar Text, Tab Stop, Tab Index, Control Tip Text.
Pentru crearea unor controale complexe (exemple: casete combinate, casete de tip list
etc), utilizatorul poate fi asistat de programele control wizards.

6.9 Formulare/subformulare
Subformularele au rolul de a actualiza mai multe tabele prin intermediul unei
singure ferestre (formular).
Subformularele sunt create n general pentru anumite tabele dependente (tabele
02:45 n care cmpul de date comun este cheia extern), din cadrul unei relaii de tip1-n.
Un formular se poate ngloba (include) n cadrul altui formular, primul
devenind subformular, iar al doilea formular principal.
Un formular poate conine oricte subformulare, dar un subformular poate
conine, la rndul su, cel mult un alt subformular; sunt admise maxim trei niveluri de
imbricare a formularelor.
Folosirea subformularelor ofer utilizatorilor unele avantaje:
posibilitatea actualizrii mai multor tabele dintr-un singur formular;
posibilitatea sincronizrii automate a subformularului cu formularul principal,
operaie care const n:
actualizarea automat a cmpului cheie extern din subformular, cu valoarea
existent n cmpul cheie primar din formularul principal,
filtrarea automat a nregistrrilor din subformular, n funcie de valoarea
cheii primare din formularul principal.

Proprietatile formularelor sunt urmatoarele:


...
...
...

6.10 Rezumat
Formularele (Forms) sunt ferestre folosite pentru efectuarea de operaii tipice
cu datele din tabelele bazei de date: adugri de nregistrri, tergeri de nregistrri,
modificri privind coninutul unor nregistrri din tabelele bazei de date, consultri
privind datele din nregistrrile tabelelor bazei de date.
Formularele se pot clasifica dup diferite criterii: dup sursa de date, dup
modul de afiare, dup modul de interaciune.
02:55 Formularele, ca i alte obiecte ale unei baze de date Access (tables, queries,
reports etc), sunt descrise printr-un set de proprieti i metode.
Controalele, denumite i elemente vizuale, sunt obiecte de tip grafic, incluse n
formulare sau rapoarte, n scopul editrii/afirii datelor sau executrii unor operaii
(exemplu, lucrul cu etichete, cu casete de text, cu butoane etc).
Subformularele au rolul de a actualiza mai multe tabele prin intermediul unei
singure ferestre (formular).Subformularele sunt create n general pentru anumite tabele
dependente (tabele n care cmpul de date comun este cheia extern), din cadrul unei
relaii de tip1-n.

6.11. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. Obiectele MS-Access folosite pentru actualizarea datelor din tabelele unei baze de
date MS-Access se numesc:
a. Queries b. Forms c. Reports d. Modules

2. Obiectele definite ca formulare i subformulare ale bazei de date MS-Access se


numesc:
a. Reports b. Forms c. Queries d. Tables

3. Obiectele prin care utilizatorul poate actualiza datele din mai multe tabele ale unei
baze de date MS-Access se numesc:
a. Tables b. Queries c. Forms d. Reports

4. Obiectele care permit introducerea datelor de la tastatur n tabelele unei baze de


date MS-Access, se numesc:
a. Tables b. Queries c. Forms d. Reports

5. Obiectele care permit vizualizarea singular a datelor din bazele de date MS-Access,
nregistrare dup nregistrare, se numesc:
a. Tables b. Queries c. Forms d. Reports

6. Obiectele MS-Access organizate structural din formulare i subformulare, pe mai


multe nivele, se numesc:
a. Queries b. Forms c. Reports d. Macros

7. Pentru introducerea datelor n tabelele unei baze de date, nsoit de operaii de


validare, MS-Access pune la dispoziia utilizatorilor obiectele:
a. Tables b. Queries c. Forms d. Reports

8. Rezultatul includerii unui formular ntr-un alt formular se prezint sub forma unei
structuri denumit:
a. structur ierarhic b. structur paralel c. coloan d. rnd

9. Opiunea de creare a unui obiect Form, prin proiectarea de ctre utilizator fr


asisten wizard, se numete:
a. Design View b. Form Wizard c. Chart Wizard d. Pivot Table Wizard

10. Selectarea sursei de date pentru crearea unui obiect de tip Forms este obligatorie
dac se folosesc opiunile:
a. Design View b. Form Wizard c. Auto Form d. Chart Wizard

Rspunsurile corecte la ntrebrile din testul gril:


1. b 2. b 3. c 4. c 5. c 6. b 7. c 8. a 9. a 10. a
6.12. Test de evaluare a cunotinelor

Care este rolul subformularelor?

Care sunt propeitatile controalelor? Dar ale formularelor?

6.13. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid
prin imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura
Economic, Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 7. GESTIUNEA OBIECTELOR REPORTS
Cuprins
7.1. Obiective
7.2. Competenele unitii de nvare
7.3. Notiuni generale
7.4. Crearea si modificarea rapoartelor
7.5. Afisarea si tiparirea raportelor
7.6. Proprietatile rapoartelor
7.7. Proprietatile sectiunilor din rapoarte
7.8. Controle calculate
7.9. Rezumat
7.10. Test de autoevaluare a cunotinelor
7.11. Test de evaluare a cunotinelor
7.12. Tema de cotrol
7.13. Bibliografie

7.1. Obiective
n aceast unitate de nvare se vor prezenta:
Definirea specificului obiectelor Reports i prezentarea modurilor de creare a unor
astfel de obiecte n efectuarea de aplicaii cu baze de date MS-Access;
Prezentarea particularitilor obiectelor de tip Report n gestiunea bazelor de date
MS-Access;
Prezentarea clasificrii obiectelor Reports n funcie de diferite criterii (dup sursa
de date, dup modul de afiare);
Prezentarea proprietilor obiectelor Forms pe categorii (Format, Data, Event,
Other) i a modului de setare pentru a fi preluate n rapoarte i seciuni de rapoarte.

7.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se poate crea un obiect Report, folosind unul din modurile afiate n fereastra
de dialog New Report;
Cum se poate modifica structura unui obiect Report n funcie de cerinele de
gestiune a bazei de date;
Cum se pot seta (stabili) proprietile obiectelor Reports n funcie de specificul
aplicaiilor;
Cum se poate lucra cu rapoarte i seciuni de rapoarte n funcie cerinele de
gestiune a bazei de date.

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

7.3. Noiuni generale

Rapoartele sunt obiecte ale bazelor de date Access destinate pentru


afiarea/tiprirea datelor i/sau rezultatelor prelucrrii acestor date din tabele sau cereri
00:00 de interogare.
Prin coninutul i forma de prezentare, rapoartele sunt produsele finite ale
aplicaiilor cu obiecte ale bazelor de date Access. n consecin, spre deosebire de
formulare, datele din rapoarte nu pot fi editate.
Rapoartele se pot clasifica dup diferite criterii:
Dup sursa de date:
rapoarte legate (bound), care conin date provenind din tabele sau cereri de
interogare;
rapoarte nelegate (unbound), care nu sunt asociate unor surse de date, fiind
folosite, de regul, ca nite containre pentru subrapoarte construite din tabele i/sau
interogri ntre care nu au fost definite relaii;

Dup forma de afiare:


rapoarte de tip Columnar, n care se afieaz datele din nregistrri pe o singur
coloan;
rapoarte de tip Tabular, care afieaz datele din fiecare cmp de date ntr-o
coloan distinct;
rapoarte de tip Chart, care conin diferite tipuri de grafice, folosite ca form de
reprezentare a datelor.

Rapoartele au o structur asemntoare cu aceea a formularelor, existnd


elemente comune i anume:
Seciunile din formulare sunt prezente i n rapoartele ce conin elementele:
Report Header/Footer, care conine date ce se afieaz pe prima pagin,
respectiv ultima pagin;
Page Header/Footer, care conine date ce se afieaz la nceputul, respectiv
sfritul fiecrei pagini;
Detail, n care se afieaz nregistrrile din sursa de date a raportului;
Controalele folosite pentru proiectarea formularelor sunt disponibile, n general,
i pentru crearea rapoartelor;
Subrapoartele pot fi definite n acelai mod n care sunt definite formularele.
ntre rapoarte i formulare exist i deosebiri, care, n principal, sunt
urmtoarele:
rapoartele sunt obiecte ale bazei de date Access destinate numai pentru afiarea
sau tiprirea de date sau de rezultate ale prelucrrii acestor date din tabele i/sau
interogri, deci coninutul rapoartelor nu poate fi editat;
unele dintre controalele folosite pentru proiectarea formularelor nu sunt
funcionale i pentru crearea rapoartelor (de exemplu, butoanele de comand, casetele
list, etc), deoarece nu au nici un fel de utilitate n cadrul rapoartelor;
proprietile din categoria Event nu sunt disponibile pentru controale, ci pentru
rapoarte i seciunile din rapoarte.

Furnizati mai multe detalii clasificarea rapoartelor. Folosii drept principal surs de
informare Internetul.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

7.4 Crearea i modificarea rapoartelor

Crearea rapoartelor
00:40 Crearea rapoartelor constituie o activitate tipic de exploatare a unei baze de
date MS-Access care, ca i n cazul formularelor, poate s fie permanent asistat de
wizard. Astfel create, rapoartele satisfac, n general, i cele mai complexe cerine ale
utilizatorilor, aa nct sunt foarte rare situaiile n care este necesar modificarea unui
raport generat n mod automat.
Pentru crearea unui raport se poate proceda astfel:
Din fereastra afiat Open se selecteaz sursa (baza) de date;
Din toolbar-ul CREATE se acioneaz butonul de comand Report (fig.7.1);

Figura7.1. Toolbar-ul Create afind grupul de obiecte Reports


Din fereastra New Report se selecteaz i se execut una din opiunile
(variantele) urmtoare (fig.7.2):
Report Design, dac crearea raportului se execut fr asisten Wizard, adic de
ctre utilizatorul nsui;
Report Wizard, dac crearea raportului este asistat de Wizard, ndrumnd
utilizatorul pentru efectuarea aciunilor necesare (alegerea cmpurilor de date,
gruparea datelor etc.);
Dintre aceste opiuni cea mai frecvent folosit n practic este Report Wizard,
deoarece utilizatorul are posibilitatea s selecteze cmpurile de date care vor fi afiate
n raport, s aleag formatul de afiare a datelor etc.

Figura 7.2. Fereastra Report Wizard

Pentru crearea unui raport, folosind opiunea Report Wizard, se procedeaz


astfel:
Din fereastra afiat Report Wizard se selecteaz cmpurile de date din sursa de
date care trebuie incluse n raport, folosind butoanele de selecie cu simbolul >,
respectiv >> apoi se acioneaz butonul de comand Next> (fig.7.2);
Din aceeai fereastr afiat Report Wizard se definesc cmpurile de date n
funcie de care se vor grupa datele n raport (sunt admise cel mult trei niveluri de
grupare), apoi se acioneaz butonul de comand Next >;
Din fereastra Report Wizard, din casetele de text cu butoane de derulare, se aleg
cmpurile de date n funcie de care vor fi sortate datele, n sens cresctor sau
descresctor, n cadrul grupurilor stabilite anterior (se admit cel mult patru cmpuri de
sortare). n continuare, se acioneaz butonul de comand Summary Options, dac
utilizatorul intenioneaz s se calculeze anumii indicatori n sumar (sintetici), sau
butonul de comand Next >, dac nu dorete s se calculeze astfel de indicatori.
Dac s-a acionat butonul Summary Options, din fereastra afiat Summary
Options se aleg indicatorii de sumarizat (Sum, Avg, Min, Max) i cmpurile de date n
funcie de care s se efectueze sumarizarea datelor, se precizeaz modul de afiare (n
detaliu i sumar, numai n sumar) i se valideaz, dac este cazul, calcularea ponderii
subtotalurilor n cadrul totalului, apoi se acioneaz butonul de comand OK, avnd ca
efect reafiarea ferestrei Report Wizard. Dac nu s-a acionat butonul de comand
Summary Options, ci butonul de comand Next > se menine afiat fereastra Report
Wizard;
Din fereastra Report Wizard se stabilete modul de afiare/tiprire a raportului,
selectnd din cele ase moduri prestabilite modul dorit de utilizator (modul implicit
este Stepped (n trepte, pe total i subtotaluri)). n aceast etap se mai poate selecta
modul de aranjare n pagin a raportului (Portrait aranjare n pagin orientat
vertical, respectiv Landscape aranjare n pagin orientat orizontal).
De asemenea, n aceast etap utilizatorul mai poate opta pentru modificarea
limii cmpurilor de date, astfel nct toate coloanele raportului s ncap n pagin,
activnd caseta de validare Adjust the field width so all field fit on a page. Aceast
etap se ncheie prin acionarea butonului de comand Next >.
Din aceeai fereastr afiat Report Wizard se alege stilul de afiare i/sau
tiprire a raportului din cele ase stiluri predefinite (stilul implicit este Corporate
(corporativ, constituit, organizat)). Aceast etap se ncheie acionnd butonul de
comand Next >;
Din fereastra nc afiat Report Wizard se stabilesc ultimele detalii ale
raportului: titlul raportului (implicit acest titlu este cel al sursei de date), previzionarea
raportului sau modificarea proiectrii raportului etc. Aceast etap, i implicit
procedura de creare a raportului, se ncheie acionnd butonul de comand Finish.
Dup parcurgerea acestor etape ale procedurii de creare a unui obiect Report,
folosind opiunea (varianta) ReportWizard, pe ecranul monitorului se afieaz raportul
cu elementele structurale stabilite. Raportul poate fi ulterior tiprit la imprimant ca
orice alt document, cu opiunea Print din meniul File sau activnd pictograma Print.
Crearea rapoartelor folosind opiunea Design View este puin folosit n practic,
deoarece solicit utilizatorul s desfoare o activitate laborioas. Totui, dac se
folosete aceast opiune, rezultatul obinut este generarea unnui raport gol, n care
utilizatorul poate crea controale pentru fiecare cmp de date, controale calculate etc.

S ne reamintim...
Crearea unui raport se poate efectua in doua moduri: Report Design, dac crearea
raportului se execut fr asisten Wizard, respectiv Report Wizard, dac crearea
raportului este asistat de Wizard, ndrumnd utilizatorul pentru efectuarea aciunilor
necesare (alegerea cmpurilor de date, gruparea datelor etc.);
7.5 Afiarea i tiprirea rapoartelor

Pentru afiarea i vizualizarea unui obiect Report se procedeaz astfel:


Dintre numele rapoartelor afiate n grupul de obiecte Reports se selecteaz
01:30 numele raportului care trebuie afiat;
5 Dintre cele trei butoane de selecie se acioneaz prin click dreapta butonul
Open/Preview, dup care se afieaz pe ecran raportul n cauz.
Aceast procedur se poate folosi att cnd raportul este deschis n modul
Open, ct i n modul Design.
Pentru tiprirea la imprimant a unui raport se poate proceda astfel:
Dac raportul este nchis, atunci se selecteaz grupul de obiecte Reports, apoi
numele raportului de tiprit, dup care se activeaz opiunea Print din meniul File sau
Print de pe bara de instrumente;
Dac raportul este deschis n modul Design sau n modul Preview, atunci se poate
folosi opiunea Print din meniul File sau pictograma Print de pe bara de instrumente.

Figura 7.3 Ferestra Reports

7.6 Proprietile rapoartelor

Ca i n cazul formularelor, proprietile rapoartelor se pot stabili (seta) prin


intermediul ferestrei Properties, iar metodele asociate unui raport pot fi disponibile
01:50 numai prin intermediul obiectelor de tip macro (macros) sau de tip module VBA
(modules).
Proprietile folosite frecvent n rapoarte se pot grupa n categoriile:
Format (Page Header, Page Footer, Picture);
Data (Record Source, Filter, Filter On, Order By On);
Event (Open, Close, No Data);
Other (Records Locks, Fast Laser Printing.
7.7 Proprietile seciunilor din rapoarte

Cele mai importante proprieti sunt din categoriile:


Format: Force New Page (None, Before Section, After Section, Before &
02:10 After
Eveniment:
o Format
o Print
o Retreat

7.8 Controale calculate


Ca la formulare, controalele calculate sunt create prin nscrierea expresiei de
calcul n proprietatea Control Source.
Exemple:
02:20 = [Stoc-iniial] + [Intrri] [Ieiri] expresie pentru calcul stocului final i afiarea n
raport a rezultatului obinut;
= [Stoc-final]*[Pre-unitar] expresie pentru calculul valorii stocului final i afiarea n
raport a rezultatului.

Subtotalurile
Se obin parcurgnd etapele urmtoare:
Se afieaz fereastra Sorting an Grouping executnd opiunea View-Sorting and
Grouping din meniul Access;
Se selecteaz cmpul (cmpurile) n funcie de care se grupeaz datele n coloana
Field/Expresion;
Se selecteaz una din proprieti sau ambele proprieti GroupHeader i
GroupFooter pe valoarea Yes;
Se creaz o caset text n zona subsol (footer) a grupului;
Se selecteaz proprietatea Control Source a noului control cu expresia
= Sum ( [Nume Cmp] )
Se seteaz proprietatea Running Sum a casetei text pe valoarea No.

Totalurile generale
Se obin prin crearea unei casete text cu aceleai proprieti ca ale casetei
descris anterior, n zona de subsol a raportului (ReportFooter).

Proprietatile raportelor sunt urmatoarele:


...
...
...

7.9 Rezumat
Rapoartele sunt obiecte ale bazelor de date Access destinate pentru
afiarea/tiprirea datelor i/sau rezultatelor prelucrrii acestor date din tabele sau cereri
de interogare.
Rapoartele au o structur asemntoare cu aceea a formularelor, avnd
urmatoarele sectiuni:
Report Header/Footer, care conine date ce se afieaz pe prima pagin,
respectiv ultima pagin;
Page Header/Footer, care conine date ce se afieaz la nceputul, respectiv
02:55 sfritul fiecrei pagini;
Detail, n care se afieaz nregistrrile din sursa de date a raportului;
Crearea unui raport se poate efectua in doua moduri: Report Design, dac
crearea raportului se execut fr asisten Wizard, respectiv Report Wizard, dac
crearea raportului este asistat de Wizard
Ca i n cazul formularelor, rapoartele au o serie de proprietati care se pot
stabili (seta) prin intermediul ferestrei Properties.

7.10. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. Obiectele MS-Access folosite pentru vizualizarea datelor din tabelele unei baze de
date MS-Access se numesc:
a. Queries b. Forms c. Reports d. Modules

2. Obiectele definite ca documente editate ale bazei de date MS-Access se numesc:


a. Reports b. Forms c. Queries d. Tables

3. Obiectele prin care utilizatorul poate s editeze datele din mai multe tabele, sub
form de documente, ale unei baze de date MS-Access se numesc:
a. Tables b. Queries c. Forms d. Reports

4. Obiectele unei baze de date MS-Access, care nu pot fi editate se numesc:


a. Tables b. Queries c. Forms d. Reports

5. Obiectele MS-Access organizate structural sub form de documente i seciuni de


documente pentru a fi tiprite, se numesc:
a. Queries b. Forms c. Reports d. Macros

6. Pentru editarea datelor din tabele ale unei baze de date, nsoit de operaii de calcul,
MS-Access pune la dispoziia utilizatorilor obiectele:
a. Tables b. Queries c. Forms d. Reports

7. Opiunea de creare a unui obiect Report, prin proiectarea de ctre utilizator fr


asisten MS-Access, se numete:
a. Design View b. Report Wizard c. Chart Wizard d. Label Wizard

8. Obiectele MS-Access care pot fi definite ca produse finite ale aplicaiilor cu baze
de date se numesc:
a. Queries b. Forms c. Reports d. Modules

9. Folosind obiecte Reports, asupra tabelelor dintr-o baz de date MS-Access se pot
efectua operaii de:
a. creare b. consultare c. modificare d. tiprire

10. Obiectele de tip Reports, pe care utilizatorul poate s le proiecteze singur, sunt
rezultatul folosirii, la crearea lor, a opiunii:
a. Design View b. Form Wizared c. Auto Form d. Chart Wizard

Rspunsurile corecte la ntrebrile din testul gril:


1. d 2. a 3. d 4. d 5. c 6. d 7. a 8. c 9. d 10. a
7.11. Test de evaluare a cunotinelor

Care este rolul raportelor?

Care sunt proprietatile raportelor?

Cum se afiseaza si se tipareste un raport?

7.12 Tema de control


1. Se consider o structur de date alctuit din atributele: Cod_material de tip
Number, Denumire_material de tip Text, Pre_unitar de tip Number, Stoc_initial de tip
Number.
Se cere:
S se creeze un obiect Table cu numele Stocuri, avnd cmpurile de date menionate
mai sus;
S se modifice structura obiectului Table, definit mai sus, adugnd un nou cmp de
date denumit Unitate_msur de tip Text dup cmpul de date Denumire_material.
S se defineasc restriciile referitoare la domeniul de valori pentru cmpul de date
Unitate-msur la valorile: kg, to, ml, buc.
S se defineasc restriciile referitoare la domeniul de valori pentru cmpul de date
Stoc-initial i pre_unitar la valori pozitive.
S se defineasc restriciile referitoare la domeniul de valori pentru cmpul de date
Denumire material: lungime maxima de 35 caractere, valori nenule.
S se defineasca cheia primara a relatiei ca fiind campul cod_material.
S se creeze un formular pentru afisarea/editarea datelor din tabela Stocuri.

2. Se consider obiectul de tip Table cu numele Contract (Numr_contract Number,


Data_ncheierii Date, Data_expirrii Date, Modaliti_plat Text, Termen plat Date,
Cod furnizor Number).

Se cere:
S se proiecteze un obiect Report denumit RaportContracte pentru afiarea
nregistrrilor din tabela Contract ordonate dup cmpurile de date: Cod furnizor i
Numr contract.
Plecnd de la raportul anterior s se s se creeze alt raport numit RaportContracte1,
astfel nct s permit afiarea contractelor ncheiate pe o perioad ce va fi precizat la
execuia raportului.
S se proiecteze un raport numit RaportContracte2 care s permit afiarea
nregistrrilor din tabela Contract pentru care data_ncheirii este cuprins ntre 1-
octombrie-2009 i 10-decembrie-2009.
7.13. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid
prin imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura
Economic, Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 8. GESTIUNEA OBIECTELOR MACROS
Cuprins
8.1. Obiective
8.2. Competenele unitii de nvare
8.3. Prezentare generala
8.4. Crearea unui obiect macro
8.5. Actiuni programabile in obiecte macro
8.6. Grup de obiecte macro
8.7. Rezumat
8.8. Test de autoevaluare a cunotinelor
8.9. Bibliografie

8.1. Obiective
n aceast unitate de nvare se vor prezenta:
Definirea specificului obiectelor Macros n contextul efecturii automate de
aciuni, eventual condiionate, n aplicaiile utilizatorilor;
Cunoaterea modului de creare a unor astfel de obiecte pentru efectuarea unor
aciuni de automatizare a aplicaiilor cu baze de date MS-Access.

8.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se pot folosi obiectele Macros pentru efectuarea n mod automat a unor
aplicaii de gestiune a bazelor de date MS-Access;
Cum se integreaz obiectele Macros n cadrul unor aplicaii complexe cu baze de
date MS-Access.

Durata de parcurgere a acestei uniti de nvare este de 2 ore.

8.3. Prezentare general

Un obiect de tip macro este:


identificat printr-un nume;
00:00 alctuit dintr-o mulime de aciuni de executat;

Obiectul Macro care are ca scop efectuarea automat a unor operaii asupra
unor obiecte din bazele de date MS-Access.
Un obiect de tip macro se poate executa n mai multe moduri:
la deschiderea bazei de date ACCESS, dac are numele Autoexec;
la lansarea n execuie a comenzii Run Macro din meniul DATABASE Tools;
la acionarea unei taste de declanare asociat obiectului macro;
la declanarea evenimentului Click asupra unui buton de comand legat de obiectul
macro;
la lansarea n execuie a comenzii rapide Run la efectuarea unui click- drepata cu
mouse-ul asupra numelui unui obiect Macro din fereastra Database Objects;

Furnizati mai multe detalii privind notiunea de executare a obiectelor macro.


Folosii drept principal surs de informare Internetul.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

8.4 Crearea unui obiect macro

Un obiect macro se poate crea prin executarea comenzii (opiunii) Macro din
meniul Create (fig. 8.1).
00:20

Figura 8.1. Toolbar-ul Create afind grupul Macro

Pentru a crea un obiect macro, n oricare din aceste dou moduri este necesar
ca nti s se selecteze grupul de obiecte (seciunea) Macro din toolbar-ul CREATE
(fig.8.1)
Dup declanarea operaiei de creare a obiectului macro, pe ecran se afieaz
fereastra Macro cu numele implicit Macro urmat de un numr (fig.8.2).

Figura 8.2 Fereastra Macro TOOLS cu seciunile pentru crearea unui obiect Macro

Fereastra de dialog Macro conine:


a) seciunea din stanga ferestrei care contine lista actiunilor ce intra in alcatuirea
obiectului Macro, fiecare actiune fiind insotita de o serie de argumente
b) sectiunea din stanga ferestrei unde sunt prezentate toate actiunile (Catalogul
actiunilor fereastra Action Catalog) ce pot fi folosite in cadrul obiectelor Macro,
grupate pe categorii.
La crearea obiectului de tip macro utilizatorul poate s condiioneze executarea
unor aciuni selectate. Pentru aceasta este necesar ca aceste actiuni sa se includa intr-
un grup de executie conditionata ce poate fi creat folosind optiunea IF din catalogul de
actiuni se selecteaza Program Flow- If.
Dup ce a fost creat obiectul macro, coninnd aciuni, setul de argumente i,
eventual, condiiile de execuie a unor aciuni, urmeaz salvarea obiectului macro, prin
executarea opiunii Save as din meniul File sau pictograma Save de pe bara de
instrumente i atribuirea acestui obiect un nume.
Condiionarea executrii unei aciuni se realizeaz, de regul, prin referire la
valorile anumitor controale folosind sintaxa urmtoare:
Nume-grup-obiecte!nume-obiect!nume-control

Numele grupului de obiecte este specificat prin cuvintele rezervate MS-Access:


Forms pentru formulare;
Reports pentru rapoarte.

Exemplu:
Forms!Stocuri!Codmat

n acest exemplu controlul l reprezint Codmat din formularul Stocuri inclus


n grupul de obiecte (seciunea ) Forms.
Dac numele controlului conine spaii, atunci este necesar s fie ncadrat ntre
paranteze drepte.

Exemplu:
Forms!Stocuri![cod mat]

n procesul de execuie a obiectelor, Access-Macros verific validitatea


aciunilor descrise, iar dac depisteaz existena unor aciuni euate (Action Failed),
atunci afieaz un mesaj care indic sursa erorii.

S ne reamintim...
Un obiect de tip macro este alctuit dintr-o mulime de aciuni de executat. Obiectul
Macro care are ca scop efectuarea automat a unor operaii asupra unor obiecte din
bazele de date MS-Access.

8.5 Aciuni programabile n obiecte macro

MS-Access dispune de o multitudine de aciuni care pot fi programate de


01:05 utilizatori. Dintre astfel de aciuni se pot meniona:
a) aciuni pentru deschiderea obiectelor de nivelul nti (tabele, interogri,
formulare); se programeaz pe structura:
Open Table

Argumentele aciunii:
Table Name - alegerea tabelei din lista derulant
View - alegerea uneia din variantele posibile:
Data Sheet/Design/Print Preview
Data Mode - alegerea din posibilitile:
Add/Edit/Read Only.
Obs: Opiunile subliniate sunt implicite.

Pentru a deschide alte clase de obiecte: OpenQuery, OpenForm, OpenReport,


OpenModule se pot programa diverse aciuni pe structuri aproximativ asemntoare cu
cele ale obiectelor de nivelul nti.
b) aciuni de nchidere a obiectelor de nivelul nti; se programeaz pe structura:
Close
Argumentele aciunii:
Object Type - alegerea tipului de obiecte de nchis
Object Name - alegerea din lista obiectelor din clasa tipului ales
Save, Yes sau No
c) aciunea de export sau import din baza de date (TransferDatabase);
d) aciunea de afiare a unor casete de dialog (MsgBox);
e) aciunea de trimitere de obiecte prin reeaua Internet (SendObject);
f) aciuni pentru executarea:
- unei aplicaii (RunApp)
- unei funcii scrise n limbajul VBA (RunCode);
- unei comenzi (RunCommand);
- unei instruciuni macro (RunMacro);
- unei comenzi SSQL (RunSSQL);
g) aciunea de atribuire de valoare unui control (SetValue);
h) aciunea de afiare a unei bare de instrumente definite de utilizator (Show
Toolbar);
i) aciunea de ieire din aplicaia Access (Quit).

Studiati care sunt actiunile care se pot include intr-un obiect de tip Macro. Aceste
actiuni le puteti gasi in fereastra Action Catalog. Folositi facilitatea Help a
produsului MS-Access pentru a obtine o descriere a acestor actiuni.

8.6 Grup de obiecte macro

Un obiect macro poate conine:


01:40 o succesiune de aciuni care alctuiesc un obiect macro;
mai multe succesiuni de aciuni (separate sau nu printr-o linie) identificate printr-un
nume de macro.
A doua structur implic ca un obiect macro s conin un grup de comenzi.
Aceasta determin reducerea numrului de obiecte de tip macro ntr-o baz de date.
Un grup de macrocomenzi se creeaza selectand Program Flow->Group din
fereastra Action Catalog urmata apoi de introducerea numelui grupului de comenzi si a
actiunilor propriu-zise care alcatuiesc grupul.
Obiectele Macro se pot utiliza si in cadrul formularelor pentru a permite
declanarea unor aciuni la producerea unor evenimente care vizeaz formularele sau
controalele din cadrul acestora sau pentru crearea unor meniuri personalizate asociate
formularelor.
Folosirea obiectelor macro poate permite realizarea automat a unor aciuni
care vizeaz rapoartele, ca de exemplu: deschiderea i, eventual, tiprirea rapoartelor,
nchiderea rapoartelor (aciunea Close) etc.
Obiectele macro se pot asocia unor butoane de comand care se pot include n
bare cu instrumente personalizate sau bare cu instrumente integrate.
Actiunile programabile in cadrul obiectelor Macro sunt urmatoarele:
...
...
...

8.7 Rezumat

Obiectul Macro care are ca scop efectuarea automat a unor operaii asupra
unor obiecte din bazele de date MS-Access. Un obiect Macro este alcatuit dintr-o serie
de actiuni predefinite. Aceste actiuni pot: deschide sau inchide obiecte ale bazei de
date (tabele, formulare, rapoarte etc.), exporta sau importa date in/din baza de date,
realiza operatii de comunicare cu utilizatorul etc.
Obiectele Macro pot contine grupuri de actiuni care se pot executa conditionat.
01:50

8.8. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. Obiectele alctuite dintr-o mulime de aciuni de executat, fiecare aciune fiind


reprezentat printr-o linie se numesc:
a. Queries b. Forms c. Reports d. Macros

2. Obiectele care au ca scop efectuarea automat a unor operaii asupra unor alte
obiecte din bazele de date MS-Access se numesc:
a. Macros b. Forms c. Queries d. Reports

3. Un obiect care se poate executa la deschiderea bazei de date MS-ACCESS, dac are
numele Autoexec, se numete:
a. Queries b. Forms c. Macros d. Reports

4. La executarea unui click pe butonul New n fereastra Database, nu se poate afia


fereastra:
a. New Table b. New Query c. New Form d. New Macro

5. La crearea unui obiect Macro aciunile se pot selecta dintr-o:


a. list derulant b. fereastr c. caset d. seciune

6. La crearea unui obiect Macro referirile la aciunile selectate se introduc n:


a. coloana Action b. coloana Comment c. coloana Condition
d. seciunea Action Arguments

7. Dup ce a fost proiectat, obiectul Macro poate fi lansat n execuie:


a. nainte de a fi salvat b. dup ce a fost salvat c. oricnd
d. salvarea obiectului este implicit

8. n fereastra Macro, la crearea unui grup macro, coloana care apare n plus fa de
crearea unui obiect macro este coloana:
a. Macro Name b. Condition c. Action d. Comment

9. La crearea unui obiect macro numele grupului de obiecte se specific prin:


a. cuvinte definite de utilizator b. cuvinte rezervate Access
c. cuvinte cheie d. nume explicite

10. Obiectele MS-Access alctuite din aciuni care se execut condiionat sunt:
a. obiecte Forms b. obiecte Reports c. obiecte Pages d. obiecte Macros

Rspunsurile corecte la ntrebrile din testul gril:


1. d 2. a 3. c 4. d 5. a 6. b 7. b 8. a 9. b 10. d

8.9. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid
prin imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura
Economic, Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura CISON,
Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 9. INTRODUCERE IN LIMBAJUL SQL
Cuprins
9.1. Obiective
9.2. Competenele unitii de nvare
9.3. Tipuri de instructiuni SQL
9.4. Elementele limbajului SQL
9.5. Instructiuni SQL
9.6. Rezumat
9.7. Test de autoevaluare a cunotinelor
9.8. Tema de control
9.9. Test de evaluare a cunotinelor
9.10. Bibliografie

9.1. Obiective
n aceast unitate de nvare se vor prezenta regulile de sintax i conveniile de
notare pentru editarea corect a instruciunilor SQL si exemple de utilizare a
instruciunilor SQL;

9.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Care sunt principalele tipuri de instructiuni SQL;
Cum se poate folosi limbajul neprocedural SQL pentru definirea datelor;
Cum se poate folosi limbajul neprocedural SQL pentru selectia si manipularea
datelor

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

9.3. Modelul relaional al datelor

SQL este un limbaj pentru interogarea bazelor de date care permite pe lng
manipularea i regsirea datelor i executarea unor operaii complexe privind
00:00 administrarea bazei de date.
SQL este un limbaj standardizat, standardul n acest domeniu fiind creat de
ANSI i ISO. Toate SGBD-urile relaionale implementeaz pri din limbajul
standardizat, dar fiecare SGBD aduce n plus anumite extensii specifice. Ultimul
standard n domeniul limbajului SQL a fost publicat n 2008.
Instructiunile SQL se pot executa in urmatoarele moduri:
Direct: se apeleaz direct instruciunile limbajului;
ncorporarea unei instruciuni SQL ntr-un program scris ntr-un limbaj de
programare (Visual Basic, Java, .);
Limbajul SQL este un limbaj declarativ (neprocedural) ceea ce
nseamn c utilizatorul specifica ceea CE dorete s obin, i nu CUM se obin
informaiile solicitate.
Limbajul SQL dispune de mai multe tipuri de instructiuni SQL:
Instruciuni pentru definirea datelor descriu structura bazei de date;
Instruciuni pentru manipularea datelor : adaugarea, modificarea sau
stergerea nregistrrilor;
Instruciuni pentru selectia datelor permit consultarea bazei de date;
Instruciuni pentru procesarea tranzactiilor;
Instructuni pentru administrarea bazelor de date (creare de utilizatori,
acordarea unor drepturi asupra obiectelor bazei de date etc);

SQL este un limbaj pentru interogarea bazelor de date care permite pe lng
manipularea i regsirea datelor i executarea unor operaii complexe privind
administrarea bazei de date.

9.4. Elementele limbajului SQL

Elementele care definesc limbajul SQL sunt:


00:15 Instruciunea: este reprezent prin cuvinte rezervate/cheie : INSERT,
SELECT, UPDATE, ...;
Clauzele instruciunilor: definesc restricii asupra modului de executie a unei
instructiuni; Exemple: WHERE, ORDER BY, GROUP BY, HAVING;
Funcii predefinite (totalizatoare): SUM, MAX, MIN, AVG, COUNT;
Operatorii: +, -, *, /, <, >, <=, >=, <>, LIKE, IN, BETWEEN, IS, AND, OR,
NOT

Exemplu : pret IS NULL, pret IS NOT NULL


Denumire_produs LIKE R*
Denumire_produs LIKE R?

La crearea instructiunilor SQL trebuie respectate o serie de reguli:


La finalul unei instruciuni se va pune caracterul ; (punct i virgul)
Dac ntr-o instruciune apar cmpuri din mai multe tabele acestea se vor
referi printr-o construcie de genul nume_tabela.[nume_camp]
ntr-o list de valori elementele listei se separ prin , (virgul)
ntr-o instruciune SQL irurile de caractere se ncadreaz ntre caracterele
(apostrof) sau (ghilimele). Exemple: test, test
Informaiile de tip dat calendaristic se n cadreaz ntre dou caractere #.
Exemplu: #10/01/2009#

9.5 Instruciuni SQL

Instructiuni SQL pentru definirea datelor.


00:30
Instructiunea pentru crearea unei baze date:
CREATE DATABASE nume_bd;

Exemplu:
CREATE DATABASE excursii;
Instruciunea pentru crearea unei tabele:

CREATE TABLE numele_tabelei(camp1 tip_de_data1 [NOT


NULL][PRIMARY KEY], camp2 tip_de_data2 [NOT NULL] [.], .);

Tipurile de date utilizate n SQL:


o VARCHAR(n)
o MEMO
o NUMBER
o INTEGER
o DECIMAL
o LOGICAL
o DATE

Exemplu:
Creai tabela materiale(Cod_Material Int, Denumire_material C(25), Pret N,
Cantitate N, cod_magazie Int)

CREATE TABLE materiale(Cod_material INTEGER PRIMARY KEY,


denumire_material VARCHAR(25), pret NUMBER, cantitate NUMBER);

Instruciunea pentru modificarea structurii unei tabele:


ALTER TABLE numele_tabelei ADD camp tip_de_data;

Exemplu:
ALTER TABLE materiale ADD cod_magazie INTEGER;

Instruciunea pentru tergerea unei tabele:


DROP TABLE nume_tabela;

Instructiunea pentru stergerea unei baze de date:


DROP DATABASE nume_baza de date;

Exemplu:
Stergerea tabelei materiale:
DROP TABLE materiale;

Stergerea bazei de date;


DROP DATABASE excursii;

Instructiuni SQL pentru manipularea datelor

Instruciunea pentru adugare de noi nregistrri ntr-o tabel:


INSERT INTO nume_tabela VALUES (val1, val2, valn);

sau
INSERT INTO nume_tabela(camp1, camp2, ) VALUES (val1, val2, )
Exemplu:
a) inserai n tabela materiale o nregistrare cu urmtoarele cmpuri: cod_material = 101,
denumire_material = televizor, cantitate=120

INSERT INTO materiale(cod_material, denumire_material, cantitate) VALUES


(101, televizor, 120);

b) inserai n tabela materiale o nregistrare cu urmtoarele cmpuri: cod_material = 102,


denumire_material=PC, cantitate=100, pret=1200, cod_magazie=12

INSERT INTO materiale VALUES(102, PC, 100, 1200, 12);

Instructiunea pentru tergerea de nregistrri:

DELETE FROM nume_tabela [WHERE conditie];

Exemplu:
a) s se tearg din tabela materiale toate materialele care au pretul mai mic decat 100;

DELETE FROM materiale WHERE pret<100;

b) s se tearg din tabela materiale toate materialele care au pretul mai mic decat 100 i
cantitatea mai mare dect 150;

DETELE FROM materiale WHERE pret<100 AND cantitate>150;

c) s se tearg din tabela materiale toate materialele care au pretul mai mic decat 100 sau
cantitatea mai mare dect 125;

DELETE FROM materiale WHERE pret<100 OR cantitate>125;

Instruciunea pentru modificarea nregistrrilor:

UPDATE nume_tabela SET camp1=val1, camp2=val2, . [WHERE conditie];

Exemplu:
a) s se modifice preul tututor materialelor prin creterea lui cu 10%.

UPDATE materiale SET pret=1.1*pret;

b) s se modifice preul materialelor a cror denumire ncepe cu TV prin creterea lui


cu 15%.

UPDATE materiale SET pret=1.15*pret WHERE denumire_material LIKE TV*;

c) pentru toate materialele a cror denumire se termin cu TV preul va scade cu 15%


iar cantitatea va scade cu 12%.

UPDATE materiale SET pret=0.85*pret, cantitate=0.88*cantitate WHERE


denumire_material LIKE *TV;
Instructiuni pentru selectia datelor :

- Instruciuni de selecie simple


SELECT [domeniu] lista_ de_campuri FROM lista_de_tabele [WHERE conditie]
01:30 [ORDER BY camp ASC|DESC];

Parametrul domeniu poate lua urmtoarele 2 valori: ALL, DISTINCT. ALL


nseamn c n rezultatul instruciunii se vor include toate nregistrrile care satisfac
criteriul de selecie, n timp ce DISTINCT are ca efect eliminarea nregistrrilor care
conin duplicate n cmpurile selectate.
Lista de cmpuri cuprinde toate cmpurile ce vor apare n rezultatul interogrii i
se poate specifica n mai multe moduri:
- camp1, camp2, camp3,
- nume_tabela1.camp1, ..
- camp1 AS alias1, camp2 AS alias2,
Lista de tabele reprezint tabelele de unde se vor selecta datele i se
poate specifica n urmtoarele moduri:
- nume_tabela1, nume_tabela2, .
- nume_tabela1 AS alias1, nume_tabela2 AS alias2, .
Clauza WHERE se utilizeaz pentru a specifica o condiie care va sta la baza
seleciei nregistrrilor.
Clauza ORDER BY permite sortarea rezultatelor cresctor sau descresctor.

Exemple:
Fie tabela stocuri(denumire C(15), cod_material N, UM T(3), pret N, cod_depozit
N).
a) S se afiseze coninutul acestei tabele

SELECT * FROM stocuri;

b) S se afiseze o list cu urmtoarele trei coloane ce conine toate materiale


din tabela stocuri

denumire um pret
==========================

SELECT denumire, um, pret FROM stocuri;

c) S se afiseze o list cu urmtoarele trei coloane ce conine materiale a cror


unitate de msura este kg

denumire um pret
==========================

SELECT denumire, um, pret FROM stocuri WHERE um=kg;

d) Se cere o list cu mrfurile aflate n stoc n depozitele 2 i 3, pentru care exist un


pre de desfacere;

SELECT denumire, um, pret FROM stocuri WHERE cod_depozit IN (2,3)


AND pret IS NOT NULL;
sau

SELECT denumire, um, pret FROM stocuri WHERE (cod_depozit=2 OR


cod_depozit=3) AND pret IS NOT NULL;

e) Se cere o list cu mrfurile aflate n stoc n depozitele 2 i 3, pentru care exist un


pre de desfacere; Lista va avea trei coloane cu urmtoarele denumiri:

Material UnitateMasura PretProdus


==============================

SELECT denumire AS Material, um AS UnitateMasura, pret AS PretProdus


FROM stocuri WHERE (cod_depozit=2 OR cod_depozit=3) AND pret IS NOT
NULL;

f) s se afiseze toate materialele n ordine cresctoare a pretului;

SELECT * FROM stocuri ORDER BY pret ASC;

g) s se afieze acele produse care au um=buc ordonate invers alfabetic dup


denumire;

SELECT * FROM STOCURI WHERE um=buc ORDER BY denumire


DESC;

h) s se afieze denumirea, pretul, um pentru acele materiale care au um = l sau


m sau kg;

SELECT denumire, pret, um FROM stocuri WHERE um IN (l, m, kg);

sau

SELECT denumire, pret, um FROM stocuri WHERE um=l OR um=m OR


um=kg;

Se consider tabela studenti(nume, prenume, an, grupa, media)

a) se cere o list cu studentii din anul 2 si 3 al cror nume ncepe cu A, i au media


cuprinsa intre 8 si 10, sortata alfabetic dupa nume. Lista va avea urmtoarele
coloane:

Nume Prenume Media


===================================

SELECT nume, prenume, media FROM studenti WHERE an IN (2,3) AND


nume LIKE A* AND media BETWEEN 8 and 10 ORDER BY nume ASC;

Functii totalizatoare

Funciile totalizatoare se mai numesc i funcii de grup deoarece ele


acioneaz asupra tuturor cmpurilor dintr-o coloana a unei tabele sau asupra unor
grupuri de cmpuri. Aceste funcii sunt SUM, AVG, MAX, MIN, COUNT.
Exemple de utilizare:
a) se da tabela contracte(denumire_client, nr_contract, data_contract, val_contract)
Se cere sa se afle numarul de contracte incheiate intre 1/1/2009 si 10/10/2009

SELECT COUNT(*) AS Numar_Contracte FROM contracte WHERE


data_contract BETWEEN #1/1/2009# AND #10/10/2009#;

Rezultatul va fi un tabel de genul:


Numar_Contracte
12

b) se da tabela studenti(nume, prenume, an, grupa, nr_absente) se cere care este


numarul total de absene

SELECT SUM(nr_absente) AS TOTAL FROM studenti;

Rezultat:
TOTAL
250

Se cere numrul maxim de absente i numrul minim de absente pentru studentii


studentii anului 2.

SELECT MAX(nr_absente) AS NrMaxAbsente, MIN(nr_absente) AS


NrMinAbsente FROM studenti WHERE an=2;

Rezultatul:

NrMaxAabsente NrMinimAbsente
34 12

c) se d tabela stocuri(denumire C(15), cod_material N, um C(3), pret N,


cod_depozit N, stoc N).

Se cere care este valoarea medie a stocului

SELECT AVG(stoc) FROM stocuri;

Cereri de interogare complexe

Se va exemplifica gruparea datelor prin clauza GROUP BY i HAVING, aplicarea


unor functii totalizatoare pe grupuri precum i interogri pe mai multe tabele.
02:15
Gruparea datelor, aplicarea funciilor totalizatoare pe grupuri

Sintax:
SELECT functie1(camp1) AS alias [, functie2(camp2) ] FROM tabela,
GROUP BY camp [HAVING criteriu_selectie] [ORDER BY camp ASC|DESC]
Exemple:
Se d tabela creante(denumire_client, val_datorie, data_scadentei);
Se presupune ca tabela conine urmtoarele nregistrri:

Denumire_client Val_datorie Data_scadentei


======================================================
AAA 700 1/10/2009
AAA 1000 2/10/2009
AAA 800 3/10/2009
BBB 2500 1/10/2009
BBB 3400 11/09/2009
AAA 3233 10/08/2009
BBB 5500 01/07/2009
CCC 2300 03/10/2009

Se cere care este datoria total pentru fiecare client in parte.

SELECT denumire_client, SUM(val_datorie) FROM creante GROUP BY


denumire_client;

Rezultat:

Denumire_client Val_datorie
====================================
AAA 5733
BBB 11400
CCC 2300

Se cere care este valoarea minim i maxim a datoriilor fiecrui client

SELECT denumire_client, MAX(val_datorie) Asa Max, MIN(val_datorie) AS


Min FROM creante GROUP BY denumire_client;

denumire_client Max Min


AAA 3233 700
BBB 5500 2500
CCC 2300 2300

Se cere generarea unei liste a clientilor care au datorii mai mari de 2000 de lei.

SELECT denumire_client, SUM(val_datorie) AS Total_datorie FROM creante


GROUP BY denumire_client HAVING SUM(val_datorie)>2000;

Se d tabela Imobile(tip_imobil, val_asigurata, adresa).


Se cere sa se construiasca o lista cu tipurile de imobile ce au valoare medie asigurata
>30000
SELECT tip_imobil AS TipImobil, AVG(val_asigurata) AS
MediaValAsigurate FROM imobile GROUP BY tip_imobil HAVING
AVG(val_asigurata)>30000;

Selecie pe mai multe tabele realizarea operaiei JOIN ntre tabele

Se dau urmtoarele tabele:

facturi(nr_factura, data_facturii, cod_furnizor, cota_tva)


continut_factura(nr_factura, cod_material, cantitate, pret)
furnizori(cod_furnizor, denumire_furnizor, adresa, banca, cont)
materiale(cod_mateiral, denumire_material, um)

a) Se cere o list cu facturile emise pentru fiecare client :

Nr_factura data_facturii denumire_furnizor


=======================================

SELECT facturi.nr_factura, facturi.data_facturii, furnizori.denumire_furnizor


FROM facturi, furnizor WHERE facturi.cod_client=clienti.cod_client;

n acest exemplu operaia ntre cele dou tabele a fost de tipul echiJoin.

b) se cere o list de forma:

nr_factura denumire_material pret cantitate


====================================

SELECT facturi.nr_factura, materiale.den_material, continut_factura.pret,


continut_factura.cantitate FROM facturi, materiale, continut_facturi WHERE
facturi.nr_factura=continut_factura.nr_factura AND
continut_factura.cod_material=materiale.cod_material AND;

Join extern stanga, join extern dreapta.


Sintaxa:
SELECT lista_campuri from tabela1 [LEFT OUTER|RIGHT OUTER] JOIN
tabela2 ON criteriu_asociere [WHERE conditie][ORDER BY camp
ASC|DESC]

Se cere o lista cu toate materialele, chiar daca nu au intrri.

SELECT Materiale.Denumire_Material, ContinutFactura.Pret,


ContinutFactura.Cantitate FROM Materiale LEFT OUTER JOIN
ContinutFactura ON Materiale.Cod_Material =
ContinutFactura.Cod_Material;

Subinterogri

SELECT lista_campuri FROM tabela1 WHERE tabela1.camp=(SELECT camp


FROM tabela2 WHERE criteriu_selectie);

Se dau urmtoarele dou tabele:


-furnizori(cod_furnizor, den_furnizor, adresa_furnizor)
-materiale(cod_material, den_material, cod_furnizor, valoare)

Se cere generarea unei situatii care sa contina informatii despre furnizorul care a
livrat produse in valoare de 2500 lei.

SELECT cod_furnizor, den_furnizor, adresa_furnizor FROM furnizori


WHERE cod_furnizor=(SELECT cod_furnizor FROM materiale WHERE
valoare=2500)

Se d tabela masini(marca, tip, pret).

Marca Tip Pret


================================
DACIA LOGAN 7000
DACIA SANDERO 8000
DACIA LOGAN 9000
FORD FIESTA 9000
FORD FOCUS 15000

Se cere generarea unei liste cu toate marcile care au pretul mediu mai mic dect
pretul mediu general.

Marca Pret Mediu


===========================
DACIA 8000

SELECT marca, AVG(pret) FROM masini GROUP BY marca HAVING


AVG(pret) < ( SELECT AVG(pret) FROM masini);

9.6 Reuniunea, intersectia i diferena tabelelor

Instructiunea pentru realizarea reuniunii a doua tabele este:

02:40 SELECT lista_campuri FROM tabela1 UNION SELECT lista_campuri FROM


tabela2 [GROUP BY camp][HAVING criteriu_selectie][ORDER BY camp
ASC|DESC]

Exemplu de utilizare:
Se presupune existenta a doua 2 tabele: colaboratori2008, colaboratori2009 cu
structura: (nume, prenume, varsta, categorie)
Se cere o lista cu toti colaboratorii firmei ordonati alfabetic dupa nume.

SELECT nume, prenume, varsta FROM colaboratori2008 UNION SELECT


nume, prenume, varsta FROM colaboratori2009 ORDER BY nume;

Care este media de varsta a colaboratorilor studenti din 2008, 2009?


SELECT AVG(varsta) FROM colaboratori2008 GROUP BY categorie
HAVING categorie=student
UNION SELECT AVG(varsta) FROM colaboratori2009 GROUP BY categorie
HAVING categorie=student;

Instructiunea pentru realizarea intersectiei a doua tabele este:

SELECT lista_campuri FROM tabela1 INTERSECT SELECT lista_campuri


FROM tabela2 [GROUP BY camp][HAVING criteriu_selectie][ORDER BY
camp ASC|DESC]

Exemplu de utilizare:
Considerand tabelele definite mai sus, care sunt colaboratorii care au lucrat i n
2008 i n 2009?

SELECT * FROM colaboratori2008 INTERSECT SELECT * FROM


colaboratori2009;

Instructiunea pentru realizarea diferentei a doua tabele este:

SELECT lista_campuri FROM tabela1 MINUS SELECT lista_campuri FROM


tabela2 [GROUP BY camp][HAVING criteriu_selectie][ORDER BY camp
ASC|DESC]

9.7 Rezumat

Cele mai importante instructiuni ale limbajul SQL pentru definirea datelor sunt:

CREATE DATABASE nume_bd;

CREATE TABLE numele_tabelei(camp1 tip_de_data1 [NOT NULL][PRIMARY


KEY], camp2 tip_de_data2 [NOT NULL] [.], .);

ALTER TABLE numele_tabelei ADD camp tip_de_data;

DROP TABLE nume_tabela;

DROP DATABASE nume_baza de date;

Cele mai importante instructiuni ale limbajalui SQL pentru manipularea datelor
sunt:
INSERT INTO nume_tabela VALUES (val1, val2, valn);

DELETE FROM nume_tabela [WHERE conditie];

UPDATE nume_tabela SET camp1=val1, camp2=val2, . [WHERE conditie];

Cele mai importante instructiuni ale limbajalui SQL pentru selectia datelor sunt:
SELECT [domeniu] lista_ de_campuri FROM lista_de_tabele [WHERE conditie]
[ORDER BY camp ASC|DESC];

SELECT functie1(camp1) AS alias [, functie2(camp2) ] FROM tabela, GROUP


BY camp [HAVING criteriu_selectie] [ORDER BY camp ASC|DESC]

SELECT lista_campuri FROM tabela1 WHERE tabela1.camp=(SELECT camp


FROM tabela2 WHERE criteriu_selectie);

9.8. Test de autoevaluare a cunostintelor


(timp necesar 20 minute)

1. Instructiunea SQL: SELECT * from materiale where pret is not null;


realizeaza:

a. afisarea tuturor inregistrarilor din tabela materiale pentru care exista pret.
b. afisarea tuturor inregistrarilor din tabela materiale care au pretul diferit de zero
c. afisarea tuturor inregistrarilor din tabela materiale
d. selectarea tabelei materiale si actualizarea pretului

2. Instructiunea SQL: UPDATE materiale SET pret=1.15*pret


are ca efect:

a. actualizarea tuturor preturilor prin cresterea lor cu 15%


b. actualizarea tuturor preturilor prin scaderea lor cu 15%
c. setarea tuturor preturilor la 15% din valoarea initiala
d. nici un raspuns nu e corect

3. Pentru afisarea tuturor produselor a caror denumire incepe cu TV se foloseste


urmatoarea instructiune:

a. SELECT * FROM produse WHERE denumire=TV;


b. SELECT * FROM produse WHERE denumire LIKE *TV;
c. SELECT * FROM produse WHERE denumire LIKE TV*;
d. SELECT * FROM produse WHERE denumire LIKE TV

4. O cerere de interogare pe mai multe tabele este expresia operatiei:

a. JOIN
b. UNION
c. INTERSECT
d. MINUS

Rspunsurile corecte la ntrebrile din testul de autoevaluare (tip gril):


1. a 2. a 3. c 4. a
9.9. Tema de control
Se consifer obiectul Table cu numele Stocuri, avnd cmpurile de date urmtoare:
- Cod_marf de tip Number;
- Denumire_marf de tip Text,
- Pre_unitar de tip Number
- Stoc_existent de tip Number.
Se cere:
- Folosind mediul SQL, s se creeze un obiect Query cu numele Cerere1 n care
s se adauge, dup cmpul de date Stoc_existent un cmp de date cu numele
Valoare_stoc calculat cu relaia: Pre_unitar x Stoc_existent;
- Folosind mediul SQL, s se adauge un filtru la structura obiectului Cerere1
astfel nct s poat afia numai nregistrrile care au n cmpul de date
Denumire_marf valoarea portocale;
- Folosind mediul SQL, s se modifice datele din cmpul de date Pret_unitar
din obiectul Query, prin reducere cu 5% i apoi s se afieze coninutul obiectului.

9.10. Bibliografie

I. Bibliografie obligatorie
1. Perkins Jeff, Morgan Bryan SQL fara profesor, in 14 zile, Editura Teora, 1997.
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid
prin imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura
Economic, Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura
CISON, Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian,
Editura Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006
UNITATEA DE NVARE 10. GESTIUNEA OBIECTELOR QUERIES CU
LIMBAJUL NEPROCEDURAL ACCESS-SQL
Cuprins
10.1. Obiective
10.2. Competenele unitii de nvare
10.3. Prezentare generala a limbajlui SQL
10.4. Microsoft-Access SQL
10.5. Etapele crerii i executrii interogrilor Access-SQL
10.6. Instruciuni pentru definirea datelor
10.7. Instruciuni de selecie a datelor
10.8. Instruciuni pentru manipularea datelor
10.9. Definirea cererilor SQL n MS-Access
10.10. Rezumat
10.11. Test de autoevaluare a cunotinelor
10.12. Test de evaluare a cunotinelor
10.13. Tema de control
10.14. Bibliografie

10.1. Obiective
n aceast unitate de nvare se va prezenta o introducere in limbajul neprocedural
SQL implementat de MS-Acces i contextul de folosire al sau ca mod de creare a
obiectelor Queries, regulile de sintax i conveniile de notare pentru editarea corect
a instruciunilor SQL, principalele grupe de comenzi n funcie de modul de folosire
pentru lucrul cu obiecte Queries.

10.2. Competenele unitii de nvare


Dup parcurgerea unitii vei fi n msur s rspundei la ntrebrile:
Cum se poate folosi limbajul SQL in mediul Access pentru a gestiona obiecte
Tables i obiecte Queries;
Cum se pot edita corect comenzi i blocuri de selecie folosind limbajul
neprocedural SQL in mediul Access;
Cum se pot folosi corect construciile de limbaj SQL din principalele grupe de
comenzi;

Durata de parcurgere a acestei uniti de nvare este de 3 ore.

10.3. Prezentare general Access-SQL

SQL (Structured Query Language) este unul dintre cele mai puternice limbaje
de programare structurate folosite pentru interogarea bazelor de date relaionale, fiind
00:00 implementat de aproape toate sistemele orientate pe gestiunea bazelor de date
relaionale. Limbajul SQL a fost creat pe la nceputul anilor 70 n laboratoarele de
cercetare ale firmei IBM pentru implementarea modelului relaional al lui E. F.
Codd.
Astfel, n anul 1976 a fost publicat sintaxa complet a SQL-ului, care a fost
adoptat de ANSI (American National Standards Institute), iar n anul 1986, ca limbaj
standard pentru lucrul cu baze de date relaionale. SQL este un limbaj de programare
neprocedural deoarece utilizatorul descrie numai informaiile pe care vrea s le
obin n urma interogrii bazelor de date, fr a fi necesar s stabileasc modul de a
ajunge la rezultatele ateptate. n consecin, SQL poate fi considerat ca un limbaj
din de aplicaie, fiind orientat pe mulimi. Ca atare, SQL este un limbaj simplu i
accesibil acelor utilizatori interesai de gestionarea bazelor de date relaionale.
Pe plan mondial, exist un anumit grad de standardizare a limbajului SQL, n
sensul c mai multe sisteme de gestiune a bazelor de date recunosc principalele
instruciuni SQL (de exemplu Oracle, MS-Access etc). Totui, standardul n domeniu
este considerat standardul ANSI, care se refer att la aspectele de definire,
interogare, procesare a datelor, a tranzaciilor, ct i la caracteristicile privind
integritatea informaiilor, la cursoarele derulante sau jociunile externe. Cu toate
acestea, firme care produc sisteme de gestiune a bazelor de date ofer extensii proprii
ale limbajului SQL.

Furnizati mai multe detalii pentru noiunea de SQL i comparai MYSQL, MS-
SQL, Oracle. Folosii drept principal surs de informare Internetul.
.
.
.

10.4. Microsoft Access-SQL

Acess-SQL oferit de Microsoft difer, n unele aspecte, de standardul ANSI


00:15 n sensul c, pe de o parte, nu conine instruciuni legate de securitate i acces
concurent (de exemplu, COMMIT, GRANT, LOCK) sau instruciuni DDL (Data
Definition Language) pentru definirea datelor dar pe de alt parte, include
instruciunea TRANSFORM i declaraia PARAMETERS.
De asemenea, sistemul de gestiune a bazelor de date Microsoft Access
ncepnd cu versiunea 2000 accept folosirea limbajului de interogare SQL, n
gestiunea bazelor de date de tip MS-Access. Astfel, prin tehnica (interfaa) grafic
QBE, informaia definit pe grila QBE este transformat automat ntr-o instruciune
SQL. Deci, se poate afirma c, Access-SQL este conceput mai mult pentru crearea
interogrilor de selecie.
MS-Access ofer utilizatorilor posibilitatea de a folosi instruciuni SQL n
diferite situaii, ca de exemplu:
nlocuirea unor interogri ale bazei de date cu instruciunea SELECT,
simplificnd baza de date (va conine mai puine obiecte), ns micornd viteza de
regsire a datelor;
crearea unor tipuri de interogri a bazei de date numai cu instruciuni SQL
(de tip Union, de definire a datelor, de comunicare cu alte baze de date).

n MS-Access instruciunile SQL se pot introduce n dou moduri:


n fereastra de dialog SQL View, deschis n modul de lucru Design View al
unei interogri, din care se alege comanda New/SQL;
n cadrul codului de instruciuni al aplicaiilor.

Pentru a scrie corect instruciunile SQL n MS-Access este necesar s se


respecte n mod strict unele reguli de sintax:
fiecare instruciune trebuie s se termine cu un caracter punct i virgul (;),
cu toate c Access-SQL accept instruciunea i fr acest caracter, care este denumit
terminator de instruciune;
la crearea unei interogri, n care se folosesc cmpuri de date din mai multe
tabele ale bazei de date, pentru a separa numele tabelului de numele cmpului de date
este necesar s se foloseasc caracterul punct (.);
pentru a delimita parametri dintr-o list trbuie folosit virgula (,);
pentru a marca datele de tip caracter trebuie ncadrate ntre dou caractere
apostrof () sau ghilimele ();
pentru a desemna unul sau mai multe caractere de nlocuire trebuie folosite
caracterele ? i *;
pentru specificarea inegalitilor din cadrul clauzelor trebuie folosite dou
paranteze ascuite (< >);
pentru a pune n eviden irurile de tip dat calendaristic i de timp se
apeleaz la caracterul #;
pentru a ncadra numele de cmpuri de date atunci cnd conin spaii sau
simboluri neacceptate de SQL trebuie s fie folosite parantezele drepte ([ ]).
De asemenea, pentru prezentarea corect a sintaxei instruciunilor i a
clauzelor Access-SQL se folosesc convenii de notare, printre care urmtoarele:
elementele de sintax incluse ntre paranteze drepte ([ ]) sunt opionale;
dintre elementele de sintax incluse ntre acolade ({ }) i separate printr-o
bar vertical (|) trebuie s se aleag numai un singur element;
un ir de puncte de suspensie () precizeaz c se continu o enumerare (se
repet acele elemente dup care sunt specificate).

n literatura de specialitate se cunosc trei metode de baz referitoare la


implementarea limbajului SQL:
implementare prin apelare direct (Direct Invocation), care const n
introducerea instruciunilor n prezena promter-ului sistem (de la prompter);
implementare de tip modular (Modul Language), care folosete anumite
proceduri apelate de programele aplicaiilor;
implementarede tip ncapsulat (Embedded SQL), care folosete instruciuni
ncapsulate n codul de program, fiind de tip static i dinamic.

n funcie de rolul ndeplinit n gestiunea bazelor de date, instruciunile SQL


se pot grupa astfel:
instruciuni de definire a datelor, care se folosesc pentru descrierea
structurii bazei de date;
instruciuni de procesare a datelor, prin care se efectueaz operaii de
adugare, tergere i modificare asupra nregistrrilor din baza de date;
instruciuni de selecie a datelor, care se folosesc pentru consultarea bazei
de date;
instruciuni de procesare a tranzaciilor, referitoare la unitile logice de
prelucrare i de suport al unor operaii multiple de prelucrare a datelor;
instruciuni de control al cursorului;
instruciuni de control al accesului la baza de date.

Limbajul Access-SQL folosete un vocabular alctuit dintr-o diversitate de


categorii de cuvinte cheie dintre care principale sunt urmtoarele:
instruciunile, care au rolul cel mai important n executarea interogrilor
bazei de date, deoarece determin executarea de aciuni (exemplu, SELECT);
clauzele, prin care se restricioneaz domeniul entitilor care particip la
interogri (exemplu, WHERE sau ORDER BY);
funciile, care mbuntesc performanele limbajului SQL de gestionare a
bazelor de date;
operatorii, care efectueaz operaii de comparare a rezultatelor seleciei.
La aceste elemente de vocabular mai sunt asociate i alte elemente de sintax,
denumite parametrii sau argumente, prin care se precizeaz modul de aciune al
instruciunilor.
Aceste elemente de vocabular Access-SQL se scriu de regul cu litere
majuscule i sunt completate de parametrii, care se scriu cu litere minuscule.
Folosirea limbajului Access-SQL se bazeaz n principal pe conceptul de bloc
deinterogare, care se poate formaliza astfel:

< bloc de interogare >


list de atribute
din lista de tabele ale bazei de date
criteriu de ndeplinit < expresie>

unde:
list atribute conine atribute din structura tabelei baz de date surs sau
atribute calculate pe baza celor existente n tabel sau tabelele surs,
<expresie> este condiia logic pe care se creaz criteriul de selecie.

Sa ne reamintim...
SQL (Structured Query Language) este unul dintre cele mai puternice limbaje de
programare structurate folosite pentru interogarea bazelor de date relaionale.
Sistemul de gestiune a bazelor de date Microsoft Access ncepnd cu versiunea 2000
accept folosirea limbajului de interogare SQL, n gestiunea bazelor de date de tip
MS-Access.

10.5 Etapele crerii i executrii interogrilor Access-SQL

La crearea i executarea unei interogri n bazele de date MS-Access,


01:15 realizate prin folosirea de instruciuni, sunt parcurse ntr-o ordine logic i
cronologic, cteva etape principale:
Din fereastra de dialog Open, afiat dup ce s-a lansat n execuie MS-Access,
se deschide baza de date n care se vor efectua interogrile SQL;
Se selecteaz grupul de obiecte Queries. n continuare, se execut click pe
toolbar-ul CREATE butonul Query Wizard sau pe opiunea Query Design;

Figura 10.1. Toolbar-ul Create afind grupul de obiecte Queries

Se nchide, prin click pe butonul Close, fereastra de dialog Show Table,


afiat peste fereastra Query ;
Figura 10.2. Ferestrele afiate suprapus Query i Show Table

La click dreapta pe numele interogrii se activeaz opiunea (modul de


vizualizare) SQL View, pentru a crea interogarea Access-SQL. Ca efect, n fereastra
Select Query se afieaz instruciunea Select (fig.10.4) i n continuare se tasteaz
instruciunile SQL specifice, respectnd regulile de sintax i de punctuaie
corespunztoare, pentru a crea interogarea de selecie;

Figura 10.3. Query i Opiunile la click dreapta pe numele Interogrii (Query1)

Figura 10.4. Fereastra Select Query afind instruciunea Select pentru a ncepe
scrierea celorlalte instruciuni din blocul de interogare Select
Interogarea Access-SQL astfel creat, se lanseaz n execuie ntr-unul din
modurile:
prin activarea butonului ! (Run) de pe bara de instrumente Query Design;
prin activarea opiunii Run din meniul Query.

n final, pe ecranul monitorului se afieaz rezultatul interogrii, rezultat pe


care utilizatorul urmeaz s-l analizeze i s-l interpreteze potrivit propriilor cerine
i restricii.
Dac interogarea Access-SQL conine erori de sintax sau rezultate eronate
(erori logice), este necesar s se revin n modul de afiare SQL View pentru
efectuarea coreciilor necesare.

10.6 Instruciuni pentru definirea datelor

n MS-Access, definirea structurii datelor se poate realiza prin:


interogri DDL (Data Definition Language);
01:45 folosirea ferestrelor de dialog Table Design i Table Datasheet;
prin intermediul obiectelor DAO (Data Access Object).
Cu toate c interogrile DDL nu ofer prea multe faciliti, cum ar fi definirea
regulilor de validare, a valorilor implicite etc, totui aceste interogri au avantajul c
au la baz un limbaj standard, implementat de aproape toate sistemele de gestiune a
bazelor de date relaionale. n consecin, nu se pot crea interogri n fereastra de
dialog QBE, ci numai n fereastra SQL View.
Pentru definirea datelor Access-SQL ofer instruciunile DDL urmtoare:
CREATE TABLE, ALTER TABLE, DROP TABLE, DROP DATABASE.
Instruciunea CREATE TABLE este folosit pentru crearea structurii unui
tabel, rezultatul fiind la fel ca n modul interfa grafic (asistat).
Instruciunea ALTER TABLE permite s se adauge un cmp de date la un
tabel creat anterior. Totui, nu este posibil adugarea, respectiv tergerea de cmpuri
de date la nivelul bazei de date n ansamblu.
Instruciunea DROP TABLE se folosete pentru a terge complet un tabel
dintr-o baz de date, inclusiv indecii i valorile asociate.
Instruciunea DROP DATABASE se folosete la tergea unei baze de date.
Exist ns o mulime de restricii stabilite de ctre administratorul bazei de date
privind aceast operaie.

10.7 Instruciuni de selecie a datelor

n limbajul Access-SQL instruciunile de selecie a datelor constituie una


dintre categoriile cele mai importante ale limbajului de interogare. O cerin de
02:00 selecie a datelor din baza de date relaional se exprim printr-o structur denumit
bloc de cerere.
n funcie de scopul urmrit de utilizator i de modul de formulare a cererilor
de interogare se disting:
blocuri de cereri de interogare simple, care permit vizualizarea
nregistrrilor dintr-un tabel al bazei de date, realizarea proieciilor i seleciilor
asupra bazei de date, returnarea unor atribute calculate;
blocuri de cereri de interogare complexe, care permit realizarea de
interogri cu structur complex i/sau folosirea mai multor tabele surs, fiind:
- blocuri de cereri prin interogarea mai multor tabele;
- blocuri de cereri opernd pe grupuri de nregistrri;
- blocuri de cereri prin folosirea subcererilor;
- blocuri de cereri prin folosirea operatorilor UNION i JOIN.

Blocurile de cereri prin interogarea mai multor tabele se disting prin


meniunea n clauza FROM a numelor tabelelor surs interogate i n clauza WHERE
a criteriilor de compunere a nregistrrilor.
Blocurile de cereri opernd pe grupuri de nregistrri se disting prin faptul
c interogrile opereaz pe grupuri de nregistrri definite dup criterii specificate la
nivelul grupului de nregistrri, executndu-se funcii agregate (exemplu: Count,
Sum, Max, Min, Avg, Var etc).
Blocurile de cereri prin folosirea subcererilor permit realizarea unor cutri
mai complexe n baza de date construind subcereri n cadrul unor cereri.
Blocurile de cereri prin folosirea operatorului UNION se disting prin faptul
c pentru unirea nregistrrilor se folosete operatorul UNION.
Blocurile de cerere prin folosirea operatorului JOIN se disting prin faptul
c operaiile de asociere au ca rezultat obinerea tuturor combinaiilor posibile, care
corespund coninutului informaional al fiecrui tabel surs (pot fi admise mai mult
de dou tabele).

10.8 Instruciuni pentru manipularea datelor

Aceste instruciuni sunt deosebit de utile n exploatarea bazelor de date, fiind


implementate prin interogri de tip aciune. innd seama de modul de aciune, este
02:20 necesar s fie folosite cu deosebit atenie, deoarece efectele aciunii acestora sunt
permanente (ireversibile), influennd inclusiv integritatea referenial a bazei de
date.
Dintre aceste instruciuni cele mai importante sunt urmtoarele: SELECT
INTO, INSERT INTO, UPDATE i DELETE.
Instruciunea SELECT INTO se folosete pentru a crea un nou tabel cu
nregistrri din alt tabel sau din alt interogare.
Instruciunea INSERT INTO se folosete pentru a aduga nregistrri dintr-un
tabel n altul. Exist dou forme de sintax ale acestei instruciuni:

INSERT INTOVALUES folosit pentru operaii simple care implic lucrul cu


un numr redus de nregistrri, astfel c se poate ntroduce o singur nregistrare la
un moment dat;

INSERT INTOSELECT folosit pentru a copia selectiv nregistrri dintr-un tabel


n altul sau n mai multe tabele.

Instruciunea UPDATE se folosete pentru a nsera nregistrri noi, ct i de a


modifica valorile cmpurilor de date din nregistrrile curente.
Instruciunea DELETE se folosete pentru tergerea parial sau total a
nregistrrilor din tabele ale bazei de date.

Sa ne reamintim...
Limbajul SQL ofera doua categorii de instructiuni: instructiuni pentru definirea
datelor si instructiuni pentru manipularea datelor.
10.9 Definirea cererilor SQL n MS-Access
MS-Access permite:
generarea automat a codului SQL pentru cererile (interogrile) din interfaa
QBE;
02:40 utilizatorilor s modifice aceste cereri schimbnd modul de vizualizare
(opiunea View SQL din meniul Access);
utilizatorilor s formuleze cereri direct n SQL astfel:
- se activeaz interfaa QBE;
- [se precizeaz sursa de date];
- se comut n mod SQL (VIEW/SQL);
- se scrie blocul de cerere SQL;
- se execut cererea.
Blocuri de cereri se mai pot construi i prin folosirea de programe scrise n
mediul de programare VBA.

Instructiunile pentru manipularea datelor sunt urmaroarele:


.......................

10.10. Rezumat

SQL (Structured Query Language) este unul dintre cele mai puternice limbaje
de programare structurate folosite pentru interogarea bazelor de date relaionale, fiind
implementat de aproape toate sistemele orientate pe gestiunea bazelor de date
relaionale.
n MS-Access instruciunile SQL se pot introduce n dou moduri:
n fereastra de dialog SQL View, deschis n modul de lucru Design View al
unei interogri, din care se alege comanda New/SQL;
n cadrul codului de instruciuni al aplicaiilor.
02:50
Pentru definirea datelor Access-SQL ofer instruciunile DDL urmtoare:
CREATE TABLE, ALTER TABLE, DROP TABLE, DROP DATABASE.
Dintre instruciunile pentru manipularea datelor cele mai importante sunt
urmtoarele: SELECT INTO, INSERT INTO, UPDATE i DELETE.

10.11. Test de autoevaluare a cunotinelor


(timp necesar : 20 minute)

1. n funcie de modul cum sunt gestionate bazele de date relaionale, SQL face parte
din categoria limbajelor:
a. procedurale b. neprocedurale c. de asamblare d. algoritmice

2. n SQL utilizatorii i exprim cerinele informaionale n modul:


a. algoritmic b. procedural c. neprocedural d. simbolic

3. Sintaxa complet a limbajului SQL a fost publicat n anul 1976 de ctre:


a. ASCII b. ISO c. OSI d. ANSI

4. Ca limbaj simplu i accesibil utilizatorilor, implementat pe aproape toate SGBD-


urile, SQL se bazeaz n principal pe conceptul de:
a. bloc de cerere b. instruciune c. comand d. tabel
5. Regsirea, selectarea i afiarea datelor din bazele de date MS-Access se
realizeaz cu instruciuni SQL de:
a. descriere b. interogare c. manipulare d. control

6. Crearea tabelelor, modificarea structurii lor i tergerea tabelelor se realizeaz cu


instruciuni SQL de:
a. descriere b. interogare c. manipulare d. control

7. nserarea, tergerea, selectarea i afiarea datelor implic folosirea unor


instruciuni SQL de:
a. descriere b. interogare c. manipulare d. control

8. Un bloc de cerere SQL ncepe ntotdeauna cu instruciunea:


a. SELECT b. INSERT c. UPDATE d. UNION

9. ntr-un bloc de cerere SQL numele sursei de date (tabele i/sau interogri) este
specificat de clauza:
a. FROM b. WHERE c. HAVING d. GROUP BY

10. n blocurile de selecie SQL expresiile aritmetice trebuie ncadrate ntre


caracterele:
a. [ ] b. { } c. d. ( )

Rspunsurile corecte la ntrebrile din testul de autoevaluare (tip gril):


1. b 2. c 3. d 4. a 5. b 6. a 7. c 8. a 9. a 10. d

10.12. Test de evaluare a cunotinelor


A. Descrieti elementele care definesc modelul relational al datelor.
B. Care sunt operatiile modelului relational al datelor? Exemplificati.

10.13 Tema de control


Se consifer obiectul Table cu numele Stocuri, avnd cmpurile de date urmtoare:
- Cod_marf de tip Number;
- Denumire_marf de tip Text,
- Pre_unitar de tip Number
- Stoc_existent de tip Number.
Se cere:
- Folosind mediul SQL, s se creeze un obiect Query cu numele Cerere1 n care
s se adauge, dup cmpul de date Stoc_existent un cmp de date cu numele
Valoare_stoc calculat cu relaia: Pre_unitar x Stoc_existent;
- Folosind mediul SQL, s se adauge un filtru la structura obiectului Cerere1
astfel nct s poat afia numai nregistrrile care au n cmpul de date
Denumire_marf valoarea portocale;
- Folosind mediul SQL, s se modifice datele din cmpul de date Pret_unitar
din obiectul Query, prin reducere cu 5% i apoi s se afieze coninutul obiectului.

10.14. Bibliografie

I. Bibliografie obligatorie
1. Florescu V. (coordonator) i colectiv Baze de date. Fundamente teoretice i
practice, Editura InfoMega, Bucureti, 2002
2. Popa Gh. i colectiv Baze de date Access, Editura CISON, Buc., 2003
3. Murean M. Baze de date. Aplicaii n MS Access XP, Editura PRO
UNIVERSITARIA, Bucureti, 2006
4. Surcel Tr., Mranu R., Avram V., Avram D. Medii de programare pentru
gestiunea bazelor de date, Ed. Tribuna Economic, Bucureti, 2004
5. Sagman S. Microsoft OFFICE 2003 pentru Windows (Ghid de nvare rapid
prin imagini), Editura Corint, Bucureti, 2004

II. Bibliografie facultativ


1. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura CURTEA
VECHE, Bucureti, 2004
2. Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura
Economic, Bucureti, 2000
3. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura
CISON, Bucureti, 2002
4. Habracken J. Access 2002 pentru nceptori, traducere de Cora Radulian, Editura
Teora, Bucureti, 2002
5. Forta B. SQL n lecii de 10 Minute, Editura Teora, Bucureti, 2006

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