Sunteți pe pagina 1din 195

UNIVERSITATEA CONSTANTIN BRANCUSI DIN TRGU JIU

FACULTATE A DE TIINE ECONOMICE I GESTI UNE A AFACERILOR


DEPARTAMENTUL PENTRU NVMNT LA DISTAN

Prof. univ. dr. BABUCEA ANA GABRIELA


Prep.univ.drd. CEAUSESCU AURELIAN-IONUT

BAZE DE DATE
pentru uzul studenilor ID

Editura Academica Brncui


Trgu Jiu, 2011

Refereni tiinifici:
Prof. univ. dr. Tomescu Dumitrescu Cornelia
Lect. univ. dr. Stegroiu Carina

Cuprins
INTRODUCERE ..................................................................................................................

MODULUL 1
U N I TATE A 1 : I N T R O D U C E R E N B A Z E D E D ATE
U1.1. Scopul i obiectivele unitii
U1.2. Noiuni si concepte fundamentale n organizarea datelor.
U1.3. Arhitectura ANSI/SPARC a bazelor de date ...
U1.4. Limbajele bazelor de date
U1.5. Rezumat ...
Bibliografie minimal
Rspunsuri i comentarii la testul de autoevaluare.

12
13
16
17
19
20
20

U N I TATE A 2 : S I S T E M E D E G E S T I U N E A B A Z E L O R D E
D ATE
U2.1. Scopul i obiectivele unitii
U2.2.SGBD Etape n evoluie ...
U2.3. Obiectivele i funciile de SGBD
U2.4. Clasificarea SGBD-urilor
U2.5. Rezumat ...
Bibliografie minimal
Rspunsuri i comentarii la testul de autoevaluare.

U N I TATE A
3:
MODELAREA
B A Z E L O R D E D ATE

CONCEPTUAL

21
22
23
30
34
35
35

U3.1. Scopul i obiectivele unitii


U3.2. Modele de date .
U3.3. Modele conceptuale pentru baze de date
U3.4. Funciile modelelor ..
U3.5. Modele de date bazate pe nregistrri ..
U3.6. Rezumat ...
Bibliografie minimal
Rspunsuri i comentarii la testul de autoevaluare

36
37
38
39
39
39
49
49

U N I TATE A 4 : B A Z E D E D ATE R E L ATI O N A L E S I S G B D URI, RELAIONALE-SGBDR


U4.1. Scopul i obiectivele unitii.
U4.2. Bazele modelului relaional .
U4.3. Normalizarea relatiilor .
U4.4. Definirea unui SGBDR Regulile lui Codd ..
U4.5. Criterii minimale de definire a unui SGBDR .
U4.6. Rezumat ...
Bibliografie
minimal..
Rspunsuri i comentarii la testul de autoevaluare.

51
52
56
60
63
65
65
65

VERIFICARE NR.1
MODULUL 2
U N I TATE A 5 : S I S T E M U L D E G E S T I U N E A L B A Z E L O R
D E D ATE
U5.1. Scopul i obiectivele unitii

68

U5.2. Caracteristici generale i functiile sistemului ..


U5.3. Lansarea n execuie i funciile sistemului..................
U5.4. Utilizarea caracteristicilor Ribbon(panglica),Panoul de navigare...
U5.5. Obiectele Access ..
U5.6. Salvarea bazei de date...
U5.7. Rezumat ...
Bibliografie minimal
.
Rspunsuri i comentarii la testul de autoevaluare.

69
70
73
75
77
79
79
79

U N I TATE A 6 : TAB E L E L E A C C E S S 2 0 0 7
U6.1. Scopul i obiectivele unitii
U6.2. Tabelele Access; Crearea Tabelelor Access.............................
U6.3. Crearea tabelelor n Modul Proiectare Tabel(Design View)..................................
U6.4. Crearea unui tabel pe baza unui sablon de tabel...........................
U6.5. Crearea unui tabel prin introducerea directa a datelor..............................
U6.6. Crearea unui tabel prin importul unui tabel dintr-o baz de date..
U6.7. Crearea unui tabel utilizand liste SharePoint
U6.6. Rezumat ...
Bibliografie
minimal..
Rspunsuri i comentarii la testul de autoevaluare.

80
81
82
83
83
84
85
87
87
87

U N I TATE A 7 : T I P U R I D E D ATE A C C E S S , S TAB I L I R E A


PROPRIETILOR CMPURILOR
U7.1. Scopul i obiectivele unitii
U7.2. Tipuri de date utilizate de tabele Access ......................
U7.3. Proprietile cmpurilor ...
U7.4. Definirea chei primare si a indecsilor .
U7.5. Rezumat
Bibliografie minimal
Rspunsuri i comentarii la testul de autoevaluare

U N I TATE A
8:
OPERAII
CU
N R E G I S T R R I L E U N U I TAB E L

STRUCTURA

U8.1. Scopul i obiectivele unitii.


U8.2. Modificarea structuri unui tabel ...............
U8.3. Operaii asupra nregistrrilor dintr-o tabel ........
U8.4. Definirea relaiilor ntre tabelele Access .
U8.5. Rezumat ...
Bibliografie minimal
.
Rspunsuri i comentarii la testul de autoevaluare .

VERIFICARE NR.2

88
89
92
96
100
100
100

101
102
103
108
115
116
116

MODULUL 3
U N I TATE A 9 : I N T E R O G R I L E A C C E S S
U9.1. Scopul i obiectivele unitii
U9.2. Definirea interogrilor ..........
U9.3. Crearea Interogrile de selectie ........
U9.4. Crearea interogrilor cu ajutorul experilor Access .................
U9.5. Rezumat ...
Bibliografie minimal
Rspunsuri i comentarii la testul de autoevaluare

120
121
122
127
130
130
130

U N I TATE A
10:UTILIZAREA
O P E R ATO R I L O R
N
I NTERO G RI LE ACCESS,
CREAREA DE CMPURI
C A L C U L AT E
U10.1. Scopul i obiectivele unitii..

131

U10.2. Utilizarea operatorilor n interogrile Access ............

131

U10.3. Cmpurile calculate n interogrile de selecie .

134

U10.4. Rezumat .

137

Bibliografie minimal .

137

Rspunsuri i comentarii la testul de autoevaluare .

138

U N I TATE A
1 1:
INTEROGRILE
N C R U C I ATE

INTEROGRILE
PAR A M E T R I Z AT E ,
DE
SINTEZ,
INTEROGRILE

U11.1. Scopul i obiectivele unitii ..

140

U11.2. Interogrile parametrizate ..................

141

U11.3. Crearea interogrilor de sintetizare a datelor .........

142

U11.4. Interogarea tip Tabel ncruciat CrosstabQuery

145

U11.5. Rezumat .

149

Bibliografie minimal .

149

Rspunsuri i comentarii la testul de autoevaluare .

149

U N I TATE A 1 2 : I N T E R O G R I L E D E A C I U N E
U12.1. Scopul i obiectivele unitii ..

150

U12.2. Creaarea Interogrilor de aciune ...

151

U12.3. Interogri pentru crearea de noi tabele(Make table query)

152

U12.4. Interogri pentru actualizarea datelor(Update query)

153

U12.5. Interogri pentru adugarea datelor(Append query) ..

155

U12.6. Interogri pentru tergerea datelor(Delete query) ..

155

U12.7. Rezumat ... .

157

Bibliografie minimal..

157

Rspunsuri i comentarii la testul de autoevaluare..

157

VERIFICARE NR.3

MODULUL 4
U N I TATE A 1 3 : F O R M U L A R E L E A C C E S S
U13.1. Scopul i obiectivele unitii .

160

U13.2. Crearea Formularelor Access .

161

U13.3. Lucrul cu un formular n Modul Design

168

U13.4. Rezumat .....

175

Bibliografie minimal

175

Rspunsuri i comentarii la testul de autoevaluare

175

U N I TATE A 1 4 - R A P O A R T E L E A C C E S S
U14.1. Scopul i obiectivele unitii
U14.2. Crearea Rapoartelor Access ..........
U14.3. Crearea Rapoartelor n modul expert(Report Wizard) .........

176
177
179

U14.4.Generarea rapoartelor folosind opiunea DesignView


U14.5. Rezumat .........................
Bibliografie minimal
.
Rspunsuri i comentarii la testul de autoevaluare

182
185

Bibliografie ..

186

185
185

Introducere
Scopul cursului:
ntr-o societate care promoveaz dezvoltarea bazat pe cunoatere i
creativitate, rolul bazelor de date devine tot mai important pentru a gestiona
informaiile care stau la baza generrii noului. n aceast epoc a economiei
digitale globale, dobndirea cunotinelor de informatic, dar mai ales abilitatea
de a le utiliza n dezvoltarea aplicaiilor reprezint competene majore ale
profilului profesional pentru orice domeniu al vieii socio-economice.
Modul n care a fost gndit i pus n practic face din acest volum un
suport metodologic pentru disciplina Baze de Date , dar i un instrument de lucru
necesar att n nelegerea i nsuirea acestei discipline prin prezentarea concis
a noiunilor urmat de exemple practice, dar i pentru consolidarea acestora prin
testele de autocontrol propuse.
Coninutul lucrrii a fost structurat pe 4 module divizate n 14 uniti de
studiu care cuprind obiectivele nvrii, sinteze de noiuni teoretice i exemple
ilustrative, rezumate, concluzii i teste de autoevaluare.
O unitate de nvare, acoperind n medie 2 ore de studiu individual, se
constituie practic ca o succesiune de sarcini de nvare, n care un rol determinat
revine autoevalurii dorind astfel s dezvoltm capacitatea de studiu individual i
s dm posibilitatea studentului ID ca, dei lipsit de explicaiile profesorului, s
dobndeasc cunotine i competene de aceeai calitate i n aceeai cantitate
cu cele ale studenilor de la forma de nvmnt zi.
Obiectivul principal al lucrrii este acela de a oferi studenilor un sprijin
n realizarea proiectelor proprii, de a le oferi ideii si soluii pentru dezvoltarea
aplicaiilor i de a le deschide interesul spre domeniul bazelor de date.
Proiectarea modelelor relaionale pentru bazele de date este realizat pe
baza teoriei normalizrii i, pentru fiecare aplicaie,sunt exemplificate cereri de
interogare a datelor i propuneri privind proiectarea elementelor de interfa i a
situaiilor de raportare prin facilitile existente n Microsoft Access 2007.
Testele de autoevaluare care sunt incluse pe parcursul fiecrei uniti de
studiu au rolul de a v testa atingerea obiectivele propuse. Aceste exerciii de
autotestare mpreun cu rspunsurile/rezolvrile/indicaiile incluse la sfritul
unitii respective ncearc s v ajute n activitatea de autotestare, activitate
prin care v putei da seama dac ai atins obiectivele propuse la nceputul
unitii de studiu, sau nu.
Finalizarea studiului unui modul, de regul, se concretizeaz prin
rezolvarea unor Verificrii, care vor fi rezolvate de ctre student in cadrul
activitatilor asistate in prezenta tutorelui de disciplin care, le va analiza, le va
nota,si va face comentarii individualizate.
Verificarile sunt nsoite de instruciuni privind redactarea lucrrii,
constrngeri privind lungimea rspunsurilor, resursele suplimentare necesare
elaborrii lucrrii, criterii de evaluare i notare a lucrrii astfel nct s atingei
toi parametri necesari obinerii notei maxime. Cursul de Baze de date are
prevzute 3 verificari obligatorii.

Obiectivele cursului:
Cursul Baze de Date si propune sa instruiasca studentii n domeniul
informatic, sa-i determine sa nteleaga aspecte legate de folosirea si
administrarea bazelor de date n cadrul unei firme. Cunoaterea, nelegerea

i
utilizarea conceptelor, abordrilor, teoriilor, modelelor i metodelor de baz n
domeniul proiectrii bazelor de date i a utilizrii acestora n gestionarea datelor
financiar-contabile.
Dobndirea de capaciti privind:
- ntelegerea notiunilor de baza privind bazele de date si demonstrarea abilitatii
de a folosi o baza de date pe un calculator personal.
- Capacitatea de a proiecta si planifica o baza de date simpla folosind o aplicatie
standard n realizarea de baze de date;
- Explicarea i interpretarea coninuturilor teoretice i practice ale disciplinei;
- Interpretarea creativ a informaiilor i capacitatea de a rezolva o situaieproblem cu ajutorul calculatorului;
- Identificarea datelor relevante, care trebuie memorate n baza de date i a
relaiilor dintre acestea;
- Analiza datelor ce intervin n aplicaii practice concrete;
- Identificarea relaiilor existente ntre date;
- Redundana datelor.
Dobndirea de abiliti privind:
- Utilizarea instrumentelor specifice de prelucrare a tabelelor i bazelor de date
folosind Microsoft Access;
- Capacitatea de a extrage informaii dintr-o baza de date existenta folosind
instrumentele de interogare, selecie i sortare existente n cadrul bazei de date;
- Capacitatea de a crea si modifica rapoarte;
- Aplicarea cunotinelor asimilate pentru realizarea unui proiect cu tabele si
prelucrri de baze de date (Analizarea unei probleme date i proiectarea i
crearea bazei de date).

Timpul alocat:
Durata medie de studiu individual a coninutul cursului - 28 ore(SI)
Activiti asistate 28 ore (AT)

Evaluarea:
Proiectele propuse n cadrul activitatilor asistate vor avea o pondere de 30% n

nota final, restul reprezint 60% nota la testul de verificare a cunotinelor de la


examenul programat n sesiunea de examene i 10% accesarea platformei e-learning.

MODULUL 1
UNITATEA 1:

INTRODUCERE IN BAZE DE DATE

UNITATEA 2:

SISTEME A GESTIUNE A
BAZELOR DE DATE

UNITATEA 3

MODELAREA CONCEPTUAL A
BAZELOR DE DATE

UNITATEA 4

BAZE DE DATE RELA IONALE


I SGBD-URI RELATIONALE SGBDR

VERIFICARE NR.1

MODULUL 2

UNITATEA 5:

SISTEMUL DE GESTIUNE AL
BAZELOR DE DATE ACCESS2007

UNITATEA 6:

TABELELE ACCESS

UNITATEA 7:

TIPURI DE DATE ACCESS,


STABILIREA PROPRIETATILOR
CAMPURILOR
OPERAII CU STRUCTURA I
NREGISTRRILE UNUI TABEL

UNITATEA 8 :

VERIFICARE NR. 2

MODULUL 3
UNITATEA 9 :

INTEROGARILE ACCESS

UNITATEA 10 :

UTILIZAREA OPERATORILOR IN
INTEROGARILE ACCESS, CREAREA
DE CAMPURI CALCULATE

UNITATEA 11:

INTEROGARILE PARAMETRIZATE,
INTEROGARILE DE SINTEZA,
INTEROGARILE INCRUCISATE

UNITATEA 12:

INTEROGARILE DE ACTIUNE

VERIFICARE NR. 3

10

MODULUL 4
UNITATEA 13 :

FORMULARELE ACCESS

UNITATEA 14 :

RAPOARTELE ACCESS

MODULUL 1

11

UNITATEA 1:

INTRODUCERE IN BAZE DE DATE

UNITATEA 2:

SISTEME A GESTIUNE A
BAZELOR DE DATE

UNITATEA 3

MODELAREA CONCEPTUAL A
BAZELOR DE DATE

UNITATEA 4

BAZE DE DATE RELA IONALE


I SGBD-URI RELATIONALE SGBDR

VERIFICARE NR.1

12

UNITATEA 1
INTRODUCERE N BAZE DE DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U1.1. Scopul i obiectivele unitii

12

U1.2. Noiuni i concepte fundamentale n organizarea datelor n baze


de date....

13

U1.3. Arhitectura ANSI/SPARC a bazelor de date.

16

U1.4. Limbajele bazelor de date ..

17

U1.5. Rezumat...

19

Bibliografie minimal

20

Rspunsuri i comentarii la testul de autoevaluare .. 20

U1.1. Scopul i obiectivele unitii de nvare


Scopul unei baze de date este acela de a nmagazina datele n aa fel nct
s se poat obine informaia dorit n orice moment. Informaiile, spre deosebire
de date, au un caracter dinamic n sensul c ele se modific n funcie de datele
nmagazinate n baza de date, dar i n sensul c ele pot fi procesate i prezentate
n diverse feluri.
n urma parcurgerii acestei teme vei cunoate:
o imagine sintetic i cuprinztoare a bazelor de date.
evoluia organizrii bazelor de date bazat pe conceptele de dat,
colecii de date i fiiere.
avantajele bazelor de date.

13

U 1.2. Noiuni i concepte fundamentale n organizarea datelor n baze


de date
O entitate este un obiect distinct ce trebuie reprezentat n baza de date prin
proprietile sale (ex.: salariati, studeni, produse, facturi etc).
Un atribut (cmp, caracteristic) este o proprietate, o nsuire ce descrie
un anumit aspect al obiectului ce se nregistreaz n baza de date. O entitate are
mai multe atribute.
Fiecrui atribut i se asociaz o mulime de valori. Atributul este
caracterizat de natura valorilor pe care le poate lua: numerice, alfanumerice, dat
calendaristic, etc...
Un atribut care identific n mod unic o entitate se numete atribut cheie
(identificator).
Datele sunt fapte culese din lumea real. Ele sunt preluate din msurtori
i observaii i constituie orice mesaj primit de un receptor sub o anumit form.
O percepie a lumii reale poate fi privit ca o serie de obiecte sau fenomene
distincte sau interdependente.
Datele n sine nu au nici un fel de semnificaie. Mai mult dect att,
nefiind altceva dect o niruire de litere i cifre, ele pot primi diverse interpretri,
cele mai multe dintre ele fiind, de obicei, greite. Datele se refera la numere, fapte,
diferite documente etc. Informaiile se refer la date organizate, date care au fost
filtrate i ordonate dup anumite criterii.
A obine informaie nseamn, de fapt, a introduce datele disponibile ntrun anumit context conferindu-le n acest fel o anume semnificaie. Ceea ce se
nmagazineaz ntr-o baz de date, aa cum am artat, sunt datele care au o natur
static n sensul c ele rmn n aceeai stare pn n momentul modificrii lor de
ctre administratorul bazei de date prin intermediul unui proces manual sau
automat. Pentru ca datele s poat fi transformate n informaie ele trebuie
organizate astfel nct s poat fi prelucrate efectiv. Pentru a determina n cazul
unei aplicaii modul de organizare a datelor, trebuie determinate acele
caracteristici ale datelor care permit extragerea esenei nelesului lor.
Data n terminologia prelucrrii automate a datelor este definit ca un
model de reprezentare a informaiei ntr-un format accesibil unui calculator. Din
punct de vedere logic data se definete prin: identificator, atribut i valoare.
Colecia de date reprezint un ansamblu de date organizat dup anumite
criterii.
Structurile de date sunt colecii de date ntre care s-au stabilit o serie de
relaii care conduc la un anumit mecanism de selecie i de identificare a
componentelor acesteia. n funcie de suportul de stocare structurile de date pot fi:
n memoria intern a calculatorului (n timpul prelucrrii datelor),
definite de noiunile: list, coad, stiv;
pe suporturi de stocare n vederea prelucrrii ulterioare, definite de:
fiier i baz de date.
Fiierul - o colecie de date organizate pe criterii calitative, de prelucrare
i de scop. Un fiier reprezint o colecie de date aflate n asociere ce are o
denumire i care este reprezentat, de obicei, cu ajutorul unei secvene de bytes sub
forma celor dou vederi:
- vederea logic: reprezint felul n care utilizatorul vede fiierul;
- vederea fizic: reprezint felul n care fiierul este stocat n memoria
extern a calculatorului. Aceste dou vederi pot fi, evident, foarte diferite ntre ele.
Baza de date - un ansamblu de date structurate, accesibile unei comuniti
de utilizatori.
14

Conceptul de baz de date a aprut n 1969 pornind de la ideea existenei


unui fiier de descriere global a datelor, prin care se asigur independena
programelor fa de date. Accesul utilizatorilor la baza de date se realizeaz prin
acest fiier, care conine coleciile de date i legturile dintre acestea. O baz de
date este creat pentru un anumit scop.
Baza de date propriu-zis - n care se memoreaz datele, reprezint una
sau mai multe colecii de date aflate n interdependen mpreun cu descrierea
datelor i a relaiilor dintre ele.
n bazele de date are loc o integrare a datelor, n sensul c mai multe fiiere
sunt privite n ansamblu, eliminndu-se pe ct posibil informaiile redundante. De
asemenea, se permite accesul simultan la acelea i date, situate n acela i loc sau
distribuite spaial, a mai multor persoane de pregtiri diferite, fiecare cu stilul
personal de lucru.
Simple colecii de fie (documente pe hrtie) sau fiiere de date, care
conin nregistrri de date, dar nu permit operaii de interogare, nu sunt
considerate baze de date.
De exemplu, datele memorate n fiiere pe disc de un instrument de calcul
tabelar (ca Microsoft Excel) sau documentele memorate de un editor de text (ca
Microsoft Word) nu sunt considerate baze de date.
Organizarea datelor - reprezint procesul de definire i structurare a
datelor n colecii, gruparea lor precum i stabilirea elementelor de legtur ntre
componentele coleciei i ntre colecii.
Descrierea datelor se ntlnete sub denumirile de catalog de sistem,
dicionar de date sau metadate ceea ce reprezint date despre date.
Relaiile logice reprezint legturile (asocierile) dintre mai multe entiti.
Un sistem de baze de date (Database System) este un sistem computerizat
de meninere a evidenei unei anumite activiti, folosind baze de date.
Componentele unui sistem de baze de date sunt: hardware, software, date
persistent, proceduri i utilizatori.
Hardware. Pn n urm cu civa ani, sistemele mari de baze de date
puteau fi executate numai pe calculatoare de tip mainframe. n mod obinuit, era
foarte costisitor s fie proiectate, achiziionate i ntreinute aceste maini. O dat
cu apariia calculatoarelor din clasa staiilor de lucru, care sunt puternice i ieftine,
programatorii au posibilitatea de a proiecta rapid i ieftin produse software pentru
ntreinerea i distribuirea datelor.
Astzi, componenta hardware a unui sistem informatic cu baze de date
poate fi reprezentat de un singur calculator personal, un singur calculator
mainframe sau o reea de calculatoare.
De obicei se aplic urmtoarea schem ntr-o reea de calculatoare:
- 1 calculator principal pe care se afl programele back-end - adic partea
din SGBD care administreaz i controleaz accesul la baza de date;
- mai multe calculatoare aflate n diferite locaii pe care se afl programele
front-end adic partea din SGBD ce constituie interfaa cu utilizatorul.
n aceast schem, numit client-server, programele back-end reprezint
serverul, iar cele front-end reprezint clienii.
Performanele generale de operare ale calculatorului (numrul i viteza
procesoarelor, dimensiunea i viteza de operare a memoriei principale etc.).
influeneaz n mod corespunztor performanele sistemului de baze de date. Dar,
ceea ce intereseaz n mod deosebit n utilizarea unui calculator pentru un sistem
de baze de date, este volumul (capacitatea) memoriei secundare, utilizat pentru
memorarea coleciei de date persistente ale bazei de date.
Software cuprinde programele SGBD, programele aplicaie, sistemul de
15

operare i software de reea.


Sistemul de Gestiune a Bazei de Date - SGBD (Database Management
System - DBMS) ansamblu de programe care realizeaz gestiunea, prelucrarea
complex a datelor i dezvoltarea de aplicaii privind bazele de date asigurnd
interfaa ntre BD i utilizatori.
Sistemul de gestiune a bazei de date - SGBD - recepioneaz cererile
utilizatorilor de acces la baza de date (pentru operaii de introducere, tergere,
modificare sau interogare), le interpreteaz, execut operaiile corespunztoare i
returneaz rezultatul ctre utilizatori.
Sistemul SGBD ofer utilizatorilor o viziune (vedere - view) a bazei de
date la un nivel nalt i i elibereaz de necesitatea de a cunoate organizarea
particular a sistemului (driverele de disc, structura nregistrrilor de date, etc.).
Mai mult, sistemul de gestiune asigur protecia datelor fa de accese
neautorizate sau defecte de funcionare, asigurnd integritatea bazei de date.
Pe lng SGBD, care este cea mai important component software a unui
sistem de baze de date, mai exist i alte componente: sistemul de operare, care
asigur controlul execuiei programelor, biblioteci i instrumente software
(toolset-uri) pentru proiectarea, dezvoltarea sau exploatarea sistemelor de baze de
date i a aplicaiilor de baze de date.
O aplicaie de baze de date (Database Application) este un program care
ofer o anumit utilizare a unei baze de date. De exemplu, programul care permite
meninerea i urmrirea activitii angajailor unei firm (ncadrare, calificare,
salarizare, etc.) folosind informaiile despre angajai memorate ntr-o baz de date
reprezint o aplicaie de baze de date.
Datele - acioneaz ca o punte ntre componentele main (hardware i
software) i componenta uman. Baza de date conine att datele operaionale
(setul de nregistrri pe care se lucreaz) ct i metadatele.
Datele memorate ntr-o baz de date sunt date persistente, adic date care
rmn memorate pe suport magnetic, independent de execuia programelor de
aplicaii. Datele persistente ale unei baze de date se introduc, se terg sau se
actualizeaz folosind date de intrare (provenite de la tastatur, din citirea unor
fiiere de date sau din recepionarea unor mesaje). Datele de intrare sunt, n
general, date nepersistente; ele sunt generate de utilizatori i sunt memorate
(devenind date persistente) numai dup ce au fost validate (acceptate) de ctre
SGBD. Datele de ieire ale unui sistem de baze de date sunt, de asemenea, date
nepersistente; ele provin din operaii de interogare a bazei de date i sunt puse la
dispoziia utilizatorului (sub form de afiri, rapoarte tiprite, etc).
Procedurile - reprezint instruciuni i reguli aplicate n proiectarea i
utilizarea bazei de date. Acestea pot fi: deschiderea unei sesiuni de lucru n
SGBD, pornirea sau oprirea SGBD, utilizarea unui program de aplicaie sau a unei
funcii SGBD, efectuarea de copii de siguran, tratarea defeciunilor hard i soft,
modificarea structurii unui tabel, reorganizarea bazei de date, mbuntirea
performanelor sau arhivarea datelor.
Utilizatorii unui sistem de baze de date se pot mpri n cteva categorii:
programatorii de aplicaii, utilizatorii finali i administratorul bazei de date.

Programatorii de aplicaii sunt cei care scriu aplicaiile de baze de


date, folosind limbaje de programare de nivel nalt (Cobol, PL/1, Fortran, C, C++,
Java, Basic). Aplicaiile rezultate pot fi aplicaii cu execuie independent (batchprocessing) sau pot fi aplicaii interactive (on-line) folosite de utilizatorii finali ai
sistemului pentru a accesa (ntr-un mod mai eficient i mai sigur) baza de date.
16


Utilizatorii finali sunt acei utilizatori care acceseaz baza de date
prin intermediul unui program de aplicaie care le confer drepturi limitate de
acces la date pentru anumite operaii de prelucrare. Utilizatorii finali sunt
persoane cu pregtire informatic minimal, care efectueaz un volum mare de
operaii asupra bazei de date, dar nu trebuie s cunoasc mai mult dect
posibilitile oferite de programul pe care l utilizeaz.

Administratorul bazei de date este responsabil de meninerea


funcionalitii bazei de date prin stabilirea drepturilor de acces ale diferitelor
categorii de utilizatori, prin efectuarea operaiilor periodice de salvare a datelor
backup), prin monitorizarea performanelor sistemului i refacerea datelor atunci
cnd este necesar.

U 1.3. Arhitectura ANSI/SPARC a bazelor de date


1 Arhitectura intern a unui sistem de baze de date propus prin standardul
ANSI/X3/SPARC (American National Standards Institute, Standards Planning
And Requirements Committee) (1975) conine trei niveluri funcionale: nivelul
extern, nivelul conceptual i nivelul intern (fig. 1).
Se definete modelul datelor, ca un set de concepte utilizat n descrierea
structurii datelor. Prin structura bazei de date se nelege tipul datelor, legtura
dintre ele, restriciile aplicate datelor. O structur de date asociat unei baze de
date poate fi reprezentat pe trei niveluri:
0
Nivelul extern sau nivelul vizual (utilizator), include o colecie de scheme
externe, care sunt vederi ale diferitelor grupuri de utilizatori, existnd cte o
vedere individual a datelor pentru fiecare grup;
2
Nivelul conceptual sau schema conceptual (logic) a bazei de date,
descrie structura ntregii baze de date pentru toi utilizatorii. La nivel conceptual
se face o descriere complet a bazei de date ascunzndu-se detaliile legate de
stocarea fizic i detaliind descrierea entitilor, tipurilor de date, relaiile dintre
ele i restriciile asociate;
0
Nivelul intern conine schema intern ce descrie structura de stocare fizic
a datelor n baza de date, utiliznd un model al datelor fizice. La acest nivel se
descriu detaliile complete ale stocrii i modul de acces la date.
O schem extern (vedere utilizator) (external schema, users view)
conine o subschem conceptual a bazei de date, mai precis descrierea datelor
care sunt folosite de acel grup de utilizatori.
Schema conceptual a bazei de date (conceptual schema) corespunde
unei reprezentri unice (pentru toi utilizatorii) i abstracte a datelor, descriind ce
date sunt stocate n baza de date i care sunt asocierile dintre acestea.
Schema intern (fizic) a bazei de date (internal schema) specific modul
de reprezentare a datelor pe suportul fizic.
Un sistem de baze de date suport o schem intern, o schem conceptual
i mai multe scheme externe; toate aceste scheme sunt descrieri diferite ale
aceleiai colecii de date, care exist doar n nivelul intern.

17

Fig. 1. Arhitectura intern a unui sistem de baze de date propus prin standardul ANSI/X3/SPARC

n multe SGBD nu se poate face o distincie clar ntre cele trei niveluri,
de multe ori nivelul conceptual este puternic dezvoltat i suplinete aparent
celelalte niveluri. De asemenea, la dezvoltarea aplicaiilor se remarc o contopire
a nivelului extern cu cel conceptual.
De la modelul conceptual, cererile sunt adresate modelului intern pentru a
fi procesate i aplicate datelor stocate.
n funcie de categoria de personal implicat n folosirea bazei de date,
datele dintr-o baz de date pot fi structurate pe trei niveluri:
nivelul conceptual (global) exprim viziunea administratorului bazei de
date asupra datelor. Acestui nivel i corespunde structura conceptual
(schema) a bazei de date, prin care se realizeaz o descriere a tuturor
datelor, ntr-un mod independent de aplicaii, ce face posibil
administrarea datelor.
nivelul logic exprim viziunea programatorului de aplicaie asupra
datelor. La acest nivel se realizeaz o descriere a datelor corespunztoare
unui anumit program de aplicaie.
nivelul fizic care exprim viziunea inginerului de sistem asupra datelor.
Corespunde schemei interne a bazei de date prin care se realizeaz o
descriere a datelor pe suport fizic de memorie.

U 1.4. Limbajele bazelor de date


Limbajele bazelor de date sunt mprite n 2 categorii: limbaje de definire
a datelor (DDL) i limbaje de manipulare a datelor (DML).
a) Limbajul de definire a datelor (DDL
Cu ajutorul acestui limbaj se specific tipurile de date i structurile precum
i constrngerile asupra datelor. Instruciunile limbajului sunt compilate i
transformate ntr-un set de tabele nmagazinate ntr-un fiier special numit
dicionar de date sau catalogul sistemului (descrierea datelor se ntlnete sub
denumirile de catalog de sistem, dicionar de date sau meta-date ceea ce nseamn
18

date despre date).


Structura de nmagazinare a datelor precum i metodele de acces utilizate
de sistemul bazei de date sunt specificate cu ajutorul unui set de definiii folosit cu
scopul ascunderii detaliilor de implementare a schemelor bazei de date.
b) Limbajul de manipulare a datelor
Acest limbaj este folosit pentru a ajuta utilizatorul s acceseze i s
foloseasc datele aflate n baza de date ntr-un mod interactiv. Cu ajutorul acestui
limbaj se pot extrage date din baza de date, introduce date n baza de date, elimina
date din baza de date sau actualiza date din baza de date.
Limbajele DML pot fi de dou tipuri: procedurale i neprocedurale.
DML procedurale specific modul cum trebuie s fie obinut rezultatul unei
instruciuni DML, iar DML neprocedurale descriu numai ce rezultat trebuie
obinut.
ntrebri facultative
1. Ce nelegei prin entitate? Exemplificai
2. Ce nelegei prin atribut?
3. Cum se definete identificatorul?
4. Definii data?
5. Prin ce se caracterizeaz datele? Exemplificai.
6. Ce nelegei prin colecia de date? Exemplificai.
7. Ce reprezint fiierul?
8. Definii baza de date?
9. Ce nelegei prin sistem de baze de date?
10. Definii procedurile?

Test de autoevaluare nr. 1


1. n funcie de categoria de personal implicat n folosirea bazei de date, datele dintr-o
baz de date pot fi structurate pe trei niveluri. Care sunt acestea:
Timp de lucru : 15 min
1. nivelul conceptual;
Punctaj 100p
2. nivelul baz;
3. nivelul logic;
4. nivelul fizic;
5. nivelul general;
6. nivelul intern.
Alegei varianta corect
a. 1,2,5,6,
b.1 3,4
c. 1 3 4 6
d. 2 4 6
e. 1 3 4 5
(20 puncte)
2. Utilizatorii unui sistem de baze de date se pot mpri n cteva categorii:
a. programatorii de aplicatii, utilizatorii finali
b. programatorii de aplicatii, administratorulbazei de date, utilizatorii finali

19

c. programatorii de aplicaii, administratorul bazei de date, utilizatorii finali , programatorii


de fluxuri informaionale
d. utilizatorii finali
(10 puncte)
3. Componentele unui sistem de baze de date sunt:
a. hardware;
b. software;
c. datele;
d. procedurile;
e. utilizatorii.
(10 puncte)
4. Completai: Arhitectura intern a unui sistem de baze de date propus prin standardul
ANSI/X3/SPARC (American National Standards Institute, Standards Planning And Requirements
Committee) n anul .. , i conine trei niveluri funcionale: nivelul .., nivelul
.. i nivelul
(10 puncte)
5. Conceptul de baz de date a aprut n pornind de la ideea existenei unui fiier de
descriere global a datelor, prin care se asigur fa de date.
(10 puncte)
6. (Baza de date propriu-zis reprezint o singur colecie de date aflata n interdependen
mpreun cu descrierea datelor i a relaiilor dintre ele.
Adevarat

Fals
(10 puncte)

7. Sistemul de Gestiune a Bazei de Date reprezint ansamblu de programe care


realizeaz gestiunea, prelucrarea complex a datelor i dezvoltarea de aplicaii
privind bazele de date asigurnd interfaa ntre BD i utilizatori.
Adevarat

Fals
(10 puncte)

8.Limbajele bazelor de date sunt mprite n:


a. limbaje de definire a datelor ;
b. Limbaje de descriere a datelor
c. Limbaje de manipulare a datelor
d;Limbaje de alegere a datelor
(20 puncte)

U1.5. Rezumat
Societatea contemporan, caracterizat prin afluxul fr precedent de
informaie de diferite tipuri i pe diverse canale, necesit strategii i instrumente
din ce in ce mai complexe pentru stocare, procesare i, mai ales, interpretare.
In acest context, se pune problema transformrii informaiei n date i
organizarea acestora ntr-o asemenea manier nct n orice moment s poat fi
extrase, cu promptitudine i exactitate, datele favorabile realizrii unui scop
specific.
20

Scopul unei baze de date este acela de a nmagazina datele n aa fel nct
s se poat obine informaia dorit n orice moment. Informaiile, spre deosebire
de date, au un caracter dinamic n sensul c ele se modific n funcie de datele
nmagazinate n baza de date, dar i n sensul c ele pot fi procesate i prezentate
n diverse feluri.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009, pag. 18

Rspunsuri i comentarii la testul de autoevaluare nr. 8


1. b; 2. b; 3.abcde; 4-1975/extern/conceptual/intern/; 5-1969/independena
programelor; 6-F; 7-A; 8-ac;

21

UNITATEA 2
SISTEME DE GESTIUNE A BAZELOR DE DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U2.1. Scopul i obiectivele unitii ..

21

U2.2. SGBD-Etape n evoluie .

22

U2.3.
Obiectivele
i
SGBD.

23

funciile

unui

U2.4. ClasificareaSGBD-urilor

30

U2.5. Rezumat...

34

Bibliografie minimal

35

Rspunsuri i comentarii la testul de autoevaluare .. 35

U2.1. Scopul i obiectivele unitii de nvare


Scopul unui sistem de gestiune al unei baze de date este acela de a oferi
un mediu care s fie i convenabil, dar i eficient pentru a putea fi folosit la:
- extragerea informaiilor din baza de date;
- nmagazinarea datelor n baza de date.
Parcurgerea acestei teme v va facilita cunoaterea:
- definirii sistemelor de gestiune a bazelor de date i a etapelor n evoluia
acestora;
- obiectivelor i a funciilor SGBD-urilor;
- sarcinilor i competenelor diferitelor categorii de utilizatori ai unei baze de
date;
- criteriilor de clasificare a SGBD-urilor;

22

U 2.2. SGBD - Etape n evoluie


Un SGBD este un ansamblu complex de programe care asigur interfaa
ntre o baz de date i utilizatorii acesteia. SGBD este componenta software a unui
sistem de baz de date care interacioneaz cu toate celelalte componente ale
acestuia, asigurnd legtura i interdependena ntre elementele sistemului (vezi
arhitectura unui SBD).
Rolul unui SGBD ntr-un context de sistem de baz de date este de a:
1. defini i descrie structura bazei de date, care se realizeaz printr-un
limbaj propriu specific, conform unui anumit model de date;
2. ncrca/valida datele n baza de date respectnd nite restriciile de
integritate impuse de modelul de date utilizat;
3. realiza accesul la date pentru diferite operaii (consultare, interogarea,
actualizare, editare situaii de ieire), utiliznd operatorii modelului de date
4. ntreine baza de date cu ajutorul unor instrumente specializate
(editoare, utilitare - shells, navigatoare browsers, convertoare etc);
5. asigura protecia bazei de date sub aspectul securitii i integritii
datelor.
Evoluia SGBD-urilor este legat, n principal, de modelul de date pe
care-l implementeaz. Organizarea datelor n memoria extern n baze de date se
face conform unui model de date, aa cum am vzut n capitolele precedente.
Etapele n evoluia SGBD-urilor sunt urmtoarele:
1
Etapa I. Pn n anii aizeci datele erau organizate doar n fiiere,
gestionate de programe scrise n diferite limbaje de programare universale
(exemple: Cobol, Fortran etc.);
2
Etapa II. La sfritul anilor aizeci a aprut modelul arborescent de
organizare a datelor i primele SGBD-uri care erau ierarhice i implementau acest
model (exemplu: IMS).
3
Etapa III. La nceputul anilor aptezeci a aprut modelul reea de
organizare a datelor i SGBD-urile reea ce implementau acest model (exemple:
IDMS, SOCRATE).
SGBD-urile arborescente i reea fac parte din prima generaie i ele
constituie pionieratul n domeniu.
Etapa IV. La sfritul anilor aptezeci, nceputul anilor optzeci a aprut
modelul relaional de organizare a datelor i ulterior s-au realizat SGBD-urile
relaionale ce implementau acest model (exemple: Oracle, Informix, DB2,
SQLServer, Visual Foxpro, Access etc.). Este generaia a doua de SGBD, care prin
simplitate, interactivitate i neproceduralitate domin piaa actual.
Etapa V. La sfritul anilor optzeci, nceputul anilor nouzeci a aprut
modelul orientat obiect de organizare a datelor i SGBD-urile orientate obiect ce
implementau acest model (exemple: Gemstone, O2, Jasmine etc.). Aceasta este
generaia a treia de SGBD care este n plin dezvoltare acum.
n momentul de fa este evident tendina productorilor de sisteme de
gestiune a bazelor de date de a trece la sisteme obiect-relaionale i, n general,
aceast trecere se realizeaz prin adugarea treptat a caracteristicilor modelului
obiect n sistemele de gestiune relaionale. Oferta de sisteme de gestiune a bazelor
de date este deosebit de generoas, pe o scar extins de performane i costuri, de
la sisteme care se pot folosi gratuit (fr licen sau cu licen public), pn la
sisteme cu nalte performane, a cror utilizare necesit plata licenelor respective.
Chiar i pentru astfel de sisteme exist versiuni de test (trial versions) care pot fi
obinute gratuit prin Internet
La trecerea de la o generaie la alta de SGBD s-au urmrit urmtoarele
23

aspecte:
1
1. Pstrarea aspectelor fundamentale care dau conceptul de SGBD:
obiectivele, funciile i componentele. Desigur, la fiecare generaie apar i o serie
de elemente specifice, de nuan, care ns nu schimb fundamentele conceptului.
2
2. ncadrarea unui SGBD ntr-o generaie se face n funcie de
modelul de date implementat. Sunt luate n considerare toate cele trei elemente
care caracterizeaz modelul de date: definirea structurii modelului (entitile i
legturile dintre ele), operatorii de prelucrare, restriciile de integritate.
3
3. mbuntirea organizrii datelor n memoria extern prin
implementarea unui model mai performant. Se urmrete creterea independenei
logice i fizice (pn la total), asigurarea unor limbaje de descriere a datelor
(LDD) ct mai performante i automatizate, asigurarea unor limbaje de
manipulare a datelor (LMD) puternice, asigurarea unor limbaje de regsire
neprocedurale (exemplu SQL), reducerea i controlul redundanei.
4
4. mbuntirea accesului la date prin: acces dup mai multe chei,
acces concurent, optimizarea accesului, creterea securitii datelor.
5
5. Oferirea unor faciliti de utilizare tot mai performante:
generatoare specializate, interfee cu alte limbaje de programare, interactivitatea.
6
6. Diversificarea tipurilor de date ce pot fi utilizate, diversificarea
modului de lucru (local sau reea), precum i a tipurilor de aplicaii ce pot fi
dezvoltate. Acest lucru nseamn c SGBD-urile se doresc a avea o extensibilitate
ct mai mare, care s le permit adaptarea la nou.
7
7. Utilizarea unor SGBD-uri din generaiile precedente n paralel
cu dezvoltarea unei noi generaii.
8
8. Tendina de fundamentare teoretic i standardizare a
conceptelor din fiecare nou generaie de SGBD aprut, ceea ce ofer acestora
robustee i deschidere.

U 2.3. Obiectivele i funciile unui SGBD


Obiectivul general al unui SGBD este de a furniza suportul software
complet pentru dezvoltarea de aplicaii informatice cu baze de date. Fiind un
mediu specializat, SGBD satisface cerinele informaionale ale utilizatorului ntrun mod optim. Astfel, el asigur minimizarea costului de prelucrare a datelor,
reduce timpul de rspuns (timp util), asigur flexibilitate i deschidere mari
aplicaiei, asigur protecie ridicat a datelor.
Pentru ca un produs software s ating performanele de mai sus i s fie
un SGBD, el trebuie s asigure un set minim de obiective:
1. Asigurarea independenei datelor. Se spune c o aplicaie informatic
depinde de date, dac modificarea structurii de memorare a datelor sau a strategiei
de acces la date afecteaz i aplicaia. Independena datelor fa de aplicaie poate
fi:
1
- fizic, adic modul de memorare a datelor i tehnicile fizice de
memorare (strategia de acces), pot fi schimbate fr a rescrie programele
(exemplu, se poate face acces secvential, apoi se poate indexa i face un acces
direct);
2
- logic, adic structura de date poate fi schimbat (deoarece este
pstrat n dicionarul bazei de date) fr a rescrie programele (exemplu, se poate
aduga n structur un nou cmp).
Necesitatea asigurrii independenei datelor fa de programele de aplicaie,
de ctre SGBD, este dat de urmtoarele aspecte:
24

- diferite aplicaii au nevoie de viziuni diferite ale utilizatorului asupra


acelorai date. O baz de date este realizat pentru o gam larg de utilizatori, care
au la dispoziie un volum mare de date. SGBD-ul trebuie s-i permit la un
moment dat unui utilizator s vad (s-i construiasc o viziune) doar o parte
din baza de date i anume numai acele date care l intereseaz;
- administratorul bazei de date trebuie s aib libertatea de a schimba
structura de memorare sau strategia de acces, ca rspuns la cerinele noi aprute,
fr a modifica aplicaiile existente (sistem deschis). Dup darea n folosin a
unei baze de date pot apare schimbri de standarde sau norme, se pot modifica
prioritile aplicaiei, se pot modifica unitile i modul de memorare ale datelor
etc. Cu alte cuvinte, dinamica lumii reale nconjurtoare va genera modificri n
baza de date. SGBD-ul va permite aplicaiei informatice s funcioneze cu
programele existente i s converteasc datele;
Baza de date existent la un moment dat, precum i programele de
aplicaie care au fost folosite o perioad de timp, reprezint o investiie major la
care nu trebuie s se renune prea uor. Cheltuielile pentru realizarea unei baze de
date sunt mari, iar ele trebuie recuperate integral i adus un beneficiu.
2. Redundan minim i controlat a datelor
Spre deosebire de sistemele clasice (cu fiiere) de prelucrare automat a
datelor, stocarea informaiilor n bazele de date se face astfel nct datele s nu fie
multiplicate. Cu toate acestea, uneori, pentru a realiza performane sporite, n ceea
ce privete timpul de rspuns se accept o anumit redundan a datelor. Aceasta
va fi ns controlat pentru a se asigura coerena(corectitudinea datelor) bazei de
date. Exemplul tipic de redundan controlat acceptat este cea aprut la
proiectare bazelor de date relaionale prin tehnica de normalizare.
3. Faciliti de utilizare a datelor
Aceast facilitate presupune ca SGBD-ul s aib nite componente
specializate pentru diferite operaii de utilizare:
0
- Folosire datelor de ctre mai muli utilizatori n diferite scopuri
(aplicaii). De cele mai multe ori, o baz de date nu este realizat izolat. Mai ales
n cazul realizrii unor aplicaii informatice cu baze de date care fac parte dintr-un
sistem integrat, dar nu numai, datele de la o aplicaie trebuie s poat fi utilizate n
alte aplicaii. Acest lucru reduce spaiul de memorare necesar i efortul de
ncrcare / validare a datelor.
1
- Accesul ct mai simplu al utilizatorilor la date, fr ca ei s fie nevoii s
cunoasc structura ntregii baze de date, acest lucru rmnnd n sarcina
administratorului bazei de date.
Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul
aplicaiei cu baze de date, are puine noiuni de informatic. De aceea pe el nu l
intereseaz structura bazei de date, ci numai o utilizare ct mai uoar. Pentru
acest lucru SGBD-ul trebuie s ofere instrumente specializate pentru dezvoltarea
de programe de aplicaie ct mai prietenoase, care s dirijeze i s ajute
beneficiarul n utilizarea bazei de date.
- Existena unor limbaje performante de regsirea a datelor care permit
exprimarea interactiv a unor cereri de regsire a datelor i indicarea unor reguli
pentru editarea informaiilor solicitate.
1
Regsirea datelor este una din operaiile cele mai folosite ntr-o
baz de date. Fie c este folosit pentru actualizare sau pentru consultare, sub
forme diferite, regsirea datelor este realizat la cererea tuturor tipurilor de
utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice n ceea ce
privesc facilitile de regsire. Acestea au atins performane ridicate n sistemele
relaionale, multe din facilitile de regsire de aici fiind preluate n generaia a
25

treia de SGBD-uri.
1
- Spre deosebire de sistemul clasic de prelucrare pe fiiere, unde
exist un singur criteriu de adresare (cel care a stat la baza organizrii fiierului)
n cazul bazelor de date, sistemul de gestiune trebuie s ofere posibilitatea unui
acces multicriterial. n timp ce modificarea criteriului la fiierele clasice implic
reorganizarea lor, la bazele de date schimbarea criteriului nu afecteaz cu nimic
datele. SGBD-ul stocheaz datele n entitile bazei de date i permite mai multe
ci de acces. Pentru diferite moduri de adresare SGBD creeaz dinamic, la
momentul execuiei, o serie de fiiere anexe (de index etc.) care las neschimbate
entitile bazei de date.
4. Protecia datelor. n sistemele de baz de date, protecia datelor se
asigur sub dou aspecte: securitatea i integritatea.
Securitatea (confidenialitatea) datelor semnific faptul c accesul la date
se face numai printr-o autorizare corespunztoare i doar controlat (sarcina
administratorului bazei de date cu ajutorul SGBD-ului).
n acest sens, SGBD-ul permite: autorizarea i controlul accesului la date,
utilizarea viziunilor, realizarea unor proceduri speciale, criptarea datelor.
a) Autorizarea i controlul accesului la date este realizat de SGBD prin
intermediul parolelor. Acestea identific clasele de utilizatori, cu anumite drepturi
de acces, la anumite date.
Clasele de utilizatori pentru care se poate autoriza accesul la baza de date
sunt:
- uilizatorii obinuii care nu au n proprietate obiecte i nu au alte
privilegii dect cele date de administratorul BD.
- proprietarii de obiecte (tabele, viziuni, proceduri etc.) sunt utilizatorii
care i creeaz anumite obiecte. Implicit proprietarul unui obiect are toate
privilegiile asupra acestuia, putnd s le revoce sau s le transmit altor utilizatori.
- administratorul BD este utilizatorul care are implicit toate drepturile
asupra datelor i dreptul de a revoca sau stabili privilegii pentru ceilali utilizatori.
Privilegiile diferiilor utilizatori sunt gestionate de SGBD astfel: un anumit
subiect (utilizator) poate realiza anumite aciuni, asupra anumitor obiecte, n
limita anumitor restricii (condiii suplimentare). Profilul utilizator este dat de
nume (NAME), parola (PASS), nume grup, numr nivel de acces.
b) Utilizarea vederilor (view) este asigurat de SGBD pentru reprezentarea
schemelor externe ale bazei de date. Cu ajutorul vederilor, SGBD-ul permite s se
defineasc partiii logice ale bazei de date, definite pentru diferii utilizatori, n
raport cu cerinele acestora de acces la date. Securitatea datelor este asigurat de
SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune
i revocarea drepturilor pentru obiectele iniiale.
c) Realizarea unor proceduri speciale de acces asupra datelor este permis
de SGBD. Aceste proceduri scrise n LMD se pstreaz n form precompilat, iar
anumitor utilizatori li se va acorda dreptul de execuie i li se va interzice accesul
direct la obiectele bazei de date.
d) Criptarea este asigurat de SGBD prin oferirea unor rutine de criptare
(codificare) a datelor apelate automat sau la cerere i prin existena unor
instrumente care permit utilizatorului s realizeze propriile rutine de criptare.
Criptarea i decriptarea se realizeaz dup algoritmi specifici, cu o cheie (parol)
de acces la rutin.
Componentele unui sistem de criptare sunt:
- Algoritmul de criptare este o rutin care transform datele iniiale ntr-o
form cifrat (codificat);
- Cheia de criptare este o valoare secret (parola) care permite intrarea n
26

algoritmul de criptare;
- Algoritmul de decriptare este o rutin care transform datele din forma
criptat n cea iniial;
1
- Cheia de decriptare este o parol de intrare n algoritmul de
decriptare.
Integritatea datelor se refer la corectitudinea (coerena) datelor i este
asigurat prin protejarea acestora mpotriva unor incidente intenionate sau
neintenionate
Componentele SGBD-ului asigur integritatea datelor tratnd separat
cauzele care pot altera baza de date: integritatea semantic, controlul accesului
concurent, salvarea / restaurarea.
a) Integritatea semantic este asigurat prin operaii efectuate de SGBD
asupra datelor i a prelucrrilor. Aceste operaii alctuiesc un set de reguli numit
restricii de integritate. SGBD-ul asigur astfel de restricii implicite (rezult din
modelul de date implementat) i explicite (proceduri incluse n programele de
aplicaie).
b) Accesul concurent asigur coerena datelor i este un obiectiv al SGBDului care se pune cu acuitate mai ales la baze de date distribuite. n acest sens
SGBD-ul are o unitate distinct de prelucrare a datelor numit tranzacie, care este
constituit dintr-o secven de operaii marcat de puncte de nceput i sfrit.
Tranzacia poate fi controlat de SGBD implicit, cnd punctele de nceput i de
sfrit sunt automat definite, sau explicit, cnd punctele de nceput i de sfrit
sunt definite prin comenzi specifice.
La execuia concurent a tranzaciilor SGBD-ul trebuie s asigure
blocarea datelor utilizate la un moment dat. Aceasta nseamn c se interzice
accesul celorlalte tranzacii concurente la aceleai date, pn se termin tranzacia
curent.
Tehnica de blocare utilizat de SGBD se poate aplica la nivelul ntregii
baze de date, a unui fiier, a unei nregistrri sau chiar a unui cmp. Ea poate fi
pentru citire (partajabil) sau pentru scriere (exclusiv).
Cele mai multe SGBD-uri realizeaz blocarea la nivel de nregistrare i
fiier, prin diferite metode: setarea unui bit pentru resursa respectiv, construirea
unei liste cu resursele blocate, meninerea resurselor blocate ntr-o zon special
etc.
Interblocarea este situaia n care dou tranzacii blocheaz anumite
resurse, apoi solicit fiecare resursele blocate de cealalt. La nivelul de SGBD
trebuie s existe facilitatea de prevenire sau rezolvare a interblocrii:
- Prevenirea interblocrii presupune c programele blocheaz toate
resursele de care au nevoie nc de la nceputul fiecrei tranzacii (greu de
precizat).
- Soluionarea interblocrii presupune c exist nite mecanisme pentru
detectarea i eliminarea interblocrii (de exemplu graful dependenelor proceselor
de executat).
c) Salvarea/restaurarea (backup/recovery) ca facilitate a SGBD-ului
permite refacerea consistenei datelor care au fost alterate fizic din diferite motive.
Salvarea datelor este un proces de stocare prin realizarea de copii de
siguran i prin jurnalizarea tranzaciilor i a imaginilor. SGBD-ul poate asigura
salvarea automat sau la cererea administratorului bazei de date.
Jurnalul tranzaciilor este un fiier creat i ntreinut de SGBD, n care se
memoreaz informaiile despre tranzaciile efectuate asupra bazei de date . Aceste
informaii sunt: codul tranzaciei, momentul nceperii tranzaciei, identificatorul
utilizatorului care a lansat tranzacia, actualizrile efectuate pe BD.
27

Jurnalul imaginilor se deosebete de cel al tranzaciilor prin aceea c nu


conine descrierea operaiilor efectuate asupra BD ci efectul acestora.
Exist urmtoarele variante:
- Jurnalul cu imaginea nregistrrilor dup actualizare (after image), ce
conine copia fiecrei nregistrri n forma de dup efectuarea unei actualizri
asupra ei.
- Jurnalul cu imaginea nregistrrilor nainte de efectuarea unei actualizri
(before image), ce conine copia fiecrei nregistrri n forma de dinaintea
efecturii unei actualizri asupra ei.
- Jurnalul mixt ce conine att imaginea nregistrrilor dinainte de
actualizare ct i dup actualizare.
Restaurarea pornete de la colecii de date stocate prin salvare i reface
consistena bazei de date, minimiznd prelucrrile pierdute. Restaurarea este
asigurat automat de SGBD, dar se poate realiza i manual.
Restaurarea automat a BD este realizat de SGBD cu ajutorul fiierelor
jurnal. Pentru a se putea realiza acest lucru, SGBD realizeaz o paginare a BD i
la o cerere de regsire transfer o astfel de pagin n memoria intern. Aici are loc
prelucrarea ei i abia dup ce aceast prelucrare s-a terminat complet, se face
transferul paginii napoi pe disc. Sincronizarea memoriei interne cu baza de date i
fiierele jurnal, se realizeaz prin diferite tehnici: algoritmi specifici, executarea
unor puncte de verificare (check point) la intervale de timp sau la cerere etc.
La nivelul SGBD-ului pot exista o serie de parametri de configurare care
influeneaz procesul de restaurare automat. Aceti parametri se refer la:
intervalul de restaurare, indicatorul de restaurare (ce informaii vor fi scrise n
fiierul de erori) etc.
Restaurarea manual a BD implic intervenia administratorului pentru
refacerea bazei de date de pe un suport tehnic care a fost distrus. Cea mai recent
copie de siguran efectuat pentru o BD afectat este ncrcat i se reiau
prelucrrile efectuate din momentul copierii pn la producerea defeciunii.
Restaurarea manual se face prin deconectarea tuturor utilizatorilor de la BD,
ncrcarea copiei i reluarea lucrului.
5. Partajabilitatea datelor
Partajabilitatea datelor se refer nu numai la aspectul asigurrii accesului
mai multor utilizatori la aceleai date, ci i la posibilitatea dezvoltrii unor
aplicaii fr a se modifica structura bazei de date. Problema partajabilitii se
pune la un nivel superior pentru SGBD-urile care permit lucrul n reea.
6. Legturile ntre date
Legturile ntre date corespund asocierilor care se pot realiza ntre
obiectele unei aplicaii informatice. Orice SGBD trebuie s permit definirea i
descrierea structurii de date, precum i a legturilor dintre acestea, conform unui
model de date. Fiecare tip de model de date permite anumite legturi ntre date.
Un SGBD, care implementeaz un anumit model de date, va trebui s asigure i
realizarea legturilor dintre datele corespunztoare n conformitate cu schema
conceptual.
7. Performanele globale
Performanele globale ale aplicaiei sunt influenate de SGBD. Acesta
trebuie s gestioneze un volum mare de date de o complexitate ridicat, ntr-un
anumit timp de acces rezonabil pentru diferii utilizatori. Pentru toate aceste
lucruri SGBD-ul folosete diferite metode de acces, tehnici de optimizare, tipuri
de date. Implementarea lor se face n componente specializate ale SGBD-ului.
Toate obiectivele de mai sus au fost avute n vedere la evoluia SGBDurilor, fiecare generaie mbuntind performanele. Realizarea acestor obiective
28

este asigurat de sistemele de gestiune a bazelor de date printr-o serie de


componente ce permit efectuarea unor operaii specifice. n funcie de natura lor i
scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele o
grupare pe funcii astfel nct, una sau mai multe activiti, relativ omogene, vor
realiza o anumit funcie.
1
1.Funcia de descriere a datelor
SGBD-ul, prin aceast funcie, permite definirea structurii bazei de date cu
ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizat
la nivel conceptual, logic i fizic. Se descriu atributele (cmpurile) din cadrul
structurii bazei de date, legturile dintre entitile bazei de date sau dintre
atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor,
metodele de acces la date, aspectele referitoare la asigurarea integritii datelor.
Concretizarea acestei funcii este schema bazei de date, memorat n cod intern.
Memorarea se face ntr-un fiier, ceea ce permite afiarea i actualizarea structurii
bazei de date, n orice moment.
Aceast funcie a fost mult automatizat n timp, LDD avnd acum puine
comenzi. LDD este specific fiecrui SGBD, dar el ntotdeauna realizeaz
descrierea datelor conform elementelor modelului de date pe care l
implementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i descrierea
entitilor i a caracteristicilor lor, definirea legturilor dintre obiecte (asocierile)
i a regulilor de integritate specifice modelului de date.
Dup realizarea funciei de descriere, ntr-un SGBD, entitile bazei de
date exist create deja ca fiiere, dar nu conin datele propriu-zise, ci numai
structura bazei de date (schema bazei de date).
1
2. Funcia de manipulare a datelor
Funcia de manipulare este cea mai complex i realizeaz actualizarea i
regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor
(LMD).
Sunt realizate urmtoarele activiti: ncrcarea, actualizarea, prelucrarea i
regsirea datelor.
a) ncrcarea datelor n baza de date se realizeaz prin operaii
automatizate sau programate ce asigur i criteriile de validare necesare.
b) Actualizarea bazei de date const n operaii de adugare, modificare i
tergere de nregistrri. La operaiile de adugare i de modificare se pstreaz
aceleai criterii de validare care s-au folosit i la activitatea de ncrcare a datelor.
Actualizarea se realizeaz numai autorizat, prin asigurarea unei protecii
corespunztoare a datelor, pentru a se pstra coerena bazei de date.
c) Prelucrarea datelor se realizeaz prin operaii de selecie, ordonare,
interclasare (compunere) i ventilare (descompunere) efectuate asupra entitilor
bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii de regsire a
datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilor
din modelul de date pe care l implementeaz SGBD-ul.
d) Regsirea (interogarea) datelor const n operaii de vizualizare (afiare
pe ecran, imprimare pe hrtie), rsfoire, editarea unor situaii de ieire. Situaiile
de ieire pot fi intermediare sau finale i se pot obine pe diferii supori tehnici de
informaie (ecran, hrtie, mediu magnetic, mediu optic). Ele pot avea cele mai
diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) i se pot
obine dup cele mai diferite criterii de regsire.
1
Funcia de manipulare a datelor este cea mai folosit n bazele de
date i este cea mai bine suportat de SGBD fa de orice alt sistem de gestionare
a datelor din memoria extern, care exist pn acum.
2
SGBD-ul manipuleaz datele ntr-un mod eficient, utiliznd n
29

acest scop o serie de metode i tehnici de optimizare a accesului i a alocrii


spaiului de memorie n calculator. Fiecare SGBD de la o generaie la alta i chiar
de la o versiune la alta a cutat s mbunteasc acest aspect. Funcia de
manipulare este asigurat n SGBD de un LMD. Acesta trebuie s respecte
restriciile de integritate a datelor i s implementeze operatorii din modelul de
date pe care se bazeaz SGBD-ul cruia i aparine.
LMD poate fi cu limbaj gazd sau cu limbaj propriu. Cele cu limbaj gazd
sunt dezvoltate prin adaptarea unor limbaje universale de programare (Cobol,
Pascal, C etc.) la cerinele de lucru ale SGBD-ului. Se mbin astfel puterea unui
limbaj universal cu necesitile de regsire a datelor (exemplu: ORACLE). Cele
cu limbaj propriu sunt dezvoltate printr-un limbaj specific capabil s uneasc
puterea proceduralului cu regsirea dintr-un anumit tip de baz de date (exemplu:
Visual Foxpro).
1
Pentru activarea de regsire exist limbaje de interogare
specializate care pot fi incluse n LMD sau pot exista ca atare. Ele au aprut
datorit lrgirii gamei de utilizatori ai bazelor de date, care i include i pe
neinformaticieni tot mai mult. Pentru acetia au fost necesare faciliti de regsire
simple i prietenoase, apropiate de modul de lucru i de gndire uman. In acest
sens, limbajele relaionale (exemplu SQL) au cele mai bune performane.
1
3. Funcia de utilizare a bazei de date
Funcia de utilizare asigur mulimea interfeelor necesare pentru
comunicarea tuturor utilizatorilor cu baza de date . Pentru a realiza aceast funcie
SGBD-ul trebuie s asigure faciliti pentru mai multe categorii de utilizatori ai
bazei de date: neinformaicieni, specialiti (informaticieni), administratorul.
a) Utilizatorii neinformaticieni reprezint principala categorie a
beneficiarilor de informaii (utilizatori finali i intensivi) din baza de date. SGBDul le ofer acestora limbaje neprocedurale i alte faciliti de interogare
(generatoare, utilitare etc) a bazei de date ntr-o form simpl i interactiv. Aceti
utilizatori nu trebuie s cunoasc structura bazei de date i nu trebuie s tie s
programeze, SGBD-ul ajutndu-i interactiv n utilizarea bazei de date. n acest
sens SGBD-ul ofer: meniuri cu opiuni sugestive, ferestre, abloane pentru
diferite forme, asisteni tip Wizard, autodocumentarea (help-uri, mesaje/ferestre
explicative).
b) Utilizatorii specialiti n informatic creaz structura bazei de date i
realizeaz proceduri complexe de exploatare a bazei de date. SGBD-ul ofer
acestor utilizatori limbajul de descriere i limbajul de manipulare a datelor precum
i interfee cu limbaje universale. Acestea sunt de complexitate i putere diferit,
de la un SGBD la altul, oferind att elemente neprocedurale ct i procedurale
specialistului n informatic. Cu aceste elemente el descrie schema bazei de date i
asigur manipularea complex a datelor.
Pentru realizarea bazei de date SGBD-ul ofer specialistului i elemente de
CASE (Computer Aidede Software Engineering). Acestea l ajut n diferitele
activiti care intervin n etapele de proiectare a bazei de date.
1
c) Administratorul bazei de date, care este un utilizator special i are un rol
hotrtor n ceea ce privete funcionarea optim a ntregului sistem. Datorit
importanei acestei categorii de utilizatori, SGBD-ul are o funcie distinct n
acest sens.
1 4. Funcia de administrare
Funcia de administrare este complex i de competena administratorului
bazei de date. Administratorul, care are o bogat experien de analiz, proiectare
i programare, organizeaz i administreaz baza de date n toate etapele de
realizare a acesteia.
30

Astfel, el organizeaz baza de date conform unei anumite metodologii,


realizeaz schema (conceptual) bazei de date, coordoneaz proiectarea bazei de
date. Pentru toate aceste lucruri SGBD-ul ofer o serie de elemente de CASE,
precum i o serie de utilitare specializate.
n etapa de exploatare a bazei de date, administratorul are rolul de a
autoriza accesul la date (acord conturi, parole etc.), de a reface baza de date n
caz de incidente (prin jurnalizare, copii), de a utiliza eficient spaiul de memorie
intern i extern (prin organizare, rutine de optimizare), de a realiza o serie de
analize statistice din baza de date (numr i tip de utilizatori, numr de accese,
numr de actualizri etc.). Pentru fiecare din aceste activiti SGBD-ul ofer
instrumente i tehnici de lucru.
n cazul lucrului n reea de calculatoare cu baze de date distribuite,
SGBD-ul are dezvoltate foarte mult componentele destinate administratorului.
Acest lucru este determinat de faptul c baza de date este, n acest caz, de mare
complexitate, datele sunt distribuite pe calculatoarele din reea, iar utilizatorii sunt
de toate tipurile i n numr mare.
n principal pentru funcia de administrare, dar parial i pentru celelalte funcii,
SGBD-ul asigur protecia bazei de date. Aici vor fi prezentate aspectele
eseniale, urmnd ca n continuare la fiecare tip de SGBD s se precizeze prin
exemple i aspectele specifice ce apar.

U 2.4. CLASIFICAREA SGBD-URILOR


Diversitatea de SGBD-urilor, care au fost i care sunt n exploatare pe
diferite calculatoare i sub diferite sisteme de operare, impune o clasificare a lor
dup diferite criterii:
1) Dup sistemele de calcul pe care se implementeaz:
- SGBD pentru calculatoare mari se folosesc pentru baze de date foarte
complexe i foarte mari (exemple: Oracle, DB2, IMS).
- SGBD pentru minicalculatoare se folosesc pentru baze de date complexe
i mari i au cunoscut o dezvoltare puternic n anii 80 (exemplu: Oracle).
- SGBD pentru microcalculatoare se folosesc pentru baze de date de
complexitate i de mrime mici i medii. Au o mare rspndire n momentul
actual (exemple: FoxPro, Oracle, Acces).
Tendina actual este ca SGBD-ul s fie compatibil pe ct mai multe
sisteme de calcul sub ct mai multe sisteme de operare. Acest lucru este dictat de
noua tehnologie de realizare de aplicaii tip sisteme deschise, lucru de care ine
cont i noua generaie (a treia) de SGBD-uri.
2) Dup limbajul de programare utilizat:
- SGBD-ul cu limbaj gazd este cel care are un limbaj de manipulare a
datelor bazat pe unul de nivel nalt (universal). Limbajul gazd poate fi chiar un
limbaj universal (Cobol, Pascal) sau o extensie (adaptare) a unui astfel de limbaj.
Avantajul acestei soluii este acela c se pot dezvolta proceduri complexe de
program, se pot realiza interfee om-main foarte bune, se valorific experiena
de programare din limbajele de nivel nalt (toate rezult din avantajele programrii
procedurale). Dezavantajul major este acela c formularea cererilor de regsire se
face mai greu, de multe ori ntr-un mod inaccesibil utilizatorilor finali. Acest lucru
este suplinit de SGBD prin alte componente specifice: generatoare, utilitare etc.
(exemplu Oracle).
- SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de
31

manipulare a datelor specific. Acest limbaj de programare propriu este procedural


i are marele avantaj c permite implementarea tuturor facilitilor oferite de
SGBD. n el se pot programa proceduri complexe i interfee puternice ca ntr-un
limbaj universal, dar n plus se realizeaz un acces uor i optimizat la baza de
date. Dezavantajul este c un astfel de limbaj nu poate fi utilizat dect de
specialitii n informatic (exemplu limbajul din Visual FoxPro).
Tendina actual este ca SGBD-ul s aib implementat, pe lng un limbaj
procedural, i un limbaj de regsire neprocedural, care s permit formularea de
cereri de regsire uor, de ctre toi utilizatorii bazei de date. n acest sens,
majoritatea SGBD-urile pentru microcalculatoare au implementat, parial sau
total, limbajul SQL, care este i standardizat internaional.
3) Dup modelul logic de date implementat:
-SGBD ierarhice sunt cele care implementeaz modelul de date
arborescent (ierarhic) i au fost primele care s-au utilizat pentru gestionarea
bazelor de date. Ele au o serie de avantaje pentru domenii precise din lumea real
nconjurtoare, de exemplu tehnologia construciei de maini, dar au limite pentru
alte domenii (exemplu: IMS).
- SGBD reea sunt cele care implementeaz modelul de date reea i care
au eliminat multe din limitele celor ierarhice. Ele au o larg aplicabilitate pentru
numeroase probleme din lumea real, dar sunt dificil de utilizat datorit
complexitii ridicate (exemplu: IDMS).
- SGBD relaionale sunt cele care implementeaz modelul de date
relaional i au aplicabilitate n majoritatea domeniilor din lumea real. Ele pot fi
folosite de o gam larg de utilizatori datorit facilitilor oferite (generatoare,
limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox, Acces,
Informix, Progress).
- SGBD orientate obiect sunt cele care implementeaz modelul de date
orientat obiect. Ele se preteaz bine la problemele foarte mari, de complexitate
ridicat, precum i pentru tipurile noi de aplicaii (proiectarea asistat, multimedia,
sisteme deschise) (exemple: O2, Orion, Jasmin).
1
Majoritatea SGBD-urilor actuale au implementate, n ultimele
versiuni, faciliti de tratare a obiectelor (exemple: Oracle, Visual FoxPro).
2
Tipurile de mai sus de SGBD-uri, avnd drept criteriu modelul de
date implementat, sunt de baz (fundamentale). Pornind de la acestea, prin
extensia tehnologiei informatice, exist i alte tipuri de SGBD-uri: deductive,
distribuite, multimedia, spaiale etc.
3
Exist, de asemenea, tipuri de SGBD-uri (ca de exemplu cele
funcionale) care se bazeaz pe alte modele de date dect cele de mai sus. Acestea
ns, au o rspndire mai restrns avnd performane doar pentru domenii bine
precizate.
4) Dup localizarea bazei de date
- SGBD centralizate sunt cele care gestioneaz datele amplasate ntr-o
singur baz de date central. La acestea au acces toi utilizatorii autorizai pentru
a efectua diferite operaii de manipulare a datelor. Toate calculatoarele care nu
sunt legate n reea i lucreaz cu baze de date au instalat un SGBD centralizat.
Tot un SGBD centralizat, dar cu faciliti de lucru n reea, trebuie instalat i n
reelele de calculatoare care au plasat baza de date pe un singur calculator (de
obicei pe server).(exemplu: Visual FoxPro, Access)
- SGBD distribuite sunt cele care gestioneaz datele amplasate pe mai
multe calculatoare dintr-o reea tratndu-le ca un tot unitar. Complexitatea acestor
SGBD-uri este ridicat, avnd componente speciale pentru realizarea conexiunilor
i tratarea distribuit a datelor (exemplu: Oracle, DB2, Informix).
32

De la apariia lor i pn n prezent, SGBD-urile au cunoscut o mare


varietate. Aa cum reiese i din clasificarea SGBD-urilor, acestea sunt de diferite
tipuri conform diferitelor criterii de grupare. Din acest motiv este dificil de dat o
arhitectur unic, valabil pentru toate SGBD-urile, aprnd particulariti de la
un sistem la altul. Exist preocupri de standardizare a arhitecturii sistemelor de
gestiune a bazelor de date care caut s defineasc un cadru general al lor.
Dintre acestea, sunt dou arhitecturi de referin a unui SGBD propuse de
grupul de lucru CODASYL i respectiv ANSI/SPARC. In ultimul timp, arhitectura
de SGBD a evoluat spre o configuraie cu trei categorii de componente (nucleul,
interfaa, instrumentele), situaie ntlnit la ultimele versiuni de sisteme
comerciale (exemplu arhitectura unui SGBDR).
O alt tendin este dat de arhitecturile distribuite i orientate obiect de
SGBD, care sunt tot mai des utilizate n contextul de reea de calculatoare i noile
tipuri de aplicaii informatice (exemplu vezi SGBD distribuite i respectiv
orientate obiect).
Deoarece arhitectura pe componente (niveluri) reflect tendina actual de
structurare a SGBD-urilor, o vom prezenta n continuare.
Arhitectura pe componente (niveluri) a unui SGBD
Nu orice software care gestioneaz date n memoria extern este un
SGBD.
1
- In primul rnd, produsul software trebuie s fie un sistem, adic
un ansamblu de programe intercorelate ntre ele care lucreaz pentru un scop
comun.
2
- Mai departe, sistemul de programe trebuie s gestioneze date n
memoria extern.
3
- Datele nu pot exista oricum, ci organizate conform unui model de
date ntr-o baz de date (trebuie urmrite obiectivele unei baze de date).
4
- In sfrit, dac sistemul de programe gestioneaz o baz de date i
n plus ndeplinete funciile specifice, atunci acel sistem este un SGBD.
Rezult c SGBD-ul conine o serie de componente care sunt instrumente
software ce au scopul de a realiza funciile specifice.
Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau
mai multe propuneri de arhitecturi) pot fi ncadrate (uneori discutabil) n unul
dintre cele trei niveluri.
Nivelurile din arhitectura de mai sus, pot conine urmtoarele componente
ale unui SGBD:
1
- Nucleul (motorul) conine limbajul de descriere a datelor (LDD),
limbajul de manipulare a datelor (LMD), componente obligatorii n kit-ul minim
de SGBD. Componenta este destinat analitilor, programatorilor i
administratorilor BD.
2
- Interfeele sunt formate din: generatoarele de diferite tipuri (de
meniuri, de videoformate, de rapoarte etc.), elementele de CASE (Computer
Aidede Software Engeenering), interfee cu limbaje de programare universale,
interfee cu alte sisteme etc. Componenta este destinat tuturor categoriilor de
utilizatori: finali, intensivi, specialiti.
3
- Instrumentele sunt formate din: editoarele, navigatoarele
(browsers), utilitarele (shells) de diferite tipuri. Componenta este destinat, n
principal, administratorului bazei de date, dar i altor categorii de utilizatori.
Arhitectura pe niveluri este simpl dar complet. Arhitecturile
standardizate (CODASYL i ANSI) pot fi aduse pe cele trei niveluri; Noile
tehnologii de baze de date (de exemplu tehnologia orientat obiect) au determinat
apariia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi i ele
33

adaptate pe cele trei niveluri; Noile tehnologii informatice (de exemplu


multimedia, Internet etc.) au interferat cu tehnologia bazelor de date rezultnd
SGBD-uri derivate corespunztoare. Pentru acestea s-au propus arhitecturi care,
ns, pot fi adaptate la structurarea pe trei niveluri.
ntrebri facultative
1. Identificati principalele roluri ale unui SDBD? Exemplificai
2. Enunai obiectivul general al SGBD-ului?
3. Ce reprezint restaurarea bazei de date?
4. Ce nelegei prin interblocare?
5. Ce nelegei prin integritatea datelor?
6. Ce nelegei prin criptarea datelor?
7. Enunai principalele componente ale unui sistem de criptare?
8. Ce reprezint integritatea semantic?

Test de autoevaluare nr. 2


1. Funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea
datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD). Sunt realizate
Timp de lucru : 15 min urmtoarele activiti:
Punctaj 100p
1. ncrcarea;
2. actualizarea;
3. prelucrarea;
4. regsirea datelor
5. integritatea.
Alegei varianta corect
a. 1,2,5,
b.1 3 4 5
c. 1 3 4
d. 2 4 5
e. 1 2 3 4
(100 puncte)
2. Rolul unui SGBD ntr-un context de sistem de baz de date este de a:
a. defini i descrie structura bazei de date
b. ncrca/valida datele n baza de date
c. realiza accesul la date pentru diferite operaii
d. ntreine baza de date
e. asigura protecia bazei de date
(10 puncte)
3. Pentru ca un produs software s ating performanele de mai sus i s fie un SGBD, el trebuie
s asigure un set minim de obiective:
a. Asigurarea independenei datelor
b. Redundan minim i controlat a datelor
c. Faciliti de utilizare a datelor

34

d. Protecia datelor
e. Partajabilitatea datelor.

f.. Legturile ntre date


(10 puncte)
4. . Funciile unui SGBD sunt:
a. Funcia de descriere a datelor
b. Funcia de manipulare a datelor
c. Funcia de utilizare a bazei de date
d. Funcia de administrare
e. Funcia de management al datelor.
5. Completai: Obiectivul general al unui SGBD este de a furniza suportul ..
complet pentru dezvoltarea de .. cu baze de date
(10 puncte)
6. Completati: Interblocarea este situaia n care dou tranzacii . anumite resurse,
apoi solicit fiecare .. blocate de cealalt..
(10 puncte)
7. Restaurarea pornete de la colecii de date stocate prin salvare i reface consistena bazei de
date, minimiznd prelucrrile pierdute.
Adevarat

Fals
(10 puncte)

8. Administratorul bazei de date, care este un utilizator obisnuit i are un rol nesemnificativ n
ceea ce privete funcionarea optim a ntregului sistem
Adevarat

Fals

(10 puncte)
9. Nivelurile din arhitectura unui SGBD, pot conine urmtoarele componente :
a. Nucleul ;
b. Navigatoarele
c. Interfeele
d; Instrumentele
(10 puncte)
10. Dup modelul logic de date implementat, SGBD-urile pot fi:
a. SGBD

ierarhice

b. SGBD

reea

c. SGBD

centralizate

d; SGBD

relaionale

e; SGBD

orientate obiect
(10 puncte)

U2.5. Rezumat
Sistemul de gestiune a bazelor de date (SGBD) este un sistem de programe
ce permite definirea, crearea i ntreinerea bazei de date precum i accesul
35

controlat la acesta.
Scopul unui sistem de gestiune al unei baze de date este acela de a oferi
un mediu care s fie i convenabil, dar i eficient pentru a putea fi folosit la:
- extragerea informaiilor din baza de date;
- nmagazinarea datelor n baza de date.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009,
pag.8-12

Rspunsuri i comentarii la testul de autoevaluare nr. 2


1. e; 2. abcde; 3.abcdef;4-abcd,; 5-software,aplicaii informatice; 6blocheaz/resursele; 7-A; 8-F; 9-acd;10- abde;

36

UNITATEA 3
MODELAREA CONCEPTUAL A BAZELOR DE
DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U3.1. Scopul i obiectivele unitii .

36

U3.2. Modele de date

37

U3.3.Modele conceptuale pentru baze de date


U3.4. Funciile modelelor.
U3.5. Modele de date bazate pe nregistrri.

38

U3.6. Rezumat...

49

Bibliografie minimal

49

39
39

Rspunsuri i comentarii la testul de autoevaluare .. 49

U3.1. Scopul i obiectivele unitii de nvare


Un model de date reprezint o colecie integrat de concepte necesare
descrierii datelor, relaiilor dintre ele, precum i a constrngerilor asupra datelor.
Modelele de date ofer nelegerea descriptiv necesar definirii schemelor
logice i externe i sunt utile descrierii formale a schemei bazei de date.
Parcurgerea acestei teme v va facilita:
nelegerea modelelor de date: reea, ierarhic, relaional, obiect, hibrid.
cunoaterea funciilor i componentelor modelului;
cunoaterea avantajelor bazelor de date relaionale
nsuirea noiunilor de baz ale unui model de date: definiii, clasificri.
nsuirea de cunotine referitoare la proiectarea modelului conceptual al
unei baze de date n cazul modelului relaional

37

U 3.2. Modele de date


1
Pentru prelucrarea datelor cu ajutorul calculatorului este necesar
modelarea realitii.
Un model este o abstractizare a unui sistem, care capteaz cele mai
importante trsturi caracteristice ale sistemului (concepte), relevante din punct de
vedere al scopului pentru care se definete modelul respectiv. Tehnica de
identificare a trsturilor caracteristice eseniale ale unui sistem se numete
abstractizare.
Practic, un model este o abstractizare i o structur ce simbolizeaz toate
caracteristicile entitilor eseniale ce prezint interes pentru utilizator, o
reprezentare i o reflectare a lumii reale.
Modelele de date ofer nelegerea descriptiv necesar definirii schemelor
logice i externe i sunt utile descrierii formale a schemei bazei de date.
Schema logic a unei baze de date reprezint o descriere abstract a unei
poriuni din realitatea modelat mpreun cu instanele bazei de date.
Un model de date se bazeaz pe treiconcepte:
- entiti;
- atribute;
- asocieri (legturi).
O entitate reprezint un obiect sau concept din lumea real, cum ar fi de
exemplu un student sau un curs descris n cadrul bazei de date.
n proiectarea bazelor de date se consider dou categorii de entiti:
entiti normale (puternice, obinuite - regular entities) i entiti slabe
(dependente - weak entities).
Entitile normale au o existen proprie n cadrul modelului, n timp ce
entitile slabe nu pot exista dect dac exist o entitate normal (puternic) cu
care sunt asociate. De exemplu, o entitate dependent poate s reprezinte o
persoan care depinde de un angajat al unei instituii (adic se afl n ntreinerea
acestuia). O entitate angajat este o entitate puternic, deoarece ea exist n mod
normal n modelul activitii instituiei, n timp ce o entitate dependent este o
entitate slab: nu se va nregistra o astfel de persoan dect dac printele
(susintorul) acesteia este angajat n acea instituie.
Un atribut (attribute) este o proprietate care descrie un anumit aspect al
unei entiti.
Atributele prin care este descris o entitate se aleg pe baza criteriului
relevanei relativ la domeniul de interes pentru care se definete modelul
respectiv, astfel nct s asigure diferenierea acelei entiti fa de restul
universului.
Toate entitile similare, care pot fi descrise prin aceleai atribute, aparin
unui acelai tip de entitate (entity type), iar colecia tuturor entitilor de acelai tip
dintr-o baz de date constituie o mulime de entiti (entities set).
ntre mulimile de entiti componente se definesc asocieri (legturi),
pentru a reprezenta anumite aspecte ale realitii modelate de baza de date.
O asociere (relationship) este o coresponden ntre entiti din dou sau
mai multe mulimi de entiti.

38

Gradul unei asocieri este dat de numrul de mulimi de entiti asociate.


Asocierile pot fi binare (de gradul 2, ntre 2 mulimi de entiti) sau multiple (ntre
k mulimi de entiti, k > 2).
Asocierile binare sunt, la rndul lor, de trei categorii, dup numrul
elementelor din fiecare dintre cele dou mulimi puse n coresponden de
asocierea respectiv (figura 1).
Fiind date dou mulimi de entiti, E1 i E2, se definesc urmtoarele
categorii de asocieri binare:
1 Asocierea unul-la-unul (one-to-one) este asocierea prin care unui
element (entitate) din mulimea E1 i corespunde un singur element din
mulimea E2, i reciproc; se noteaz cu 1:1.
2 Asocierea unul-la-multe (one-to-many) este asocierea prin care
unui element din mulimea E1 i corespund unul sau mai multe
elemente din mulimea E2, dar unui element din E2 i corespunde un
singur element n mulimea E1; se noteaz cu 1:N.
3 Asocierea multe-la-multe (many-to-many) este asocierea prin care
unui element din mulimea E1 i corespund unul sau mai multe
elemente din mulimea E2 i reciproc; se noteaz cu M:N.

Fig. 1 Categorii de asocieri ntre dou mulimi de entiti: a - asociere 1:1; b asociere 1:N; c- asociere M:N.
De exemplu, asocierea 1:N dintre mulimile E1 i E2 prezint
multiplicitatea 1 fa de mulimea E1 i multiplicitatea N (se nelege o valoare
oarecare N > 1) fa de mulimea E2. Raportul dintre valorile cardinalitilor unei
asocieri binare fa de cele dou mulimi de entiti se numete raport de
cardinalitate (cardinality ratio). Se poate observa c cele trei categorii de asocieri
descrise mai sus difer ntre ele prin raportul de cardinalitate.
Cardinalitatea (multiplicitatea) unei asocieri fa de o mulime de entiti
(cardinality, multiplicity) este numrul maxim de elemente din acea mulime care
pot fi asociate cu un element din alt mulime a asocierii.

U3.3. Modele conceptuale pentru baze de date


n continuare se vor prezenta cteva dintre cele mai importante evenimente
petrecute pe parcursul dezvoltrii bazelor de date.
- n anul 1961 Charles Bachman proiecteaz Integrated Data Store (IDS)
predecesorul modelului reea.
- Spre sfritul anilor 60, IBM creeaz Information Management System:
IMS bazat pe modelul ierarhic.
- Spre sfritul anilor 60, grupul CODASYL (Committee for Data System
39

Languages) definete /standardizeaz modelul reea.


- n 1969 Edgar Codd cercettor la firma IBM construiete modelul
relaional.
- n ani 70 apar SEQUEL (SQL), QBE; QUEL, System R (DB2), Ingres.
- n anul 1976, Peter Chen construiete modelul Entitate-Relaie.
- n anii 80 apar sistemele de gestiune a bazelor de date printre care: DB2,
Oracle, Sybase, Informix, DBase, Paradox.
- n anul 1986 a fost definit primul standard SQL.
- ntre anii 1990 i 2000 apar concepte precum OODB, ORDB (Postgres),
Data Warehouse, OLAP, Data Mining, GIS, Mobile DB, Multimedia DB,
Web DB, XML DB.
Inabilitatea bazelor de date de a lucra eficient n cadrul fiierelor obinuite cu
date ce implic utilizarea grupurilor repetitive de date a condus la dezvoltarea unei
mari varieti de structuri de baze de date, numite de obicei i modele de baze de
date.

U 3.4. Funciile modelelor


Funciile modelelor sunt:
1. Reprezint obiecte, evenimente precum i asocierile dintre acestea.
2. Reprezint aspecte eseniale i inerente, ignornd proprietile accidentale.
3. Au n vedere ansamblul entitilor, atributelor i relaiilor dintre acestea.
4. Asigur regulile de baz i relaiile ce permit proiectanilor i utilizatorilor s
comunice corect, fr ambiguiti.
Un model conceptual de date este alctuit din urmtoarele componente:
1. partea structural ce reprezint un set de reguli ce fundamenteaz
baza de date.
2. partea de manipulare ce definete tipurile de operaii ce se pot efectua
n baza de date:
- operaii utilizate pentru actualizarea sau regsirea datelor;
- operaii utilizate pentru modificarea structurii bazei de date.
3. set de reguli de integritate ce garanteaz faptul c datele sunt corecte.
Exist trei modele de baze de date:
1. Modelul de date extern utilizat pentru a reprezenta vederea fiecrui
utilizator. Acest model este reprezentat prin modelele de date bazate pe
nregistrri.
2. Modelul de date conceptual care reprezint vederea logic independent
de sistemul de gestiune al bazelor de date ales i reprezentat prin modelele
de date bazate pe obiecte.
3. Modelul de date intern utilizat pentru ca schema conceptual s poat fi
neleas de ctre sistemul de gestiune al bazei de date i reprezentat prin
modelele de date fizice.

U3.5. Modele de date bazate pe nregistrri


Astfel de modele descriu datele la nivel conceptual. Spre deosebire de
modelele orientate pe obiecte, acestea sunt folosite cu scopul de a specifica
structura logic general a bazei de date i de a oferi un nivel ridicat al descrierii
implementrii. Modelele sunt denumite n acest fel deoarece baza de date este
40

alctuit din nregistrri de acelai tip.


Fiecare tip de nregistrare are un numr fix de cmpuri (atribute), fiecare
cmp avnd, de obicei, o lungime fix, ceea ce duce la simplificarea reprezentrii.
Pentru a efectua interogri i actualizri asupra bazei de date se folosesc o serie de
limbaje individuale separate asociate modelului.
Din aceast categorie de modele fac parte:
- modelul de date ierarhic;
- modelul de date reea;
- modelul de date relaional.

3.5.1. Modelul ierarhic


n modelul ierarhic (Hierarchical Model) o baz de date se reprezint
printr-o structur ierarhic de nregistrri de date (records) conectate prin
legturi (links).
Din punct de vedere istoric, acesta a fost primul model de date ce a
fundamentat un sistem de gestiune al bazelor de date i a fost dezvoltat de ctre
firma IBM pentru produsul su IMS (Information Management System) care
utiliza limbajul DL/1 utilizat n cadrul programului de cercetri Apollo, n
perioada anilor 1960.
O nregistrare de date n modelul ierarhic este o instan a unui tip de
nregistrare (record type) i const dintr-o colecie de cmpuri (fields), fiecare
cmp coninnd valoarea unui atribut.
Un tip de nregistrare corespunde unui tip de entitate, iar o nregistrare
corespunde unei entiti din terminologia general a modelrii datelor.
Un tip de legtur n modelul ierarhic este un tip de asociere cu raportul
de cardinalitate 1:N (de tip printe-fiu) ntre dou tipuri de nregistrri. Tipul de
nregistrare din partea cu multiplicitatea 1 a asocierii este numit tip de nregistrare
printe, iar tipul din partea cu multiplicitatea N a asocierii este numit tip de
nregistrare fiu.
Schema conceptual a unei baze de date n modelul ierarhic se reprezint
printr-un numr oarecare de scheme ierarhice (fig. 2).

Fig. 2. Modelul ierahic


O schem ierarhic este un arbore direcionat, reprezentat pe mai multe
niveluri, n care nodurile sunt tipurile de nregistrri, iar arcele sunt tipurile de
legturi. Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un
nod de pe un nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor
frunz) are una sau mai multe legturi ctre noduri de pe nivelul imediat inferior
(noduri fii).

41

n modelul ierarhic nu sunt admise dect legturi de tipul printe-fiu, care


corespund asocierilor 1:1 i asocierilor 1:N din modelul E-A. Asocierile M:N din
modelul E-A nu se pot reprezenta n mod direct n modelul ierarhic, ci numai prin
multiplicarea nregistrrilor de tip fiu, atunci cnd sunt referite de mai multe
nregistrri de tip printe. Acest lucru conduce la o mare redundan a datelor.
Corespunztor schemei ierarhice a unei baze de date se pot reprezenta mai
muli arbori de instaniere a datelor, care sunt, de asemenea, arbori direcionai
(fig. 2, c). Fiecare arbore de instaniere contine ierarhii pe mai multe niveluri de
nregistrri ntre care exist legturi de tipul printe-fiu.

Fig. 3. Baz de date ierarhic


a - schema conceptual a bazei de date ierarhice; b - arbori de instaniere a
datelor
Utilizatorul acceseaz datele pornind din rdcina arborelui i parcurge un
anumit drum unic pn ajunge la datele cutate. O astfel de metod de acces cere
utilizatorului o foarte bun cunoatere a structurii bazei de date.
Un avantaj al utilizrii bazelor de date ierarhice este acela c utilizatorul
poate extrage datele foarte rapid datorit legturilor explicite definite n structur.
Un alt avantaj este acela c integritatea referenial se obine prin crearea
structurii i nu poate fi nclcat, ceea ce face ca o nregistrare din tip de
nregistrare copil s fie obligatoriu asociat unei nregistrri existente n tipul de
nregistrare printe, iar o nregistrare tears din tipul de nregistrare printe s
impun eliminarea tuturor nregistrrilor asociate din tipul de nregistrare copil.
Probleme deosebite vor apare n momentul n care utilizatorul dorete s
introduc o nregistrare n tabelul copil care nu are asocieri cu nici o nregistrare
din tipul de nregidtrare printe. Acest tip de baz de date nu poate suporta
asocierile complexe i, de aceea, deseori sunt probleme referitoare la redundana
datelor, deoarece este posibil s-i fie permis introducerea de date inconsistente.
Dei bazele de date ierarhice ofereau un acces direct i rapid la date,
dovedindu-i superioritatea ntr-o multitudine de situaii specifice, devenise
evident c era necesar introducerea unui nou model de date pentru a remedia
problemele tot mai presante referitoare la redundana datelor i la rezolvarea
asocierilor complexe dintre nregistrri.
Aplicatie rezovata :
Baz de date pentru sistemul de rezervri a unei companii
aeriene. Nodul printe = Bucureti. Acest nod are patru copii:
42

Cluj, Constana, Iai, Timioara. Timioara are doi copii: 210 i


211. Zborul 210 are trei copii: pasagerii.

3.5.2 Modelul reea


Modelul reea (Network Model) a fost creat, n special, ca o ncercare de a
rezolva unele dintre problemele modelului ierarhic. Aprut dup modelul ierarhic,
modelul reea de reprezentare a bazelor de date a fost standardizat n 1971, de o
comisie DBTG (Database Task Group). Modelul reea a avut mai multe
implementri ca sisteme de gestiune comerciale: IDS II (Honeywell), UNISYS
(Burroughs), IDMS (Computer Associates).
Aa cum se poate observa din figura 4., structura unei baze de date de tip
reea se poate reprezenta cu ajutorul conceptelor de noduri i seturi.
Un nod reprezint o colecie de nregistrri, n timp ce un set stabilete i
reprezint relaiile din cadrul unei bazei de date de tip reea. O astfel de
construcie transparent relaioneaz o pereche de noduri prin utilizarea unuia
dintre ele sub denumirea de proprietar, iar a celuilalt sub denumirea de membru.
Structura de tip set este o construcie ce stabilete i reprezint o relaie din
cadrul bazei de date reea (reprezint o mbuntire remarcabil fa de relaia
printe/copil).
O astfel de structur suport o relaie de unu-la-muli, ceea ce nseamn
faptul c o nregistrare din nodul proprietar poate fi relaionat cu una sau mai
multe nregistrri aparintoare nodului membru, dar unei singure nregistrri din
nodul membru i este asociat o singur nregistrare din nodul proprietar.

Fig. 4. Modelul reea

43

Mai mult dect att, o nregistrare aparintoare nodului membru nu poate


exista fr s fie asociat unei nregistrri existente n nodul proprietar.
ntre o pereche de noduri se pot defini unul sau mai multe seturi, iar un
singur nod poate fi implicat n seturi cu alte noduri din baza de date. Utilizatorul
poate accesa date din cadrul unei baze de date de tip reea prin cea mai potrivit
structur de seturi.
Spre deosebire de bazele de date ierarhice, n care accesul trebuie s
nceap cu nodul rdcin, n bazele de date de tip reea utilizatorul poate accesa
datele indiferent de nod pe baza structurilor de tip set.
CODASYL a dezvoltat limbajul Common Business-Oriented Language
(COBOL) pentru a scrie aplicaii ce folosesc datele din bazele de date de tip reea.
Cu toate dezavantajele pe care le are, modelul de baze de date propus de
CODASYL mai are i astzi o larg rspndire n ntreaga lume.
Bazele de date CODASYL folosesc n locul termenului de tabel, termenul
de tip de nregistrare, dar caracteristicile acestuia nu difer cu nimic fa de cele
ale unui tabel. Tipurile de nregistrri conin pointeri la nregistrrile provenite din
alte tipuri de nregistrri. Un pointer este o valoare ce specific locaia unei
nregistrri ntr-un fiier sau n memorie.
De exemplu, nregistrarea ce conine date referitoare la un student, conine
un pointer la o not a acestuia, care n replic va conine un pointer la o alt not
ce aparine acelui student, .a.m.d.
Termenul generic utilizat la descrierea tipurilor de nregistrri bazate pe
pointeri este lista de legtur. Pointerii asociaz nregistrrile ntr-o structur
organizat, numit reea.
Bazele de date de tip reea au performane excelente n cazul regsirii
seturilor de nregistrri ce aparin unui anumit obiect, deoarece relaiile dintre
nregistrri (pointeri) reprezint parte constitutiv a bazei de date.
n acelai timp, se permite utilizatorilor crearea de interogri mult mai
complexe dect cele ce se pot elabora prin intermediul bazelor de date ierarhice,
dar viteza bazelor de date de tip reea scade atunci cnd se dorete cutarea
nregistrrilor pe baza unor criterii specificate. Principalul dezavantaj al acestui tip
de baze de date este legat de faptul c utilizatorul este obligat s cunoasc foarte
bine structura bazei de date pentru a se putea descurca cu structurile de seturi.
Totodat, aplicaiile ce lucreaz cu astfel de baze de date (n principal
programele COBOL) trebuie s actualizeze att valorile datelor ct i pointerii
nregistrrilor ce se adaug, terg sau se modific. Necesitatea actualizrii
secveniale att a datelor ct i a pointerilor duce la creterea complexitii
proceselor n care sunt implicate tranzacii.
Un alt dezavantaj este acela c nu este uoar modificarea structurii bazei
de date fr a afecta programele aplicaie care lucreaz cu aceasta.
Deoarece, aa cum s-a artat, o relaie este definit n mod explicit sub
forma unei structuri de tip set, aceasta nu poate fi modificat fr a afecta
programele aplicaie ce folosesc aceast structur la cutarea datelor. Dac se
modific o astfel de structur, trebuie modificate n mod corespunztor toate
asocierile acesteia definite n programele aplicaie.
Modelului de baze de date de tip reea se reprezint ca un graf cu arce
numerotate pentru a indica drumul ce trebuie parcurs, deoarece un tip de entitate
copil poate fi conectat la mai multe tipuri de entiti printe sau la acelai tip de
entitate printe prin mai multe arce.
n momentul de fa modelul de date reea este foarte rar utilizat pentru
baze de date de uz general (care implic operaii de interogare), dar exist unele
domenii n care structurarea ca graf a datelor permite o parcurgere eficient a
44

acestora. De exemplu, majoritatea bazelor de date grafice folosite n modelarea


scenelor tridimensionale din realitatea virtual sunt baze de date reea.
Aplicatie rezovata :
Baza de date a produselor care se execut ntr-o fabric.
Fiecare produs este format din mai multe ansambluri, iar fiecare
ansamblu este format din mai multe piese. Fiecare pies poate
intra n componena mai multor produse.

3.5.3 Modelul relaional


Modelul relaional se bazeaz pe noiunea de relaie (relation) din
matematic, care corespunde unei mulimi de entiti de acelai tip.
Modelul de date relaional (Relational Model) a fost propus de cercettorul
E.F. Codd de la compania IBM, care a publicat n anul 1970 lucrarea "Un model
Relaional de Date pentru Bnci Mari de Date Partajate". Alte lucrri ale lui Codd,
ca i ale altor cercettori (C.J. Date, P. Chen, R. Boyce, J.D. Ullman, R. Fagin,
W.W. Armstrong, M. Stonebraker, etc.) au perfecionat modelul de date relaional
i au permis dezvoltarea fr precedent a sistemelor de gestiune a bazelor de date,
datorit simplitii i a fundamentrii matematice a modelului.
Primul Sistem de Gestiune a Bazelor de Date Relaionale (SGBDR) a fost
prototipul System R, dezvoltat la compania IBM n anii 1970, dup care
numeroase companii au realizat sisteme de gestiune relaionale (Oracle,
Microsoft, Ingres, Sybase, etc.) iar aplicaiile de baze de date relaionale au
cptat o amploare deosebit.
Acesta este cel mai folosit model de date folosit astzi n ntreaga lume,
fiind un model de tip entitate-relaie bazat pe elaborarea unui model conceptual.
Modelul relaional al unei baze de date permite extinderea bazelor de date la
nivelul calculatoarelor personale nemaifiind obligatorie utilizarea echipamentelor
costisitoare cerute de minicalculatoare sau de calculatoarele de tip mainfraime.
Cele mai importante caracteristici ale modelului relaional sunt
simplitatea, suportul teoretic solid, precum i cele trei elemente componente de
baz.
Un astfel de model este simplu deoarece el poate fi descris cu ajutorul unui
numr mic de concepte care se refer la relaii (structuri de date bidimensionale ce
au proprieti speciale), rnduri (datele aflate n cadrul relaiilor), coloane
(cmpurile datelor din rndurile corespunztoare) i chei (mecanismul de
identificare i asociere a rndurilor aflate n unul sau mai multe tabele).
Modelul relaional are un suport teoretic foarte solid deoarece se bazeaz
pe teoria matematic a seturilor, ceea ce nseamn faptul c toate operaiile sunt
45

ncheiate cu succes, iar rezultatele operaiilor sunt predictibile.


Cele trei componente ale modelului relaional sunt:
a. componenta de structur a datelor (relaii cu proprieti speciale);
b. componenta de manipulare a datelor (operaii predefinite prin care tehnologia
relaional folosete un optimizator inteligent pentru a gsi calea de acces la
date);
c. componenta de integritate a datelor (reguli necesare proteciei datelor la
efectuarea unor operaii incorecte).
Principalul avantaj al modelului relaional este acela c nu este necesar
utilizarea att a pointerilor ct i a datelor n cadrul tabelelor, folosind n schimb
relaii pentru a accesa valori corespondente din mai multe tabele.
O relaie const dintr-o asociere ntre nregistrrile aflate n dou tabele ce
au aceleai valori ale atributelor. Deoarece tabelele relaionale nu conin pointeri,
datele aflate n astfel de tabele sunt independente de metodele folosite de ctre
sistemul de gestiune al datelor n lucrul cu nregistrrile tabelelor.
Modelului relaional se reprezint printr-o schem relaional cu una sau
mai multe scheme de relaie. Fiecare schem de relaie are propriul nume i
propriile atribute.
Fiecare schem de relaie introduce un tabel n schema relaional.
Modelul de date relaional folosete tabele bidimensionale ce reprezint entitile
i const din rnduri i coloane.
O coloan reprezint un atribut al unei entiti ce mai poart i denumirea
de cmp sau proprietate.
Un rnd reprezint un tuplu care este o instan a unui tip de entitate sau de
relaie sau orice altceva din baza de date. De obicei una dintre coloanele tabelului
este numit cheie primar i are o valoare unic (Brown, The Relational Model).
Simplitatea modelului bazei de date relaionale const din simplitatea
conceptelor cu care opereaz: structuri simple i abstracte de date, independena
fizic de date, cadrul puternic, general i realist oferit aplicaiilor .a.m.d.
Modelul relaional ofer o interfa flexibil ce este prevzut cu cele mai
potrivite componente necesare oricrui utilizator la toate nivelele, oferind o mare
independen a datelor (produsul obinut este relativ independent de
implementarea intern).
Baza de date relaional const din unul sau mai multe relaii sau tabele.
Principalele concepte ale modelului relaional sunt:
1. Atributul este o coloan ce are un nume propriu i unic ntr-o relaie (cmp).
Fiecare relaie conine o list de atribute (sau coloane) definite pe un anumit
domeniu.
2. Domeniul reprezint setul posibil de valori pe care l poate avea unul sau
mai multe atribute. Utilizatorul poate defini domeniul de definiie, dar numai
n anumite produse i poate defini propriile domenii.
3. Tuplu un rnd din cadrul unei relaii (nregistrare). Un rnd dintr-un tabel
reprezint asocierea dintre seturile de valori. Fiecare relaie conine un set de
tupluri (sau rnduri).
4. Gradul numrul de atribute dintr-o relaie.
5. Cardinalitatea numrul de tupluri dintr-o relaie.
6. Baza de date relaional reprezint o colecie de relaii ce pot fi modificate
(tabele). O astfel de colecie este descris sub forma unui set de scheme de
relaii din cadrul bazei de date, numite scheme relaionale ale bazei de date.
7. Relaiile sunt alctuite din dou pri:
- instana un tabel cu rnduri i coloane;
46

schema specific numele relaiei mpreun cu numele i tipul


fiecrei coloane.
Proprietile unei relaii sunt:
- relaiile sunt alctuite din rnduri i coloane;
- ntr-o relaie nu are importan ordinea de apariie a rndurilor sau
coloanelor;
- ntre tabele nu exist o asociere explicit (nici una vizibil cuiva care
acceseaz datele);
- fiecare nregistrare poate fi identificat n mod unic;
- fiecare rnd din cadrul unui tabel are acelai set de coloane;
- fiecare coloan are un singur tip de dat (nu sunt acceptate redefiniri
pentru diferite valori).
Datorit acestor proprieti i a fundamentului matematic, modelul
relaional permite proiectanilor concentrarea mai nti asupra semanticii datelor i
a relaiilor dintre ele i abia apoi asupra implementrii fizice a semanticii
respective pentru a se adapta ct mai bine cerinelor i specificaiilor impuse.
8.Cheia este un cmp (atribut) sau un ansamblu de cmpuri
(atribute) care au rolul de a identifica un tuplu dintr-o tabel.
Tipuri de chei:
primare / alternate,
simple / comune,
externe.
Tuplurile unei relaii se pot identifica n mod unic prin
intermediul valorilor unuia sau mai multor cmpuri (eventual
toate cmpurile), care joac rol de cheie primar a relaiei
respective.
Se numete domeniu primar un domeniu pe care este
definit un singur atribut drept cheie primar. Dndu-se dou
relaii R1 i R2 cu atributele A1 i A2 chei primare definite pe
acelai domeniu primar D, spunem c A1 este cheie extern,
dac, utiliznd o parte din valorile sau toate, putem regsi
tuplurile relaiei R2.
Altfel spus, un atribut al unei relaii este cheie extern,
dac se regsete pe post de cheie primar ntr-o alt relaie.
Nici un cmp (atribut) care particip la formarea cheii nu poate
avea valori nule.
Elementele relaiei:

47

Aplicatie rezovata :
O baz de date ce conine 4 tabele. Cmpurile tabelelor sunt:
Nume tabel
Nume campuri
elevi:
id_e, nume_e, pren_e, adresa_e;
note:
id_n, id_e, id_d, nota1, nota2, nota3;
disciplin:
id_d, id_p, dendisciplin;
profesori
id_p, nume_p, pren_p, adresa_p;
Sa se descrie modelul realational ce se stabileste intre cele 4 tabele?
Rezolvare

ntrebri facultative
1. Ce nelegei prin model de date?
48

2. Definiti principalele concepte pe care se bazeaz un model de date?


3. Ce nelegei prin grad al unei asocieri?
4. De cte tipuri sunt asocierile binare?
5. Identificai principalele funcii ale modelelor?
6. Ce nelegei prin nod? Exemplificai.
7. Precizai componentele unui model relaional?
8. Sa se defineasca urmatoarele concepte: domeniul, tuplul, gradul si cardinalul?
9. Ce nelegei prin baza de date relaionala?
10. Precizati care sunt proprietatile unei relaii?

Test de autoevaluare nr. 3


1. Un model conceptual de date este alctuit din urmtoarele componente:
1. partea structural
Timp de lucru : 15 min
2. partea de manipulare
Punctaj 100p
3. set de reguli de integritate
4 .partea de editare
a. 1,2
b.1 3,4
c. 1 3
d. 1 2 3
e. 1 4
(20 puncte)
2. In teoria si practica bazelor de date exista trei modele de baze de date:
a. modelele de date bazate pe nregistrri.
b. modelele de date bazate pe obiecte.
c. modelele de date fizice
d. modele de date globale
(10 uncte)
3. Asocierile binare sunt de trei categorii, dup numrul elementelor din fiecare dintre cele dou
mulimi puse n coresponden de asocierea respectiv
a. asocieri "unu la unu";
b. asocieri "unu la mai multe";
c. asocieri "mai multe la mai multe";

49

d. asocierile binare nu permit aceste trei categorii;


(10 puncte)
4. Modelul de date relaional (Relational Model) a fost propus de cercettorul ...
de la compania IBM, care a publicat n anul .. lucrarea "Un model Relaional de Date
pentru Bnci Mari de Date Partajate"
(10 puncte)
5. Un model de date reprezint o . integrat de concepte necesare descrierii datelor,
.. dintre ele, precum i a .. asupra datelor.
(10 puncte)
6. (Domeniul reprezint setul posibil de valori pe care l poate avea unul sau mai multe atribute.
Adevarat

Fals

(5 puncte)
7. Un nod reprezint o colecie de nregistrri, n timp ce un set stabilete i reprezint relaiile din
cadrul unei bazei de date de tip reea.
Adevarat

Fals
(5 puncte)

8. Se

consider o baz de date cu informaii despre angajai,


funciile i serviciile
(departamentele) unei companii. Un serviciu poate avea mai
muli angajai, n schimb, un angajat poate face parte dintr-un
singur serviciu. O funcie poate fi ocupat de mai muli angajai,
n schimb, un angajat poate ocupa o singur funcie. Sa se
creioneze modelul retea corespunzator acestei baze de date?
(30 puncte)

U3.6. Rezumat
naintea construirii unei baze de date este necesar elaborarea unui
model de date utilizat pentru reprezentarea datelor. Un model de date reprezint o
colecie integrat de concepte necesare descrierii datelor, relaiilor dintre ele,
precum i a constrngerilor asupra datelor.
Modelul de date este utilizat la descrierea schemei bazei de date, definind
structura datelor, legturile dintre acestea, semantica lor, precum i
constrngerile impuse, dei nu este obligatoriu ca ntotdeauna acestea s fie
regsite n orice model de date. Pe scurt, un model de date este utilizat pentru a
reprezenta date despre date.
Modelele de date ofer nelegerea descriptiv necesar definirii
schemelor logice i externe i sunt utile descrierii formale a schemei bazei de
date.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009

Rspunsuri i comentarii la testul de autoevaluare nr. 3


50

1. d; 2. abc; 3.abc; 4-EF CODD/1970; 5-colecie/relatiilor/constrngerilor; 6A; 7-A;


Rezolvare 8.

Fig 1.Diagrama de structura

Fig 2 Modelul Retea


Explicatii:
- tipului de nregistrare printe Servicii i corespund trei
nregistrri: (1,Conducere), (2, Marketing) i (3, Contabilitate)
tipului de nregistrare Funcii patru nregistrri:
(101, Dir Gen), (201, Dir Corn), (301, Dir Ec) i (302, Ec),
tipului de nregistrare Angajat tot patru nregistrri: (10, Pop
Ion, Dir Gen), (30, Ilie Dan, Dir Ec), (31, Stan Mria, Ec) i (32
Petre Ioana, Ec).
nregistrrile (1, Conducere) - Servicii i (101, Dir Gen) Funcii - sunt prini pentru (10, Pop Ion, Dir Gen) - Angajat.
nregistrrile (2, Marketing) i (201, Dir Corn) nu au nregistrri
copil.
nregistrarea (30, Ilie Dan, Dir Ec) are drept prini (3,
Contabilitate) Servicii i (301, Dir Ec) - Funcii.
nregistrrile (57, Stan Mria, Ec) i (32, Petre Ioana, Ec) Angajat sunt copii nregistrrilor (3, Contabilitate) - Servicii i
(302, Ec) - Funcii.

51

UNITATEA 4
BAZE DE DATE RELA IONALE I SGBD-URI
RELA IONALE-SGBDR

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U4.1. Scopul i obiectivele unitii .

51

U4.2. Bazele modelului relaional..

52

U4.3. Normalizarea relaiilor..

56

U4.4. Definirea unui SGBDR - Regulile lui

60

Codd.

U4.5. Criterii minimale de definire a unui SGBDR..

63

U4.6. Rezumat...

65

Bibliografie minimal

65

Rspunsuri i comentarii la testul de autoevaluare .. 65

U4.1. Scopul i obiectivele unitii de nvare


52

Diversitatea modelelor relaionale operaionale au determinat, n mod


natural existana unei mari diversitii de SGBDR, pentru a cror prezentare a fost
necesar nuanarea terminologiei. Au aprut o serie de sintagme precum: sisteme
cu interfa relaional, sisteme pseudorelaionale, sisteme complet relaionale.
Scopul normalizrii este de a suprimare a redundanele logice, de a evita
anomaliile la reactualizare i rezolvarea problemei reconexiunii.
Parcurgerea acestei teme v va facilita:
nelegerea proiectrii logice a unei baze de date cu ajutorul tehnicii
normalizrii.
cunoaterea conceptului de descompunere i a funciilor sale.
cunoaterea formelor normale i utilizarea lor.
nelegerea coninutului i importanei celor 12 reguli ale lui Codd

U 4.2. Bazele modelului relaional


Conceptul de baz de date introduce termenul de abstractizare a datelor
prin ascunderea fa de utilizator a detaliilor legate de tehnica de stocare a datelor
n calculator. Principalul instrument folosit la realizarea acestui scop este modelul
de date, care este alctuit dintr-un set de concepte ce pot fi utilizate la descrierea
structurii bazei de date, cum ar fi de exemplu, tipurile de date, relaiile i
constrngerile stabilite pentru datele reprezentate.
Exist trei tipuri de modele de date: modelul de date conceptual, modelul
de date logic i modelul de date fizic.
4.2.1. MODELUL CONCEPTUAL
Folosete o serie de concepte, cum ar fi entitate, relaie i atribut pentru a
descrie ct mai fidel modul n care este perceput de ctre utilizator realitatea ce
urmeaz a fi reprezentat n cadrul unei baze de date. Pentru a realiza un model
conceptual ct mai corect se folosesc o serie de instrumente ce ajut n modelare,
dintre care cel mai folosit este diagrama entitate-relaie. De obicei, proiectarea
unui model conceptual respect urmtorul algoritm:
Pasul 1. Identificarea tipurilor de entiti. Const din identificarea i
documentarea principalelor tipuri de entiti din punct de vedere al beneficiarului
bazei de date. n acest scop este necesar citirea cu atenie a tuturor specificaiilor
i cerinelor acestuia, urmat de crearea unei liste a potenialelor tipuri de entiti.
Tipurile de entiti reprezint obiectele sau conceptele ce prezint cel mai mare
interes n cadrul sistemului. De obicei, se creeaz mai multe tipuri de entiti dect
este necesar, urmnd ca ulterior s se recurg la o rafinare a acestora, eliminnduse unele dintre ele.
Pasul 2. Eliminarea tipurilor de entiti duplicat. n primul rnd trebuie
s se obin asigurarea c, ntr-adevr, fiecare tip de entitate utilizat reprezint un
tip distinct de entitate i nu nume diferite ale aceluiai tip de entitate. Este foarte
important s nu se cad n capcana definirii unui tip de entitate care s reprezinte
ntregul sistem. De exemplu, la modelarea unei biblioteci, tipurile de entiti pot fi
crile, autorii, cititorii etc., dar n nici un caz nu poate fi definit un tip de entitate
biblioteca deoarece aceasta reprezint ntregul sistem.
Pasul 3. Identificarea tipurilor de relaii. n cadrul acestei etape se
recurge la identificarea i documentarea celor mai importante tipuri de relaii ce se
53

pot stabili ntre tipurile de entiti rmase dup parcurgerea pasului anterior. n
acest scop se examineaz fiecare tip de entitate n parte pentru a putea determina
poziia i legturile acesteia n cadrul sistemului. n acelai timp se face o analiz
a cardinalitii i a participrii fiecrui tip de entitate, identificndu-se totodat
constrngerile impuse tipurilor de entiti participante.
Pasul 4. Identificarea i asocierea atributelor corespunztoare fiecrui
tip de entitate sau relaie. n aceast etap trebuie obinut asigurarea c tipurile
de entiti sunt cu adevrat necesare i nu sunt atribute ale altor tipuri de entiti.
De exemplu, telefonul poate fi o entitate de sine stttoare sau un atribut exprimat
sub forma unui numr de telefon atribuit tipului de entitate Studeni.
Pasul 5. Stabilirea domeniilor de valori ale atributelor. Se realizeaz
printr-o analiz amnunit a situaiilor ce pot apare, documentndu-se fiecare
hotrre luat.
Pasul 6. Stabilirea atributelor cheie candidat i primar. Dac n cadrul
analizei se identific mai multe chei candidat, se stabilete cheia primar,
documentndu-se hotrrea luat.
Pasul 7. Specializare/generalizarea tipurilor de entiti. Aceasta etap
este una opional n cadrul modelului relaional i are ca efect stabilirea
superclaselor, respectiv a subclaselor tipurilor de entiti, dac este cazul.
Pasul 8. Construirea diagramelor entitate-relaie. Prin parcurgerea
acestei etape se asigur o mai bun nelegere a realitii care se modeleaz.
Exemplu. n continuare se exemplific diagrama E-A corespunztoare
modelului conceptual al unei baze de date a unei instituii, definind cteva tipuri
de entiti i asocierile ntre acestea. Diagrama E-A a acestui mic model de baz
de date este prezentat n figura urmtoare:

s-au utilizat urmtoarele convenii de notaie:

54

Tipul de entitate secie reprezint o unitate de organizare a instituiei i


este un tip de entitate puternic (de sine stttoare). Acest tip se caracterizeaz
prin mai multe atribute, de exemplu, un numr al seciei, numele seciei i bugetul
alocat. Mulimea de entiti care grupeaz toate entitile de acest tip se poate
denumi SECTIE sau SECTII (oricare variant poate fi folosit) i este
caracterizat prin aceleai atribute care caracterizeaz tipul entitii:
SECTIE(Numar, Nume, Buget)
Tipul de entitate angajat reprezint o persoan angajat n instituie i
este de asemenea un tip de entitate puternic. Acest tip de entitate, ca i mulimea
de entiti care grupeaz toate entitile de acest tip, se poate defini astfel
ANGAJAT(Nume, Prenume, DataNasterii, Adresa, Functie, Salariu)
Tipul de entitate proiect reprezint o activitate a instituiei, i este de
asemenea un tip de entitate puternic, care poate fi caracterizat prin numele
proiectului, data nceperii, termen de realizare, bugetul proiectului:
PROIECT(Nume, DataInceperii, Termen, Buget)
Tipul de entitate dependent reprezint o persoan care depinde de un
angajat al instituiei (adic se afl n ntreinerea acestuia). Acest tip de entitate
este un tip de entitate slab: nu se va nregistra o astfel de persoan dect dac
ntreintorul acesteia este angajat n acea instituie. Acest tip se poate defini
astfel:
DEPENDENT(Nume, Prenume, DataNasterii, GradRudenie)
Asocierea SECTIE-ANGAJAT este o asociere 1:N, dac se consider c o
secie cuprinde mai muli angajai, iar un angajat aparine unei singure secii.
Asocierea ANGAJAT-PROIECT este o asociere M:N, dac se consider c
la fiecare proiect lucreaz mai muli angajai, i fiecare angajat poate lucra la mai
multe proiecte.
Asocierea ANGAJAT-DEPENDENT este o asociere de tipul 1:N, deoarece
un angajat poate ntreine mai multe persoane (fii, prini etc.), iar o persoan
dependent este n ntreinerea unui singur susintor.
Raportul de cardinalitate al unei asocieri este stabilit de proiectant astfel
nct s reflecte ct mai corect modul de organizare a activitii modelate. De
exemplu, asocierea ANGAJATI-PROIECTE are raportul de cardinalitate M:N
dac n instituia respectiv se admite ca un angajat s lucreze la mai multe
proiecte; dac s-ar impune ca un angajat s lucreze la un singur proiect, atunci

55

asocierea respectiv ar avea raportul de cardinalitate N:1. n ambele situaii se


admite c la un proiect lucreaz mai muli angajai.
Pasul 9. Eliminarea tipurilor de relaii duplicat.
Pasul 10. Revizuirea diagramei entitate-relaie mpreun cu beneficiarul
bazei de date.
Modelarea realizat cu ajutorul unei diagrame entitate-relaie este un
proces iterativ. De obicei, nu exist o singur soluie i, ca urmare, nici o singur
diagram de acest fel. Din acest motiv se practic crearea mai multor diagrame
entitate-relaie urmat de rafinarea fiecrei variante din care se va alege ulterior,
mpreun cu beneficiarul bazei de date, diagrama optim. De remarcat este faptul
c, de cele mai multe ori, nu se poate spune c o variant este mai bun dect alta,
dar unele variante pot oferi soluii mai bune dect altele.
Implementarea tipurilor de relaii n cadrul tabelelor
Dndu-se o relaie R care se stabilete ntre dou tipuri de entiti E i F se
impun urmtoarele reguli:
- dac relaia E-R-F este de tip unu-la-muli, cheia primar a relaiei F se
introduce n relaia E;
- dac relaia E-R-F este de tip unu-la-unu, cheia primar a relaiei E se
introduce n relaia F, sau cheia primar a relaiei F se introduce n relaia E;
- dac relaia E-R-F este de tip muli-la-muli, se creeaz o nou relaie ce
conine cheile primare att ale lui E ct i ale lui F;
- dac relaia R are atribute, acestea trebuie transferate n cadrul unei relaii
folosindu-se cheile externe.

4.2.2 MODELUL LOGIC


Acest model folosete concepte ce mai pot fi nelese nc de ctre
utilizator, dar care presupun reprezentri referitoare la modul n care utilizatorul
dorete s vizualizeze datele. n continuare tehnicile de nmagazinare a datelor
rmn transparente utilizatorului. Proiectul logic al unei baze de date relaionale
creeaz i valideaz modelul logic de date local. Scopul urmrit este acela de a
construi un model logic de date bazat pe modelul conceptual de date creat
anterior, dup care se trece la validarea acestui model cu ajutorul tehnicii
normalizrii. Un astfel de model parcurge, de regul, urmtorul algoritm:
Pasul 1. Transformarea modelului conceptual local n model logic local de
date. n acest scop se trece la rafinarea modelului conceptual de date local, prin
eliminarea caracteristicilor incomode:
a. eliminarea relaiilor muli-la-muli;
b. eliminarea relaiilor complexe;
c. eliminarea relaiilor recursive;
d. eliminarea relaiilor ce conin atribute;
e. revizuirea relaiilor unu-la-unu.
Pasul 2. Stabilirea relaiilor corespunztoare modelului logic de date. n
aceast etap se creeaz i documenteaz fiecare relaie, inclusiv cheile primare i
externe.
Pasul 3. Validarea modelului folosind tehnica normalizrii.
Pasul 4. Validarea modelului n cazul folosirii tranzaciilor. Trebuie s se
obin asigurarea c modelul de date creat suport tranzaciile cerute de ctre
beneficiarul bazei de date.
Pasul 5. Stabilirea constrngerilor de integritate. n acest scop trebuie
56

identificate:
a. datele necesare;
b. integritatea referenial;
c. constrngerile de domeniu impuse atributelor;
d. constrngerile logice;
e. integritatea entitii.
Pasul 6. Revizuirea modelului logic local mpreun cu beneficiarul bazei de
date.
Pasul 7. Construirea i validarea modelului logic global de date. Scopul
acestei etape este acela de a realiza, pe baza modelelor logice locale de date un
singur model logic global ce poate fi utilizat la reprezentarea realitii care se
modeleaz.
Pasul 9. Unificarea modelelor logice locale n cadrul unui singur model loc
global. Se urmresc:
- revederea numelor tipurilor de entiti i a cheilor primare;
- revederea numelor relaiilor;
- aducerea n cadrul unui singur model a tipurilor de entiti din cadrul
modelelor logice locale;
- introducerea n cadrul modelului logic global a tipurilor de entiti
specifice fiecrei vederi logice locale;
- aducerea n cadrul unui singur model a tipurilor de relaii din cadrul
modelelor logice locale;
- cutarea tipurilor de entiti i relaii lips;
- verificarea cheilor externe;
- verificarea constrngerilor de integritate;
- crearea modelului logic global de date;
- actualizarea documentaiei.
Pasul 10. Validarea modelului logic global. Se face prin utilizarea
normalizrii.
Pasul 11. Prevederea modificrilor ce trebuie efectuate n vederea
dezvoltrilor ulterioare.
Pasul 12. Revizuirea modelului logic global mpreun cu beneficiarul bazei
de date.
4.2.3. MODELUL FIZIC
Acest tip de model descrie reprezentarea datelor n formatul, modul de acces i
ordinea real n care acestea sunt pstrate. Fiecare cmp dintr-un tabel are un
anumit tip de dat. Standardul SQL-92 suport o varietate foarte larg de tipuri de
date dintre care enumerm:
- char(n) sau character(n): ir de caractere de lungime fix, stabilit de
utilizator;
- varchar(n) sau character varying: ir de caractere de lungime variabil a crui
lungime maxim este stabilit de ctre utilizator;
- int sau integer: tipul ntreg a crui lungime depinde de sistem;
- smallint: tip ntreg de dimensiuni mai mici a crui lungime depinde de sistem;
- numeric(p, d): un numr zecimal a crui precizie este stabilit de ctre
utilizator, ce const dintr-un numr total de cifre (p), dintre care d reprezint
cifrele de la partea zecimal; de exemplu, numeric(3, 1) permite stocarea
numrului 1.22 exact aa cum apare i nu n formatul 1.2;
- real sau double precision: numere reale a cror precizie depinde de sistem;
- float(n): numr real a crui precizie este stabilit de ctre utilizator (n cifre);
- date: tip de dat calendaristic;
57

time: exprim ora unei zile n ore, minute i secunde.

U4.3. NORMALIZAREA RELAIILOR


La proiectarea unei baze de date, un obiectiv foarte important, care trebuie
urmrit cnd se gndete un model de date, este realizarea unei reprezentri
corecte a datelor, a relaiilor dintre date i a restriciilor impuse asupra datelor.
Pentru realizarea acestui obiectiv se utilizeaz tehnica normalizrii, care are ca
scop principal identificarea setului celui mai adecvat de relaii care s modeleze
realitatea dorit.
Procesul de normalizare a fost introdus de E. F. Codd (1972). Iniial s-au
propus trei forme normale, notate 1NF, 2NF, respectiv 3NF. Mai trziu, prin
enunarea unei definii mai tari a formei normale trei, s-a obinut forma BoyceCodd, dup numele celor care au introdus aceasta forma normala: R. Boyce i E.
F. Codd (1974). Toate aceste forme normale se bazeaz pe dependentele
funcionale stabilite ntre atributele unei relaii.
Formele normale cele mai folosite sunt: forma normal 3 i forma
normal Boyce-Codd. Exist i forme normale mai tari - forma normal 4 (4NF)
i forma normal 5 (5NF) - dar acestea se folosesc foarte rar.
Procesul de normalizare este o metod formal care identifica relaiile
bazndu-se pe cheile primare ale acestora (sau pe cheile candidat n cazul BCNF)
i pe dependenele funcionale care exista intre atributele acestor relaii.
Normalizarea este un proces de descompunere a unei relaii iniiale n
relaii cu structur mai simpl care se realizeaz n cinci pai, primii trei fiind
obilgatorii.
Normalizarea sprijin proiectantul bazei de date, dndu-i posibilitatea sa
aplice o serie de teste asupra relaiilor individuale, aa nct schema relaionala
poate fi normalizata la forma normala dorit, pentru a se preveni apariia
anomaliilor la actualizare (erori sau inconsistene ale structurii bazei de date) cum
ar fi:
erori de inserare nu se poate insera un tuplu pentru c nu dispunem de
toate informaiile necesare;
erori de tergere atunci cnd se terge un tuplu se terge mai mult
informaie dect s-a intenionat;
erori de modificare cnd dorim s modificm o valoare ia ceasta
apare n sute de rnduri.
Practic, normalizarea este un proces de organizare a datelor n relaiile
unei baze de date. Acest proces presupune respectarea unor reguli prin care baza
de date se poate normaliza pn la un anumit grad, adica se aduce la o anumita
forma normala.
Normalizarea este utila daca ati determinat toate elementele informationale
si ati creat un proiect preliminar. Scopul fiind acela de a va asigura ca ati impartit
elementele informationale in tabelele corespunzatoare.
Normalizarea se execut trecnd prin toate formele normale, pn la forma
normal cerut. La proiectarea unei baze de date e recomandabil sa se ajunga cel
puin pn la forma normal trei.
Procesul de normalizare este o metod formal, care identific relaiile
bazndu-se pe cheile primare ale acestora i pe dependenele funcionale dintre
atributele lor.
Prima form normal - 1NF impune ca toate valorile asociate atributelor
s se gseasc la nivel atomic din punct de vedere al utilizrii, al obinerii i al
58

tipurilor de date existente adic nu trebuie s existe atribute sau grupuri de atribute
repetitive;
Scopul formei normale unu este acela de a simplifica structura unei relaii
prin obinerea asigurrii c ea nu conine date care mai pot fi descompuse sau date
generatoare de valori repetitive, ceea ce nseamn faptul c nici un atribut nu
poate avea o mulime de valori. Prin aciunea specific de descompunere,
atributele ce nu respect aceste condiii sunt plasate n relaii separate, pstrnduse atribute de legtur care au acelai tip de dat i aceeai dimensiune. Fiecare
tabel are o cheie primar. De asemenea, o schem relaional R se afl n forma
normal unu dac i numai dac fiecare atribut se afl la nivel atomic.
Un grup repetitiv este un atribut sau grup de atribute din cadrul tabelului,
care apare cu valori multiple pentru o singur instan a atributului cheie.
Eliminarea grupurilor repetitive se poate realiza n dou moduri:
Conform primei modaliti, eliminm grupurile repetitive, prin crearea
altor nregistrri, n care s fie introduse valorile din aceste grupuri,
mpreun cu celelalte valori ale atributelor din nregistrarea la care se
lucreaz. Tabela astfel rezultat va fi n form normal unu.
n a doua modalitate, fiecare valoare a grupurilor repetitive le copiem
ntr-o nou relaie mpreun cu cheia primar din tabela iniial. Putem
avea mai multe grupuri repetitive. n acest caz crem mai multe relaii
noi. Aceste relaii noi, precum i tabela normalizat vor fi n form
normal unu.

O relaie este n form normal doi 2NF, dac este n form normal unu
i fiecare atribut care nu aparine cheii primare, este total dependent funcional de
cheia primar.
2NF se obine utiliznd conceptul de dependen funcional total.
Dependena funcional descrie legturile dintre atributele unei relaii: fie
A i B dou atribute ale relaiei R; atributul B este dependent funcional de A
(notat AB) dac fiecrei valori a atributului A i corespunde o singur valoare a
atributului B. A i B pot fi: simple sau compuse. Atributul din stnga sgeii se
numete determinant.
Exemplu: S considerm atributele PersID i Salariu din relaia Personal:
Personal (PersID, NumeP, AdresaP, Funcie, Salariu, FilialaID)
PersID Salariu deci un membru al personalului are un singur salariu
Salariu PersID un salariu nu determin un singur membru al
personalului
Dependena funcional total. Dac A este un subset de dou sau mai
multe atribute i B este atribut (sau subset de atribute) al aceleiai relaii, spunem
ca B este total dependent funcional de grupul de atribute A, dac B este
dependent funcional de A, dar nu este dependent funcional de nici un subset de
atribute din A.
Forma normal doi trebuie verificat doar la relaiile care au cheie
compus pe poziie de cheie primar. Relaia la care cheia primar se compune
dintr-un singur atribut, este n 2NF dac este in 1NF.
Forma normal doi chiar dac nu conine atta redundan ca forma
normal unu, totui exist cazuri n care pot aprea anomalii la actualizare. Aceste
anomalii apar din cauza redundanei generate de dependena tranzitiv.
59

Dependen tranzitiv. Dac atributele A, B, C sunt n relaiile B


dependent de A i C dependent de B, atunci spunem c atributul C este
dependent tranzitiv de atributul A, via B.
Forma normal trei 3NF. Spunem ca o relaie este n form normal trei
dac este deja n form normal doi i nici un atribut care nu aparine cheii
primare nu este tranzitiv dependent de cheia primar.
n cazul existenei dependenei tranzitive, tergem coloanele care sunt
tranzitiv dependente de cheia primar i crem o relaie nou cu aceste coloane,
mpreun cu determinantul lor, adic cheia primar.
De reinut:
Forma
normal
FN1

FN2

FN3

Modalitate de aducere la forma


normal

Condiie

Toate valorile asociate


atributelor se gsesc la nivel
atomic i nu exista atribute sau
grupuri de atribute repetitive.
Doar pentru relaii cu cheie
compus, atributele non cheie
depind functional de intreaga
cheie a relatiei, nu exist
dependente funcionale
pariale.
Nu trebuie s existe
dependene functionale ntre
atributele non cheie, i astfel s
apar dependene funcionale
tranzitive.

Se descompun atributele neatomice sau


se elimin i se creeaz o nou relaie
pentru fiecare atribut, grup de atribute
repetitive.
Se descompune relaia, atributele
dependente parial vor forma o nou
relaie a crei cheie este parte din relaia
iniial.

Se descompune relaia. Atributele


dependente tranzitiv mpreun cu
determinantul lor formeaz noi relaii.

Aplicatie rezolvata:
Se consider urmtoarea relaie nenormalizat.
CONTRACT (NRC, DATAC, VALC, CODF, DENF, ADRESAF, PREFIX, TEL,
CONTBANCA, MATERIAL(CODMAT, DENMAT, UM, PRET_LIVR,
ESALONARE ( LUNA, CANT_CONTR, CANT_LIVR ) ))
Se cere s se normalizeze relaia pn la forma normal 3.
Pasul 1: Aducerea la FN1
Toate valorile asociate atributelor se gsesc la nivel atomic
- din punct de vedere al utilizarii;
- din punct de vedere al obinerii;
- din punct de vedere al tipurilor de date existente;
Nu exista atribute sau grupuri de atribute repetitive
CONTRACT(NRC, DATAC, VALC, CODF, DENF, ADRESAF, PREFIX, TEL,
CONTBANCA, MATERIAL (CODMAT, DENMAT, UM, PRET_LIVR, ESALONARE
( LUNA, CANT_CONTR, CANT_LIVR )))

Baza de date n FN1


60

CONTRACT = (NRC, DATAC, CODF, VALC, DENF, CODLOC, DENLOC, PREFIX,


TEL, CONTBANCA)
MATERIAL = (NRC, CODMAT, DENMAT, UM, PRET_LIVR)
ESALONARE = (NRC, CODMAT, LUNA, CANT_CONTR, CANT_LIVR)

Pasul 2: Aducerea la FN2


Toate atributele non-cheie depind de ntreaga cheie a relaiei.
CONTRACT = {NRC, DATAC, VALC, CODF, DENF, CODLOC, DENLOC, PREFIX,
TEL, CONTBANCA}
MATERIAL = {NRC, CODMAT, DENMAT, UM, PRET_LIVR}
ESALONARE = {NRC, CODMAT, LUNA, CANT_CONTR, CANT_LIVR}

Baza de date n FN2


CONTRACT = {NRC, DATAC, VALC, CODF, DENF, CODLOC, DENLOC, PREFIX,
TEL, CONTBANCA}
MAT_CONTR = {NRC, CODMAT, PRET_LIVR}
MAT_NOMENCLATOR = {CODMAT, DENMAT, UM}
ESALONARE = {NRC, CODMAT, LUNA, CANT_CONTR, CANT_LIVR}

Pasul 3: Aducerea la FN3


Nu prezint dependene funcionale tranzitive.
CONTRACT = {NRC, DATAC, VALC, CODF, DENF, CODLOC, DENLOC, PREFIX,
TEL, CONTBANCA}
MAT_CONTR = {NRC, CODMAT, PRET_LIVR}
MAT_NOMENCLATOR = {CODMAT, DENMAT, UM}
ESALONARE = {NRC, CODMAT, LUNA, CANT_CONTR, CANT_LIVR}

Baza de date n FN3


CONTRACT = {NRC, DATAC, VALC, CODF}
FURNIZOR={CODF, DENF,CODLOC,TEL,CONTBANCA}
LOCALITATE = {CODLOC, DENLOC, PREFIX}
MAT_CONTR = {NRC, CODMAT, PRET_LIVR}
MAT_NOMENCLATOR = {CODMAT, DENMAT, UM}
ESALONARE = {NRC, CODMAT, LUNA, CANT_CONTR, CANT_LIVR}

Aplicaii propuse:
1.
S se aduc la forma normala 3:
PROIECT = {CODP, MARCA, NR_ORE, DENUMIRE, COD_LOC, NR_DEPT}

U4.4. Definirea unui SGBDR - Regulile lui CODD


ntr-o prim ncercare de definire, se poate considera un sistem de gestiune
a bazelor de date relaionale (SGBDR) ca reprezentnd un SGBD care utilizeaz
drept concepie de organizare a datelor modelul relaional. Astfel spus, un SGDBR
reprezint un sistem care suport modelul relaional.
Definiia de mai sus este prea general pentru a putea fi operaional,
deoarece modul de implemantare a modelului relaional difer, de regul att ntre
diferitele SGBDR, ct i n raport cu modelul teoretic, cel definit n cadrul
teoriei relaionale, datorit eforturilor productorilor de a realiza sisteme ct mai
perfomante care s satisfac cerinele i exagerrile utilizatorilor. Ct de aproape
(sau de departe) de modelul relaional teoretic trebuie s fie modelul datelor
61

efectiv utilizat de SGBD pentru a putea afirma c SGBD-ul respectiv utilizeaz


sau nu modelul relaional, deci este sau nu SGBDR?
Diversitatea modelelor relaionale operaionale au determinat, n mod
natural existana unei mari diversitii de SGBDR, pentru a cror prezentare a fost
necesar nuanarea terminologiei. Au aprut o serie de sintagme precum: sisteme
cu interfa relaional, sisteme pseudorelaionale, sisteme complet relaionale.
n general, conceptele utilizate la prezentarea SGBDR i a modelelor
relaionale operaionale difer de cele din cadrul teoriei relaionale. Faptul c se
pot stabili analogii ntre conceptele organizrii datelor n fiiere i conceptele
relaionale, i-au determinat pe unii productori s prezinte sisteme fr nici o
legtur cu modelul relaional drept SGBDR, n scopul asigurrii succesului
comercial al acestor sisteme.
Definirea unui SGBDR impune o detaliere a caracteristicilor pe care
trebuie s le prezinte un SGBD pentru a putea fi considerat relaional.n acest
sens, Codd a formulat 13 reguli care exprim cerinele pe care trebuie s le
prezinte un SGBD ca s fie relaional.
Dei, aceste reguli au strnit o serie de controverse, ele sunt deosebit de
utile n evaluarea unui SGBDR.
R0: Regula privind gestionarea datelor la nivel de relaie
Sistemul trebuie s gestioneze baza de date numai prin mecanisme
relaionale.
Acest lucru nseamn c sistemul trebuie s-i ndeplineasc toate funciile
prin manipulri n care unitatea de informaie s fie mulimea (relaia), adic s
utilizeze limbaje, precum SQL, care s opereze la un moment dat pe o ntreag
relaie. Deci SGBD nu trebuie s accepte operaii non-relaionale care s
ndeplineasc operaiile de definire i manipulare a datelor. Unele sisteme
utilizeaz mecanisme relaionale numai pentru o parte din funcii, n special
pentru interogare. Aceste sisteme se numesc sisteme cu interfa relaional i nu
SGBDR.
R1: Regula privind reprezentarea logic a datelor
Toate datele din baza de date relaional trebuie s fie reprezentate
explicit la nivel logic, ntr-un singur mod, i anume ca valori n tabele de date.
Aceste lucru nseamn c toate datele trebuie s fie memorate i prelucrate
n acelai mod. Informaiile privind numele de tabele, coloane, domenii, definiiile
tabelelor virtuale, restricii de integritate trebuie s fie memorate tot n tabele de
date (cataloage).
Referina la 'nivelul logic' nseamn c construcia fizic nu este
reprezentat i nu necesit explicaie.
R2: Regula privind garantarea accesului la date.
Orice dat din baza de date relaional trebuie s poat fi accesat prin
specificarea numelui da tabel, valorii cheii primare i numelui de coloan.
Aceast regul exprim cerina ca limbajul de cereri al SGBDR s permit
accesul la fiecare valoare atomic din baza de date.
R3: Regula privind valorile null
Sistemele trebuie s permit declararea s manipularea sistematic a
valorilor null, cu semnificaia unor date lips sau inaplicabile. Valorile null, care
difer de irurile de caractere ' spaiu' sau de irurile vide da caractere sunt
deosebit de importante n implementarea restriciilor de integritate (integritatea
entitii i integritatea refereanial).
R4: Regula privind metadatele
Descrierea bazei de date trebuie s se prezinte la nivel logic n acelai
mod cu descrierea datelor propiu-zise, astfel nct utilizatorii autorizai s poat
62

descrierii bazei de date aceleai operaii ca i asupra datelor obinuite.


Aceast regul specific c trebuie s existe un unic limbaj de manipulare
a metadatelor i a datelor propui-zise, mai mult, exist o unic structur logic
folosit pentru a depozita informaiile de sistem.
Sisteme nu trebuie s fac diferenieri n definirea i tratarea datelor i a
metadatelor, utiliznd o singur structur, i anume cea relaionala.
R5: Regula privind facilitile limbajelor utilizate
Un sistem relaional trebuie s fac posibil utilizarea mai multor limbaje,
n mai multe moduri. Trebuie s existe ns cel puin un limbaj de nivel nalt ale
crui instruciuni s poat exprima oricare din urmtoarele operaii: definirea
tabelelor de date, definirea tabelelor virtuale, manipularea datelor (interactiv dau
prin program), definirea restriciilor de integritate, autorizarea accesului,
precizarea limitelor tranzaciilor.
A se nota aici c noul standard O/I pentru SQL furnizeaz toate aceste
funcii, deci orice limbaj care accept acest standard va satisface automat aceast
regul.
R6: Regula privind actualizarea tabelelor virtuale
Toate tabelele virtuale care teoretic sunt posibil de actualizat trebuie s
poat fi efectiv actualizabile.
Nu toate atributele din cadrul unei tabele virtuale, deci nu toate tabele
virtuale sunt teoretic actualizabile.
R7: Regula privind inserrile, modificrile i tergerile n baza de date
Sistemul trebuie s ofere posibilitatea manipulrii unei tabele (da baz
sau virtual) nu numai n cadrul operaiilor de regsire, ci i n aciuni de
inserare, modificare i tergere a datelor.
Aceast regul exprim cerina ca prin operaiile n care se schimb bazei
da date s se lucreze la un moment dat pe o ntreag relaie.
R8: Regula privind independena fizic a datelor
Programele de aplicaie nu trebuie s fie afectate de schimbrile efectuate
n modul de reprezentare a datelor sau n metodele de acces. O schimbare a
structurii fizice a datelor nu trebuie s blocheze funcionarea programelor de
aplicaie.
R9: Regula privind independena logic a datelor
Programele de aplicaie nu trebuie s fie afectate de schimbrile
efectuate asupra relaiilor bazei de date, schimbri care conserv datele i care
teoretic garanteaz valabilitatea programelor de aplicaie existente.
R10: Regula privind restriciile de integritate
Restriciile de integritate trebuie s fie definite n limbajul utilizat de
sistem pentru definirea datelor i s fie memorate n cadrul bazei de date i nu n
cadrul programului de aplicaie.
R11: Regula privind distribuirea geografic a datelor
Limbajul de manipulare a datelor utilizat de sistem trebuie s permit ca,
n situaia n care datele sunt distribuite, programele de aplicaie s fie logic
aceleai cu cele utilizate n cazul n care datele sunt fizic centralizate.
Utilizatorul trebuie s perceap datele ca fiind centralizate. Sarcina de
localizare a datelor, atunci cnd acestea sunt distribuite geografic precum i
sarcina recompunerii datelor trebuie s revin sistemului i nu utilizatorului.
R12: Regula privind prelucrarea datelor la nivelul de baz
Dac sistemul posed un limbaj de baz (de nivel sczut) orientat pe
prelucrare de recorduri (tupuri) i nu pe prelucrarea mulimilor (relaiilor), acest
limbaj nu trebuie s fie utilizat pentru a se evita restriciile de integritate sau
restriciile introduse prin utilizarea limbajelor de nivel nalt, adic accesul la toate
63

bazele va fi controlat de SGBDR, altfel integritate bazelor de date nu poate fi


compromis fr cunoaterea utilizatorului sau a administratorului bazei de date.
Pe parcursul anilor regulile lui Codd au generat o seam de controverse.
Cteva argumente sunt c aceste reguli nu sunt mai mult dect nite exerciii
academice.
Unele revendicri ale produselor existente sunt c ele pot ndeplini cea mai
mare parte din reguli, dar nu toate. Aceast discuie a generat ntr-o disput ntre
utilizatori i teoreticienii proprietilor eseniale ale unui SGBDR.
Pentru a accentua implicaia regulilor lui Codd n analiza unui SGBDR,
aceste reguli au fost reorganizate n cinci categorii, i anume:
1) Reguli fundamentale (R0 i R12),
2) Reguli structurale (R1 i R6),
3) Reguli privind integritatea datelor (R3 i R10),
4) Reguli privind manipularea datelor (R2, R4, R5, R7)
5) Reguli privind independena datelor (R8,R9 i R11).

U4.5.Criterii minimale de definire a unui SGBDR


Nici unul dintre SGBDR disponibile astzi nu respect ntru-totul cerinele
exprimate de Codd, n cadrul celor 13 reguli. De aceea pentru caracterizarea unui
SGBD nu sunt utilizate regulile lui Codd, fiind formulate n schimb o serie de
cerine minimale pa care trebuie s la satisfac un sistem de gestiune a bazelor de
date pentru a putea fi considerat relaional.
Un SGBD este minimal relaional dac satisface urmtoarele condiii:
1.
Toate datele din cadrul relaiei sunt reprezentate prin valori n
tabele,
2.
Nu exist pointeri observabili de ctre utilizatori n tabele, n
sensul c operaiile cu relaii nu fac apel la pointeri, indeci, fiiere inverse, etc.
3.
Sistemul suport operatori relaionali de proiecie, selecie i joing
natural, fr limitri impuse de considerente interne (cum ar fi de exemplu,
necesitatea indexrii atributelor). Unitatea de informaie cu care se lucreaz n
cadrul acestor operaii trebuie s fie relaia.
Un SGBD este complet relaional dac este minimal relaional i satisface
n plus urmtoarele condiii:
1.Sistemul suport toate operaiile de baz ale algebrei relaionale, fr
limitri impuse de considerente interne.
2. Sistemul suport dou dintre restriciile de integritate de baz al
modelului relaional i anume unicitatea cheii unei relaii i restricia
referenial.
Un SGBD este pseudorelaional dac satisface numai condiiile 1. i 3.
Un SGBD cu interfa relaional este un SGBD are satisface condiiile 1. i
3.,cu observaia c cerina 3. Este ndeplinit numai n raport cu funcia de
interogare
n ultimii ani, ca rspuns la necesitatea de a crete complexitatea
aplicaiilor cu baze de date (ncurajat i de progresele aprute n programare
64

odat cu programarea orientata obiect) au aprut modelul de date orientat obiect


(Object-Oriented Data Model - OODM) i modelul de date relaional extins
(Extended Relational Data Model - ERDM). Cu toate ca modelul de date ce sta la
baza noilor modele nu este att de clar ca n cazul modelului relaional, se poate
considera ca aceste din urma dezvoltri reprezint generaia a treia de SGBD.
ntrebri facultative
1. Definii normalizarea?
2. Precizaii scopul normalizrii?
3. Ce nelegei prin procesul de normalizare?
4. Definii conceptul de grupul repetitiv?
5. Ce nelegei prin dependen funcional?
6. Ce nelegei prin dependen funcional total?
7. Ce nelegei prin dependen tranzitiv ?
8. Enunai regulile lui Codd?

Test de autoevaluare nr. 4


1. Pentru a accentua implicaia regulilor lui Codd n analiza unui SGBDR, aceste reguli
au fost reorganizate n cinci categorii, i anume:
1. Reguli fundamentale
2. Reguli structurale
Timp de lucru : 15 min
3. Reguli privind integritatea datelor
Punctaj 100p
4 . Reguli privind manipularea datelor
5. Reguli privind independena datelor
a. 1,2.4.5
b.1 2.3 4
c. 1 3
d. 1 2 345
e. 1 4 5
(10 puncte)
2. Un grup repetitiv este:
a. un identificator sau grup de identificatoare din cadrul tabelului
b un atribut sau grup de atribute din cadrul tabelului, care apare cu valori multiple pentru o
singur instan a atributului cheie..
c. o entitate sau grup de entitati din cadrul tabelului, care apare cu valori multiple pentru o
singur instan a atributului cheie.
(10 puncte)
3. Un SGBD este minimal relaional dac satisface o serie de condiii. Identificaile:
a. Toate datele din cadrul relaiei sunt reprezentate prin valori n tabele,;
b. Nu exist pointeri observabili de ctre utilizatori n tabele ;

65

c. Sistemul suport operatori relaionali de proiecie, selecie i joing natural, fr limitri


impuse de considerente interne;
d. Sistemul suport toate operaiile de baz ale algebrei relaionale
(10 puncte)
4. Normalizarea este un proces de a unei relaii iniiale n relaii cu structur
mai care se realizeaz n pai, primii trei fiind obilgatorii.
(10 puncte)
5. Procesul de normalizare este o metod formal, care identific relaiile bazndu-se pe
.. ale acestora i pe dintre atributele lor.
(10 puncte)
6. (Sistemul trebuie s gestioneze baza de date numai prin mecanisme relaionale.
Adevarat

Fals

(10 puncte)
7. Programele de aplicaie trebuie s fie afectate de schimbrile efectuate n modul de reprezentare
a datelor sau n metodele de acces
Adevarat

Fals
(10 puncte)

8. S se aduc la

forma normala 3:
AGENTIE IMOBILIARA = {Nr_client, Nume_client, Nr_proprietate,
Adresa_proprietate, Incep_Inchiiere, Sfarsit_Inchiriere, Chiria, Nr_proprietar,
Nume_proprietar}
(20 puncte)

U4.6. Rezumat
ntr-o prim ncercare de definire, se poate considera un sistem de
gestiune a bazelor de date relaionale (SGBDR) ca reprezentnd un SGBD care
utilizeaz drept concepie de organizare a datelor modelul relaional. Astfel spus,
un SGDBR reprezint un sistem care suport modelul relaional.
Definiia de mai sus este prea general pentru a putea fi operaional,
deoareca modul de implemantare a modelului relaional difer, de regul att
ntre diferitele SGBDR, ct i n raport cu modelul teoretic, cel definit n
cadrul teoriei relaionale, datorit eforturilor productorilor de a realiza sisteme
ct mai perfomante care s satisfac cerinele i exagerrile utilizatorilor. Ct de
aproape (sau de departe) de modelul relaional teoretic trebuie s fie modelul
datelor efectiv utilizat de SGBD pentru a putea afirma c SGBD-ul respectiv
utilizeaz sau nu modelul relaional, deci este sau nu SGBDR?
Diversitatea modelelor relaionale operaionale au determinat, n mod
natural existana unei mari diversitii de SGBDR, pentru a cror prezentare a
fost necesar nuanarea terminologiei. Au aprut o serie de sintagme precum:
sisteme cu interfa relaional, sisteme pseudorelaionale, sisteme complet
relaionale.

66

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009

Rspunsuri i comentarii la testul de autoevaluare nr. 4


1. d; 2. b; 3.abc; 4-descompunere/simpla/cinci; 5-cheile
primare/dependente functionale ; 6-A; 7-F .

VERIFICARE NR. 1
1. Aplicatie propusa:
Se consider o baz de date cu informaii despre angajaii
i serviciile (departamentele) unei companii. Un serviciu poate
avea mai muli angajai, n schimb, un angajat poate face parte
dintr-un singur serviciu. Sa se creioneze modelul ierarhic
corespunzator acestei baze de date?
2.
S se aduc la forma normala 3:
ANGAJAT = {MARCA, NUME, DATAN, VARSTA, ADRESA, NR_DEPT,
DENUMIRE, MARCA_SEF, COD_LOC}

67

MODULUL 2

68

UNITATEA 5:

SISTEMUL DE GESTIUNE AL
BAZELOR DE DATE ACCESS2007

UNITATEA 6:

TABELELE ACCESS

UNITATEA 7:
UNITATEA 8

TIPURI DE DATE ACCESS,


STABILIREA PROPRIETATILOR
CAMPURILOR
OPERAII CU STRUCTURA I
NREGISTRRILE UNUI TABEL

VERIFICAREA NR. 2

UNITATEA 5
SISTEMUL DE GESTIUNE AL BAZELOR DE
DATE ACCESS 2007

Durata medie de studiu individual - 2 ore

Cuprins:

pag.
69

U5.1. Scopul i obiectivele unitii de nvare

68

U5.2. Caracteristicile generale i funciile sistemului ...

69

U5.3. Lansare n execuie i interfaa cu utilizatorul..

70

U5.4. U t i l i z a r e a c a r a c t e r i s t i c i i R i b b o n ( p a n g l i c ) . Panoul de
Navigare.
.
U5.5. Obiectele Access
U5.6 . Salvarea Bazei de date...
Bibliografie minimal

73
75
77
79

Rspunsuri i comentarii la testul de autoevaluare .. 79

U5.1. Scopul i obiectivele unitii de nvare


Microsoft Access este un instrument software folosit pentru nregistrarea,
stocarea i raportarea datelor. n aceast tem este prezentat programul Access,
caracteristicile i funciile sale generale, modurile de lucru i obiectele Access.
Access 2007 este parte integrant a pachetului Microsoft Office
Professional 2007 i alturi de celelalte componente oferite de Office vine s
completeze facilitile oferite de MS Excel privind lucrul cu foile de calcul
tabelar, asigurnd stocarea i prelucrarea unui volum foarte mare de date n
conlucrare cu celelate programe incluse n acest pachet.
Dup parcurgerea acestei teme vei fi capabil s:
- Descriei SGBD-ul Microsoft Access;
- S lansai n execuie programul;
- S definii obiectele Access;
- S identificai prile componente ale unei baze de date;
- S creai o baz de date nou.

U 5.2. Caracteristicile generale i funciile sistemului


Conceput pentru prelucrarea datelor dintr-o baz de date, programul Office
Access 2007 aduce substaniale nbuntiri versiunilor precedente solicitnd n
acelai timp destul de puine resurse din partea unitii de calcul pe care opereaz.
Conceptual vorbind, Microsoft Access este un sistem de gestiune a bazelor
de date mai bun dect SGBD-urile nerelaionale de organizare a datelor care
realizeaz doar operaii de stocare i regsire a datelor, dar mai slab dect SGBDurile complexe care pe lng stocare realizeaz i distribuia la distan foarte
mare a unor volume de date uriae, sisteme de baze de date dedicate utilizate de
societi internaionale cu rspuns n timp real.
Caracteristic pentru SGBD-ul Microsoft Access este faptul c din punct de
vedere conceptual, mbin modelul relaional cu cel orientat spre obiecte, adic
organizeaz relaional datele i este orientat spre obiecte care au asociate
evenimente sau proprieti.
Spre deosebire de FoxPro de exemplu, la care baza de date poate fi privit
ntr-o anume acceptiune ca un siplu tabel, Access delimiteaz baza de date i
70

tabelul. Se creaz mai nti baza de date i apoi n cadrul ei tabelele i alte obiecte
(interogri, formulare, rapoarte macro-uri i module).
Tabelul poate manipula sute de mii de nregistrri. n plus acceai baz de
date poate fi accesat simultan de peste 20 utilizatori.
SGBD Microsoft Access dispune de interfa cu utilizatorul simpl, prin
intermediul creia permite definirea structurii bazei de date, realizarea
interogrilor acesteia i crearea de formulare i rapoarte.
Pentru manipularea i actualizarea bazei de date (adugri, modificri,
tergeri sau interogri) sistemul Access dispune de trei tipuri de limbaje:
- QBE (Query By Example) care se bazeaz pe o exprimare grafic a
interogrii;
- SQL (Structured Query Language) care utilizeaz blocul de cerere;
- VBA (Visual Basic for Application) care este orientat spre aplicaii i se
utilizeaz pentru elaborarea procedurilor utilizator.
Microsoft Access este totodat i un mediu de programare care permite
utilizatorului patru moduri de lucru:
- interfaa Access;
- interfaa SQL;
- programe scrise n limbajul VBA;
- interfaa bazei de date cu ali utilizatori, cu alte baze de
date sau cu alte aplicaii Windows.
SGBD Access acord de asemenea asisten prin colecia de componente
numite Wizard-uri necesare utilizatorului la crearea de aplicaii pentru definirea
facil a diferitelor obiecte Access.
Microsoft Access implementeaz toate funciile generale ale unui sistem
de gestiune:
a) Funcia de descriere a datelor : - realizat cu limbajul de descriere a
datelor pentru definirea structurii tabelelor i a relaiilor dintre acestea.
Definirea structurii const n specificarea cmpurilor, tipurilor de date i
proprietile pentru fiecare cmp. Sistemul ofer utilizatorului pentru
fiecare tip de dat specificat anumii parametrii;
b) Funcia de manipulare a datelor: - realizat cu limbajele de manipulare a
datelor n cele trei variante QBE, SQL i VBA. Aceast funcie const n
operaii de adugare de date, modificare, tergere sau interogare;
c) Funcia de securitate a datelor i lucru n regim utilizator : - realizat prin
parole i drepturi de acces. Sistemul permite identificarea utilizatorilor i
precizarea tipurilor de operaii permise acestora. Administratorul bazei de
date este singurul care poate defini sau modifica structura acesteia. Tot el
definete utilizatorii i limiteaz aciunea acestora asupra obiectelor bazei
de date;
d) Funcia de import i export de date : - Sistemul permite importul i/sau
exportul de date ntre baze de date diferite ale sistemului Access sau ntre
baze de date Access i aplicaii Word sau Excel.
e) Funcia de meninere a integritii datelor : - Access reduce riscul erorii de
definire sau nregistrare a datelor indiferent de volumul acestora prin
intermediul unor reguli sau restricii de integritate care corespund
restriciilor privind valorile admisibile pentru datele ce urmeaz a fi
stocate n baza de date.
Access 2007 este parte integrant a pachetului Microsoft Office Professional
2007 i alturi de celelalte componente oferite de Office vine s completeze
facilitile oferite de MS Excel privind lucrul cu foile de calcul tabelar, asigurnd
stocarea i prelucrarea unui volum foarte mare de date n conlucrare cu celelate
71

programe incluse n acest pachet, dar mai ales cu alte tipuri de baze de date:
FoxPro, Paradox, Dbase etc.
Access 2007 ofer posibilitatea:
implementrii sistemului de relaii,
structurarea datelor n tabele relaionale,
folosirea eficient a memoriei de lucru,
accesarea Internetului fr prsirea aplicaiei,
importul i exportul de date din aplicaiile pachetului MS Office,
Programare n Visual Basic securitatea i
administrarea bazelor de date.
Microsoft Office Access 2007 v ajut s ncepei s lucrai imediat cu bazele
de date, furniznd abloane de aplicaii de baze de date pe care le putei folosi
pentru a v stoca datele dumneavoastr personale sau de afaceri.
De asemenea Access ofer cteva mostre care v ajut la crearea unor baze de
date de afaceri comune. Aceste exemple de baze de date v pot da unele idei
privind proiectarea propriilor baze de date, pentru stocarea unor tipuri de date care
nu sunt acoperite de bazele de date existente.

U 5.3. Lansare n execuie i interfaa cu utilizatorul


Microsoft Access lucreaz sub toate versiunile de Windows. Pentru lansarea
aplicaiei MS Access se execut click cu mouse-ul pe butonul START
apoi ALLPROGRAMS pe
i pe
Calea de urmat este prezentata si in figura urmatoare:

,
.

Fig 5.1. Lansarea in executie ACCESS 2007


O alt variant ar fi crearea pe desktop a unei shortcut pentru acest
fiier executabil.

Cnd deschidei Access din meniul Start, facei aceast alegere din interiorul
programului Access. Se deschide caseta de dialog Getting Started with Microsoft
Office Access 2007 (Introducere n Microsoft Office Access 2007), afind un set
de abloane i baze de date deschise recent.

72

11

22

Fig 5.2. Deschiderea unei baze de date


Dupa ce alegei cum s pornii programul Access, trebuie s decidei dac:
1. dorii s creai o baz de date nou - 1
2. s deschidei una existent. -2
1. In cazul in care utilizatorul va dori sa creeze o baza de date necompletata
(Blank Database) va trebui sa lanseze in executie (sa execute dublu clic cu mouseul), icon-ului Baza de date necompletata .

In mod automat la selectia acestui icon, se va deschide Panoul Baza de date


necompletata , dispus in partea stanga a ferestrei Introducere in Microsoft Office
Access(fig.5.3)

73

Fig 5.3. Panoul Baza de date necompletata(Blank Database)


In acest panou utilizatorul va specifica numele fisierului baza de date in
caseta Nume Fisier(File Name).Daca utlizatorul nu specifica un nume de fisier
acesta va fi definit automat de catre Access- de forma Database1. Daca nu
furnizati o extensie de nume de fisier , Access o adauga in mod automat.
Pentru a modifica locaia implicit a fisierului , facei clic pe icon-ul
de forma unui director dispus la dreapta casetei nume fisier, navigai la
locaia nou, apoi faceti clic pe OK .
Dupa parcurgerea acestor pai se va execta clic pe butonul Creare(Create).
Access creeaza o baza de date cu un tabel necompletat, denumit Tabel 1(Table1),
dupa care deschide Table1 n modul de vizualizare Foaie de date(Datasheet View).
n Access sunt disponibile doua moduri de operare principale:

Modul Design permite crearea i modificarea structurii tabelelor i


interogrilor, dezvoltarea de formulare n scopul editrii i afirii datelor i
formarea de rapoarte. Modul de proiectare se numete Design View.

Fig 5.4 Modul Design

Modul Datasheet permite afiarea tabelului, formularului sau


raportului n ferestre de document individuale. Acest mod nu se aplic modulelor
Access VBA, care se execut ca obiecte ale interogrilor, formularelor i
rapoartelor. Modul Datasheet este numit si Run pentru tabele i interogri, Form
View pentru formulare i Print Preview pentru rapoarte.

74

Fig 5.5 Modul Datasheet View


Introducerea informaiilor n modul vizualizare Foaie de date(Datasheet
View) este proiectat s fie foarte similar cu lucrul ntr-o foaie de lucru
Microsoft Office Excell 2007. Structura tabelului se creeaz n timp ce introducei
informaiile. De fiecare dat cnd adugai o nou coloan la tabel, se definete un
noi cmp. Access seteaz automat tipul de dat pentru fiecare cmp, bazat pe
datele introduse.
Daca nu dorii s introducei informaii n Table1 n momentul creri
fisierului baz de date, facei clic pe Close (Inchidere). Daca ati efectuat
modificri n acest tabel , faceti clic pe YES pentru a salva modificarile, pe No
pentru a renunta la salvare sau pe Cancel(Revocare) pentru a lasa tabelul deschis.
Daca nchidei Table 1 fr a-l salva cel puin o dat , Access terge ntregul tabel,
chiar dac ai introdus date n acesta.

U5.4. Utilizarea caracteristicii Ribbon(panglic) . Panoul de Navigare


Caracteristica Ribbon este noua nfiare a lui Office 2007. Aceasta
nlocuiete meniurile, barele cu instrumente i majoritatea panourilor cu sarcini
din Office 2003.
Panglica (ribbon) se afl n partea de sus a ferestrei document i este
compus din butoane-rubrici care sunt organizate n funcie de sarcin sau de
obiecte. Elementele de control de pe fiecare buton-rubric sunt organizate n
grupuri sau sub-sarcini.
Elementele de control, sau butoanele de comand, din fiecare grup execut
o comand sau afieaz un meniu de comenzi sau o galerie derulant.

Fig.5.6 Panglica Access 2007


MS Office include n panglic trei tipuri de butoane- rubrici.

Primul tip se numete buton rubric standard - ca de exemplu: Pornire,


Creare, Date externe, Instrumente baza de date i Add-lns (module add-in)
pe care le vedei de fiecare dat cnd lansai Office.

75


Al doilea tip sunt butoanele-rubric contextuale - ca de exemplu: Table
Tools (instrumente tabel), Drawing (desenare)) - care apar numai cnd sunt
necesare, pe baza tipului de operaie pe care l efectuai. Office recunoate
aciunile dumneavoastr i furnizeaz setul adecvat de butoane rubrici i
instrumente pentru a le folosi atunci cnd avei nevoie.

Al treilea tip se numete buton-rubric program - ca de exemplu Print


Preview (previzualizare nainte de tiprire) - care nlocuiete setul standard de
butoane - rubric atunci cnd trecei la anumite vederi sau moduri.
Microsoft Office Access 2007 furnizeaz un set puternic de instrumente care
ajut la pornirea rapid n urmrirea, raportarea i partajarea informaiilor. Exist
posibilitatea crerii rapide a unor aplicaii de urmrire atractive i funcionale prin
particularizarea sistemului.

Controale meniuri

Combinaii taste

Office
AltF
Save
Alt1, sau Ctrl+S
Undo Typing
Alt2, sau Ctrl+Z
Repeat Typing
Alt3, sau Ctrl+Y
Open
Alt4, sau Ctrl+O
Spelling
Alt5, sau tasta F7
Print preview
Alt6
Home
AltH
Create
AltC
External Data
AltX
Database Tools
AltA
Datasheet
AltW
Deschiderea Bazei de Date
Ctrl+O
Inchiderea Bazei de Date
Ctrl+W
Imprimare
Ctrl+P
Stergere inregistrare
Ctrl+Verificarea ortografie
F7
Inserare ora
Shift+Ctrl+
Urmtorul camp
Tab
Campul precedent
Shift+Tab
Prima nregistrare
Ctrl+
Ultima nregistrare
Ctrl+
Decupare
Ctrl+X
Copiere
Ctrl+C
Lipire
Ctrl+V
Cautare
Ctrl+F
Deschidere obiect in mod proiectare
Ctrl+Enter
Salvare obiect
Ctrl+S
Fig.5.7 Controale unice pentru apelarea rapid a meniurilor Access 2007

76

Panoul de navigare/Navigation Pane


Utilizarea panoului de navigare este
necesar pentru a organiza obiectele dup tipul
de obiect,data crerii,data modificrii, dup
tabele corelate pe baza dependenelor de
obiecte sau n grupuri particularizate aa cum
sunt create de programator sau utilizator.
Acest panou listeaz i furnizeaz i
furnizeaz acces fr dificultate la toate
obiectele din baza de date deschis de
utilizator.Pentru mai mult spaiu aferent
proiectului de formular, panoul de navigare se
poate restrnge cu uurin pentru a ocupa
puin spaiu, dar a rmne nc disponibil. Panoul de navigare nlocuiete fereastra
Baz de date utilizat n versiunile anterioare lui Access 2007.
Panoul de navigare compune obiectele bazei de date, respectiv: tabele,
formulare,interogri, rapoarte,pagini,macrocomenzi i module(figura de mai sus).
ACTIVITATE ASISTATA
Completai cu comanda scurt solicitrile:
1. Deschiderea unei baze de date existente
2. Crearea unei baze de date noi .
3. Afisarea primei nregistrri
4. Decuparea unei nregistrri
5. Salvarea unei baze de date ..

U5.5. Obiectele Access


O baz de date ACCESS poate fi definit ca o colecie de obiecte: tabele
(table), cereri de interogare (query), formulare (form), rapoarte (report), pagini
Web (pages), comenzi macro (macro) i module (module).
Un tabel este o colecie de informaii corelate despre un subiect, precum numele
i adresele. Un tabel este format din cmpuri i nregistrri. Un cmp stocheaz
fiecare calup informaional dintr-un tabel, precum numele, prenumele sau adresa.
O nregistrare este o colecie a tuturor cmpurilor aferente unei persoane.
O interogare este o metod de gsire a informaiilor dintr-o baz de date.
Informaiile pe care le gsii cu ajutorul unei interogri se bazeaz pe condiiile pe
care le specificai.
Un formular ofer o metod simpl de a vizualiza i de a introduce informaii
ntro baz de date. n mod caracteristic, formularele afieaz o singur nregistrare
la un moment dat.
Rapoartele sunt documente care rezum informaii dintr-o baz de date.
Paginile v permit s accesai o baz de date din Internet folosind un browser
Web; compatibile napoi numai cu bazele de date Access 2003; nu sunt
disponibile n Access 2007.
O macrocomand v permite s economisii timp prin automatizarea unei serii
de aciuni ntr-o singur aciune.
Modulele sunt programe pe care le creai ntr-un limbaj de programare numit
Visual Basic for Applications (VBA), care extinde funcionalitatea unei baze de
date.
77

n figura 5.8 sunt prezentate legturile ce exist ntre


diferitele obiecte ce compun o aplicaie realizat n Access.
Astfel, n cadrul tabelelor sunt stocate datele introduse iniial de
utilizator sau extrase cu ajutorul cererilor de interogare i sunt
afiate sub form de rapoarte sau sunt modificate cu ajutorul
formularelor. Cererile de interogare pot folosi funcii Visual Basic
n vederea realizrii unor calcule definite de utilizator.

Fig. 5.8. Legturi ntre obiectele Microsoft Access

Aplicaia Access este alctuit din una sau mai multe baze de date ale
cror obiecte sunt conectate astfel nct s serveasc rezolvrii unei anume
probleme.
Realizarea unei aplicaii Access presupune parcurgerea a trei etape:
- Etapa de analiz a problemei de rezolvat i realizarea modelului
relaional al sistemului. Aceasta presupune stabilirea entitilor sistemului i a
legturilor dintre ele, precizarea datelor de intrare, prelucrrile i rezultatele
scontate;
- Etapa de proiectare n care: se definesc proprietile obiectelor, se
definesc machetele i rapoartele (interfaa aplicaie-utilizator) i se proiecteaz
macrocomenzile i modulele cu proceduri Access Basic;
- Etapa de realizare a aplicaiei ce presupune: crearea efectiv a obiectelor
cu structura i proprietile proiectate, codificarea, programarea, testarea i
implementarea procedurilor. Aceasta presupune mai exact crearea fiierului baz
de date, crearea obiectelor i testarea lor, umplerea bazei de date i lansarea
aplicaiei.
O aplicaie Microsoft Access are urmtoarea structur:
78

Aplicaia:
- Formulare (conin Controale);
- Rapoarte (conin Controale);
- Ecrane;
- Comenzi.
Formularele, rapoartele i controalele alctuiesc bazele vizuale ale unei
aplicaii. Aspectul i funcionalitatea lor poate fi controlat i mbuntit prin
modificarea proprietilor acestor obiecte i a metodelor, procedurilor sau
funciilor care dirijeaz obiectele respective.

U5.6. Salvarea Bazei de date


Access 2007 utilizeaz un format de fiier nou avnd extensie de fiier
nou(.accdb), ce are urmtoarele avantaje:
- Face mai sigure bazele de date Access 2007
- Face mai compacte bazele de date Access 2007
- Recuperare mbuntit a datelor dac fiierele se deterioreaz.
Fiierele de tip vechi(.mdb) funcioneaz cu noua versiune Access.
Pentru salvarea bazei de date in Access 2007, dai clic pe butonul Button Office,
alegei Save As(Salvare ca), apoi din zona Save the database in another format,
alegei Access 2007 Database(Baz de date Access 2007).
Fisierele Access 2007 prezinta urmatoarele extensii n functie de modul in
care a fost creat respectivul fisier.
Extensie de fisier Formatul de fisier Office Access
.accdb
Formatul de fisier Access 2007,Inlocuieste extensia .mdb
.accdt
Format de fisier pentru sabloanele de baze de date Access
Database
.accde
Format de fisier folosit modul numai executie. Puteti
doar sa modificati codul VBA , nu sa-l modificati

Poate fi necesar s partajai o baz de date Access 2007 cu cineva care


lucreaz cu o versiune anterioar de Access(figura 5.9). Modalitatea de partajare
este prin crearea unei copii ntr-un format de fisier mai vechi. Deschidei baza de
date Access2007, facei clic pe Office Button, indicati spre Save As, apoi facei
clic pe opiunea potrivit.

79

Fig 5.9 Salvarea unei baze de date

ntrebri facultative
1. Precizai modalitile de lansare n execuie a SGBD Access 2007?
2. S se identifice modurile de operare ale Access 2007?
3. Identificai tipurile de butoane rubric ntlnite n panglica Access 2007 ?
4. Precizai coninutul panoului de navigare?
5. Care sunt obiectele Access 2007?
6. Care sunt etapele necesare a fi parcurse pentru realizarea unei aplicaii Access?
7. Precizaii care sunt extensiile sub care se poate salva un fisier Access ?

Test de autoevaluare nr. 5


1. Realizarea unei aplicaii Access
sunt acestea:
Timp de lucru : 15 min
1. Etapa de analiz a problemei;
Punctaj 100p
2. Etapa de detaliere a problemei;
3. Etapa de proiectare;
4. Etapa de gestiune a problemei;
5. Etapa de realizare a aplicaiei;
Alegei varianta corect

presupune parcurgerea a trei etape. Care

a. 1,2,5,
b.1 3,4
c. 1 3 5
d. 2 4
e. 1 5
(10 puncte)
2. Fisierele Access 2007 prezinta urmatoarele extensii n functie de modul in care a fost creat
respectivul fisier. Identificati:
a. .accdb
b. .accdt

80

c. .acczx
d. .mdb
e. .accde
(10 puncte)
3. Care din urmtoarele controale permite nchiderea bazei de date:
a. Ctrl+A
b. Ctrl+O;
c. Ctrl+P
d. Ctrl+W;
e. Ctrl+V
(10 puncte)

Un formular ofer o metod de a vizualiza i de a


introduce informaii ntro baz de date.
4. Completai:

(10 puncte)
5. Modul Design permite .i modificarea structurii tabelelor i interogrilor,
. de formulare n scopul editrii i afirii datelor i ..de rapoarte.
(10 puncte)
6. (O macrocomand v permite s economisii timp prin executia manuala(pas cu pas) unei serii
de aciuni ntr-o singur aciune.
Adevarat

Fals
(10 puncte)

7. O interogare este o metod de gsire a informaiilor dintr-o baz de date.


Adevarat

Fals
(10 puncte)

8.Aplicaie: Sa se lanseze in executie Access 2007. S se creeze o baz de date


necompletat.
vechi(.mdb).

Baza de date se va salva cu numele Gestiune 2011, intr-un format de fisier


(30 puncte)

U5.7. Rezumat
Microsoft Access este un instrument software folosit pentru nregistrarea,
stocarea i raportarea datelor. n aceast tem este prezentat programul Access,
caracteristicile i funciile sale generale, modurile de lucru i obiectele Access.
Caracteristic pentru SGBD-ul Microsoft Access este faptul c din punct
de vedere conceptual, mbin modelul relaional cu cel orientat pe obiecte, adic
organizeaz relaional datele i este orientat spre obiecte care au asociate
evenimente sau proprieti. SGBD Microsoft Access dispune de interfa cu
utilizatorul simpl, prin intermediul creia permite definirea structurii bazei de
date, realizarea interogrilor acesteia i crearea de formulare i rapoarte.
Pentru manipularea i actualizarea bazei de sistemul Access dispune de trei
tipuri de limbaje: QBE (Query By Example, SQL (Structured Query Language) i
VBA (Visual Basic for Application). Microsoft Access este totodat i un mediu de
programare care permite utilizatorului patru moduri de lucru: interfaa Access,
interfaa SQL, programe scrise n limbajul VBA, interfaa bazei de date cu ali
utilizatori, cu alte baze de date sau cu alte aplicaii Windows.
81

SGBD Access acord de asemenea asisten prin colecia de componente


numite Wizard-uri necesare utilizatorului la crearea de aplicaii pentru definirea
facil a diferitelor obiecte Access.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009, pag.4148

Rspunsuri i comentarii la testul de autoevaluare nr. 5


1. c; 2. abe; 3.d; 4-simpl; 5-crearea/dezvoltarea/formarea; 6-F; 7-A;

82

UNITATEA 6
TABELELE ACCESS 2007

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U6.1. Scopul i obiectivele unitii de nvare..

80

U6.2. Tabelele Access ; Crearea Tabelelor Access

81

U6.3. Crearea Tabelelor in Modul Proiectare Tabel (Design View).


U6.4. Crearea unui tabel pe baza unui ablon de tabel...
U6.5. Crearea unui tabel prin introducerea directa a datelor (Datasheet)
U6.6. Crearea unui tabel prin importul unui tabel dintr-o baz de date
U6.7. Crearea unui tabel utilizand liste SharePoint .

82
83
83
84
85

Bibliografie minimal

87

Rspunsuri i comentarii la testul de autoevaluare .. 87

U6.1. Scopul i obiectivele unitii de nvare


Tabelul este elementul central al unei baze de date fiind destinat stocrii
datelor cu privire la un anume subiect. Practic un tabel are dou componente:
structura i datele.
n aceast unitate vor fi prezentate etapele proiectrii unui tabel,
modalitatea de descriere a proprietilor tabelului i tipurile de date acceptate
pentru cmpurile acestuia. Cmpurile reprezint obiecte ale tabelului, avnd o
serie de propriet ice trebuiesc definite n etapa de proiectare a tabelului.
Dup parcurgerea acestei unitii vei ti:
Ce presupune etapa de proiectare a structurii unui tabel;
Care sunt i cum se descriu proprietile principale ale unui tabel
ACCESS;
Care sunt tipurile de date acceptate de Access pentru valorile
cmpurilor;
Creai o baz de date nou;
Creai un tabel;
S creai tabele utiliznd 4 moduri diferite.

83

U 6.2. Tabelele Access ; Crearea Tabelor Access


Proiectarea unei baze de date trebuie nceput ntotdeauna prin crearea
tabelelor sale, chiar nainte de a crea orice obiecte ale bazei de date.
nainte de a crea tabele, trebuie s examinai cu atenie cerinele i s
planificai structura bazei de date, pentru a descoperi ce este necesar pentru tabele
bazei de date.
Un tabel reprezint o colecie de date legate ntre ele, memorat pe linii i
coloane; fiecare linie conine o nregistrare (entitate complet de date referitoare la
un anumit tip de obiecte). La rndul ei, fiecare nregistrare este compus din
coloane sau cmpuri (un cmp reprezentnd cea mai mic entitate de date).
Baza de date poate conine mai multe tabele, fiecare cu informaii referitoare la un
anumit subiect. Fiecare tabel poate conine mai multe cmpuri.
Un cmp are anumite caracteristici definitorii. De exemplu, fiecare cmp
are un nume care l identific n mod unic n cadrul tabelului. Un cmp are, de
asemenea, un tip de date, care este ales pentru a se potrivi cu informaiile care se
stocheaz.
Tipul de date determin valorile care pot fi stocate i operaiunile care pot
fi efectuate, ct i spaiul alocat pentru fiecare valoare.
Fiecare cmp are un grup asociat de setri denumite proprieti, care
definesc caracteristicile de aspect sau comportament ale cmpului. De exemplu,
proprietatea Format definete aspectul su cnd va fi afiat.
Numele unui tabel poate conine spaii, dar nu poate depi 64 caractere
alfanumerice. Informaiile sunt stocate n tabel sub form bidimensional: pe linii
fiind informaii despre unitile subiectului, iar pe coloane atributele,
caracteristicile acestora.
Tabelul conine referiri la dou categorii de informaii: structur i date. A
crea un tabel nseamn deci a defini structura acestuia i al umple cu date.
O baz de date simpl, utilizeaz de obicei un singur tabel. Multe alte baze
de date utilizeaz ns mai multe tabele.
Exist mai multe posibiliti de CREARE a unui tabel de ctre utilizator:
Crearea unui tabel in modul Design, mod ce presupune definirea structurii
tabelului, a cmpurilor, a tipurilor de date, a proprietilor, a cheii primare
i umplerea cu date se face de utilizator;
Crearea unui tabel prin introducerea datelor;
Crearea unui tabel folosind un ablon(Table Templates);
Copierea unui tabel dintr-o alt baz de date;
Importarea datelor;
Ataarea unor tabele definite ntr-o alt baz de date Access;
Crearea unui tabel utilizand liste SharePoint
Avei posibilitatea s creai un tabel prin crearea unei baze de date, prin
inserarea unui tabel ntr-o baz de date existent sau prin importul unui tabel ori
legarea la un tabel dintr-o alt surs de date cum ar fi un registru de lucru
Microsoft Office Excel 2007, un document Microsoft Office Word 2007, un fiier
text sau o alt baz de date.
Cnd creai o baz de date nou necompletat, se insereaz automat un tabel
nou necompletat. Se pot introduce apoi date pentru a defini cmpurile.

84

U 6.3 Crearea Tabelelor in Modul Proiectare Tabel (Design View)


Majoritatea obiectelor Access sunt afisate in vederea Design , vedere care
permite utilizatorului lucrul cu structura de baz a tabelelor, interogrilor,
formularelor i rapoartelor. Pentru a crea un tabel nou n vederea Design, definii
cmpurile care vor alctui tabelul nainte de a introduce oricare alte date. n
vederea Design pentru tabele, fiecare rnd corespunde unui cmp. Un cmp se
insereaz prin adugarea unui rnd, n timp ce tergerea cmpurilor se realizeaz
prin tergerea unui rnd. Utilizatorul poate deasemenea modifica ordinea
cmpurilor prin tragerea selectorului de rnd ntr-o nou poziie.
Pentru crearea unui tabel n modul Design View (vizualizarea Proiectare),
trebuie s procedai astfel:
- n cadrul butonul rubric standard Pornire (Home), n grupul Tabele(Tables),
clic pe butonul Table Design (Proiectare tabel);(1)

Fig.6.1. Crearea tabelelor in Modul Proiectare

- n fereastra de proiectare a structurii, Table (Figura 6.2), se definesc:


numele cmpului, n coloana Field Name(Nume cmp)(2);
tipul de date, n coloana Data Type (Tip de date)(3);
opional, o descriere a cmpului respective, n coloana Description;
- n panoul de jos al ferestrei Table, n zona Field Properties, se introduc celelalte
proprieti ale cmpului(4).

85

Fig.6.2. Crearea tabelelor in Modul Proiectare

Observatie
Numele cmpului (Field Name) trebuie s respecte urmtoarele reguli:
poate s conin litere (majuscule sau minuscule), cifre i caractere speciale;
poate s conin maximum 64 de caractere;
este interzis utilizarea caracterelor: punct (.), semnul exclamrii (!), parantezele
drepte ([]);
numele cmpului nu poate s nceap cu un spaiu.
n formarea numelui cmpului se recomand:
s nu se utilizeze caracterul spaiu; pentru mbuntirea lizibilitii numelui
se poate nlocui spaiul cu caracterul de subliniere ( _ ) sau se pot utiliza litere
majuscule i minuscule n acelai nume;
reducerea lungimii numelui cmpurilor pentru a conserva resursele
sistemului i pentru a scuti utilizatorul de introduceri lungi atunci cnd se fac
referiri la numele cmpului.

U6.4 Crearea unui tabel pe baza unui ablon de tabel


Pentru a crea un tabel Persoane de contact, Activiti, Probleme,
Evenimente sau Active, se recomand s ncepei cu abloanele de tabel pentru
aceste subiecte, care sunt furnizate cu Office Access 2007. Procedai astfel:
1. Facei clic pe Office Button, apoi pe Open.
2. n fereastra de dialog Open, selectai i deschidei baza de date.
3. n butonul rubrica standard Create, n grupul Tables, facei clic pe Table
Templates (abloane tabel) din Figura 6.1, apoi selectai unul dintre abloanele
disponibile din list.
Se insereaz un tabel nou, bazat pe ablonul de tabel selectat.

U6.5 Crearea unui tabel prin introducerea directa a datelor


(Datasheet)
Access v permite s afiai mai multe dintre obiectele sale n multiple
moduri de vizualizare.
Modul Datasheet afieaz datele din tabelele,interogri,formulare i
rapoarte. Atunci cand creai un tabel n vederea Datasheet, introducei datele i
Access creeaz tabelul n timp ce tastai. Access determin tipul de date al fiecrui
cmp pe baza datelor pe care le introducei. Cnd terminai de introdus datele,
Access v va cere numele tabelului pe care tocmai l-ati creat.
Pentru a crea un tabel n vederea Datasheet, executai clic pe butonul
rubrica Create, apoi pe butonul Table(fig 6.1), dup care introduceti datele.
Pentru a modifica un nume de cmp executai dublu clic pe numele
acestuia, tastai noul nume i apoi apsai pe tasta enter.

Fig.6.3. Modul Datasheet

86

U6.6 Crearea unui tabel prin importul unui tabel dintr-o baz de
date
Putei crea noi tabele din alte baze de date Access prin importul i legarea
datelor. Cnd se import un tabel, se copiaz datele dintr-o baz de date Access i
se insereaz ntr-un nou tabel al bazei de date. De asemenea se pot importa date i
din alte programe. Dup ce se va selecta tabelul ce se dorete a fi importat n
decursul procesului de import, se poate opta pentru salvarea etapelor de import, n
vederea utilizrii lor viitoare.
Pentru a importa un tabel dintr-o baz de date trebuie parcurse urmtoarele
etape(fig 6.4):
1.Se va executa clic pe rubrica External Data(Date externe)
2.Executati clic pe butonul Import Access Database(import baz de date Access).
3.Executati clic pe Browse(navigare) localizati si selectati fisierul baz de date
care conine datele pe care dorii s le importati, dup care executati clic pe
Open(deschidere) .
4.
Executati
clic
pe
optiunea
import
tabelele,interogrile,
formularele,rapoartele,macrocomenzile i modulele n baza de date curent
(Import tables,Queris,Forms,reports,and modules into the current database)
5. Executati clic pe OK
6. Executati clic pe tabelele pe care dorii s le importai. Pentru a deselecta un
tabel, executati clic din nou pe acesta.
7. Executati clic pe OK
8. Pentru a salva etapele de import,selectati caseta de validare Save import
steps(salvarea etapelor de import), introduceti un nume si o descriere si apoi
executati clic pe Save Import(salvare import).
1
2

Fig6.4.a Crearea unui tabel prin importul unui tabel dintr-o baz de date

87

Fig6.4.b Crearea unui tabel prin importul unui tabel dintr-o baz de date

U6.7 Crearea unui tabel utilizand liste SharePoint


Pentru a crearea unui tabel utiliznd liste Share Point (fig 6.5) este necesar
accesul la un site Microsoft Office SharePointServices, de unde se poate importa o
list SharePoint ca tabel ntr-o baz de date Access2007.
Un site SharePoint este o aplicaie de server care utilizeaz abloane de
site-uri Web pentru a crea, a organiza i a partaja informaia.
Pentru a intra ntr-un site SharePointServices, este nevoie de drepturi de
access. Acestea putnd fi obinute prin alocarea unui nume de utilizator i o parol
de administrator e reea.
Liste
SharePoint

Fig.6.5. Liste Share Point


Accesand opiunea Existing SharePoint Lists(Liste Share Point) existente
se deschide panoul de comunicare cu utilizatorul solicitand acestuia o adres
valabil de site SharePoint.

88

Fig 6.6. Opiunea Existing SharePoint Lists

ACTIVITATE ASISTATA
1.Crearea unui tabel in Modul Design?
2. Creai un tabel utiliznd sabloanele Access?
3. Creai un tabel n vederea Datasheet View?
4. Creai un tabel prin importarea acestuia din alte baze de date?
ntrebri facultative
1. Defniti tabelul?
2. Precizati condiiile ce trebuie ndeplinite de numele unui tabel?
3. Enunai modurile n care se pot crea tabelele Access ?
4. Enunai pai de urmat n cazul crerii unui tabel n modul Design?
5. Enunai pai de urmat n cazul crerii unui tabel n modul Table Templates?
6. Ce conditie trebuie indeplinita pentru a putea crea un tabel cu ajutorul Listelor
Share Points?

Test de autoevaluare nr. 6


Un site SharePoint este o . care utilizeaz
abloane de site-uri Web pentru a crea, a organiza i a partaja informaia.
1. Completai:
Timp de lucru : 15 min
Punctaj 100p

(10 puncte)

Tipul de date determin . care pot fi stocate i operaiunile care pot fi


efectuate, ct i .l alocat pentru fiecare valoare.
2.
.

89

(10 puncte)
3. (Cnd

se import un tabel, se copiaz datele dintr-o baz de date Access i se


insereaz ntr-un nou tabel al bazei de date.
Adevarat

Fals
(10 puncte)

4. Numele unui tabel poate conine spaii, dar nu poate depi 100 caractere
alfanumerice
Adevarat

Fals
(10 puncte)

5.Creai un tabel in Modul Design?


(10 puncte)
6. Creai un tabel utiliznd sabloanele Access?
(10 puncte)
7. Creai un tabel n vederea Datasheet View?
(15 puncte)
8. Creai un tabel prin importarea acestuia din alte baze de date?
(15 puncte)

U6.8. Rezumat
Tabelul este elementul central al unei baze de date fiind destinat stocrii
datelor cu privire la un anume subiect. Practic un tabel are dou componente:
structura i datele.
n aceast tem vor fi prezentate etapele proiectrii unui tabel,
modalitatea de descriere a proprietilor tabelului i tipurile de date
acceptate pentru cmpurile acestuia. Cmpurile reprezint obiecte ale
tabelului, avnd o serie de propriet ice trebuiesc definite n etapa de
proiectare a tabelului. Microsoft Access conine abloane pentru bazele de
date uzuale ce pot fi utilizate sau prelucrate dup nevoie cu asistenii Wizard,
dar atunci cnd acestea sunt deosebite sau este nevoie de crearea unor noi
tabele ntr-o baz de date existent, Access posed instrumente care ajut la
crearea de tabele fr a apela la abloane. n aceast tem sunt prezentate
diverse modaliti de creare a unui tabel funcie de situaie i posibiliti.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009, pag.4148
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010, pag 33-48.

Rspunsuri i comentarii la testul de autoevaluare nr. 6


1. aplicatie de server; 2. valorile/spatiul; 3.A; 4-F;

90

UNITATEA 7
TIPURI DE DATE - ACCESS,
STABILIREA PROPRIET ILOR CMPURILOR

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U7.1. Scopul i obiectivele unitii de nvare..

88

U7.2. Tipuri de date utilizate de tabelele Access.

89

U7.3.
Proprietile
.

92

cmpurilor

U7.4. Definirea cheii primare i a indecilor...............................................


Bibliografie minimal

96
100

Rspunsuri i comentarii la testul de autoevaluare .. 100

U7.1. Scopul i obiectivele unitii de nvare


Access pune la dispoziie diferite tipuri de date formate de cmpuri care
definesc genul de date pe care le poate accepta cmpul care acoper o larg
varietate de date.
Putei modifica tipul de date al unui cmp chiar i dup ce ai introdus date
n aceasta. Dac tipul de date dintr-un cmp intr n conflict cu o nou setare a
tipului de date, putei pierde parial sau total datele din cmpul respectiv.
Dup ce ai selectat un tip de date, putei ncepe s lucrai cu proprietile
cmpului.
Dup parcurgerea acestei unitii vei ti:
S folosii tipurile de date
S stabilii cmpurile ce aparin unui tabel;
S tii modul de utilizare a cheilor primare;

91

U 7.2. Tipuri de date utilizate de tabelele Access


Access pune la dispoziie diferite tipuri de date - formate de cmpuri care
definesc genul de date pe care le poate accepta cmpul care acoper o larg
varietate de date. Cnd alegei un tip de date pentru un cmp, Access va accepta
numai datele introduse n formatul specificat de tipul de date. Selectarea tipului de
date adecvat faciliteaz utilizatorilor introducerea i regsirea informaiilor din
tabelele de date. De asemenea, este i o verificare mpotriva introducerii datelor
inadecvate. De exemplu, un cmp formatat astfel nct s accepte numai numere
elimin posibilitatea ca un utilizator s introduc n mod eronat texte n cmp.
Putei modifica tipul de date al unui cmp chiar i dup ce ai introdus date
n acesta. Totui, ar putea fi necesar s parcurgei un proces destul de lung de
conversie sau reintroducere a datelor cmpului, atunci cnd salvai tabelul. Dac
tipul de date dintr-un cmp este intr n conflict cu o nou setare a tipului de
date, putei pierde parial sau total datele din cmpul respectiv.
Dup ce ai selectat un tip de date, putei ncepe s lucrai cu proprietile
cmpului.
Utilizatorul are la dispoziie zece tipuri de date de baz , pentru unele
dintre ele fiind disponibile subtipuri de date, n funcie de necesiti; subtipurile se
configureaz n zona de jos a ferestrei (seciunea General).
Intr-un tabel, datele sunt organizate pe linii (records - nregistrri) i coloane
(fields - cmpuri) pentru a facilita citirea acestora. Intersecia unei linii cu o
coloan este practic locul unde se introduc efectiv datele. Toate datele de pe o
coloan se refer la aceeai caracteristic, atribut al entitilor tabelului i prin
urmare trebuie s fie de acelai tip.
Tipul unui cmp (coloan) este dat de tipul datelor ce se vor introduce n
acea coloan i se atribuie acestuia nc de la crearea structurii tabelului.
Un cmp al tabelului poate fi de unul din urmtoarele tipuri:
Text: - admite text sau combinatii de text si numere precum si numere ce nu
necesita calcule (de ex: nr de telefon) este limitat la un ir de maxim 255
caractere acceptnd i semnele de punctuaie; Un cmp de acest tip poate s
conin practic orice caracter.

Fig 7.1. Alegerea tipului de date TEXT

92

Memo: - este asemntor tipului text cu deosebirea c lungimea irului de


caractere este aproape nelimitat; Este un tip de date alfanumeric (poate
conine orice caracter), n lungime maxima de 65535 caractere.
Number: - admite date numerice folosite in calcule matematice. Permite
introducererea unui numr ntreg sau n virgul mobil admind 7 subtipuri:
Byte(Octet): - valori ntregi cuprinse ntre 0 i 255. Se folosete atunci
cnd spaiul de pe disk este limitat, astfel nct fiecare valoare ocup
un octet de memorie;
Integer(intreg): - numere ntregi cuprinse ntre 32768 i +32767.
Fiecare valoare ocup pe disk 2 octei;
Long Integer(intreg lung): - Numere ntregi cuprinse ntre
2147483648 i + 2147483647. Fiecare valoare introdus ocup pe disk
4 octei;
Single(simpla precizie): - Aproape toate numerele n virgul mobil
cu pn la 7 zecimale. Ocup 4 octei;
Double(dubla precizie): - Numere n virgul mobil cu pn la 15
zecimale. Ocup 8 octei i se folosete atunci cnd datele sunt
implicate n calcule ce solicit precizie;
Replication ID: - un numr special folosit pentru a identifica n mod
unic obiectele unei baze de date. Fiecare valoare ocup 16 bytes. Tip
de date GUID (Global unique identifier) Exemplu de valoare GUID:
{E0DC2C27-EDE8-412A-B1C4- AF69021A1365}
Decimal - se utilizeaz n calculul monetar, cu avantajul c elimin
erorile de rotunjire atunci cnd se lucreaz cu valori fracionare, putnd
reprezenta n mod precis pn la 28 de poziii zecimale. Ocup 12
bytes i precizie (proprietatea Precision) maxim de 28.

Fig 7.2. Subtipurile tipului de date Number

Date/Time: - admite valori ale datei si orei pentru anii 100 - 9999 . Un
calendar automat pentru alegererea datelor apare in apropierea unui nou camp
de date (NOU) Formatele de afiare se stabilesc n proprietatea Format.
Ocup 8 bytes. Permite introducerea datei si orei in unul din cele 7 subtipuri:
93

General Date: - stocheaz data i ora. Este o combinaie de Short


Date i Long Date i depinde de modul n care aceste sumtipuri au
fast definite n caseta de dialog Regional Setting Properties a
sistemului Windows;
Short Date: - este modul n care data calendaristic este definit n
Windows. (03/04/2004);
Long Date: - este modul n care data calendaristic este definit n
Windows. (Sunday, April, 2004);
Medium Date: 04-April-2004;
Long Time: - Asemntor formatului n care este definit ora n
Regional Settings Properties a sistemului Windows. (2:55:12 PM);
Medium Time: 2:55 PM;
Short Time: 14:55

Fig 7.3. Subtipurile tipului de date Date&Time

Fig 7.4. Subtipurile tipului Moned

Currency(Moneda): - Tip de date numeric, care opereaz cu maxim patru


zecimale i maxim 15 poziii n stnga punctului zecimal. Ocup 8 bytes.
Admite 7 subtipuri, fiecare valoare ocup 8 bytes:
General Number: - afieaz numerele n forma n care au fast
introduse;
Currency: - folosete virgula ca separator ntre ordinele de mrime
i afieaz cel puin dou zecimale;
Fixed: - afieaz cel puin o cifr a unitilor i un numr definit de
zecimale;
Standard: - folosete virgula ca separator al ordinelor de mrime
i cel puin dou zecimale;
Percent: - nmulete valoarea introdus cu 100 i adaug semnul
%;
Scientific: - folosete notaia tiinific pentru exprimarea
numerelor. 3.46E+3 pentru 346000.
Autonumber: - un numr ntreg care este incrementat n mod automat pe
msur ce sunt introduse noi nregistrri n tabel. Sunt admise toate cele 7
subtipuri ale datelor de tip numeric - Number; Campurile de tip
autonumerotare nu pot fi modificate!!! Ocup 4 bytes(daca se alege
proprietatea Long Integer) sau16 bytes(daca se alege ID Reproducere)

94

Yes/No: - admite date de tip logic pentru a stoca valori simple de tipul:
Adevarat/Fals=True/False,Activ/Inactiv=On/OFF, Da/Nu=Yes/No;
OLE Object: - admite un obiect precum o foaie de calcul tabelar Excel legata
sau inglobata intr-un tabel Access, admite obiecte din alte aplicatii a Office
Attachement- admite imagini digitale si orice tipuri de fisiere binare

Hiperlink: - o referin la un document extern, care, atunci cnd este


selectat deschide documentul respectiv n modul de afiare corespunztor.
Deasemenea furnizeaza acces cu un singur clic pe butonul mouse-ului la
pagini Web sau la fisiere. Se pot crea legaturi la Obiectele Access stocate intro baza e date

Look-ap wizard: O aplicatie expert care va ajuta sa creati un camp ale


carui valori sunt selectate din valorile dintr-un alt tabel,interogare, sau lista de
valori. Cmpuri ale cror valori vor fi completate automat prin selecia dintr-o
list simpl de valori (List Box) sau dintr-o list derulant de valori (Combo
Box).

U 7.3 Proprietile cmpurilor


O proprietate de cmp este un atribut care definete aspectul sau
comportarea cmpului n baza de date. Numrul de cifre dup virgul afiate ntrun cmp numeric este un exemplu de proprietate care definete aspectul cmpului.
O proprietate care foreaz utilizatorul s introduc date ntr-un cmp, n loc s-l
lase necompletat, controleaz comportarea cmpului respectiv.
Pentru cmpul Date/Time (dat/or), un buton calendar (Nou!) apare
automat n apropierea cmpului, pentru a facilita gsirea i alegerea unei date. n
vederea Design pentru tabele, Access pune la dispoziie o list a proprietilor
cmpului, numit lista proprietilor, pentru fiecare tip de date.

95

Fig 7.4. Caseta de Proprieti General pentru tipurile de date Text si Number

Proprieti din categoria General:

Field Size(Dimensiune cmp) stabilete dimensiunea maxim admis


pentru tipurile de date Number, AutoNumber, Text;

Decimal places stabilete numrul de zecimale utilizat pentru afiarea


unui numr; valorile posibile sunt Auto (numrul este afiat cu attea
zecimale cu ct a fost calculat; nu sunt afiate mai mult de 15 zecimale) sau
un numr ntre 0 i 15.

Format stabilete formatul de afiare a unui cmp; aceste formate se


pot defini de utilizator cu ajutorul unor secvene speciale sau, pentru unele
tipuri de date, exist deja predefinite formate uzuale. Formatul dorit se
selecteaz din lista oferit n urma activrii butonului de control. Pentru
datele de tip numeric, de exemplu, se poate opta ntre urmtoarele formate de
afiare: General Number, Currency, Euro, Fixed, Standard,Percent,
Scientific;
Pe lng aceste formate predefinite se mai pot utiliza anumite combinaii
speciale de caractere. Caracterele ce se pot utiliza ntr-un format de afiare al unui
cmp numeric sunt prezentate n tabelul 7.5..

96

Tabel 7.5. Caracterele ce se pot utiliza ntr-un format de afiare al unui cmp numeric

Pentru cmpurile numerice formatul de afiare se mparte n patru zone


separate prin caracterul ; :
prima zon se refer la modul de afiare al numerelor pozitive;
a doua zon se refer la modul de afiare al numerelor negative;
a treia zon se refer la modul de afiare al numrului zero;
a patra zon se refer la modul de afiare al valorii Null.
Caption stabilete un ir de caractere care va fi afiat n titlul unei coloane,
n momentul introducerii datelor; dac aceast proprietate nu are nici o valoare,
irul afiat n titlul unei coloane este chiar numele cmpului; valoarea acestei
proprieti nu are nici o influen asupra numelui cmpului n utilizarea sa n
interogri.
Exemplu: dac numele unui cmp este DenCl, i n proprietatea Caption se scrie
Denumire Client.
Default Value stabilete o valoare implicit care este propus n momentul
n care se introduc date ntr-un tabel; se recomand n cazul n care exist o
valoare preponderent a coninutului unui cmp; n cazul n care utilizatorul nu
introduce o alt valoare n cmpul respectiv, valoarea din aceast proprietate va
fi memorat n coninutul acestuia.
Exemplu: pentru un cmp care memoreaz valoarea TVA, innd cont c pentru
majoritatea produselor aceasta este 24%, pentru a uura munca de culegere date,
este recomandat ca n proprietatea Default Value s se stabileasc aceast
valoare. La introducerea datelor, dac un produs are aceast cot, atunci valoarea
sa nu se mai tasteaz.
Input Mask stabilete un format (masc, ablon) de introducere a datelor
pentru un anumit cmp. La fel ca n cazul proprietii Format, exist o serie de
caractere prin care se stabilete acest format de introducere a datelor;
In cazul n care se utilizeaz ambele proprieti, proprietatea Format are
prioritate fa de proprietatea Input Mask.
Proprietatea Input Mask pune la dispoziia utilizatorului cteva mti
predefinite dar i posibilitatea definirii unor mti personalizate. Mtile
personalizate se definesc sub forma a trei zone separate prin caracterul punct i
virgul (;):

97

prima zon se utilizeaz pentru definirea propriu-zis a formatului de


introducere;
a doua zon, se utilizeaz pentru a specifica dac se memoreaz i caracterele
care fac parte din ablonul de introducere sau nu; valoarea zero stabilete c se
memoreaz inclusiv caracterele din definiia ablonului, iar valoarea unu inhib
aceast posibilitate:
a treia zon se utilizeaz pentru a specifica un caracter, care este afiat ntr-o
poziie din ablon.
Caractere ce se pot utiliza pentru definirea unui ablon de introducere a
datelor sunt prezentate n tabelul 7.6..

Tabel 7.6. Caractere ce se pot utiliza pentru definirea unui ablon de introducere a datelor

Validation Rule(regula de validare ) definete o regul de validare pentru un


cmp, practic o expresie ce urmeaz a se testa pentru coninutul introdus
ntr-un cmp. Regulile de validare se testeaz dup introducerea unei valori
ntr-un cmp sau n momentul n care se ncearc salvarea unei nregistrri (n
momentul n care se ncearc introducerea unei nregistrri noi, la trecerea la o
nregistrare la alta, sau la salvarea explicit a acesteia) pentru cmpurile
nevizitate de utilizator. Dac o regul de validare a unui cmp nu se verific,
nregistrarea nu se poate salva dect dac se corecteaz coninutul cmpului n
aa fel nct s se verifice regula de validare stabilita.
Numele cmpurilor dintr-o expresie Validation Rule trebuie scris ntre
caracterele [ ]. O expresie Validation Rule la nivel de cmp nu poate referi alte
cmpuri, dect cel curent.

98

Validation Text(text de validare) definete un mesaj de atenionare care va


fi afiat n momentul n care regula de validare definit n proprietatea
Validation Rule este nclcat.
Required (obligatoriu) poate lua valoarea Yes sau No, corespunztoare
valorilor logice adevrat (True) sau fals (False) i stabilete dac valoarea unui
cmp este obligatoriu de introdus (Yes) sau nu (No). Pentru cmpurile de tip
Text, Memo, Hyperlink este bine s se utilizeze aceast proprietate n strns
legtur cu proprietatea Allow Zero Length.
Allow Zero Length (se permite lungime zero) stabilete dac este permis
introducerea unui ir de lungime zero (Yes) sau nu (No) ntr-un cmp de tip
Text, Memo sau Hyperlink. Variantele de memorare n condiiile utilizrii
proprietilor Required i Allow Zero Length sunt prezentate n tabelul urmator.
Indexed stabilete un cmp drept index. Valori posibile:
No - neindexat
Yes (Duplicates OK) sunt permise valori duplicate pe cmpul index;
Yes (No Duplicates) index; nu sunt permise valori duplicate pe acest cmp.

Unicode Compression(Comprimare Unicode) Compresia textului stocat in


acest camp atunci cand se stocheaza un volum mare de date(>4096 caractere)
Smart Tags (Etichete inteliente)- va permit sa integrati actiuni executate de
obicei in alte programe direct in Access.

99

De exemplu: puteti adauga numele si adresa unei persoane dintr-o baza de


date pe lista contactelor din Microsoft Outlook sau sa copiati si sa lipiti informatii
cu control adaugat.
Append Only (Numai Adaugare) Permite versiunilor (prin setarea YES) a
unui camp memo.
Text align(aliniere text) Specificarea alinieri implicite a textului intr-un
control
Precision(precizie) Specificarea numarului total de cifre permis , inclusiv
cele aflate la dreapta si la stanga punctului zecimal.
Scale(Scara) Specificarea numarului maxim de cifre care pot fi stocate la
dreapta separatorului zecimal.

U 7.4 Definirea cheii primare i a indecilor


Orice tabel trebuie s posede o cheie primar (Primary Key), adic un
cmp sau un grup de cmpuri care identific n mod unic fiecare nregistrare.
Dac utilizatorul nu stabilete o cheie primar, Access stabilete una n mod
implicit crend un cmp de tip AutoNumber care va conine un numr unic pentru
fiecare nregistrare.
Dei Access creeaz n mod implicit o cheie primar, urmtoarele raiuni
recomand utilizatorului s defineasc o cheie primar:
cheia primar este un index.
indecii realizeaz o clasificare a datelor dup unul sau mai multe cmpuri ceea
ce are drept consecin creterea vitezei de realizare a interogrilor.
la fiecare adugare a unei noi nregistrri, Access nu autorizeaz nregistrri
duble pentru cmpul cheie primar.
Microsoft Access afieaz datele n ordinea cheii primare.
Cheia primar a unui tabel se poate defini astfel:
dac este vorba de o cheie format dintr-un singur cmp, se poziioneaz
cursorul n cmpul respectiv, se acioneaz click dreapta i se alge
opiunea Primary Key;
pentru chei primare formate din mai multe cmpuri, se selecteaz
cmpurile din bordura (campul de selectie) ferestrei de proiectare i se
acioneaz butonul menionat anterior.

Tabel 7.7. Definirea cheii primare

100

Observatie!
O cheie extern nu se definete explicit n Access sub noiunea de cheie extern,
ea fiind stabilit prin definirea relaiilor dintre tabele. Pentru creterea
performanelor se recomand definirea de indeci pentru fiecare cheie extern.
n afar de indeci pe un singur cmp se pot defini i indeci multipli,
care funcioneaz pe mai multe cmpuri simultan. Acetia se pot
defini/modifica numai n fereastra Indexes.
Proprietile din fereastra Indexes:
Primary valoarea Yes indic faptul c indexul este cheie primar;
Unique valoarea Yes indic faptul c indexul va avea valori unice, nefiind
permise duplicatele; pentru o cheie primar, aceast proprietate are obligatoriu
valoarea Yes.
Ignore Nulls - valoarea Yes indic faptul c sunt permise valorile Null ntr-un
index; pentru o cheie primar, aceast proprietate are obligatoriu valoarea No.

Tabel 7.8. Definirea indecsilor

ACTIVITATE ASISTATA:
S se creeze tabela Furnizori care are urmtoarea structur:
Cod furnizor (cheia primar)
Number
denumire
Text
data infiintarii
Date/Time
adresa
Memo
banca
Text
Proprietile cmpurilor tabelei Funizori:
Cmp Field name Proprieti
Valori
Field Size
Integer
Default Value
100
Cod
Validation Rule
[Cod furnizor]>=100 and [Cod
furnizor]<=200
Validation Text
Trebuie sa tastazi intre 100 si
200
Indexed
Yes(No Duplicates)
101

Denumire
Data nfiinrii

Field Size
Caption
Default Value
Validation Rule
Validation Text

25
Denumirea furnizorului
20 Aprilie 2011
<=Date()
Ai depasit data curenta

ntrebri facultative
1. Ce nelegei prin tip da dat?
2. Enunai caracteristicile tipului de dat - TEXT?
3. Precizai care sunt deosebirile ntre tipurile de date Text i Memo ?
4. Enunai caracteristicile subtipurilor tipului de date Numr?
5. Enunai caracteristicile subtipurilor tipului de date Moned?
6. Enunai caracteristicile tipurilor de date OLEObject,Hyperlink, Attachment?
7. Precizai rolul proprietilor Caption i Default Value?
8.Analizai legtura ntre proprieile Validation Rule i Validation Text?
9.Definii cheia principal?
10. Care sunt raiunile pentru care utilizatorul trebuie s defineasc cheia
principal?

Test de autoevaluare nr. 7

Timp de lucru : 15 min


Punctaj 100p

1.Tipul de date Text permite introducere ntr-un cmp:


1. Numai a caracterelor alfabetice si semnelor de punctuaie ;
2. Numai a caracterelor numerice;
3. Doar a caracterelor alfanumerice exclusiv;
4. A oricarui tip de caracter;
5. Nici un raspuns nu este corect;
Alegei varianta corect
a. 1.2
b.1
c. 3
d. 4
e. 5
2.

(10puncte)

Proprietile din fereastra Indexes pot lua urmtoarele valori . Identificatile:


a. Primary
b. Secundary
c. Unique
d. Multiple
e. Ignore Nulls
(10puncte)

Decimal places stabilete numrul de .. utilizat pentru


afiarea unui numr;.
3.

(10 puncte)

Hiperlink: - este o la un document extern, care, atunci cnd este


selectat deschide respectiv n modul de afiare corespunztor..
4.

102

(10 puncte)
5. (Validation

Text lanseaz n excutie o rutin n momentul n care regula de


validare definit n proprietatea Validation Rule este nclcat..
Adevarat

Fals
(5puncte)

6.Validation Rule(regula de validare ) definete o regul de validare pentru un


cmp, practic o expresie ce urmeaz a se testa pentru coninutul introdus ntr-un
cmp.
Adevarat

Fals
(5puncte)

7.Numele cmpurilor dintr-o expresie Validation Rule trebuie scris ntre


caracterele [ ].
Adevarat

Fals

(5puncte)

8. Procent: nmulete valoarea introdus cu 50 i adaug semnul %


Adevarat

Fals
(5puncte)

9. S se creeze tabela Facturi, tabela ce are are urmtoarea structur:


Nr_factura (cheia primar)
Number
Datafact
Date
Val_factura
Number
Cod_furnizor
Number
Proprietile cmpurilor tabelei Facturi
Cmp Field name Proprieti
Valori
Field Size
Integer
Nr_factura
Caption
Numar factura
Default Value
5000
Validation Rule
[Nrfactura]>=5000
and
[Nrfactura]<=5500
Validation Text
Trebuie sa tastazi intre 5000 si
5500
Indexed
Yes(No Duplicates)
Datafact
Format
General Date
Caption
Data facturi
Default Value
=Date()
Validation Rule
<=Date()
Validation Text
Ai depasit data curenta
Val_factura
Field Size
Long Integer
Format
Currency
Default Value
0
Validation Rule
>0
Validation Text
Ai introdus o valoarea negativa
Field size
Integer
Cod_furnizor
Default Value
100
Validation Rule
[Cod_furnizor]>=100
and
[Cod_furnizor]<=200
Validation Text
Trebuie sa tastazi intre 100 si
200
103

(30 puncte

U7.5. Rezumat
Access pune la dispoziie diferite tipuri de date - formate de cmpuri care
definesc genul de date pe care le poate accepta cmpul care acoper o larg
varietate de date. Cnd alegei un tip de date pentru un cmp, Access va accepta
numai datele introduse n formatul specificat de tipul de date. Selectarea tipului de
date adecvat faciliteaz utilizatorilor introducerea i regsirea informaiilor din
tabelele de date.
O proprietate de cmp este un atribut care definete aspectul sau
comportarea cmpului n baza de date. Numrul de cifre dup virgul afiate ntrun cmp numeric este un exemplu de proprietate care definete aspectul cmpului.
O proprietate care foreaz utilizatorul s introduc date ntr-un cmp, n loc s-l
lase necompletat, controleaz comportarea cmpului respectiv.
Orice tabel trebuie s posede o cheie primar (Primary Key), adic un
cmp sau un grup de cmpuri care identific n mod unic fiecare nregistrare.
Dac utilizatorul nu stabilete o cheie primar, Access stabilete una n mod
implicit crend un cmp de tip AutoNumber care va conine un numr unic pentru
fiecare nregistrare.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009, pag.5966
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010, pag 35-45.

Rspunsuri i comentarii la testul de autoevaluare nr. 7


1. d; 2. ace; 3.-zecimale; 4-referint/documentul;5-F;6-A;7-A;8-F;

104

105

UNITATEA 8
OPERA II CU STRUCTURA I NREGISTRRILE
UNUI TABEL

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U8.1. Scopul i obiectivele unitii de nvare..

101

U8.2. Modificarea structurii unui tabel..

102

U8.3. Operaii asupra nregistrrilor dintr-o tabel...............................

103

U8.4. Definirea relaiilor ntre tabelele Access

108

Bibliografie minimal

116

Rspunsuri i comentarii la testul de autoevaluare .. 116

U8.1. Scopul i obiectivele unitii de nvare


Odat creat un tabel acesta permite o serie de operaii asupra structurii i
coninutului su astfel nct, dac se impune, pot fi adugate sau terse coloane,
pot fi adugate sau terse nregistrri, modificate sau tiprite. n aceast tem v
sunt prezentate aceste operaii asupra tabelului, dar i modalitile de deschidere a
lui, modalitile de indexare a tabelelor, salvare sau tergere a acestora.
Dup parcurgerea acestei teme vei ti:
Cum se modific structura unui tabel;
Care sunt modurile de afiare a unui tabel.
Cum se adug nregistrri ntr-un tabel;
Cum se mut, se editeaz sau se tipresc nregistrrile unui
tabel;
S realizai operaia de indexare a tabelelor;
S creai un index simplu;
S creai un index compus;
S renunai la indexi.
S identificai tipurile de relaii ce se pot stabili ntre tabele;
S nelegei i s asigurai integritatea referenial a
cmpurilor;
S parcurgei etapele de definire a unei relaii ntre dou tabele;
106

U 8.2. Modificarea structurii unui tabel


nainte de modificarea structurii unui tabel, se deschide baza de date ce
conine tabelul, se selecteaz tabelul respectiv i se deschide n modul de lucru
Design.
Modul de afiare Design mod utilizat pentru definirea sau modificarea
structurii tabelului,
se activeaz apsnd n vederea Datasheet butonul
View(Vizualizare), dup care selectnd Vizualizare proiect(Design)(Fig. 8.1.)

Fig.8.1. Deschiderea Vederi Design

Dup selecia modului Design, n mod automat se va deschide vederea


Design, vedere ce permite modificarea numelui cmpurilor, a tipului de dat, a
proprietilor cmpurilor ct si stabilirea campurilor cheie principal.

Fig.8.2. Vederea Design Creare Tabel

8.2.1. tergerea unui cmp din structura tabelului.


Se selecteaz cmpul ce se va terge executnd click pe selectorul de rnd,
apoi din meniul Edit (ce se deschide n mod automat) se alege Delete rows
(Stergere randuri) sau se apas tasta Delete.

107

Delete rows
(Stergere
randuri)

Fig.8.3. tergerea rndurilor tabelului

8.2.2. Inserarea unui cmp n structura tabelului.


Se execut click pe selectorul de rnd unde se va aduga noul cmp, se
execut clic dreapta acolo unde se dorete inserarea rndului, n mod automat se
ve deschide meniul Edit iar din interiorul acestuia se va selecta Insert
rows(Inserare randuri).

Insert rows
(Inserare
randuri)

Fig.8.4. Inserarea rndurilor n tabel

U 8.3. Operaii asupra nregistrrilor dintr-o tabel


ntr-o tabel Access se pot realiza urmtoarele operaii:
1. Adugarea nregistrrilor;
2. tergerea de nregistrri;
3. Cutarea de nregistrri;
4. Modificarea nregistrrilor;
5. Inghetarea afisarii datelor
Pentru a efectua aceste operaii este necesar ca tabela s fie deschis n
modul DataSheet View.

108

1. Adugarea nregistrrilor
Dac tabela este deschis imediat dup creare, Access va afia o foaie de
date vid, iar pointerul de nregistrare va fi plasat pe prima i unica linie, pe
butonul ei de selecie Figura 8.5.

Fig. 8.5. Adugarea nregistrrilor 1

Pentru a introduce date se plaseaz pur i simplu cursorul pe cmp i se


introduce o valoare.
In timp ce se efectueaz aceast operaie, pointerul de nregistrare se
transform ntr-un creion
, ilustrnd faptul c se editeaz o nregistrare.
O nou linie vid apare dedesubtul primei linii. n locul pointerului de
nregistrare figureaz un asterisc

indicnd o nou nregistrare.

Fig. 8.6. Adugarea nregistrrilor 2

Daca se doreste adaugarea unei noi inregistrari intr-o tabel se va executa


clic dreapta pe randul unde se doreste inserarea acesteia si din meniul ce se
deschide se va selecta comanda Intregistrare nou.

109

Fig. 8.7. Adugarea unei inregistrari noi intr-o tabela existent

Pentru adaugarea de coloane pot fi alese doua cai de lucru:


In modul Vizualizare proiect (Design View) se mai adug o coloan la cele
stabilite initial.
In modul Datasheet View (Vizualizare date), n butonul rubric contextual
Table Tools (instrumente tabel), sa va alege comanda Inserare
nregistrare
nou(New
record)

Inserare
coloan
Fig. 8.8. Adugarea unei coloane ntr-o tabel existent n modul Datasheet

View

2. tergerea de nregistrri
Pentru a terge una sau mai multe nregistrri se selecteaz nregistrarea
sau nregistrrile i se acioneaz tasta Delete sau se executa click dreapta si din
meniul ce se deschide se selecteaza stergere inregistrare

Fig. 8.9.Stergereaa unei coloane ntr-o tabel n modul Datasheet

View

3. Cutarea unei nregistrri


Pentru cutarea direct se selecteaz cmpul n care se face cutarea i se
utilizeaz grupul Gasire butonul Gasire (Fiind) din butonul rubrica standard
Home(Pornire)
110

Cutarea se poate realiza n ntreaga tabel, ncepnd cu nregistrarea curent


pn la sfritul tabelei (Down), de la nregistrarea curent spre prima
nregistrare sau de la ultima nregistrare spre nceputul tabelei (Up), opiuni care
se pot preciza n zona Search.
Din lista derulant Match (potrivire) se poate selecta:
Whole Field (ntregul cmp);
Start of Field (nceputul cmpului);
Any Part of Field (orice parte a cmpului).

Fig. 8.10. Cutarea

unei nregistrri

4.Modificarea nregistrrilor

111

Pentru nlocuirea automat a valorilor dintr-un cmp din mai multe nregistrri
se utilizeaz caseta de dialog Replace(nlocuire) din butonul rubrica standard
Home(Pornire).

Fig. 8.11. Modificarea

unei nregistrri

Activarea acestei comenzi va nlocui valorile din cmpurile care se potrivesc


cu valorile introduse n caseta de text Find What.
nlocuirea se face cu valorile specificate n caseta de text Replace With.
nlocuirea se poate face selectiv prin cutarea fiecrei valori de nlocuit i
confirmarea nlocuirii (butoanele Field Next i Replace) sau pentru toate
nregistrrile care corespund criteriul de nlocuire (butonul Replace All).
5. nghearea afirii cmpurilor
Dac o tabel conine prea multe cmpuri, ele nu pot fi afiate toate n
modul Datasheet View. Pentru a vizualiza toate cmpurile se folosete bara de
derulare orizontal sau nghearea afirii cmpurilor.
Pentru nghearea afirii cmpurilor executm operaiile:
se deschide tabela n modul Datasheet View;
se selecteaz coloana sau coloanele a cror afiare se va nghea executnd click
pe butoanele antetelor acestor coloane;
se executa click dreapta si din meniul ce se deschide se va selecta optiunea:
Freeze Columns (nghearea coloanelor).

112

Pentru dezghearea coloanelor ngheate se alege comanda >


Unfreeze All Columns.

Fig. 8.12 nghearea afirii cmpurilor

U 8.4 Definirea relaiilor ntre tabele Access


Dup ce ai creat un tabel pentru fiecare subiect din baza de date, trebuie
s furnizai programului Office Access 2007 mijloacele de a corela informaiile
atunci cnd este necesar. Avei posibilitatea s facei acest lucru plasnd cmpuri
comune n tabelele asociate i definind relaii de tabel ntre aceste tabele.
Pentru a avea acces simultan la datele din mai multe tabele ale aceleiai
baze de date este necesar s se defineasc relaiile standard dintre aceste tabele.
Relaiile ntre tabele se definesc pe baza valorilor unui cmp dintr-o
tabel utilizat drept cheie primar i valorilor aceluiai cmp dintr-o alt tabel,
unde este utilizat drept cheie extern.
Cnd creai o relaie ntre tabele, cmpurile comune nu trebuie s aib
neaprat acelai nume, dei acest lucru se ntmpl deseori. Cmpurile trebuie
mai degrab s aib acelai tip de date. EX:n cazul cmpului de tip Number
proprietatea Field Size a celor dou cmpuri trebuie s fie identic.
113

Exceptiile de la aceast regula sunt : In cazul n care cmpul cheie primar


este un cmp de tip AutoNumber (AutoNumerotare), cmpul cheie extern poate
fi i un cmp Number (Numr), n cazul n care proprietatea Field Size
(Dimensiune cmp) a ambelor cmpuri este aceeai. De exemplu, se poate potrivi
un cmp AutoNumber cu un cmp Number dac proprietatea Field Size a ambelor
cmpuri este Long Integer (ntreg Lung).
In cadrul unei BD nu este obligatoriu ca ntre toate tabelele s existe relaii.
Clasificarea Relaiilor ntre Tabele Access:
1.Din punct de vedere al momentului crerii acestora, exist dou tipuri de
relaii ntre tabelele unei BD Access:
relaii permanente, ce se stabilesc dup definirea tabelelor i fac parte din
structura bazei de date;
relaii temporare, ce se stabilesc ntre tabele cu ocazia definirii unor
comenzi de interogare i nu sunt nregistrate n structura bazei de date.
2. Din punctul de vedere al legturi ce se poate realiza ntre tabele, relaiile care se
pot stabili sunt:
a. unu la unu (one to one);
b. unu la mai muli (one to many);
c. mai multi la unu (many to one);
d. mai muli la mai muli (many to many).
a. Relaia 1 1 (one-to-one sau unu la unu) este cea mai simpl relaie ntre
dou tabele. n aceast relaie, unei valori a cmpului cheie principal dintr-o
tabel i corespunde o singur valoare din cmpul folosit drept cheie extern din
cealalt tabel. Altfel spus, unei nregistrri din tabela aflat n partea stng a
relaiei i corespunde o singur nregistrare din tabela aflat n partea dreapt a
relaiei. Tabelele aflate ntr-o relaie one-to-one se pot combina ntr-o singur
tabel, n care apar toate cmpurile celor dou tabele. Relaiile de acest tip nu sunt
uzuale.

Fig. 8.13 Relaia one to one

b. Relaia 1 n (one-to-many sau unul la mai muli) constituie tipul cel mai
rspndit de relaii. Conform acestei relaii unei nregistrri din tabela aflat n
partea stng a relaiei i corespund dou sau mai multe nregistrri din tabela
aflat n partea dreapt a relaiei. Asocierea se bazeaz pe un cmp cheie
principal unic ntr-o tabel i un cmp cheie extern din cealalt tabel care
admite valori duplicate.

114

Fig. 8.14 Relaia one to many

c. Relaia n1 (many-to-one sau mai muli la unul) este opus relaiei 1n.
Pentru a crea relaia many-to-one este suficient s se inverseze relaia one-tomany. De aceea, se spune c relaia many-to-one este reflexiv, adic relaia
many-to-one este reflexia relaiei corespondente one-to-many. Dac se selecteaz
o nregistrare din tabela din partea many a relaiei se poate afla nregistrarea care
corespunde cheii sale externe din tabela din partea one a relaiei. Relaiile n 1 nu
sunt bazate pe cmpuri cheie primar din nici una dintre cele dou tabele.

Fig. 8.15 Relaia many to one

d.Relaia mn (many-to-many sau muli la mai muli) nu poate fi


exprimat ca o simpl relaie ntre dou tabele. Relaia many-to-many se poate
exprima prin intermediul unei a treia tabele care are relaii one-to-many i manyto-one cu cele dou tabele.

Fig. 8.16 Relaia many-to-many


Observaii
Pentru a crea o relaie unu-la-unu, ambele cmpuri comune (de obicei
cheia primar i cheia extern) trebuie s aib un index unic. Acest lucru
nseamn c proprietatea Indexed (Indexat) pentru aceste cmpuri trebuie
s fie setat la Yes (No Duplicates).
Pentru a crea o relaie unu-la-mai-muli, cmpul de pe partea "unu" a
relaiei (de obicei cheia primar) trebuie s aib index unic. Acest lucru
nseamn c proprietatea Indexed pentru acest cmp trebuie setat la Yes
(No Duplicates). Cmpul din partea "mai muli" nu trebuie s aib index
unic. Poate avea index, dar trebuie s permit dubluri. Acest lucru
nseamn c proprietatea Indexed pentru acest cmp trebuie s fie setat la
No sau la Yes (Duplicates OK).
Pentru definirea relaiilor cu ajutorul Access 2007 se parcurg urmtoarele
etape:

115

Etapa 1: Se execut click pe butonul rubrica standard Instrumente baza de


date(DatabaseTools) i din meniul afiat se selecteaz opiunea
Relations(Relaii)

Relatii
Fig. 8.17 nghearea afirii cmpurilor

Dac este prima deschidere a ferestrei Relationships a bazei


de date se va afia i fereastra Show Table care va permite
stabilirea de noi relaii (sau modificarea relaiilor existente) ntre
tabele.

Fig. 8.18 Fereastra Show Table(Afisare Tabel)

Fereastra de dialog Show Table afieaz toate tabelele i interogrile din


baza de date. Pentru a vedea numai tabele, facei clic pe Tables (Tabele).
Pentru a vedea numai interogri, facei clic pe Queries (Interogri). Pentru a
le vedea pe amndou, facei clic pe Both (Ambele).

116

Etapa 2: Pentru a aduga un tabel n fereastra Relationships se execut click


pe numele unui tabel din fereastra Show Tables, iar apoi un click pe butonul Add.
Se reia operaia pn la introducerea tuturor tabelelor n fereastra Relationships.
n final se apas butonul Close pentru a nchide fereastra Show Tables

Fig. 8.19 Fereastra Relaii

Etapa 3: Pentru a stabili o relaie ntre dou tabele prin intermediul unui cmp,
nu neaprat comun, dar de acelai tip, se d click pe cmpul respectiv din
primul tabel i se arunc peste cmpul corespunztor din tabelul secundar
(drag and drop cu ajutorul mouse-ului).
Dup aceast aciune apare pe ecran fereastra de editare a relaiei.
nainte de definirea unei relaii ntre dou tabele este indicat indexarea
dup o cheie unic a cmpului master (cel din tabelul principal) i indexarea dar
nu neaprat dup cheie unic a cmpului slave (cel din tabelul secundar).
In urma executari operatiei drag and drop (trage si arunca) se va deschide in
mod automat fereastra Editare relatii(edit relatioships).
n situaia n care operaia drag and drop pentru definirea relaiei nu s-a
realizat corect exist posibilitatea restabilirii relaiei dintre dou cmpuri prin
modificarea numelui cmpurilor nscrise n listele Table/Query i Related
Table/Query.

Fig. 8.20 Fereastra Editare relatii(edit

relatioships).
Opiunile din fereastra Edit Relationships au urmtoarea
semnificaie:
Enforce Referential Integrity definete o restricie de
integritate referenial. Nu se permite actualizarea valorii unei
117

chei externe, dac aceast valoare nu exist deja n tabelul unde


aceasta este cheie primar.
Cascade Update Related Fields actualizarea valorii
unei chei primare dintr-un tabel se propag i n nregistrrile din
tabelele unde aceasta este cheie extern.
Cascade Delete Related Fields tergerea valorii unei
chei primare, are ca efect i tergerea nregistrrilor din tabelele
unde aceasta este cheie extern.

Bifarea casetei de validare Enforce Referenial


Integrity are ca efect activarea i aplicarea integritii
refereniale la nivelul cmpurilor alese.
Integritatea referenial este un sistem de reguli Microsoft Access folosit pentru
asigurarea relaionrii cmpurilor valide, care nu permite tergerea sau
modificarea accidental a datelor relaionate.
Integritatea referenial poate fi activat atunci cnd sunt cunoscute i
respectate urmtoarele reguli:
1.Cmpul relaionat din tabelul principal (master) este o cheie
primar sau are un index unic;
2.Cmpurile relaionale conin acelai tip de date. Sunt totui admise ca
excepii urmtoarele situaii: un cmp de tip Autonumber poate fi relaionat cu un
cmp de tip Number dac acesta conine valori de tip Long Integer; un cmp de
tip Autonumber care conine date de tip Replication ID poate fi relaionat cu un
cmp de tip Number dac acesta conine date de acelai tip, Replication ID.
3. Ambele tabele aparin aceleiai baze de date.
n caseta Relationship Type sunt prezentate tipurile de legturi care pot
exista ntre dou tabele:
One to One -1-1;
One to Many 1n
Dac n aceast caset este afiat mesajul Indeterminate, nseamn c
tipul de relaie nu poate fi definit, cea mai probabil eroare fiind
incompatibilitatea ntre tipul de date al cheii primare i cel al cheii externe, sau
inexistena unei chei primare n relaia respectiv.

118

Etapa 4: Pentru precizarea tipului de relaie care va fi realizat


se acioneaz butonul Join Type(Tip asociere).
Pe ecran apare caseta de dialog care va permite specificarea
prin bif a uneia din cele trei tipuri de relaii admise:
Only include rows where the joined fields from both tables are
equal stabilete o relaie de tip unu la unu ntre cmpurile celor dou tabele;
Include All records from tblsecundar and only
those records from tblprincipal where the joined fields
are equal stabilete o relaie de tipul mai muli la unu ntre
cmpurile celor dou tabele;
Include All records from tblprincipal and only
those records from tblsecundar where the joined fields
are equal stabilete o relaie de tipul unu la mai muli ntre
cmpurile celor dou tabele;

Fig. 8.21 Fereastra Join Type

Dup selectarea relaiei dorite se apas butonul OK. i apoi se apas


butonul Create din fereastra Relationships. Pe ecran va aprea o fereastr n care
cu ajutorul sgeilor este sugerat tipul relaiei definite.
Dac relaia nu a fost corect definit se poate terge i apoi se reia
algoritmul pentru o nou relaie.
tergerea unei relaii se realizeaz n fereastra Relationships apsnd butonul
drept al mouse-ului poziionat pe sgeata ce marcheaz relaia dintre tabele. Din
meniul deschis se acceseaz opiunea Delete.
Dup selectarea operaiei de tergere a relaiei sistemul va cere confirmarea
tergerii. Se apas Yes.
Dup ce creai o relaie ntre tabele, putei crea i tipri un raport. n fereastra
Relationships (relaii), actionati butonul Relationship Report (raport de relaie) si
automat se creeaz un raport cu relaia curenta afiat i comut n Print Preview
(vizualizare tiprire), unde putei tipri raportul.

Fig. 8.22 Crearea unui raport al relatiei

119

Fig. 8.22 Vizualizarea raportului relatiei

ACTIVITATE ASISTATA:
S se stabileasc dou relaii de tipul 1:m ntre tabela Facturi i tabela
Poziie factur i ntre tabela Produse i tabela Poziie factur, astfel nct
fereastra Relationships s arate ca n figura 8.22.

Figura 8.22 - Modelul propus

120

ntrebri facultative
1. Definii integritatea referenial?
2. Enunai regulile ce permit activarea integriti refereniale?
3. Clasificati relaiile dup momentul creri acestora ?
4. Ce nelegei prin relaie "one to one"?
5. Ce nelegei prin relaie "one to many" ?
6. Ce nelegei prin relaie "many to many" ?
7. Precizai condiiile ce trebuie ndeplinite cmpurile relaionale pentru a stabili
relaii unu la mai muli?
8.Precizati utilitatea tehnici drag and drop?

Test de autoevaluare nr. 8


1.
Timp de lucru : 15 min
Punctaj 100p

Relaia many-to-one sau mai muli la unul) este opus:

1. relaiei unu la unu;


2. relaiei unu la mai multi;
3. relaiilor temporare;
4. relaiei mai multi la mai muli;
5. relaiilor permanente;
Alegei varianta corect
a. 1.2
b.1
c. 3
d. 2
e. 5
(5 puncte)
2. Din punct de vedere al momentului crerii acestora, exist dou tipuri de relaii ntre tabelele
unei BD Access. Identificatile:
a. One to one
b. Permanente
c. One to many
d. Many to one
e. Temporare
(5puncte)
3. Relaiile ntre tabele se definesc pe baza valorilor unui cmp dintr-o tabel utilizat drept
.. i valorilor aceluiai cmp dintr-o alt tabel, unde este utilizat drept .;.
(10 puncte)
4. Integritatea referenial este un sistem de reguli ale .. folosit pentru asigurarea
cmpurilor valide, care nu permite tergerea sau modificarea
. a datelor relaionate.
(10 puncte)
5. (Pentru a crea o relaie unu la mai multi, ambele cmpuri comune (de obicei cheia primar i
cheia extern) trebuie s aib un index unic?

121

Adevarat

Fals
(10puncte)

6. Relaia muli la mai muli poate fi exprimat ca o simpl relaie ntre dou tabele?
Adevarat

Fals
(5puncte)

7. Relaia unu la unu este cea mai complexa relaie existent ntre dou tabele?
Adevarat

Fals

(5puncte)

8. Creai o baza de date pentru evidena situaiei colare a studenilor. Baza de date trebuie s
stocheze notele acordate de profesori, studenilor, la fiecare materie n sesiunea de examene.
(40 puncte)

U8.5. Rezumat
Odat creat un tabel acesta permite o serie de operaii asupra structurii i
coninutului su astfel nct, dac se impune, pot fi adugate sau terse coloane,
pot fi adugate sau terse nregistrri, modificate sau tiprite. n aceast tem v
sunt prezentate aceste operaii asupra tabelului, dar i modalitile de deschidere a
lui, modalitile de indexare a tabelelor, salvare sau tergere a acestora.
Dup ce ai creat un tabel pentru fiecare subiect din baza de date, trebuie
s furnizai programului Office Access 2007 mijloacele de a corela informaiile
atunci cnd este necesar. Avei posibilitatea s facei acest lucru plasnd cmpuri
comune n tabelele asociate i definind relaii de tabel ntre aceste tabele.

Bibliografie minimal
1. 1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010,

Rspunsuri i comentarii la testul de autoevaluare nr. 7


1. d; 2. be; 3.-cheie primar/cheie extren; 4-Microsoft
Access/relaionri/accidental;5-F;6-F;7-F;
8: Rezolvare
Entitile bazei de date sunt: studenii, profesorii, materiile i notele.
Studeni:

122

Profesori:

Materii:

Note:

Relaiile sunt:

123

VERIFICARE NR. 2
1. S se creeze o baza de date necomplet cu numele Gestiune. n baza de date
nou creata se vor insera urmtoarele 10 tabele:

Cmpurile subliniate cu linie continu sunt cheile primare prin care se


identific n mod unic fiecare nregistrare.
Pentru tabela stoc cheia primar este reprezentat printr-un cmp compus
(codgestiune i codmaterial), n ideea c un material se poate regsi n mai multe
gestiuni.
Pentru tabelele mataprovizionat i matconsumat s-au utilizat de asemenea
chei primare pe cmpuri compuse. S lum de pild tabelele nrcd i
mataprovizionat care au ca surs de date documentul Nota de Recepie i
Constatare de Diferene. Tabela nrcd cuprinde datele din partea comun a
documentului cu cheia primar nrnrcd, iar tabela mataprovizionat cuprinde datele
din partea n care sunt consemnate materialele care au intrat (acestea pot fi mai
multe), identificarea acestora realizndu-se prin cmpul cheie primar compus din
nrnrcd i codmaterial.
Cmpurile subliniate cu linie ntrerupt sunt cmpuri de legtur ntre
tabele.
SE CERE:
- S se creeze cu ajutorul Access 2007, tabele propuse?
- S se insereze n fiecare structur tabelar cte zece nregistrri?
-S se realizeze modelul relaional?

124

MODULUL 3

UNITATEA 9:

INTEROGRILE ACCESS

UNITATEA 10 :

UTILIZAREA OPERATORILOR
IN INTEROGARILE
ACCESS,CREAREA DE
CAMPURI CALCULATE

UNITATEA 11:

INTEROGARILE
PARAMETRIZATE,
INTEROGARILE DE SINTEZA,
INTEROGARI INCRUCISATE

UNITATEA 12:

INTEROGARILE DE ACTIUNE

VERIFICARE NR. 3

125

UNITATEA 9
INTEROGARILE ACCESS

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U9.1. Scopul i obiectivele unitii de nvare..

120

U9.2. Definirea interogarilor

121

U9.3. Crearea Interogrilor de Selectie..

122

U9.4. Crearea Interogrilor cu ajutorul Expertilor


Access.

127

Bibliografie minimal

130

Rspunsuri i comentarii la testul de autoevaluare .. 130

U9.1. Scopul i obiectivele unitii de nvare


Interogrile au un rol deosebit n vizualizarea, modificarea i analizarea
datelor n diferite moduri. Puterea unei baze de date constnd de altfel i n
posibilitatea de a afia rapid datele ntr-o ordine propus de utilizator.
O interogare este de fapt o definiie a datelor ce se extrag: ce cmpuri,
din care tabele, criterii de selecie, ordinea de sortare. Prin structura sa,
interogarea va indica cu precizie sistemului Access ce date trebuiesc extrase.
Prin crearea de interogri avem posibilitatea s selectm anumite cmpuri, cu o
relevan mai mare n rezolvarea problemei, anumite nregistrri care satisfac
criterii impuse nregistrri care pot fi sortate ntr-o anumit ordine.
Dup parcurgerea acestei uniti vei fi capabil :
- S creai interogri de selecie;
- S creai interogri cu ajutorul expertilor Access

126

U 9.2. Definirea interogarilor


Prin interogare, utilizatorul cere(solicita) bazei de date informaii specifice pe
care s le poata vizualiza i/sau modifica.
Puterea unei baze de date constnd de altfel i n posibilitatea de a afia rapid
datele ntr-o ordine propus de utilizator.
O interogare este de fapt o definiie a datelor ce se extrag: ce cmpuri, din care
tabele, criterii de selecie, ordinea de sortare. Prin structura sa, interogarea va
indica cu precizie sistemului Access ce date trebuiesc extrase.
O interogare Microsoft Access 2007 permite utilizatorului :
extragerea din tabele numai a cmpurilor relevante pentru utilizatori;
extragerea nregistrrilor din tabele prin specificarea unor criterii de selecie;
regsirea i ordonarea datelor dup anumite criterii;
crearea de cmpuri calculate;
extragerea datelor din una sau mai multe tabele i realizarea unor informaii
sintetice;
crearea de tabele, adugarea nregistrrilor n tabele, tergerea nregistrrilor din
tabele i actualizarea datelor;
combinarea i compararea ieirilor prin realizarea mai multor interogri n
acelai timp;
interogarea i a altor baze de date (FoxPro, SQL Server);
pregtirea datelor n vederea afirii lor n formulare sau rapoarte.
n Microsoft Access se pot crea urmtoarele tipuri de interogri:
A. interogri de selecie;
B. interogri parametrice;
C. interogri ncruciate;
D. interogri de aciune.
A. Interogri de selecie; Select Query
Interogrile de selecie extrag informaii din unul sau mai multe tabele i le
afieaz sub form de list. Acest tip de interogri este cel mai utilizat;
Caracteristici:
Sunt cel mai uor de creat i au avantajul c pot afia un numr redus de
date dintr-un tabel mare (datele care ndeplinesc condiiile specificate).
Interogarile de selectie
permit i modificarea rezultatului afiat,
modificare ce va fi vzut i n tabelul surs.
De asemenea, permit i folosirea de parametri, cum este reuniunea de
cmpuri din tabele ntre care nu exist nici o legtur precum i efectuarea de
calcule.
B. Interogri parametrice; Query Parameters
Interogrile parametrice nu sunt un tip special de interogri,in cazul
acestora o funcie parametru putnd fi folosit pentru toate celelalte interogri
prezentate anterior; ele folosesc n mod repetat o interogare, efectund modificri
n criteriile de selecie.
C. interogri ncruciate; Crosstab Query
Interogri ncruciate sunt interogri de tip Total care afieaz o mare
cantitate de date provenite din unul sau mai multe tabele ntr-o form sintetic,
centralizat n format compact asemntor unei foi de calcul tabelar.
127

Acest tip de interogare este util dac obiectul l reprezint analiza datelor i
crearea de grafice i diagrame pe baza sumei valorilor din cmpurile numerice ale
mai multor interogri .
D. Interogri de aciune. Action Query
Interogrile de aciune creeaz un nou tabel n baza de date sau realizeaz
modificri majore ale unui tabel existent. n general, toate interogrile de aciune
pot fi realizate pe baza unei interogri de selecie.
Ele permit adugarea, modificarea sau tergerea de nregistrri ntr-un tabel.
- Interogri generatoare de tabele - Make Table Query care
creeaz tabele pornind de la totalitatea sau o parte a nregistrrilor unuia sau a mai
multor tabele;
- Interogri de adugare nregistrri Append Query care permit
adugarea de nregistrri ntr-un tabel sau mai multe tabele;
- Interogri de tergere Delete Query care permit tergerea
nregistrrilor dintr-un tabel sau mai multe tabele;
- Interogri de actualizare Update Query permite actualizarea
datelor dintr-un set de nregistrri.
Aciunile acestora sunt ireversibile asupra datelor din
tabelele surs, iar n cazul ultimelor trei dintre ele, trebuie
urmrit pstrarea integritii refereniale atunci cnd prin
intermediul lor se acioneaz asupra mai multor tabele legate.

U 9.3 Crearea Interogrilor de Selectie


Interogarea datelor din tabele se realizeaz n dou moduri:
n mod grafic prin interfaa Query By Example (QBE) - interogare prin
exemplu;
prin limbajul SQL sub form de blocuri de cerere.
n cadrul acestui capitol se va prezenta modul de construire a unei interogri
folosind interfaa Query By Example (QBE).
Access ofer trei posibiliti pentru definirea interogrii i afiarea rezultatelor
acesteia.
Design View fereastr sub forma unei grile de interogare, n care se definete
interogarea;
Datasheet View fereastr n care se afieaz rezultatele interogrii;
SQL View fereastr n care Access genereaz automat codul SQL al interogrii
QBE; aceeai fereastr este folosit i pentru scrierea direct a unei interogri cu
ajutorul instruciunilor SQL.
A. Crearea Interogrilor n modul Proiectare interogare (Query design)
Pentru a crea o interogare de in acest mod se parcurg urmtorii paii:
1.Se va selecta butonul rubrica standard Creare(Create)
2.Din grupurile acestui buton se va selecta grupul Altceva(Others),
3.Din interiorul acestui grup se va selecta Proiectare Interogare.

128

Selectnd Proiectare Interogare (Query Design)apare caseta de dialog


Afiare tabel (Show Table) suprapus peste fereastra Interogare 1 (Query 1).

Fig.9.1. Fereastra Show Table

Concomitent cu procesul creari interogari se va deschide si butonul


rubrica contextual Instrumente Interogare -Proiectare (Query Tools)- acest
buton conine toate instrumentele necesare in lucrul cu interogrile

Fig.9.2. Butonul rubrica contextual Instrumente Interogare -Proiectare


Din caseta de dialog Afisare Tabel (Show Table) sunt selectate tabelele i
interogrile dorite din lista inclus n cadrul bazei de date active. Ne vom
poziiona pe fiecare din tabelele sau interogrile pe care dorim sa le supunem
interogri si selectam Adugare(Add). Dup ce a fost precizat sursa de date se
va nchide fereastra Show Table prin acionarea butonului Close. La nevoie se
poate redeschide fereastra folosind opiunea Show Table.

129

Fig.9.3. Adugare(Add)tabel
n partea superioar a ferestrei Interogare 1(Query1) vor fi afiate tabelele
sau interogrile, fiecare cu lista cmpurilor coninute (figura). n cazul n care
tabelele din care se extrag datele pentru interogare au fost puse n relaie anterior,
ele apar n fereastra Query Design cu liniile de legtur precizate (1 1 sau l
). Dac nu, relaia ntre tabele poate fi creat n cadrul interogrii.

Fig.9.4. Ferestrei Interogare 1(Query1)


In
partea
inferioar
va
aprea
grila
Query
Design.
Programul va atribui primei interogri create, dar nesalvate nc, un nume implicit
Query1.

Fig.9.5. Query Design

130

Grila Query Design este structurat astfel:


linia Field(camp): rezervat pentru selectarea unui cmp;
linia Table: destinat precizrii sursei de date;
linia Sort: permite precizarea sensului sortrii pentru atributul din coloana
respectiv;
linia Show: permite inhibarea afirii realizrilor cmpului respectiv;
linia Criteria: ofer posibilitatea precizrii criteriilor de selecie prin
introducerea expresiilor Access corespunztoare;
liniile or: permit precizarea mai multor criterii de selecie n cazul expresiilor
Access utiliznd operatorul OR.
Definirea interogrii de selecie presupune parcurgerea urmtorilor pai:
1. Precizarea cmpurilor ale cror realizri urmeaz s le returneze cererea.
Numele acestor cmpuri se vor preciza n grila Query Design n rndul Field
utiliznd una din urmtoarele modaliti:
selectarea cmpului din cadrul listei Field;
executarea unui dublu clik de mouse asupra cmpului dorit din
tabela/interogarea aflat n panoul superior;
metoda drag-and-drop care presupune selectarea cu mouse-ul a cmpului dorit
din panoul superior i tractarea acestuia n linia Field.
Dac este necesar s fie aduse n panoul inferior toate cmpurile aparinnd
unei tabele se va proceda n unul din urmtoarele moduri:
selectarea tuturor cmpurilor din tabela surs (aflat n panoul superior) printrun dublu clik de mouse pe numele tabelei i se trag cmpurile pe gril;
utilizarea asteriscului aparinnd tabelei surs: tragei cu mouse-ul asteriscul n
prima coloan Field;. chiar dac n grila de proiectare este completat doar prima
coloan Field la execuie interogarea va returna realizrile tuturor atributelor;
utilizarea proprietii Output All Fields: se va deschide caseta Query Properties
utiliznd butonul Properties din bara de instrumente sau executnd dublu click
ntr-o zon liber a panoului superior; n linia Output All Fields se va preciza Yes;
precizarea valorii Yes pentru proprietatea Output All Fields nu va determina
aducerea n grila de proiectare a cmpurilor din tabela surs, dar, n momentul
executrii cererii, vor fi cuprinse toatea realizrile tuturor atributelor.
n mod implicit, antetul coloanelor tabelului rezultat n urma interogrii
este reprezentat de numele cmpului, cu excepia cazului n care la crearea tabelei
ai precizat o alt etichet prin intermediul proprietii Caption. Dac dorii
afiarea n tabelul rezultat n urma interogrii a unei noi etichete pentru un cmp
plasai mouse-ul n linia Field naintea numelui cmpului, tastai eticheta dorit
urmat de caracterul :.
Observaie: Dup aducerea cmpurilor din tabele sau interogri pe grila de
interogare sunt posibile operaii de inserare a unui cmp, tergerea unui cmp,
deplasarea unui cmp ntr-o alt poziie, modificarea dimensiunilor unei coloane
i modificarea numelui unui cmp.
2. Se precizeaz criteriul de selecie (n mod implicit se returneaz
realizrile tuturor tuplurilor pentru cmpurile specificate) prin introducerea unei
expresii Access valide n rndul Criteria (eventual i rndul OR). Introducerea
expresiei Access se face prin tastare sau se construiete prin intermediul
generatorului de expresii (Expression Builder) a crui fereastr se deschide
selectnd opiunea Build a meniului pe care l activai printr-un click dreapta de
mouse n rndul Field.
3. Se precizeaz, dac este necesar, cmpul/cmpurile dup care se dorete
o eventual sortare i sensul acesteia n linia Sort.
131

Reguli de formare a expresiilor introduse pe cmpul Criteria:


datele de tip Text se tasteaz ca atare, iar Access adaug automat ghilimele;
pentru datele de tip Number i Currency se tasteaz cifrele i eventual simbolul
zecimal, fr simbolul monetar sau separatorul de mii;
referirile la numele de cmpuri trebuie incluse ntre paranteze drepte[ ], altfel se
adaug automat ghilimele, considerndu-se text;
formatul internaional de dat calendaristic este mm/dd/yy. Access adaug
automat delimitatorul # ;
Access adaug automat IS la referirile care implic valoarea NULL.
- Pe rndul Criteria din grila de interogare se poate introduce un singur criteriu
de selecie sub un cmp sau mai multe criterii sub cmpuri diferite.
Dac criteriile de selecie se introduc pe un singur rnd Criteria, se extrag
nregistrrile care ndeplinesc toate condiiile (operatorul logic AND), iar dac se
introduc pe rnduri diferite se includ n rspuns doar nregistrrile care ndeplinesc
oricare dintre criteriile menionate (operatorul logic OR).

Fig.9.6. Proiectarea unei interogri de selecie


n figura 9.6 se prezint modul n care s-a definit interogarea de selecie
prin care se realizeaz:
- afiarea numrului de factur 10,11 si a codului de furnizor 39,40.
- Afiarea se realizeaz n ordinea alfabetic dup numr factur.
- Sursa de date a cererii este reprezentat de dou tabele ale bazei de date: Tabel
facturi i Tabel Coninut Facturi.

n figura urmatoare este redat rezultatul executrii cererii anterior


proiectate :

Fig.9.7. Rezultatul Interogari

132

U 9.4 Crearea Interogrilor cu ajutorul Expertilor Access


Crearea unei interogri n modul Expert Interogare(Query Wizard) este
modul cel mai simplu de creare a unei interogri. n acest scop se execut click pe
butonul rubric standard Create(Creare) i din panglica acestui buton se va
selecta grupul Other dup care se alege opiunea Query Wizard.

Fig.9.8 Creare unei interogari cu ajutorul Experilor Access

Dupa selectarea Query Wizard se va deschide n mod automat fereastra de


dialog New Query in care utilizatorul va specifica tipul de interogare ce va fi
realizat.Se va specifica tipul de interogare dup care se va selecta butonul OK.

Fig.9.9 Alegerea tipului de interogare

Dupa selectia tipului de interogare ,n fereastra care se afieaz pe ecran se


poate deschide lista derulant Tables/Queries i se poate alege oricare dintre
tabelele sau interogrile existente n baza de date activ pentru a le putea folosi ca
surs pentru interogare.

Fig.9.10 Selectia cmpurilor interogarii

133

Odat selectat un tabel, n caseta Available Fields(Cmpuri disponibile)


sunt afiate numele cmpurilor acestui tabel ce pot furniza date interogrii. Pentru
a stabili cmpurile furnizoare de date, se selecteaz rnd pe rnd numele lor din
aceast list i dup fiecare se apas butonul
pentru a le transfera n lista
Selected Fields.
Dac se dorete a introduce toate cmpurile n lista Selected Fields se
apas direct butonul
. n cazul unui transfer eronat se pot folosi butoanele
sau
.
Dupa alegerea campurilor se va specifica daca utilizatorul doreste o
interogare ce afisa in detaliu valorile cuprinse in campuri sau daca doreste o
interogare de sinteza.

Fig.9.11 Alegerea gradului de detaliere a datelor

Dup ce s-au selectat cmpurile furnizoare de date, se apas butonul Next,


iar n fereastra de dialog ce se va afia se va introduce numele cu care se salva
noua interogare.
n continuare se opteaz pentru una din variantele:
- Open the Query to view information lansarea n execuie a interogrii
create pentru vizualizarea rezultatelor (implicit);
- Modify the query design intrarea n modul de lucru Design View pentru
a putea observa modalitatea folosit de asistentul Wizard pentru
crearea interogrii i pentru eventuale corecturi.

Fig.9.12 Finalizarea interogarii

134

ntrebri facultative
1. Definii interogarea?
2. Precizai tipurile de interogri ce se pot crea cu ajutorul access?
3. Ce nelegei prin interogare de selecie ?
4. Ce nelegei prin interogare parametrizat ?
5. De cte tipuri sunt interogrile de aciune?
6. Ce nelegei prin interogare ncruciat?
7. Precizai cele trei moduri pe care le ofer Access pentru definirea interogri i
afiarea rezultatelor acesteia ?

Test de autoevaluare nr. 9


1. Identificatile interogrile de aciune:
a. Generatoare de tabele

Timp de lucru : 15 min


Punctaj 100p

b. De adaugare a datelor in tabele


c. De actualizare a datelor in tabele
d. De organizare a datelor in tabele
e. De stergere a datelor din tabele
(10puncte)

Prin interogare, utilizatorul .. bazei de date informaii specifice


pe care s le poat vizualiza i/sau modifica.
2.

(10 puncte)
3. Interogrile

de selecie . informaii din unul sau mai multe tabele i


le afieaz sub form de list..
(10 puncte)
4. (Interogri

ncruciate sunt interogri de tip parametrizat care afieaz o mare


cantitate de date provenite din unul sau mai multe tabele ntr-o form sintetic,
centralizat n format compact asemntor unei foi de calcul tabelar.
Adevarat

Fals
(5puncte)

5. Linia Criteria ofer posibilitatea precizrii criteriilor de selecie prin


introducerea expresiilor Access corespunztoare.
Adevarat

Fals
(5puncte)

6. S se creeze o interogare de selectie in modul Design


(25puncte)

7. S se creeze o interogare de selectie in modul Expert Interogare


(25puncte)

135

U9.5. Rezumat
Prin interogare, utilizatorul cere(solicita) bazei de date informaii specifice pe
care s le poata vizualiza i/sau modifica.
Puterea unei baze de date constnd de altfel i n posibilitatea de a afia rapid
datele ntr-o ordine propus de utilizator.
O interogare este de fapt o definiie a datelor ce se extrag: ce cmpuri, din care
tabele, criterii de selecie, ordinea de sortare. Prin structura sa, interogarea va
indica cu precizie sistemului Access ce date trebuiesc extrase.
Access ofer trei posibiliti pentru definirea interogrii i afiarea rezultatelor
acesteia.
Design View fereastr sub forma unei grile de interogare, n care se definete
interogarea;
Datasheet View fereastr n care se afieaz rezultatele interogrii;
SQL View fereastr n care Access genereaz automat codul SQL al interogrii
QBE; aceeai fereastr este folosit i pentru scrierea direct a unei interogri cu
ajutorul instruciunilor SQL.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.

Rspunsuri i comentarii la testul de autoevaluare nr. 9


1 abce; 2. solicit; 3.-extrag; 4-F;5-A

136

UNITATEA 10
UTILIZAREA OPERATORILOR N INTEROGRILE
ACCESS, CREAREA DE CMPURI CALCULATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U10.1. Scopul i obiectivele unitii de nvare..

131

U10.2. Utilizarea operatorilor n interogarile Access.

131

U10.3. Cmpuri calculate n interogarile de selectie.

134

Bibliografie minimal

137

Rspunsuri i comentarii la testul de autoevaluare .. 138

U10.1. Scopul i obiectivele unitii de nvare


Pentru fiecare cmp pe care l includei ntr-o interogare, putei specifica
criterii pe care trebuie s le ndeplineasc o nregistrare pentru a fi selectat atunci
cnd rulai interogarea.
Putei folosi Expression Builder(constructorul de expresii)pentru a v crea
propriile calcule folosind operatorii aritmetici.
Dup parcurgerea acestei uniti vei fi capabil :
- S creai interogri de selecie;
- S utilizati operatorii n interogrile Access;
- S creai campuri calculate;

U 10.2 Utilizarea operatorilor n interogarile Access


Pentru a construi expresii pe rndul Criteria se utilizeaz operatorii:

aritmetici: adunare (+); scdere (), nmulire (*), mprire (/), ridicare la
putere (^), mprirea a dou numere cu returnarea unui ntreg (\), mprirea a
dou numere cu returnarea restului mpririi (MOD).

137


de comparaie: <, >, =, <=, >=.
Aceti operatori returneaz valorile logice True i False.Excepie reprezint cazul
n care unul dintre operatori are valoarea NULL i deci orice comparare va returna
valoarea NULL.
Exemple:
>234 afiseaza toate numerele mai mari decat 234. Pentru a gasi numerele mai
mici de 234, utilizati <234
>25 AND <50 afiseaza valori mai mari dect 25 si mai mici dect 50
>=Roman afiseaza toate inregistrarile de la Roman pana la sfarsitul alfabetului
asociai operatorilor de comparare:
IS NULL, IS NOT NULL o valoare NULL (cmp necompletat) nu este nici
TRUE nici FALSE. nregistrrile care au valoarea NULL n cmpurile selectate
nu apar ca rezultate ale interogrii;
IS NULL Returneaz toate nregistrarile ce conin o valoare nula
(necompletat sau nedefinita)
IS NOT NULL returneaz toate nregistrarile ce contin orice valoare
LIKE se folosete mpreun cu caracterele de nlocuire * i ? pentru a
stabili dac o valoare ncepe cu unul sau mai multe caractere;
- caracterul * poate nlocui orice numr de caractere;
- caracterul ? nlocuiete numai un caracter;
Like[A-E] Gaseste toate nregistrarile care incep cu litere de la A-E
Like*at* gaseste toate nregistrarile care includ secventa at de litere
IN stabilete dac o valoare este cuprins ntr-o list;
In(Motru,Rovinari,Targu-Jiu) - intr-o lista, gseste toate nregistrarile ce
conin cele 3 orae.
BETWEEN stabilete dac o valoare aparine unui interval specificat.
Between #02/02/2011* and #03.03.2011# - deturneaza datele de la 2
februarie2011 la 03 martie 2011
logici:
NOT negaia;
AND pentru conjuncia a dou valori;
OR pentru disjuncia a dou valori;
XOR pentru disjuncia exclusiv a dou valori;
Eqv verific echivalena a dou valori.
Exemple:
-Not Germania gsete toate nregistrrile unde coninutul exact al cmpului
nu este exact egal cu "Germania. Criteriul va returna doar nregistrrile ce conin
caractere n plus fata de Germania, cum ar fi Germania(euro), sau
Europa(Germania).
- Craiova OR Bucureti OR Constanta" returneaz numai acele nregistrri
ce conin aceste orae
- Not T* gaseste toate inregistrarile , cu exceptia celor care incep cu litera T
- Not*t gaseste toate inregistrarile care nu se termina cu litera t
de concatenare a irurilor de caractere: + i &.
de identificare: ! i .
Aceste dou caractere sunt utilizate ca separatori, astfel:
Combin numele coleciilor de obiecte i numele obiectelor pentru a selecta un
anumit obiect sau proprietate a lui: Forms! [Clieni]
138

Identific atribute aparinnd unei tabele: Clieni! [Localitate]


Deosebete numele obiectelor de cele ale proprietilor: TextBox1.FontSize=12
unde: TextBox reprezint un obiect de control iar FontSize reprezint o proprietate
(stabilete dimensiunea fontului)
Constante
Constantele utilizate n construirea expresiilor Access pot fi de natur:
numeric (ex: 130,5,0);
text (123, Vasilache Ion, str. Teiilor 15);
dat calendaristic (ex: #12.31.10# ceea ce indic data de 31 decembrie 2010).
Funciile pot fi de natur:
Dat calendaristic : Date(), Month(), Year (), etc.
De tip text: Len() returneaz lungimea unui ir; Trim() elimin spaiile de la
nceputul i de la sfritul unui ir; Left() returneaz primele n caractere de la
nceputul unui ir, etc.
Matematice i trigonometrice:
ABS() returneaz valoarea absolut a unui numr;
INT() returneaz partea ntreag dintr-o valoare numeric,
ROUND() rotunjete o valoare cu un anumit numr de zecimale;
SUM() calculeaz suma;
AVG() calculeaz media, etc.
Financiare: PV() returneaz valoarea actual a unei anuiti pltite n rate
periodice egale; SLN() returneaz valoarea amortizrii unui mijloc fix dup o
anumit perioad (amortizare liniar) etc.
Funcii diverse: ISNUMERIC(), ISNULL(), etc.
Exemple:
Date() returneaz data curent;
Month(Date()) returneaz numrul lunii calendaristice curente.
Year(Date()) returneaz anul curent.
<Date()-30 utilizeaza functia date pentru a returna toate datele mai vechi de 30
de zile
Between Date() And DateAdd(M,3,date()) utilizeaz funciile Date si
DateAdd pentru a returna toate nregistrarile pentru 3 luni incepand cu data
curenta
ACTIVITATE ASISTATA - Utilizarea operatoriilor n Interogrile Access
Pentru exemplificare se utilizeaz tabela Telefon care cuprinde populaia
din Bucureti cu sau fr telefon. Tabela are urmtoarele cmpuri: cod_persoan,
nume, prenume, strada, nr, sector, nr_telefon, data_instalrii
Se cere:
1. Realizarea unei interogri pentru obinerea unei liste cu persoanele care au
numrul de telefon care ncepe cu 7 (figura 10.1)

139

Sub cmpul nr_telefon pe rndul Criteria se scrie expresia: LIKE 7*

Fig. 10.1 Interogarea abonai cu numrul de telefon care ncepe cu 7

2. Realizarea unei interogri pentru obinerea unei liste cu abonaii care au


numrul de telefon care nu ncepe cu 7. Sub cmpul nr_telefon pe rndul Criteria
se scrie expresia: NOT LIKE 7*
3. Realizarea unei interogri pentru obinerea unei liste cu abonaii care nu au
telefon. Sub cmpul nr_telefon pe rndul Criteria se scrie expresia: IS NULL
4. Realizarea unei interogri pentru obinerea unei liste cu persoanele din sectorul
care au numrul de telefon care ncepe cu 7 sau a celor care nu au telefon.
Pe rndul Criteria sub cmpul sector se scrie 6, iar sub cmpul nr_telefon se scrie
expresia: IS NULL OR LIKE 7 *
5. Lista telefoanelor instalate ntre 1 Ianuarie 2010 i 31 Decembrie 2010 se
obine printr-o interogare n care pe rndul Criteria sub data_instalarii se scrie
expresia: LIKE *.*.2010
6. Lista telefoanelor instalate n luna Mai 2010 se obine dac sub cmpul
data_instalarii pe rndul Criteria se scrie expresia: LIKE *.05.2010.
7. Interogarea pentru obinerea listei persoanelor crora li s-a instalat telefon n
luna 12, 2010 va cuprinde sub cmpul data_instalarii expresia:
>= # 01.12.2010 # And <= # 31.12.2010 #

U 10.3 Cmpuri calculate n interogarile de selectie


Interogrile de selecie pot cuprinde i cmpuri calculate. Aceste cmpuri
returneaz, la executarea interogrii, valoarea expresiilor Access asociate lor.
Pentru a crea un cmp calculat trebuie avute n vedere urmtoarele:
se introduce n celula Field a grilei de interogare un nume de coloan (dac nu
se specific se atribuie numele implicit Expr l, Expr2, ...), urmat de semnul :
i formula de calcul, astfel:
stoc_final: [stoc_initial] + [Cant_intrata] - [Cant_iesita]
cmpuri calculate pot fi create i pentru text (concatenarea cmpurilor):
Numepren: [Nume] & & [ Prenume]
Cmpurile calculate pot fi sortate, li se pot aplica criterii de selecie sau se pot
totaliza.
140

n cmpurile calculate se poate utiliza funcia IIF cu urmtoarea sintax:


IIF ( <expresie>, valoare 1, valoare2) unde:
<expresie> este o expresie a crei valoare de adevr este evaluat pentru
fiecare nregistrare;
valoare 1 este valoarea returnat dac expresie este adevrat;
valoare2 este valoarea returnat dac expresie este fals.
Pentru a aduga un cmp calculat ntr-o interogare se tasteaz numele
acestuia ntr-o nou coloan din grila Query Design, se adaug dou puncte i
apoi se completeaz expresia dorit.
Exemplu: Interogarea din figura 10.2 calculeaz data limit pn la care
trebuie onorat fiecare comand.

Fig 10.2. Exemplu de cmp calculat ntr-o interogare

Expresiile pot fi utilizate ntr-o interogare de selecie fie drept criterii de


selecie fie pentru a calcula anumii indicatori.
Expresia poate fi tastat n rndul Field al unei coloane (exemplul din figura
10.2) sau poate fi construit cu ajutorul generatorului de expresii (a crui fereastr
se activeaz efectund click dreapta n linia Field i selectnd din mediul
contextual opiunea Build(Generare)). Exemplul din figura 10.3 prezint
utilizarea generatorului de expresii pentru a calcula valoarea fiecrui produs de
pe o comand.

Fig. 10.3 Fereastra Expression Builder


141

Fig 10.4 Rezultatul Interogari


ntrebri facultative
1.Precizai care sunt operatori de comparare utilizati n interogrile Access?
2. Precizai care sunt operatori asociai celor de comparare utilizati n interogrile
Access?
3. Enunai principalele funcii utilizate n interogrile Access?
4. Precizai structura funciei Iff?
5.Precizai care sunt operatorii logici?

142

Test de autoevaluare nr. 10

Timp de lucru : 15 min


Punctaj 100p

1. Pe baza tabelelor:
nrcmd (nr_comanda, data, cod_furnizor, cod_gestiune, cod_factura)
material (nr_comanda, cod_material, cant_aprov, pret_aprov),
S se realizeze o interogare pentru calcularea valorii materialelor, a taxei
pe valoarea adugat i valoarea total.
(40 puncte)
2. S se creeze tabelul Studeni cu urmtoarea structur:

Se cere:
a. s se creeze o interogare care s afieze doar numele i prenumele studenilor
afiai n ordine alfabetic
b. s se creeze o interogare care s calculeze media studenilor i care s afieze
doar numele, prenumele i media acestora precum i dac au fost admii sau nu.

U10.4. Rezumat
Interogrile de selecie pot cuprinde i cmpuri calculate. Aceste cmpuri
returneaz, la executarea interogrii, valoarea expresiilor Access asociate lor.
Cmpurile calculate pot fi sortate, li se pot aplica criterii de selecie sau se pot
totaliza

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.
143

Rspunsuri i comentarii la testul de autoevaluare nr. 10


Raspuns 1.

Fig 10.5 Campuri calculate

Fig 10.6 Rezultatul Interogri

144

Raspuns 2.
a.

b.

145

UNITATEA 11
INTEROGARILE PARAMETRIZATE, INTEROGRILE
DE SINTEZ, INTEROGRI NCRUCI ATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U11.1. Scopul i obiectivele unitii de nvare..

140

U11.2. Interogari parametrizate.

141

U11.3. Crearea interogrilor de sintetizare a datelor

142

U11.4. Interogarea tip Tabel ncruciat - Crosstab Query..

145

Bibliografie minimal

149

Rspunsuri i comentarii la testul de autoevaluare .. 149

U11.1. Scopul i obiectivele unitii de nvare


Interogri parametrizate Query Parameters sunt interogri de selecie
care permit introducerea criteriului de selecie n momentul executrii
interogrii. Folosesc n mod repetat o interogare, fcnd numai simple
modificri ale criteriilor ei.
Interogri ncruciate Crosstab Query sunt interogri de tip Total care
afieaz o mare cantitate de date provenite din unul sau mai multe tabele ntr-o
form sintetic, centralizat n format compact asemntor unei foi de calcul
tabelar.
Dup parcurgerea acestei uniti vei fi capabil :
- S creai interogri parametrizate;
- S creai interogri de sintez
- S creai interogri ncruciate;

U 11.2. Interogari parametrizate


146

Interogrile de selecie prezentate pn n acest moment returneaz


ntotdeauna nregistrrile din tabelele surs care corespund unei anumite cereri
fixe.
Exemplu: Clienii trebuie s aib domiciliul n Bucureti sau Ploieti iar data
livrrii s fie anterioare datei curente (vezi exemplul de interogare de selecie
prezentat ntr-un paragraf anterior).
De multe ori ns, ar fi util o interogare al crei criteriu de selecie s poat
fi precizat la nivel general i particularizat de utilizator n funcie de necesitile
sale de informare (precizndu-se concret ce realizri ale atributului sunt cutate)
chiar n momentul execuiei cererii.
O astfel de interogare se caracterizeaz prin faptul c n grila Design, pe
coloana dorit, n linia Criteria, se va preciza ntre paranteze drepte un mesaj ce
urmeaz a fi afiat la executarea cererii permind ca utilizatorul s introduc
criteriul de selecie dorit.
Parametrii pot fi utilizai nu doar n rndul de criterii, ci i n formulele
cmpurilor calculate, dac se dorete introducerea unui termen variabil n expresii.
Exemplul din figura 1. prezint o cerere care va solicita utilizatorului
numrul comenzii ce se dorete a fi afiat i procentul ce va fi folosit pentru a
calcula cmpul Reducere.

Fig11.1. Interogare parametrizat


Cnd se creeaz i salveaz o interogare este posibil s nu se cunoasc
valorile pentru un cmp. Se va crea un parametru pentru interogare (un nume
de cmp diferit de numele cmpurilor tabelei sau interogrii, ncadrat de paranteze
drepte). La execuia interogrii apare o caset de dialog prin care se cere
valoarea pentru cmpul parametru.
Expresiile introduse n grila Query Design pentru proiectarea unei
interogri sunt transformate n declaraii ale limbajului SQL. Access permite
afiarea declaraiilor SQL create de interogare dac interogarea se deschide n
modul Design, se acceseaz meniu Queries din bara de meniuri principal i se
alege opiunea SQL View.

147

Cuvintele rezervate ale limbajului SQL sunt scrise cu litere mari i


specific instruciunile sau aciunile ce se vor executa de ctre interogare.
Numele obiectelor din interogare apar cu litere mari sau mici.
ACTIVITATE ASISTATA
Pe baza unei tabele existente cu structura:
Studenti2 (Nr matricol, Nume, Prenume, Tip student, Facultatea, Grupa, An
studiu, Media)
S se realizeze o interogare parametrizat care s listeze
studenii unei grupe dintr-o facultate, n ordine alfabetic .

U11.3 Crearea interogrilor de sintetizare a datelor


Pe lng posibilitatea de a utiliza expresii pentru a aduga cmpuri
calculate n interogri, Access permite utilizatorilor realizarea unor cereri prin
intermediul crora se pot aplica funcii unor nregistrri grupate dup criterii
prestabilite.
Prin intermediul acestor query cu rol de sintetizare a datelor se pot construi
cu uurin cereri care s returneze totalul, media, minimul sau maximul unor
grupuri de tupluri.
Pentru a realiza o cerere de sintetizare a datelor se va elabora interogarea
de selecie aducndu-se n grila Query Design cmpurile necesare i adugnduse eventualele cmpuri calculate, dup care se va apsa butonul Totals din
butonul rubrica contextual Query Tools.

Ca rezultat al acestei operaii, n grila Query Design, va fi disponibil un


nou rnd intitulat Total.
n mod implicit, gruparea datelor dup valorile cmpului toate coloanele
vor avea selectat n linia total opiunea Group By (n cazul n care mai multe
coloane au selectat n linia Total opiunea Group By, gruparea se va face nti
dup primul cmp din stnga, apoi dup al doilea, .a.m.d.).

148

Se va pstra opiunea Group By n dreptul cmpurilor de grupare, urmnd


ca pentru celelalte cmpuri s fie selectat din lista de selecie funcia dorit
(figura 11.2).

Fig11.2. Funcii agregat


Lista conine nou funcii de tip agregat (funcii ce permit calculul unor valori
totalizatoare la nivel de grup) ce sunt prezentate n tabelul urmtor:

Pe lng aceste funcii mai sunt disponibile opiunile Where i Expression.


Opiunea Unde(Where) se va selecta dac un cmp trebuie utilizat pentru a
se preciza anumite criterii de selecie, dar nu se dorete efectuarea gruprii
dup cmpul respectiv.
Opiunea Expresie(Expression) se va utiliza pentru cmpurile calculate ce
returneaz un singur rezultat la nivelul grupului.

149

Aplicatie rezolvat:
Interogarea din figura 11.3 calculeaz numrul de comenzi efectuate de
ctre fiecare client n ultimele 60 zile.

Fig11.3. Grila QueryDesign a interogri de sinteza

Fig11.4. Rezultatul Interogari


Observatii
Se va observa alegerea cmpului cod_client pentru efectuarea gruprii
(deoarece acest cmp are valori unice), a funciei First pentru a afia numele
clientului i a opiunii Where pentru a preciza criteriul de selecie (ultimele 60
zile).
Dac n loc de Where s-ar fi pstrat opiunea Group By s-ar fi produs gruparea
dup datele comenzilor i un client ar fi aprut n lista de rezultate de mai multe
ori (pentru fiecare zi n care a efectuat o comand).
Trebuie remarcat c un cmp pentru care a fost selectat opiunea Where nu
mai poate figura n rezultatele cererii!
Dup cum se poate vedea n figura 11.4 cmpurile rezultate ca urmare a
aplicrii funciilor agregat poart nume ce includ ca prefix numele funciei
(CountOf, FirstOf).
Pentru a evita aceast situaie se poate tasta in linia Field numele dorit urmat
de dou puncte (la fel ca n cazul cmpurilor calculate).

150

ACTIVITATE ASISTATA
Interogarea din figura 11.5 calculeaz valoarea total a fiecrei comenzi prin
intermediul funciei Sum i, ntr-un cmp calculat ce utilizeaz funcia IIF,
determin valoarea unei eventuale reduceri pentru respectiva comand (reducerea
n sum de 25% din valoarea comenzii) se acord doar dac comanda depete
1.000.000 lei. Sa se afiseze rezultatele interogri?

Fig11.5. Interogare totalizatoare

U 11.4 Interogarea tip Tabel ncruciat - Crosstab Query


Sunt interogri de tip total, cu deosebirea c n listele obinuite care folosesc
denumirea cmpurilor ca titluri de coloane, tabelul ncruciat este un mod de a
sintetiza datele ntr-o form specific.
Interogrile de tip tabel ncruciat (CrossTab Query) sunt extrem de utile n
scopul analizei multidimensionale a datelor permind obinerea unor situaii
sintetice asemntoare tabelelor pivot consacrate de procesoarele de tabele
(Microsoft Excel).
Practic, este posibil elaborarea unor tabele n care gruparea i ordonarea
datelor se realizeaz att pe linii ct i pe coloane la intersecia crora se pot
efectua calcule complexe.
Pentru o interogare tabel ncruciat sunt necesare cel puin 3 cmpuri:
unul care s furnizeze valorile pentru titlurile de rnd (Row
Heading), cu meniunea c se pot alege mai multe cmpuri antet de rnd;
unul care s dea valorile pentru titlurile de coloane (Column
Heading); un singur cmp poate fi antet de coloan;
unul care s fie baz pentru calcularea valorilor sintetice de afiat la
punctele de intersecie rnd coloan; aceste valori se obin, de regul, prin
nsumare i numrare utiliznd funciile Sum i Count.
Etapele ce trebuie urmate pentru realizarea unei astfel de cereri de
interogare sunt:
1. Elaborarea unei interogri de selecie n modul Design View. Se vor alege
tabelele ce conin datele i se vor selecta cmpurile dorite pentru afiare i
eventualele cmpuri pentru care se vor impune restricii.

151

2. Din meniul Query se va selecta opiunea CrossTab Query ce va avea ca efect


imediat afiarea liniilor Total i Crosstab n grila interogrii.
3. Se va specifica modul de agregare a datelor, respectiv funciile totalizatoare n
linia Total.
4. n linia CrossTab se va opta pentru Row Heading n cazul cmpurile ce vor fi
afiate pe liniile tabelului, Column Heading pentru cmpul ce va fi afiat pe
vertical, i Value pentru valorile ce vor fi afiate la intersecia liniilor cu
coloanele. Este permis existena mai multor cmpuri ordonate pe orizontal
(Row Heading), dar a unui singur cmp Column Heading i a unui singur cmp
Value.
ACTIVITATE ASISTATA:
Fie tabelele cu relaiile:

Fig11.6. Modelul propus


Se cere:
obinere a unei situaii ce afieaz valoarea vnzrilor realizate de firm de
la nceputul anului din fiecare produs n fiecare localitate (interogarea
Vnzri pe localiti);
Rezolvare

Fig 11.7 Interogare de tip tabel ncruciat

152

Fig 11.8 Rezultatul Interogari


ACTIVITATE ASISTATA
In legatura cu modelul propus la aplicatia rezolvata se cere: aflarea
numrului de comenzi realizate de fiecare client n fiecare lun a anului
(interogarea Comenzi pe lun).

ntrebri facultative
1. Definii interogarea parametrizata?
2. Definii interogarile de sinteza?
3. Definii interogarile crosstab?
4. Precizati functiile de tip agregat?
5. Precizati efectul optiuni Where asupra unui camp?
6.Precizati utilitatea liniei crosstab in grila QueryDesign?

Test de autoevaluare nr. 11

Timp de lucru : 15 min


Punctaj 100p

1. Pentru o interogare tabel ncruciat sunt necesare cel puin 3


cmpuri.Identificati:
a. RowHeading
b. MidleHeading
c. FrontHeading
d. ColumnHeading
e. Value
(5 puncte)
2 Parametrii pot fi utilizai nu doar n rndul de criterii, ci i n formulele ,
dac se dorete introducerea unui termen variabil n expresii
(5 puncte)
3. Interogrile de tip tabel ncruciat sunt extrem de utile n scopul . a
datelor permind obinerea unor situaii sintetice asemntoare tabelelor pivot consacrate de
procesoarele de tabele
(5 puncte)

153

4. (Interogri

ncruciate sunt interogri de tip parametrizat care afieaz o mare


cantitate de date provenite din unul sau mai multe tabele ntr-o form sintetic,
centralizat n format compact asemntor unei foi de calcul tabelar.
Adevarat

Fals
(5 puncte)

6: S se creeze o interogare parametrizat prin care s se obin o list a intrrilor


de materiale exprimate n dolari. Interogarea din figura urmtoare, va utiliza ca
surs de date tabela material.

(20puncte)

7. Fie o baz de date ce conine tabelele: material (codmaterial,


denmaterial, um)
stoc (codgestiune, codmaterial, stocinitial, datainitiala). Se cere
afiarea cantitilor de materiale stocate n magaziile
ntreprinderilor.
(20puncte)

8.Fie o baz de date ce conine tabelul: Auto (nrfactura,


datafactura, beneficiar, tipauto, cant, pret). S se realizeze o
interogare cu vnzrile lunare pe tipuri auto.
(30puncte)

U11.5. Rezumat
O interogare parametrizat se caracterizeaz prin faptul c n grila Design,
pe coloana dorit, n linia Criteria, se va preciza ntre paranteze drepte un mesaj
ce urmeaz a fi afiat la executarea cererii permind ca utilizatorul s introduc
criteriul de selecie dorit.
Parametrii pot fi utilizai nu doar n rndul de criterii, ci i n formulele
cmpurilor calculate, dac se dorete introducerea unui termen variabil n expresii.
Prin intermediul interogarilor cu rol de sintetizare a datelor se pot construi
cu uurin cereri care s returneze totalul, media, minimul sau maximul unor
grupuri de tupluri.

154

Interogrile Crosstab Query sunt interogri de tip total, cu deosebirea c n


listele obinuite care folosesc denumirea cmpurilor ca titluri de coloane, tabelul
ncruciat este un mod de a sintetiza datele ntr-o form specific.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.

Rspunsuri i comentarii la testul de autoevaluare nr. 11


1. ade; 2. campuri calculate; 3.-analizei multidimensionale; 4-F;

155

156

UNITATEA 12
INTEROGARILE DE AC IUNE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U12.1. Scopul i obiectivele unitii de nvare..

150

U12.2. Crearea interogrii de aciune.

151

U12.3. Interogri pentru crearea de noi tabele (Make Table Query).....

152

U12.4. Interogri pentru actualizarea datelor(Update Query)...................

153

U12.5. Interogri pentru adugarea datelor(AppendQuery).....................

155

U12.6 Interogri pentru stergerea datelor(DeleteQuery)...........................

155

Bibliografie minimal

157

Rspunsuri i comentarii la testul de autoevaluare .. 157

U12.1. Scopul i obiectivele unitii de nvare


Interogrile de aciune se folosesc pentru modificarea unui grup de
nregistrri, n locul manipulrii nregistrrilor individuale.
Exist patru tipuri de interogri de aciune: Make-Table Query (creare de
tabele), Append Query (adugare), Delete Query (tergere) i Update Query
(actualizare).
Dup parcurgerea acestei uniti vei fi capabil :
- S creai interogri generatoare de tabele;
- S creai interogri care sa actualizeze date in tabele
- S creai interogri care sa terg date din tabele;
- S creai interogri care sa adauge date din tabele;

157

U 12.2. Crearea interogrii de aciune


Interogrile de aciune se folosesc pentru modificarea unui grup de
nregistrri, n locul manipulrii nregistrrilor individuale.
Exist patru tipuri de interogri de aciune: Make-Table Query (creare de
tabele), Append Query (adugare), Delete Query (tergere) i Update Query
(actualizare).

Fig 12.1 Interogarile de actiune


Interogrile generatoare de tabele, Make-Table Query, fac exact ceea ce
sugereaz numele: creeaz un nou tabel. Cea mai frecvent utilizare a acestui tip
de interogare este pentru a crea un tabel care s prezinte coninutul altui tabel la
un anume moment de timp bine precizat;
Interogrile de actualizare, Update Query, se folosesc pentru a nlocui
anumite valori dintr-un tabel. De exemplu se mrete salariul tuturor angajailor
cu 4%;
Interogrile de adugare, Append Query, se folosesc pentru adugarea
de nregistrri dintr-un tabel existent, n locul nlocuirii nregistrrilor din tabelul
destinaie. Adugarea nseamn de fapt adugare la sfritul tabelului. Nu este
obligatoriu s se adauge toate cmpurile din baza de date de origine, ns
nregistrrile adugate trebuie s conin toate cmpurile obligatorii (Required) n
noua baz de date, inclusiv cmpul (cmpurile) cheie primar;
Interogrile de tergere, Delete Query, sunt opusul interogrilor de
adugare. Ele elimin dintr-un tabel toate nregistrrile care satisfac criteriile
specificate. Aceste interogri trebuie folosite cu precauie. nainte de execuie,
trebuie vizualizat rezultatul cu modul de afiare Datasheet pentru a fi siguri c
acesta conine numai nregistrrile ce se doresc a se terge i abia apoi se ruleaz
interogarea pentru eliminarea nregistrrilor din tabel.
Modul de elaborare a unei interogri tip aciune este similar celui prezentat
n cazul interogrilor de selecie, presupunnd ca etap suplimentar specificarea
explicit prin intermediul butonului rubrica contextual Query Tools a tipului de
cerere dorit.
Toate interogrile de aciune sunt bazate pe interogri de selecie, prin
urmare o interogare de selecie poate fi transformat ntr-o interogare aciune prin
parcurgerea urmtoarelor etape:
- se deschide interogarea de selecie n modul Design;
de pe "ribbon-ul" instrumente interogare se acceseaz una din variantele:
158

Make Table Query, Append Query, Delete Query sau Update Query,
dup caz.
Modificrile asupra bazei de date sunt efectuate doar n momentul execuiei
interogrii.
Este recomandat proiectarea n prealabil a cererii ca o simpl interogare de
selecie i verificarea rezultatelor ce vor fi afectate deoarece nu exist posibilitatea
revenirii n cazul tergerii sau modificrii eronate a nregistrrilor din tabel.

U12.3 Interogri pentru crearea de noi tabele (Make Table


Query)
Crearea de noi tabele pe baza nregistrrilor din tabelele deja
existente presupune parcurgerea urmtoarelor etape:
1. Elaborarea unei interogri de selecie n modul Design View (vor fi
luate n calcul doar cmpurile ce dorim s fac parte din structura noii tabele, iar,
n cazul n care sunt necesare i alte cmpuri pentru aplicarea unor criterii, acestea
nu vor fi marcate n linia Show a grilei QBE).
2. Apelarea din butonul rubrica Query Tools a opiunii Make Table Query i
specificarea n caseta Make Table a numelui noii tabele (se poate opta pentru
crearea noii tabele ntr-o alt baz de date bifnd opiunea Another Database i
specificnd numele fiierului).
3. Lansarea n execuie a interogrii.
Ca urmare a selectrii variantei Make Table va aprea pe ecran o
fereastr(fig12.2) n care se va specifica numele tabelului i se va selecta una din
opiunile:
- Current Database (pentru adugarea tabelului nou creat n baza de date
curent);
- Another Database (pentru adugarea tabelului ntr-o alt baz de date al
crui nume se va selecta din lista File Name).

Fig 12.2 Fereastra Make Table


Dup ce aceste elemente au fost specificate, se acceseaz butonul OK i
interogarea de selecie se va transforma ntr-o interogare de tipul Make-Table.
n cazul executrii repetate a unei astfel de interogri, sau atunci cnd se
specific n caseta Make Table numele unei tabele deja existente, vechea
tabel cu acelai nume va fi tears naintea generrii celei noi.
Pentru crearea tabelului asociat acestei interogri se execut urmtoarele
aciuni:
- se ruleaz interogarea de aciune din panoul "Navigation Panel";
- nainte de executarea aciunii, Access va ateniona printr-o
159

fereastr(fig12.3) de avertizare c interogarea va produce modificarea datelor din


tabel;

Fig 12.3 Fereastra de avertizare MakeTable


se execut click pe butonul Yes ceea ce conduce la apariia unui alt mesaj
ce indic efectele rulrii interogrii de aciune;

- se execut click pe butonul Yes i efectul este crearea tabelului.


Dac se dorete vizualizarea datelor din tabel, din fia Tables a Panoului de
navigare se deschide tabelul respectiv.
n acelai mod se poate transforma o interogare de selecie ntr-o
interogare de aciune de celelate tipuri.
Dup crearea tabelului, datele pot fi exportate n oricare din formatele
acceptate de Access.

U12.4 Interogri pentru actualizarea datelor(Update


Query)
Acest tip de interogri permit modificarea valorilor datelor din unul
sau mai multe cmpuri ale nregistrrilor ce satisfac restriciile impuse
de utilizator.
Pentru a realiza o interogare de tip Update este necesar selectarea n modul
Design View a cmpurilor ce vor fi actualizate i, eventual, a celor ce fac obiectul
restriciilor, dup care se va apela din butonul rubrica Query Tools opiunea
Update Query.
Ca rezultat al acestei operaii n grila QBE va fi disponibil linia Update To
n care se va putea completa formula de calcul sau valoarea dorit pentru
actualizare.
ACTIVITATE ASISTATA
Presupunem c, n urma renegocierii termenelor, s-a hotrt amnarea
livrrilor ctre clientul MAGIC SRL cu 5 zile. Modificarea se va produce evident
doar n cazul comenzilor care nu au fost nc expediate. Rezultatul este prezentat
n figura 12.4.

160

Fig.12.4 Interogarea Update Query

Fig.12.5 Tabela nainte de update

Fig.12.6 Tabela dup update

Observatii
1. Se remarc notaia ntre paranteze drepte a denumirilor de cmpuri, chiar dac
MAGIC SRL
acestea nu conin spaii.
2. n cadrul interogrilor Update nu sunt admise modificri asupra cmpurilor
cheie primar sau modificri ce ar putea conduce la nerespectarea restriciilor de
integritate.
3. O situaie ce ar putea genera erori survine atunci cnd, n cazul cmpurilor de
tip text, valoarea rezultat depete lungimea cmpului din tabel. n acest caz
valoarea va fi trunchiat din partea dreapt.

161

U12.5 Interogri pentru adugarea datelor(AppendQuery)


Interogrile pentru adugare ofer utilizatorilor posibilitatea inserrii
de noi nregistrri n tabel pornind de la nregistrrile existente.
Pentru a realiza o interogare de tip Append este necesar parcurgerea urmtoarelor
etape:
1. Elaborarea unei interogri de selecie n modul Design View. Se va alege
tabela ce conine datele i vor fi luate n calcul doar cmpurile ce conin valorile
ce vor fi adugate, iar, n cazul n care se dorete aplicarea unor criterii de selecie
a acestora, se vor aduga cmpurile de restricionat.
2. Se vor tasta eventualele condiii n linia de criterii a interogrii.
3. Din butonul rubrica Query Tools se va selecta opiunea Append Query ce va
conduce la afiarea ferestrei Append n care se va selecta numele tabelei n care
dorim adugarea.
4. Transformarea interogrii de selecie ntr-o interogare de adugare are ca efect
apariia rndului Append To n fereastra de proiectare a interogrii.
n acest rnd se va specifica pentru fiecare cmp din tabela ce conine datele
denumirea cmpului corespondent din tabela unde vor fi adugate.
Pentru exemplificare vom presupune c dorim adugarea n tabela clieni 2
(ce conine n momentul actual doar clienii din afara rii) a tuturor clienilor din
tabele clieni ce nu au sediul n Bucureti (figura5).
Denumirile cmpurilor din linia Append To a grilei QBE sunt completate
automat doar n cazul n care acestea coincid n tabela sursa cu cele din tabela
destinaie.

Fig12.7 Interogarea Append Query

U12.6 Interogri pentru stergerea datelor(DeleteQuery)


Interogrile aciune de tip Delete ofer posibilitatea eliminrii mai
multor nregistrri din tabele pe baza unor criterii impuse de utilizator..
Aciunea interogrilor de tergere acompaniat de opiunea de tergere n
cascad configurat n fereastra Relationships poate conduce la tergerea
simultan a datelor din mai multe tabele.
Pentru a realiza o interogare de tergere se elaboreaz n mod normal o cerere
selectndu-se cmpurile dorite i impunndu-se restriciile necesare dup care se
apeleaz din Butonul Query Tools opiunea Delete.

162

Exemplul urmtor prezint modalitatea n care se pot terge din baza de date
toate comenzile efectuate dup data de 9 februarie de clienii ce au codurile 2 sau
3 (figura 12.8).

Fig12.8 Interogarea Delete Query


Observatie
Este evident c interogarea nu va putea fi executat n cazul n care tergerea
unor nregistrri n tabela Comenzi ar conduce la nclcarea regulilor de
integritate a bazei de date (relaia ntre tabela Comenzi i Coninut comand
trebuie s accepte tergerea n cascad).
ntrebri facultative
1. Definii interogarile de aciune?
2. Definii interogarile generatoare de tabele ?
3. Definii interogarile de actualizare a datelor?
4. Definii interogarile de stergere a datelor?
5. Definii interogarile de adaugare a datelor?
6.Precizati campurile asupra carora este interzisa crearea unei interogari de
actualizare a datelor?

Test de autoevaluare nr. 12


1.
Timp de lucru : 15 min
Punctaj 100p

Identificati care sunt interogarile de actiune?

a. ParameterQuery
b. MakeTable Query
c. UpdateQuery
d. CrosstabQuery
e. AppendQuery
(5 puncte)
2 Interogrile aciune de tip Delete ofer posibilitatea mai multor
nregistrri din tabele pe baza unor criterii impuse de utilizator

163

(5 puncte)
3. Interogrile pentru adugare ofer utilizatorilor posibilitatea de noi nregistrri
n tabel pornind de la nregistrrile existente.
(5 puncte)
4.(Modificrile asupra bazei de date sunt efectuate doar n momentul execuiei interogrii .
Adevarat

Fals
(5 puncte)

5: Fie o baz de date ce conine urmtoarele 3 tabelele:


MATERIALE(Cod_material,Den_materiale,unitate_masura)
MATERIALE_APROV( nrnrcd,cod_material,cant_aprov,pret_aprov)
COMENZI( nrnrcd,data_nrcd,cod_furnizor,cod_gestiune,cod_factura, data_factura)

SE CERE:
1. S se creeze o nou tabel (gestiune) pentru un cod de gestiune precizat de
utilizator n timpul execuiei i care s conin cmpurile: codgestiune (comenzi),
nrnrcd (material_apr), codmaterial (material_apr), denmaterial, cantaprov,
pretaprov.
2. n tabela gestiune creat anterior, s se mai adauge nregistrrile altei gestiuni.
Interogarea va avea ca surs de date tabelele material, nrcd, material_apr .
3. S se tearg nregistrrile referitoare la o gestiune din tabela gestiune rezultat
din interogarea de la punctul doi .
4. S se modifice pretaprov pentru un material precizat n timpul execuiei (se
micoreaz preul cu 10%).
(70 puncte)

U12.6. Rezumat
Interogrile de aciune se folosesc pentru modificarea unui grup de
nregistrri, n locul manipulrii nregistrrilor individuale.
Exist patru tipuri de interogri de aciune: Make-Table Query (creare de
tabele), Append Query (adugare), Delete Query (tergere) i Update Query
(actualizare). Interogrile generatoare de tabele, Make-Table Query, fac exact
ceea ce sugereaz numele: creeaz un nou tabel. Cea mai frecvent utilizare a
acestui tip de interogare este pentru a crea un tabel care s prezinte coninutul altui
tabel la un anume moment de timp bine precizat;Interogrile de actualizare,
Update Query, se folosesc pentru a nlocui anumite valori dintr-un tabel.
Interogrile de adugare, Append Query, se folosesc pentru adugarea de
nregistrri dintr-un tabel existent, n locul nlocuirii nregistrrilor din tabelul
destinaie. Interogrile de tergere, Delete Query, sunt opusul interogrilor de
adugare.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.

Rspunsuri i comentarii la testul de autoevaluare nr. 12


1. bce; 2. -eliminari; 3.-inserari; 4-A

164

VERIFICARE NR. 3
1. In baza de date cu numele Gestiune(verificarea 2), ce contine tabele:

2. Se cere:
a. S se creeze cu ajutorul Access2007 o interogare de selectie simpla?
b. S se creeze o interogare care sa afiseze toate materialele ce incep cu litere de
la A la M, ct i stocul initial,pretul si cantitatea la care au fost aprovizionate ?
c. S se creeze o interogare care afiseze codmaterial,denmaterial,codgestiune,
codfurnizor,nume furnizor,codfactura pentru toate materialele achizitionate in
perioada 1.04.2011 30.04.2011 ?
d. Sa se creeze o interogare care a sa afiseze campurile: valoarea, TVA ct si
valoarea final pentru toate materialele aprovionate in luna aprilie 2011.
e. S se obin o list a intrrilor de materiale exprimate n dolari.
f .Sa se creeze o interogare parametrizata care sa afise codul de bon 100,
continutul acestui bon cat si materialele si pretul de achiztie al respectivelor
materiale.
g. Obinerea unei situaii ce afieaz valoarea platilor realizate de firm de la
nceputul anului pentru fiecare material pentru fiecare client in parte.
h. S se creeze o nou tabel (gestiune2) pentru un cod de gestiune precizat de
utilizator n timpul execuiei i care s conin cmpurile: codgestiune, nrnrcd ,
codmaterial, denmaterial, cantaprov, pretaprov .
i. S se modifice pretaprov pentru un material precizat n timpul execuiei (se
micoreaz preul cu 10%).

165

MODULUL 4

UNITATEA 13:

UNITATEA 14 :

Formularele Access
Rapoartele Access

166

UNITATEA 13
FORMULARELE ACCESS

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U13.1. Scopul i obiectivele unitii de nvare..

160

U13.2. Crearea Formularelor Access..

161

U13.3. Lucrul cu un formular in MODUL DESIGN..

168

Bibliografie minimal

175

Rspunsuri i comentarii la testul de autoevaluare .. 175

U13.1. Scopul i obiectivele unitii de nvare


Formularele sunt obiecte Access utilizate pentru afiarea pe ecran a
diferite informaii precum raportrile simple, precizarea elementelor de dialog n
cadrul aplicaiilor, dar mai ales pentru introducerea, editarea i afiarea
datelor.Dei este specific afirii pe ecran, formularul poate fi i imprimat, dar
apar pe lng informaii i toate elementele de design, culorile de fundal,
butoanele de comand, casetele de text.
Formularele sunt deci utilizate n diferite scopuri ele fiind de fapt o
interfa de acces rapid la coninutul tabelului oferind n acelai timp un control
mai puternic asupra datelor prin ataarea unor condiii de validare asupra
cmpurilor existente sau calculate sau prin mesaje de atenionare.
Dup parcurgerea acestei teme vei fi capabil s:
- S motivai necesitatea crerii formularelor;
- S creai formulare AutoForm i Form Wizard;
- S creai formulare atractive, personalizate.

167

U 13.2. Crearea Formularelor Access


Un formular este un obiect de baz de date care se utilizeaz pentru a
introduce, edita sau afia date dintr-un tabel sau dintr-o interogare.
Un formular atrgtor din punct de vedere vizual face ca lucrul cu baza de
date s fie mai plcut i mai eficient i previne introducerea de date incorecte.
Dei este specific afirii pe ecran, formularul poate fi i imprimat, dar
apar pe lng informaii i toate elementele de design, culorile de fundal,
butoanele de comand, casetele de text.
Formularele sunt utilizate n diferite scopuri ele fiind de fapt o interfa de
acces rapid la coninutul tabelului oferind n acelai timp un control mai puternic
asupra datelor prin ataarea unor condiii de validare asupra cmpurilor existente
sau calculate sau prin mesaje de atenionare
Un formular poate reduce la minimum erorile de introducere a datelor,
deoarece este foarte asemntor cu formularul clasic, pe hrtie, care conine
informaiile pe cate dorii s le introducei n formularul dumneavoastr.
Un formular poate include cmpuri din tabele multiple, deci nu trebuie s
trecei de la un formular la altul atunci cnd introducei datele.
Pentru crearea unui formular, din butonul rubrica CREARE se selecteaz
grupul Forms.

Fig13.1 Grupul Formulare(forms)


Ca la majoritatea obiectelor pe care le creai ntr-o baz de date, atunci
cnd creai un formular avei mai multe opiuni la dispoziie:
1. Putei folosi butonul Form (formular) din rubrica Create (creare) pentru a crea
un f o r m u l a r simplu care conine toate cmpurile din tabelul sau interogarea
curent selectat.
2. Putei folosi butonul Split Form (formular divizat) din rubrica Create pentru a
crea un formular care conine toate cmpurile i o foaie de date din tabelul sau
interogarea curent selectat.
3. Putei folosi butonul Multiple Items (elemente multiple) din rubrica Create
pentru a crea un formular tabular, care conine toate cmpurile din tabelul sau
interogarea curent selectat.
4. Putei folosi butonul Blank Form (formular vid) din rubrica Create pentru a crea
un formular care conine cmpurile pe care le dorii.
5. Putei folosi butonul Pivot Chart (diagram pivot) sau comanda Pivot Table
(tabel pivot) (butonul More - mai multe) din rubrica Create pentru a crea un
formular de tip diagram sau tabel pivot.
6. Putei folosi comanda Modal Dialog (dialog modal) (butonul More) pentru a
crea un formular caset de dialog care conine cmpurile dorite.
7. Putei folosi comanda Datasheet (foaie de date) din rubrica Create pentru a crea
un formular de tip foaie de date.
8. Cu aplicaia Form Wizard putei specifica tipul de formular pe care dorii s-l
creai, iar aplicaia expert v ndrum n fiecare pas al procesului. Dumneavoastr
168

rspundei la o serie de ntrebri despre formularul dumneavoastr, iar Access


creeaz un formular folosind preferinele dumneavoastr de formatare.

Forms

Expert
formular

Split
Forms

Datasheet

Multiple
Items

Modal Dialog
PivotChart
Pivot Table

Blank
Forms
Fig.13.2 Opiuni de crearea a formularelor

Proiectare
formular

Observatie
Desigur, dup ce ai completat un formular, l putei personaliza n
continuare folosind vederea Layout sau Design

Fig13.3.Vederea Design a unui formular


In vederea Design utilizatorul poate modifica tipul de caractere cu care
este editat formularul, poate aduga o sigl, titlu de formular, data si ora, poate
adauga campuri in formular de asemenea poate selecta unul din stilurile
predefinite etc..

Fig13.4.Vederea Layout unui formular

169

1.Crearea unui formular simplu(Forms)


Pentru a crea un formular simplu n Access, putei folosi unul dintre
butoanele formular disponibile n rubrica Create (creare) (Nou!) Putei crea un
formular simplu(1), divizat ( N o u ! ) , tabular - folosind articole multiple - , vid
i o dia gram pivot. Aceste butoane aranjeaz rapid cmpurile din tabelul sau
interogarea selectat ntr-un formular atractiv
Noul formular este bazat pe obiectul activ. De exemplu dac un tabel este
activ i utilzatorul execut clic pe butonul Form (formular), Access creeaz un
formular nou bazat pe tabelul activ. Dup ce ai creat un formular, il puteti salva i
denumi astfel nct s-l putei folosi din nou.
2. Crearea unui formular folosind aplicatia expert(Form Wizard)
Dac avei nevoie de un formular personalizat, putei folosi aplicaia
expert pentru a selecta dintr-o diversitate de locaii informaiile pe care dorii s le
includei.
Aplicaia expert v ndrum pas cu pas n procesul de creare a
formularului, n cursul procesului, selectai sursa de date (tabele sau interogri, iar
apoi cmpuri specifice), determinai dispunerea informaiilor n formular,
specificai stilul formularului i indicai vederea.
Etape de urmat pentru a crea formulare in modul expert:
1. Executai clic pe rubrica Create (creare).
2.Executai clic pe butonul More Forms (Mai multe formulare) i apoi executai
clic pe Form Wizard .

2
Fig13.5.Lansarea in executie a modului Design
3. Executai clic pe sgeata cu list pentru a alege un tabel sau o interogare pe
care se va baza formularul, dup care executai clic pe numele tabelului sau al
interogrii dorite.
4. se selecteaz tabela sau interogarea dorit n rubrica derulant
solicitat. Se selecteaz cmpurile din sursa de date, ce vor fi
afiate n formular; cmpurile accesibile ale tabelei/interogrii
selectate sunt afiate n zona Available Fields; cmpurile ce for
face parte din formular sunt afiate n zona Selected Fields
(figura 13.6.); selectarea cmpurilor se face cu ajutorul
butoanelor:
> pe al crui click se transmite un singur cmp selectat din zona
Available Fields n zona Selected Fields;
170

>> pe al crui click se transmit toate cmpurile din zona


Available Fields n zona Selected Fields;
< pentru revenirea unui cmp selectat din Selected Fields n
Available Fields;
<< pentru revenirea tuturor cmpurilor selectate din Selected
Fields n Available Fields;
5. Executai clic pe Next (urmtor) pentru a continua.

3
4

6. Determinai dispunerea i poziia informaiilor n formular (Columnar - pe


coloane, Tabular - tabel, Datasheet foaie de date sau Justified - aliniat).
7. Executai clic pe Next pentru a continua.

7
6
8. Specificai stilul formularului, care afecteaz formatarea i aspectul final al
acestuia. In zona de previzualizare a casetei de dialog, putei vedea o
previzualizare a stilului selectat.
171

9. Executai clic pe Next (urmtor) pentru a continua.

9
8

10. Introducei un nume pentru formularul dumneavoastr.


11. Indicai dac dorii s deschidei formularul sau sa-l afiai n vederea Design.
12. Executai clic pe Finish (finalizare)

10
1
2
11

3. Crearea unui formular tip foaie de date


Vederea Datasheet (foaie de date) reprezint o modalitate simpl de a
parcurge informaiile dintr-un tabel.
Acces pune la dispoziie posibilitatea de a crea un formular de tip foaie de
date, pe care l putei folosi n acelai mod ca pe un tabel. Putei folosi butonul
More (mai mult) din rubria Create (creare) pentru a folosi comanda Datasheet
172

(foaie de date) pentru a crea rapid un formular de tip foaie de date folosind tabelul
sau interogarea selectate n panoul Navigation (navigare).

4. Crearea unui formular cu elemente multiple

Cnd creai un formular folosind butonul Form (formular) din rubrica


Create (creare), Access creeaz un formular care afieaz o singur nregistrare la
un moment dat. Dac trebuie s afiai mai multe nregistrri ntr-un formular,
putei folosi butonul Multiple Items (elemente multiple) din rubrica Create pentru
a crea rapid un formular tabelar folosind tabelul sau interogarea selectat n
panoul Navigation (navigare). Un formular cu elemente multiple afieaz mai
multe nregistrri ntr-o foaie de date, cu o nregistrare n fiecare rnd. Datele din
formular apar pe rnduri i coloane.
Fig13.6. Vederea Design a unui formular cu elemente multiple

Fig13.7. Vederea Datasheet a unui formular cu elemente multiple

173

5. Crearea unui formular VID (BlankForms)


Dac intenionai s folosii numai cteva cmpuri dintr-un formular,
instrumentul Blank Form (formular vid) faciliteaza tragerea i plasarea rapid cu
mouse-ul a cmpurilor din orice tabel din baza de date. Putei folosi butonul
BlankForm (formular vid) din rubrica Create (creare) pentru a crea rapid un
formular gol n vederea Layout (machet).
Cnd creati un formular vid, se deschide lista de cmpuri (Field List), unde
putei trage cmpurile dorite n formularul vid. Dupa ce adaugati adugai
cmpuri n vederea Layout, putei trece la vederea Design i aduga controale.
In vederile Design i putei aduga imagini, titluri, numere de pagini, data
si ora precum i formata aspectul formularului.

Fig13.8. Vederea Design a unui formular VID

Fig13.9. Vederea Datasheet a unui formular VID

6. Crearea unui formular de dialog(Modal Dialog)


Dac dorii s v asigurai c informaiile sunt introduse ntr-un formular,
instrumentul Modal Dialog v cere s nchidei fereastra nainte de a continua.
Putei folosi butonul More din rubrica Create pentru a selecta comanda Modal
Dialog pentru a crea rapid un formular de dialog n vederea Design.
Cnd creai un formular de dialog, se deschide lista de cmpuri (Field
List), unde putei trage i plasa cu mouse-ul cmpuri din orice tabel din baza de
date n formular, n vederea Design.
Dup ce adugai cmpuri n vederea Design, putei aduga elemente de
control, imagini, titluri, numere de pagini, data i ora, iar apoi s formatai
aspectul formularului.
174

U13.3 Lucrul cu un formular in MODUL DESIGN


Dei o aplicaie expert poate fi de mare ajutor atunci cnd nvai s
creai un formular, l putei crea fr ajutorului unei asemenea aplicaii dac avei
o idee bun cu privire la aspectul viitorului formular.
In loc s rspundei la ntrebari dintr-o serie de casete de dialog, putei sa
ncepe s lucrai imediat n vederea Design.
Vederea Design este util pentru lucrul cu structura i dezvoltarea unui
formular. Putei crea modifica, muta i formata controalele pentru a crea exact
formularul pe care vi-l dorii.
Modul Design View este modul cel mai complet de creare a formularelor
deoarece este permis orice modificare a elementelor puse la dispoziie de MS
Access. Acest mod poate fi folosit pentru editarea formularelor existente. Prin
intermediul formularelor putem decide modalitatea n care sunt afiate i
prelucrate datele. Pentru crearea unui formular cu Design View este necesar
prezentarea principalelor elemente ce vor fi incluse n acestea: controalele.
Controalele sunt obiecte grafice (elemente vizuale) ce
sunt incluse n formulare sau rapoarte, n scopul editrii/afirii
datelor sau executrii unor aciuni (ex.: etichete, casete text,
butoane, etc.). Adugarea controalelor se poate face numai n
etapele de creare sau modificare a formularelor, astfel:
din panglica butonului rubrica contextual Instrumente
proiectare formular se selecteaz butonul aferent controlului
dorit;
se descrie, cu ajutorul mouse-lui, o zon dreptunghiular pe
suprafaa
formularului, definind astfel poziia i dimensiunea noului control.

Fig13.10 Panglica butonului Instrumente proiectare


formular
Controalele ce pot fi plasate pe suprafaa unui formular pot fi de diferite
tipuri: etichete (labels), casete de text (text boxes), chenare (frames), butoane
(command buttons), casete de control (check boxes), butoane de opiune (radio
buttons), casete liste combinate (combo boxes), casete list (list boxes), bare de
derulare rapid (scrool bars), casete imagine (pictures boxes), generatoare de
semnale de timp (timers), liste de uniti de disk (drive list boxes), liste de
directori (directory list boxes), liste de fiiere (file list boxes), figuri geometrice
(shapes), linii (lines), imagini (images), data calendaristic (data).
Etichetele (labels): sunt casete de text transparente cu rol de transmitere a
unui mesaj utilizatorului. Transparena acestora creeaz senzaia lipirii textului de
suprafaa formularului. De regul ele afieaz numele controlului i nu afecteaz
datele din tabelul surs. Coninutul mesajului transmis nu poate fi modificat dect
175

de aciunea instruciunilor n cod VBA.


Cmpurile de editare (Text boxes): sunt folosite pentru afiarea
nregistrrilor. Este permis modificarea cmpurilor i introducearea de date.
Opional acestor cmpuri li se ataeaz o etichet cu un mesaj explicativ.
Casetele combinate (Combo boxes): sunt folosite pentru afiarea unui set
de nregistrri selectate i ordonate dup un anumit criteriu. Sursa nregistrrilor o
constitue coloanele tabelului sau o interogare. Sunt compuse dintr-un cmp de
editare i un buton de deschidere marcat de un triunghi cu vrful n jos. Avantajul
oferit de acest control este economia de spaiu pe suprafaa formularului, deoarece
n poziie nchis afieaz numai o singur linia a coninutului pe care l
controleaz. Opional se pot ataa i etichete.
Casete cu list (list boxes): au acelai rol cu casetele combinate, doar c
lista este permanent afiat. Pentru alegerea unui anumit element din list se
execut click pe acesta.
Butoane radio (Radio button): apar de regul n grupuri de cte 2-3 i sunt
folosite pentru a alege o singur opiune din setul respectiv. Alegerea se face
executnd click pe eticheta controlului. Acest gen de opiuni se exclud reciproc.
Casetele de validare (Check Box): permit alegerea mai multor variante
dintr-un set de mai multe opiuni.
Butoanele de comand (Command Button): arat i se comport ca nite
butoane. Ele pot fi apsate pe un formular executnd click pe ele. Astfel ele dau
impresia c sunt apsate. Pot conine imagini sau texte. Sunt folosite pentru a
lansa n execuie secvene de cod VBA.
Eticheta de comutare (Tab control): ofer o metod intuitiv de comutare
ntre mai multe formulare. Este util n situaia n care exist foarte multe
informaii despre o singur unitate. Controalele Tab au proprieti specifice i
fiecare etichet dintr-un control Tab are propria fi de proprieti.
Grupul de opiuni (Option Group): este cel mai indicat control pentru a
prezenta toate opiunile disponibile, permind selectarea unei singure opiuni din
ntregul grup. n cazul utilizrii unui grup de opiuni acesta este legat de cmpul
de date i apoi este completat cu unul sau mai multe dintre urmtoarele tipuri de
controale: butoane de comand, butoane radio, casete de validare.
Controalele Linie (line) i Dreptunghi (Rectangle): sunt folosite pentru
design-ul formularelor.
Separatorul de pagin (Page break): se folosete atunci cnd formularul
este prea lung i va marca locul n care pagina va prea c se rupe atunci cnd se
folosesc tastele Page Up i Page Down.
ntr-un formular controalele sunt asociate cmpurilor din tabele n scopul
introducerii datelor sau afirii coninutului acestora. Controalelor li se pot asocia
nume (etichete). n orice formular pot fi adugate controale noi, pot fi selectate,
repoziionate, redimensionate sau terse.
Se selecteaz butonul corespunztor controlului dorit i se execut dublu
click pe acesta sau se poate s se agae i s se trag controlul n interiorul
formularului. Controalele din Panglica butonului Instrumente
proiectare formular utilizate n formulare sunt:
Pointer (permite deplasarea i dimensionarea controalelor);
Asistentul (activeaz/dezactiveaz programele Control Wizard);
Eticheta (afieaz text care poate fi modificat);
Casete de text (genereaz o zon de afiare sau de introducere a unui text);
Cadru (grupeaz controalele n mai multe seturi);

176

Buton comutator (permite comutarea din starea On n starea Off atunci cnd
este selectat);
Buton de opiune (prezint un set de opiuni din care se selecteaz una);
Caset de validare;
Caset list (afieaz o list de elemente din care se poate selecta unul);
Imagine (permite afiarea unui grafic);
Buton de comand (execut o aciune sau o comand atunci cnd este n
poziia apsat);
Obiect nelegat (permite includerea de obiecte OLE);
Obiect OLE legat;
Delimitator de pagin (determin imprimanta s treac la pagin nou);
Schimbtor de pagin (permite crearea unei serii de pagini ce pot fi
schimbate);
Subformular (ataeaz unui formular un subformular);
Linie (permite trasarea unei linii);
Dreptunghi (permite trasarea unui dreptunghi);
Alte controale (deschide lista cu alte controale);

Controalele au proprieti specifice care pot fi vizualizate sau modificate.


Pentru aceasta se poziioneaz cursorul pe controlul respectiv se d click pe tasta
dreapt a mouse-ului i din meniul afiat se acceseaz opiunea Properties, sau
selectand direct Foaie Proprieti din panglica butonului Instrumente
proiectare formular.
Setarea unei proprieti se poate face prin urmtoarele variante:
tastarea valorii respective;
selectarea valorii dintr-o list derulant (dac aceasta este
disponibil);
cu ajutorul asistentului, care poate fi invocat prin apsarea
butonului Build Wizard (atunci cnd acest buton este disponibil).
n cadrul ferestrei Properties, proprietile formularului curent
sunt mprite n patru categorii:
1. Format conine atribute privitoare la dimensiune, aspect,
coordonatele de afiare ale formularului etc.;
Caption conine titlul formularului ce va aprea n bara de
titlu a acestuia;
Default View specific modul implicit de afiare, folosit la
execuia formularului (Single Form, Tabular Form, Datasheet);
Views Allowed reprezint modurile de afiare ce sunt
disponibile n timpul execuiei;
Scroll Bars seteaz barele de defilare vizibile n cursul
execuiei (bara orizontal, bara vertical, amndou sau nici
una);
Record Selectors afieaz sau nu selectorul de nregistrare
n timpul execuiei
formularului;
Navigation Buttons specific dac formularul va conine
butoanele de navigare n cursul execuiei sale;
Dividing Lines precizeaz dac se afieaz linii pentru
delimitarea seciunilor
formularului sau a nregistrrilor la execuie;
177

Auto Center dac este setat pe valoarea Yes, formularul va


fi afiat, la execuie, n centrul ecranului;
Border Style specific tipul bordurii. Setarea acestei
proprieti va avea efect i asupra comportamentului
formularului:
None formular fr bordur (formularul nu va putea fi
redimensionat la execuie);
Thin bordur subire (formularul nu va putea fi
redimensionat);
Sizable bordura implicit (formularul poate fi redimensionat);
Dialog bordura subire (formularul nu poate fi redimensionat
iar bara de titlu va conine doar butonul pentru nchidere Close
obinndu-se astfel un formular de tip Dialog Box).
Control Box indic prezena meniului sistem n bara de titlu;
Min Max Buttons dezactiveaz sau activeaz fie ambele, fie
unul din butoanele de
minimizare i maximizare din bara de titlu;
Close Button indic prezena butonului de nchidere (Close)
n bara de titlu;
Width specific limea formularului i implicit a tuturor
seciunilor. Aceast
proprietate poate fi modificat n timpul proiectrii formularului,
dar i n cursul execuiei acestuia (dac bordura este de tip
Sizable), cu ajutorul mouse-lui.
Picture poate conine specificatorul unui fiier grafic, al crui
coninut va fi afiat pe fundalul formularului;
Picture Type specific varianta OLE folosit:
Embedded (nglobat) imaginea este inclus n formular;
Linked (legat) se creeaz doar o legtur ctre fiierul grafic
(formularul nu va afia imaginea respectiv dac fiierul este
ters, mutat etc.).
Grid X conine numrul de subdiviziuni orizontale pe unitatea
de msur (cm, inch, etc.). Grila (Grid) servete la alinierea
automat a controalelor.
Grid Y conine numrul de subdiviziuni verticale pe unitatea
de msur (intervalul 1-64).
2. Data grupeaz proprieti referitoare la sursa de date i
nregistrrile aferente;
Record Source conine sursa de date a formularului (tabel
sau interogare). Aceast proprietate poate conine chiar i o
comanda SQL (sunt admise numai cererile de selecie).
Un formular va avea ca surs de date o interogare dac:
afieaz n format Datasheet sau Tabular, controale nelegate;
afieaz cmpuri din mai multe tabele.
Filter conine criteriul de selecie care se va aplica
nregistrrilor din formular. Condiia de filtrare este o clauz SQL
WHERE, ns fr s conin cuvntul WHERE. Pentru ca filtrul s
fie activ, proprietatea Filter On trebuie setat pe valoarea True
(setare ce se poate face numai din VBA).

178

Order By permite specificarea cmpurilor dup care vor fi


sortate nregistrrii din formular. Sintaxa este identic cu sintaxa
clauzei SQL, OrderBy.
Pentru ca operaia de ordonare s se execute automat la
deschiderea formularului,
proprietatea OrderByOn trebuie setat pe True (proprietatea este
disponibil numai din VBA).
Data Entry dac este setat pe valoarea Yes, formularul nu
va afia, la deschidere, nregistrrile existente. Proprietatea este
util pentru formularele ce vor permite numai adugarea de
nregistrri.
Record Locks specific dac i ce nregistrri vor fi blocate
pentru ali utilizator (blocarea se poate face fie pentru toate
nregistrrile, fie numai pentru nregistrarea curent).
3. Event conine evenimentele ce pot fi tratate fie prin
proceduri sau funcii scrise n limbajul VBA, fie prin macro-un.
Proprietile acestei categorii se numesc proprieti eveniment i
au denumiri asemntoare cu cele ale evenimentelor crora le
sunt ataate.
4. Other conine diverse alte proprieti.
Pop Up dac se dorete ca, n cursul execuiei sale, formularul
s fie permanent vizibil (va fi poziionat permanent deasupra
celorlalte ferestre, chiar dac nu este activ), aceast proprietate
se va seta pe valoarea Yes;
Modal specific dac formularul va fi modal sau nemodal;
Cycle descrie efectul apsrii tastei Tab pe ultimul cmp din
formular: salt la urmtoarea nregistrare (All records), revenire la
primul cmp (Current record), revenire la primul cmp din pagina
curent (Current Page);
Menu Bar conine numele unui meniu creat de utilizator, ce va
fi afiat la lansarea n execuie a formularului;
Toolbar indic toolbar-ul propriu ce va fi disponibil n cursul
rulrii.

Crearea unui formular in modul design


1. Executai clic pe rubrica C r e a t e (creare).
2. Executai clic pe butonul Form Design (design formular).
3. Executai clic pe butonul Design View (vedere design).
4. Dac este necesar, executai clic pe butonul Add Existing Field (adugare cmp
existent) din rubrica Design de sub Form Design Tools (instrumente de proiectare
formular) pentru a aduga un control asociat.
5. Selectai cmpul pe care dorii s-l adugai la formular, tragei cmpul n
locaia din formular unde dorii s fie plasat, iar apoi eliberai butonul mouse-ului
pentru a poziiona cmpul.
6.Creai controale noi dup necesiti, folosii oricare dintre butoanele de control
din rubrica Design de sub Form Design Tools, tragei cu mouse-ul pentru a crea
controlul i apoi urmai indicaiile aplicaiei expert.
7. Formatai textul din formular, dup necesiti.

179

8. Executai clic pe butonul Save (salvare) din bara cu instrumente pentru acces
rapid pentru a denumi formularul, iar apoi salvai-l n baza de date.

Fig13.11 Crearea unui formular in modul Design

ACTIVITATE ASISTATA
Fie baza de date :

180

S se creeze un formular utiliznd Design View pentru tabelul


imobile care s arate ca n figura urmtoare:

Fig. 13.12. Formularul (Form View)

Fig. 13.13. Formularul (Design View)


ntrebri facultative
1. Definii formularele?
2. Precizai rolul si utilitatea formularelor?
3. Definiti controalele ?
4. Definiti etichetele ?
5. Definiti cmpurile de editare?
6. Precizati utilitatea butoanelor radio?
7. Precizati utilitatea etchetelor de comutare?

Test de autoevaluare nr. 13


Timp de lucru : 15 min
Punctaj 100p

181

1. Identificatile proprietatile de tip format ale formularelor:


a. Caption
b. Default View
c. GridX
d. Event
e. ScrollBars
(10puncte)
2. Controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse n
sau , n scopul editrii/afirii datelor sau
executrii unor aciuni.
(10 puncte)
3. Formularele servesc la .. i .. nregistrrilor provenite din mai multe
tabele asociate..
(10 puncte)
4. (Formularele sunt obiecte Access utilizate pentru afiarea pe ecran a diferite informaii precum
raportrile simple, precizarea elementelor de dialog n cadrul aplicaiilor, dar mai ales pentru
introducerea, editarea i afiarea datelor.
Adevarat

Fals
(5puncte)

5.Formularele servesc la tiprirea informaiilor in baza de date .


Adevarat

Fals
(5puncte)

6. S se creeze un formular in modul forms.


(10puncte)
7. S se creeze un formular n modul Multiple Item
(10puncte)
8. S se creeze un formular n modul Datasheet
(10puncte)
9. S se creeze un formular n modul BlankForms
(10puncte)
10. S se creeze un formular n Dialog Modal
(10puncte)

U13.4. Rezumat
Formularele sunt obiecte Access utilizate pentru afiarea pe ecran a diferite
informaii precum raportrile simple, precizarea elementelor de dialog n cadrul
aplicaiilor, dar mai ales pentru introducerea, editarea i afiarea datelor.Dei este
specific afirii pe ecran, formularul poate fi i imprimat, dar apar pe lng
informaii i toate elementele de design, culorile de fundal, butoanele de comand,
casetele de text.
Formularele sunt deci utilizate n diferite scopuri ele fiind de fapt o interfa de
acces rapid la coninutul tabelului oferind n acelai timp un control mai puternic
asupra datelor prin ataarea unor condiii de validare asupra cmpurilor existente
sau calculate sau prin mesaje de atenionare.
182

Formularele servesc de asemenea la extragerea i prelucrarea nregistrrilor


provenite din mai multe tabele asociate, fitrarea nregistrrilor pe baza impunerii
unor condiii, vizualizarea nregistrrilor ordonate, parcurgerea aleatoare a
nregistrrilor i multe ale faciliti.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.

Rspunsuri i comentarii la testul de autoevaluare nr. 13


1 abe; 2. formulare/rapoarte; 3.-extragerea /prelucrarea; 4-A;5-F

183

UNITATEA 14
RAPOARTELE ACCESS

Durata medie de studiu individual - 2 ore

Cuprins:

pag.

U14.1. Scopul i obiectivele unitii de nvare..

176

U14.2. Crearea rapoartelor Access.

177

U14.3.
Crearea
Rapoartelor
Wizard.

179

Modul

Report

U14.4. Generarea rapoartelor folosind opiunea Design View.


Bibliografie minimal

182
185

Rspunsuri i comentarii la testul de autoevaluare .. 185

U14.1. Scopul i obiectivele unitii de nvare


Raportul reprezint de fapt scopul unei aplicaii baz de date reprezentnd
informaii generate pe baza datelor coninute ntr-o baz de date. Rapoartele pot
afia toate informaiile corespunztoare unei nregistrri sau numai o parte a
acestora. Flexibilitatea personalizrii rapoartelor pe baza criteriilor definite de
utilizator i a organizrii datelor n diverse moduri, adic accesibilitatea datelor,
este caracteristica de la care provine numele programului Access.
Obiective:
Dup parcurgerea acestei teme vei fi capabil s:
- s creai rapoarte tabelare i pe coloan;
- s folosii instrumentul Report Wizard pentru a crea rapoarte
pe baza unot tabele;
- s grupai i s sortai datele dintr-un raport;

184

U 14.2. Crearea rapoartelor Access


Tratnd teoretic diferenele dintre formulare i rapoarte, se poate afirma c
ambele au acelai coninut i pot servi acelorai obiective de informare.
Practic, formularele sunt destinate proceselor interactive, ntrebare
rspuns, ntre utilizator i afirile pe ecran ale sistemului, iar rapoartele sunt, n
principal, destinate informrilor scrise (la imprimant).
Microsoft Access furnizeaz o serie de metode de extragere i prezentare a
datelor din baza de date, folosind interogrile, formularele i rapoartele. Dac
interogrile au fost proiectate pentru selectarea s i prelucrarea datelor, formularele
pentru operarea datelor prin intermediul monitorului, rapoartele au fost proiectate
n primul rnd pentru listarea la imprimant a datelor din baz, ntr-un format
atractiv.
n rapoarte, datele pot fi organizate i prezentate n grupuri, pot include
subformulare i subrapoarte, grafice, imagini, linii i fonturi speciale.
Ca i celelalte obiecte din baza de date prezentate pn acum, i rapoartele
pot fi create manual sau cu ajutorul asistenilor Wizard.
Pentru crearea unui formular, din butonul rubrica CREARE se selecteaz
grupul Reports

Fig14.1 Grupul Rapoarte


Ca la majoritatea obiectelor pe care le creai ntr-o baz de date, atunci cnd creai
un formular avei mai multe opiuni la dispoziie:
1. Putei folosi butonul Raport (Report) din rubrica Create (creare) pentru a crea
un fraport simplu care conine toate cmpurile din tabelul sau interogarea curent
selectat.
2. Putei folosi butonul Blank Report (raport vid) din rubrica Create pentru a crea
un raport care conine cmpurile pe care le dorii.
3.Cu aplicaia Report Wizard putei specifica tipul de raport pe care dorii s-l
creai, iar aplicaia expert v ndrum n fiecare pas al procesului. Dumneavoastr
rspundei la o serie de ntrebri despre raportul dumneavoastr, iar Access
creeaz un raport folosind preferinele dumneavoastr de formatare.
4. Crearea unui raport in modul Proiectare (Design), las utilizatorul s proiecteze
integral raportul

185

Desigur, dup ce ai completat un raport, l putei personaliza n continuare


folosind vederea Layout sau Design

Fig14.1 Vederea Design

1.Crearea unui raport simplu


Pentru a crea un raport simplu n Access, putei folosi unul dintre
butoanele raport disponibile n rubrica Create (creare) (Nou!) Putei crea un raport
simplu(1), divizat ( N o u ! ) , tabular, vid sau utilizand etichete. Aceste butoane
aranjeaz rapid cmpurile din tabelul sau interogarea selectat ntr-un raport
atractiv
Noul raport este bazat pe obiectul activ. De exemplu dac un tabel este
activ i dumneavoastr executai clic pe butonul Report (raport), Access creeaz
un raport nou bazat pe tabelul activ. Dup ce ai creat un raport, il puteti salva i
denumi astfel nct s-l putei folosi din nou.
Dac suntem n modul de proiectare al raportului acesta poate fi vizualizat
n doua moduri:
Design View, mod n care se pot face modificri asupra unui
raport (adugarea de noi controale, schimbarea sau aranjarea
acestora, etc);
Print Preview, pentru verificarea datelor din ntregul raport.
Un raport poate fi vizualizat n modul Print Preview i din fereastra
rapoartelor, apsnd butonul Preview.
n modul Preview al unui raport, dac se face click pe o anumit zon din
pagin, aceast zon poate fi mrit sau micorat.
De asemenea, tot din modul Preview, un raport poate fi exportat n diferite
formate (Microsoft Word sau Microsoft Excel), fcnd clic pe butonul Output to
Word sau Output to Excel

Fig14.2 Crearea unui raport simplu


186

n cazul n care un raport are mai multe pagini se pot folosi butoanele de
navigare din fereastra raportului pentru a trece de la o pagin la alta.

U14.3 Crearea Rapoartelor n Modul Report Wizard


n cazul n care s-a ales Report Wizard (asistenii) trebuie selectat sursa
raportului: un tabel sau o interogare.
Etape de urmat pentru a crea un raport n modul expert:
1. Executai clic pe rubrica Create (creare).
2.Executai clic pe Report Wizard .

2
1
Fig14.3.Lansarea in executie a modului expert raport
3. se selecteaz tabela sau interogarea dorit n rubrica derulant
solicitat. Se selecteaz cmpurile din sursa de date, ce vor fi
afiate n raport; cmpurile accesibile ale tabelei/interogrii
selectate sunt afiate n zona Available Fields; cmpurile ce for
face parte din raport sunt afiate n zona Selected Fields (figura
14.4.); selectarea cmpurilor se face cu ajutorul butoanelor:
> pe al crui click se transmite un singur cmp selectat din zona
Available Fields n zona Selected Fields;
>> pe al crui click se transmit toate cmpurile din zona
Available Fields n zona Selected Fields;
< pentru revenirea unui cmp selectat din Selected Fields n
Available Fields;
<< pentru revenirea tuturor cmpurilor selectate din Selected
Fields n Available Fields;
4.Executai clic pe Next (urmtor) pentru a continua.

187

3
Fig14.4. Modul Expert Raport

5.Se alege ordinea de sortare a datelor in cmpurile aduse n raport

6. Determinai dispunerea i poziia informaiilor n raport


7. Executai clic pe Next pentru a continua.

188

8. Specificai stilul formularului, care afecteaz formatarea i aspectul final al


acestuia. In zona de previzualizare a casetei de dialog, putei vedea o
previzualizare a stilului selectat.
9. Executai clic pe Next (urmtor) pentru a continua.

10. Introducei un nume pentru formularul dumneavoastr.


11. Indicai dac dorii s deschidei formularul sau sa-l afiai n vederea Design.
12. Executai clic pe Finish (finalizare)

189

U14.4 Generarea rapoartelor folosind


opiunea Design View
Dei o aplicaie expert poate fi de mare ajutor atunci cnd nvai s
creai un raport, l putei crea fr ajutorului unei asemenea aplicaii dac avei o
idee bun cu privire la aspectul viitorului raport.
In loc s rspundei la ntrebari dintr-o serie de casete de dialog, putei sa
ncepe s lucrai imediat n vederea Design.
Modul Design View este modul cel mai complet de creare a rapoartelor
deoarece este permis orice modificare a elementelor puse la dispoziie de MS
Access. Acest mod poate fi folosit pentru editarea rapoartelor existente.
Acest mod de creare a unui raport, la fel ca i modul Report Wizard, nu
impune obligativitatea declarrii unei surse a nregistrrilor deoarece exist
posibilitatea declarrii ulterioare a acesteia sau crerii unei noi surse de
nregistrri pentru raport.
Pe ecran va fi afiat macheta unui raport necompletat, o fereastr cu
cmpurile disponibile ale tabelului sau interogrii selectate la pasul anterior i
panglica de instrumente , ca n figura urmtoare.

190

Fig14.5 Macheta unui raport necompletat


Dac se dorete adugarea simultan a seciunilor Report Header i
Report Footer se selecteaz opiunea Report Header/Footer.
n antetul de pagin se pot pune titluri de coloane, data tipririi, numrul
paginii, etc. n subsolul paginii de asemenea se poate pune data sau pagina
curent.
Pentru a numerota paginile trebuie adugat un TextBox n antet sau subsol,
iar la proprietatea Control Source a acestui TextBox se va scrie textul =Page
& [Page] &/&[Pages], unde variabila [Page] reprezint numrul paginii
curente iar variabila [Pages] reprezint numrul total de pagini din raport.
Data curent se poate aduga raportului n mod similar: alegnd optiunea
Date and Time din panglica butonului Instrumente Raport, sau adugnd un
TextBox n raport i scriind n proprietatea Control Source textul = Now(), unde
funcia Now() returneaz data i ora curent.
Seciunile Report Header i Report Footer reprezint antetul i subsolul
raportului. Aceste seciuni apar doar pe prima pagin respectiv ultima pagin. n
antet se poate introduce titlul raportului, iar subsolul raportului poate cuprinde un
rezumat al informatiilor prezentate n raport, o serie de totaluri i contorizri.
Majoritatea rapoartelor afieaz datele ntr-un format tabelar.
Seciunea detalii se refer la coninutul propriu-zis al raportului. Seciunile
raportului pot fi terse n acelai mod cu crearea lor. Ca i n cazul formularelor
continue, seciunea Detail a raportului se repet pentru fiecare nregistrare.
Dimensiunile seciunilor se specific fie n casetele de proprieti
corespunztoare, fie prin tragerea marginilor pn la dimensiunile dorite.
Apoi, se adaug toate controalele i textele manual ca i n cazul
formularelor, proiectarea manual a unui raport fiind similar cu proiectarea
191

manual a unui formular, folosindu-se aceleasi controale care pot fi selectate din
acelasi panglica a butonului Instrumente Raport, etc.

Fig14.6 Macheta unui raport in vederea Design


Vizualizarea raportului se va face cu ajutorul butonului Print Preview
sau cu opiunea similar din butonul Office.

192

Fig14.7 Vederea PrintPreview

ACTIVITATE ASISTATA
Asupra bazei de date creat la forma de verificare 3, se va crea un raport
pentru fiecare interogare realizat. Rapoartele vor trebui create in moduri diferite
de la o interogare la alta.
ntrebri facultative
1. Definii rapoartele?
2. Precizai modurile de creare a unui raport Access?
3. Precizati pasi de urmat in cazul creari unui tabel in modul Expert?

Test de autoevaluare nr. 14


1. Identificati modul de vizualizare a unui raport:
a. Design View

Timp de lucru : 15 min


Punctaj 100p

b. PrintPreview
c. FormsView
d. QueryView
e. ModifyView
(10puncte)
2. n rapoarte, datele pot fi organizate i prezentate n grupuri, pot include
. i , grafice, imagini, linii i fonturi speciale.
(10 puncte)

Raportul reprezint de fapt unei aplicaii baz de date


reprezentnd informaii generate pe baza datelor coninute ntr-o baz de date.
3.

(10 puncte)

193

4.

(Seciunile

Report Header i Report Footer reprezint antetul i subsolul

raportului?
Adevarat

Fals
(5puncte)

5. Modul Design View este modul cfix de creare a rapoartelor deoarece nu este
permis orice modificare a elementelor puse la dispoziie de MS Access.
Adevarat

Fals
(5puncte)

6. S se creeze un raport in modul Design?


(25puncte)

7. S se creeze un raport in modul Expert Raport?


(25puncte)

U14.5. Rezumat
Dac formularele sunt necesare pentru accesul la nregistrri, adugri,
cutri sau editri de date, rapoartele sunt necesare tipririi la imprimant a
datelor (sau afirii pe ecran) permind totaluri, subtotaluri, rezumate, gruparea
datelor pe un numr de pn la 10 niveluri diferite, i subrapoarte imbricate pe
maxim 3 niveluri. De asemenea, ele nu permit n schimb editri sau modificri de
date.
Raportul reprezint de fapt scopul unei aplicaii baz de date
reprezentnd informaii generate pe baza datelor coninute ntr-o baz de date.
Rapoartele pot afia toate informaiile corespunztoare unei nregistrri sau
numai o parte a acestora. Flexibilitatea personalizrii rapoartelor pe baza
criteriilor definite de utilizator i a organizrii datelor n diverse moduri, adic
accesibilitatea datelor, este caracteristica de la care provine numele programului
Access.

Bibliografie minimal
1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2007.
2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009.
3.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea European,
Bucureti,2010.

Rspunsuri i comentarii la testul de autoevaluare nr. 14


1 ab; 2. subformulare si subrapoarte; 3.-scopul; 4-A;5-F

194

BIBLIOGRAFIE

1. Babucea A.G., Baze de date curs universitar ID, Ed. Academica


Brncui, Trgu Jiu, 2007
2.Babucea A.G., Baze de date Access, Ed. Sitech, Craiova, 2004
3. Babucea A.G., Baze de date, Ed. Studii Economice, Trgu Jiu, 2002
4.Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara,
2009
5. Date K.J., - Baze de date, Ed. Plus, Bucureti, 2008
6. Ionescu F., - Baze de date relaionale i aplicaii, Ed. Tehnic,
Bucureti, 2006;
7.Muresan M.,Ilie E., - Access2007 Aplicaii, Editura Ideea
European, Bucureti,2010
8. Nstase P., Mihai F., Coscescu L., Brbulescu B., Stanciu A., ova
R.A., Covrig L., Baze de Date, Microsoft ACCESS 2000, Ed. Teora,
Bucureti, 2001
9. Popa Gh., Berbec Fl., Ivancenco V., ova A., ova A.D., Baze de
date Access, Ed. Cison, Bucureti, 2003
10. Velicanu M., Lungu I., Munteanu M, Ionescu S., - Sisteme de baze
de date teorie i aplicaii, Ed. Petrion, 2007

195

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