Sunteți pe pagina 1din 39

FACULTATEA DE TIIN E ECONOMICE, JURIDICE

I ADMINISTRATIVE
UNIVERSITATEA DIN PITE TI

Lector univ. dr. LOGICA B NIC

Pite ti, 2007


Cap. 1 Noiuni introductive.....................................................................................4
1.1 Ce sunt bazele de date?.....................................................................................4
1.2 Securitatea datelor.............................................................................................6
1.3 Modelul relaional al bazelor de date................................................................6
Cap. 2 Sistemul de gestiune a bazelor de date Microsoft Access.........................9
2.1 Componentele principale..................................................................................9
Fig. 1 Componente principale ale sistemului Access ..........................................10
2.2 Tabele (Tables)...............................................................................................10
Fig. 2 Modaliti de creare a tabelelor ................................................................11
Fig. 3 Crearea tabelelor n modul Design View...................................................12
Fig. 4 Exemplu de utilizare a proprietilor unui cmp.....................................14
2.3 Relaii ntre tabele (Relationships).................................................................15
Fig. 5 Stabilirea relaiilor ntre tabele..................................................................16
2.4 Interogri (Queries).........................................................................................18
Fig. 6 Modaliti de construire a interogrilor....................................................18
Fig. 7 Construirea interogrii de selecie.............................................................19
Fig. 8 Construirea interogrii de tip Total...........................................................21
Fig. 9 Construirea interogrii de tip Crosstab....................................................23
2.5 Formulare (Forms)..........................................................................................25
Fig. 10 Modaliti de creare a formularelor .......................................................26
Fig. 11 Crearea formularelor cu Form Wizard...................................................27
Fig. 12 Deschiderea formularelor n modul Design View...................................27
2.6 Rapoarte (Reports)..........................................................................................30
Fig. 13 Stabilirea nivelurilor de grupare .............................................................31
Fig. 15 Deschiderea raportului n modul Design View.......................................32
2.7 Macrocomenzi................................................................................................32
2.8 Exemplu de proiectare a unei baze de date.....................................................34
2

2.9 Verificarea cunotinelor ................................................................................37


Bibliografie..............................................................................................................38

Cap. 1 Noiuni introductive


1.1 Ce sunt bazele de date?
Datele sunt iruri alfanumerice prin care se reprezint fapte, obiecte, situaii
rezultate din msurare sau numrare. Ele sunt stocate pe un suport magnetic, de
unde vor fi utilizate direct sau prelucrate ntr-un anumit scop. Pentru a putea folosi
aceste date, ele trebuie organizate ntr-un anumit mod.
Volumul mare de date vehiculate, necesitatea stocrii lor i regsirea rapid a
anumitor informaii sunt numai cteva dintre cauzele care au condus la apariia
coleciilor de date organizate, numite i baze de date (databases).
Definiie[Ipate]: Bazele de date sunt colecii de date organizate care servesc unui
anumit scop.
Organizarea datelor se refer la stocarea, reprezentarea i accesarea lor ntr-un mod
bine definit. Scopul pentru care sunt create bazele de date l reprezint domeniul de
interes al acestora, problemele pentru care trebuie s gseasc o rezolvare. Astfel,
sunt baze de date care se axeaz pe domeniul economic, bancar, dar exist i baze
de date cu scopuri tiinifice, militare etc.
Datele pe care le conin BD sunt n mod obinuit de tip alfanumeric, dar pot fi i
imagini, sunete, elemente multimedia.
n arhitectura bazelor de date se disting patru niveluri:
Nivelul conceptual este fundamental deoarece descrie sistemul ce
urmeaz a fi modelat. Cel mai clar mod de a descrie sistemul este
utilizarea unui limbaj natural, a unor diagrame i a exemplelor. n
procesul de modelare se examineaz informaia n amnunt, la fiecare
moment de timp. La acest nivel se realizeaz schema conceptual, care
reprezint design-ul general al sistemului.
Nivelul extern se specific structura bazei de date perceput de
utilizatori i se face legtura ntre acest design i schema conceptual.
Dac sunt mai multe grupuri de utilizatori i metodele de operare sau
navigare difer de la un grup la altul, se pot proiecta diferite interfee cu
utilizatorul.
Nivelul logic are rolul de a realiza transformarea schemei conceptuale
ntr-o schem logic. n acest scop se alege un model logic de organizare
a datelor (ex: modelul relaional, ierarhic, reea) care are anumite structuri
de date i operaii. De exemplu pentru modelul relaional datele se
stocheaz n tabele, constrngerile se exprim cu ajutorul cheilor primare
i strine.
Nivelul fizic (intern) este nivelul la care schema logic se realizeaz
fizic, cu ajutorul unui sistem de gestiune a bazelor de date (SGBD). Se
poate spune c se obine schema intern din schema logic prin
intermediul unui SGBD. Structurile de date i metodele de acces pentru
aceeai schem logic pot fi diferite n cadrul aceluiai SGBD, ceea ce
nseamn c poate fi implementat prin mai multe scheme interne.

Bazele de date ofer utilizatorilor o serie de avantaje, cum ar fi:


reducerea redundanei datelor prin proiectarea unitar a bazei i evitarea
suprapunerii unor informaii;
pstrarea consistenei datelor prin propagarea actualizrilor dintr-un fiier la
nivelul ntregii baze de date;
partajarea datelor ntre utilizatorii aceleiai aplicaii, dar i ntre aplicaii
diferite;
securitatea datelor prin verificarea accesului utilizatorilor pe baz de parol i
prin autorizarea operaiilor de ntreinere de ctre administratorul bazei de date.
Din definiie rezult c bazele de date implic constituirea de colecii de date
structurate, dar i existena unui software de ntreinere i de exploatare a acestor
structuri. n ceea ce privete organizarea, bazele de date au evoluat de la simple
structuri de date numerice i de tip text la stocarea de imagini, sunete i alte
elemente multimedia. Programele de ntreinere i de exploatare a bazelor de date
au fost cuprinse ntr-un ansamblu numit Sistem de Gestiune a Bazelor de Date
SGBD (Database Management System).
Definiie: Sistemul de Gestiune a Bazelor de Date este un software care
gestioneaz o baz de date i permite utilizatorului s interacioneze cu aceasta.
Funciile unui SGBD sunt urmtoarele:
definirea structurii bazei de date i stocarea datelor;
accesarea datelor n regim mono sau multi-user: interogare, modificare,
tergere, adugare;
ntreinerea bazei de date: pstrarea consistenei i a integritii datelor,
compactarea i reorganizarea bazei de date;
securitatea bazei de date: salvarea i recuperarea datelor n caz de incident,
protecia la acces neautorizat.
Modul conceptual de organizare a datelor folosit de SGBD-uri este descris de
modelul de date, care poate fi: ierarhic, reea, relaional i orientat obiect.
Modelul ierarhic stocheaz datele n structuri de tip arbore, care stabilesc legturi
de tip printe-copil. Nivelul de nceput al arborelui, numit rdcin, poate avea
orice numr de descendeni. La rndul lor, acetia pot avea descendeni i aa mai
departe. Modelul ierarhic a fost utilizat de ctre primele SGBD-uri, dar n prezent
este considerat un model depit.
Modelul reea este extensie a modelului ierarhic, n care un descendent poate avea
mai muli prini. El poate reprezenta structuri complexe de date, dar nu are
flexibilitate i este dificil de proiectat.
Modelul relaional se bazeaz pe organizarea datelor sub form de tabele,
constituite din nregistrri, formate la rndul lor din cmpuri. Tabelele sunt legate
ntre ele prin cmpuri speciale, numite chei. Bazele de date relaionale sunt cel
mai frecvent folosite, datorit modului simplu de realizare i a flexibilitii lor.
Exemple de SGBDR: Oracle, Sybase, SQL Server, Access.
5

Modelul orientat pe obiecte este cel mai nou tip de SGBD, care integreaz
principiile programrii orientate pe obiecte i ale bazelor de date. Introducerea
conceptului de obiect n cadrul SGBD-urilor a permis utilizarea tipurilor de date
neconvenionale. Acest model constituie suportul logic pentru gestiunea obiectelor
complexe (texte, grafice, imagini, sunete) i a obiectelor dinamice (programe,
simulri).
1.2 Securitatea datelor
La proiectarea unei baze de date, asigurarea securitii este o cerin important
i este dependent de nivelurile de securitate ale SGBD-ului n care se lucreaz:
1. protecia prin identificator i parol pentru autentificarea utilizatorilor;
2. restricionarea drepturilor anumitor grupuri de utilizatori i acordarea de
privilegii altora;
3. n Oracle orice obiect al bazei de date este proprietatea unui utilizator i
poate fi accesat numai de acei useri care au privilegiile corespunztoare.
O surs posibil de erori n funcionarea bazelor de date o constituie managementul
defectuos n gestionarea multiuser. Concurena se definete n acest caz prin
accesul simultan al mai multor utilizatori la acelai set de date, n aceeai perioad
de timp. SGBD-ul are sarcina de a face vizibile modificrile operate de unul dintre
utilizatori celorlali (consistena) i de a mpiedica modificrile incorecte ale datelor
(integritatea bazei de date).
Pentru rezolvarea accesului concurent, SGBD-ul blocheaz unitatea de date
(locking). Se poate face blocajul la nivel de tabel sau la nivel de rnd
(nregistrare), eficiena fiind mai bun cu ct unitatea de blocare este mai mic.
1.3 Modelul relaional al bazelor de date
Se caracterizeaz prin reprezentarea datelor sub form de structuri
bidimensionale, asemntoare tabelelor.
Avantajele pe care le prezint acest model sunt:
asigur metode i tehnici eficiente de verificare a coerenei i redundanei
datelor;
dispune de un suport teoretic puternic din punct de vedere matematic;
asigur un grad nalt de independen n raport cu sistemele de calcul;
ofer posibilitatea utilizrii de limbaje procedurale bazate pe algebra
relaional;
definete modul de manipulare a datelor la nivel de relaie (limbajul SQL).
Componentele de baz ale modelului relaional sunt:
1. Structura relaional a datelor: datele sunt organizate sub form de tablouri
bidimensionale (tabele), denumite entiti sau relaii. Liniile tabelelor se
6

numesc nregistrri, iar coloanele constituie atributele. Asocierile dintre


tabele se fac prin atributele de legtur, denumite chei primare i externe.
Numrul de atribute ale unei entiti se numete aritatea entitii.
O entitate trebuie s satisfac mai multe condiii:
fiecare atribut trebuie s aib un nume, unic n cadrul entitii; este
posibil ca dou atribute din dou entiti diferite s poarte acelai
nume;
fiecare atribut poate avea doar valori atomice, care nu se pot
descompune din punct de vedere logic;
fiecare nregistrare a entitii este unic, unicitatea fiind obinut cu
ajutorul cheilor primare. Cnd este necesar mai mult dect un
atribut pentru identificarea unic a unei nregistrri, avem o cheie
compus.
Nici unul dintre atributele care alctuiesc cheia primar nu poate
avea valoarea Null. Null este o valoare convenional care indic o
valoare necunoscut sau neaplicabil.
2. Operatorii sistemului relaional: se refer la setul de operaii care se pot

efectua asupra entitilor. n algebra relaional introdus de Codd exist 8


operatori care acioneaz asupra entitilor i creaz tot o entitate. Aceti
operatori sunt implementai n cadrul limbajului SQL (Structured Query
Language), cel mai frecvent folosit pentru interogarea bazelor de date
relaionale. Sunt operatori ai algebrei relaionale clasice (de exemplu: Union
reuniunea, Intersect intersecia) i operatori relaionali speciali (de
exemplu: Select selecia, Join compunerea).

3. restriciile de integritate: reprezint cerinele impuse tabelelor, astfel nct

baza de date s fie corect i coerent.


Restriciile (constrngerile) de integritate sunt de dou tipuri:
Constrngeri structurale: exprim proprieti fundamentale, care in de
definirea BD. Ele sunt realizate cu ajutorul cheii primare.
Cheia primar (Primary key-PK) este un atribut sau un grup de atribute care
asigur diferena ntre oricare dou nregistrri dintr-un tabel. Nici unul dintre
atributele care alctuiesc cheia primar nu poate avea valoarea Null pentru
nici una dintre nregistrrile tabelei.
Constrngeri de referenialitate: se stabilesc ntre dou tabele cu ajutorul
cheilor primare i strine.
Se definete cheie strin (Foreign Key-FK) un atribut sau o mulime de
atribute ale unei entiti E2, care exist i ntr-o alt entitate E1 i care
formeaz cheia primar a entitii E1.

E1
Cmp1 E1 - PK
Cmp2 E1
.........

E2
Cmp1 E2 PK
Cmp2 E2 - FK
..........

Cmpul2 din entitatea E2 este cheie strin (FK), dac exist i ntr-o alt entitate
E1, unde formeaz cheia primar. Cmpul2 din E2 face referin la cheia primar
din E1. Valorile pe care le ia cheia strin, dac nu sunt Null, trebuie s se
regseasc printre valorile cheii primare la care face referin.
Exemple de sisteme de gestiune a bazelor de date relaionale (SGBDR)
consacrate sunt: Oracle, SQL Server, Sybase, Microsoft Access, FoxPro, Paradox.
Proiectarea unei baze de date nseamn transformarea cerinelor utilizatorului
ntr-o structur care conine tabele, interogri, rapoarte, module de program. Pentru
o proiectare eficient, datele sunt separate n tabele n scopul minimizrii spaiului
de stocare i al mbuntirii performanelor. Conectarea informaiilor disparate se
face ulterior prin intermediul relaiilor dintre tabele.
Etapele de proiectare a bazelor de date sunt:
1. Crearea schemei conceptuale se descriu datele i relaiile independent de
orice model de date. Schema are un caracter general i este o traducere a
cerinelor beneficiarului ntr-un sistem de ansamblu.
2. Crearea schemei logice a bazei de date se transform schema conceptual
n structuri specifice unui SGBD. Se definesc elementele de date specifice i
se face gruparea lor n nregistrri. n cazul modelului relaional, schema
logic va conine dicionarul de date, structurile tabelelor, definirea
legturilor i precizarea modurilor de manipulare a datelor necesare
sistemului.
3. Crearea design-ului fizic al bazei de date schema logic se transform
ntr-o baz de date coerent i se construiesc modulele de program pentru
exploatarea ei.
Dei s-au nregistrat salturi spectaculoase n acest domeniu i au aprut
nenumrate metode i tehnici, rmnem la concluzia c proiectarea unei baze de
date nu nseamn ncadrarea ntr-un tipar (ablon) i c performanele ei depind
ntr-o mare msur de inteligena i imaginaia proiectantului.

Cap. 2 Sistemul de gestiune a bazelor de date Microsoft Access


2.1 Componentele principale
Access este o component a pachetului de programe Microsoft Office, care
permite crearea i gestionarea de baze de date de dimensiuni reduse, la care se pot
conecta maximum 31 de utilizatori simultan. Pentru baze de date mari (de ordinul
Gigabytes-ilor) se recomand folosirea SGBD-urilor Oracle, SQL Server, Sybase.
Spre deosebire de alte sisteme, Access stocheaz toate componentele unei
baze de date ntr-un singur fiier, cu extensia *.mdb.
Componentele principale ale sistemului Access, numite i obiecte (Objects) sunt
urmtoarele (fig. 1):
Tabele (Tables) structuri bidimensionale destinate pstrrii datelor;
Interogri (Queries) instrumente de selectare i de afiare a a datelor din
una sau mai multe tabele, pe baz de criterii; cu ajutorul acestora se pot
realiza i funcii de creare tabele, adugare, modificare i tergere
nregistrri n tabele;
Formulare (Forms) ferestre destinate introducerii datelor, afirii i
modificrii lor; permit crearea interfeei grafice cu utilizatorul i afiarea pe
ecran a graficelor;
Rapoarte (Reports) situaii obinute pe baz de interogri sau tabele i
care pot fi afiate pe ecran sau la imprimant;
Macro-comenzi (Macros) secvene de aciuni care se execut la iniierea
unei singure comenzi a utilizatorului;
Module (Modules) subprograme scrise n Visual Basic Access (VBA),
care pot implementa rspunsuri la evenimente-utilizator, funcii de
prelucrare i validare a datelor, iniializri ale bazei de date.
O caracteristic important a sistemului Access o constituie proiectarea
asistat de vrjitori (Wizards), care ofer asisten programatorului la
crearea tabelelor, a interogrilor, a formularelor i a rapoartelor. Aceste
instrumente au rolul de a pune la dispoziia proiectanilor opiuni din care pot
selecta varianta optim, de asemenea asigur asisten on-line (help) pentru
documentarea n timpul proiectrii.
Prin stabilirea de relaii ntre tabele se asigur coerena i consistena bazei
de date, astfel nct tergerile, adugrile, modificrile la nivelul unei tabele s
nu conduc la disfuncionaliti ale sistemului. Totui tergerile de date,
crearea i distrugerea de tabele sunt operaii care provoac fragmentarea
spaiului de disc rezervat fiierului .mdb. Acces-ul are integrat comanda
Tools->Database Utilities->Compact and Repair Database pentru compactarea
periodic a bazei de date i pstrarea performanelor ei.
9

Tabele
Interogri
Formulare

Rapoarte
Macro
comenzi
Module

Fig. 1 Componente principale ale sistemului Access


Crearea unei baze de date se poate face la deschiderea mediului, dac se alege
opiunea Blank Access Database, fie ulterior, cnd mediul este deschis i se
activeaz opiunea File->New Database.
Dup deschiderea unei bazei de date sunt accesibile componentele ei, grupate pe
tipuri de obiecte (Tables, Queries, Forms etc), aa cum se observ n fig.1; aezarea
obiectelor pe desktop este caracteristic versiunii Access 2000.
Vor fi prezentate n continuare modaliti de creare i exemple de utilizare a
obiectelor Access menionate anterior.
2.2 Tabele (Tables)
Sunt structuri de stocare a datelor constituite din linii, numite nregistrri i
din coloane numite atribute sau cmpuri, crora li se atribuie un nume, un tip de
dat i o dimensiune.
Crearea i modificarea structurii tabelelor, ca i ncrcarea datelor n tabele se face
numai n cadrul opiunii Objects->Tables.
Access ofer mai multe modaliti de creare a unui tabel: Datasheet View, Design
View, Table Wizard, Import Table, Link Table (fig. 2)

10

Fig. 2 Modaliti de creare a tabelelor


n modul Datasheet View se creaz un tabel cu 20 de cmpuri, avnd denumirea
Field1,..Field 20 i 30 de nregistrri libere, pregtite pentru completare.
n modul Table Wizard, Acces propune dou categorii de tabele: Business i
Personal i n cadrul lor mai multe tipuri de tabele, cu cmpuri predefinite, din care
proiectantul s poat alege.
Prin Import Table se pot prelua tabele din alte baze de date Access, FoxPro,
Paradox sau se pot construi tabele i prelua date din fiiere text, HTML sau Excel.
n modul Link Table nu mai este necesar copierea tabelei n propria baz de date,
ci se stabilete o legtur cu aceasta, astfel nct se pot citi i modifica datele (dac
exist un acces autorizat).
Modalitatea cea mai frecvent folosit pentru crearea tabelelor este Design View
(fig. 3) i ea va fi descris n continuare pas cu pas:
1. Tables->New->Design View;
2. Apar dou fereastre pe Desktop: fereastra de proiectare a tabelei (Table
Design), unde se stabilesc cmpurile prin numele (Field Name) i tipul lor
(Data Type) i fereastra de proprieti ale cmpurilor (Field Properties);
3. Se tasteaz numele cmpului i se alege unul dintre tipurile de date propuse
de Access:
Text ir de caractere;
Number cmp de tip numeric;
Date/Time cmp de tip dat sau timp;
Autoincrement numr cu incrementare automat;

11

Yes/No cmp boolean cu dou valori;


Lookup Wizard cmp care preia datele din alt tabel sau dintr-o list de
valori.
4. n funcie de tipul de dat selectat, fereastra Field Properties va conine alte
informaii n rubrica Field Size, pe care utilizatorul le poate modifica:
Text: setat pe valoarea implicit 50, dar se pot reprezenta iruri de
maximum 255 de caractere;
Number: se pot defini cmpuri de tip Byte (28 val maxim 255),
Integer (216 valoare maxim + 32768), Long Integer este tipul implicit
i are valoari pe 32 bii (de la 2.147.483.648 la 2.147.483.647 fr
fracii), Single numere fracionare pe 32 bii cu precizie de 7 cifre ( de
la 3.402823E38 la 1.401298E45) pentru valori negative i de la
1.401298E45 la 3.402823E38 pentru valori pozitive.

Butonul care activeaz


cheia primar

Butonul Save

Cmpuri de
date PK

Tipuri de
date

Fereastra
Field
Properties

Valorile numerice Double numere fracionare pe 8 bytes cu 15 cifre precizie.

12

Fig. 3 Crearea tabelelor n modul Design View

5. Se pot completa i alte rubrici ale ferestrei Field Properties, cum ar fi:
Format: personalizeaz formatul de apariie (modul de afiare) a
valorilor n cmpul respectiv i depinde de tipul de dat precizat n Data
Type:
- Date/Time - permite alegerea unui format al datei sau orei dintre cele
propuse: General Date, Long Date, Short Date Long Time, Short Time
- Text poate conine unul dintre caracterele speciale:
@ - un caracter sau un spaiu trebuie tastat n cmpul respectiv;
& - nu este necesar tastarea unui caracter n cmpul respectiv;
< - foreaz toate caracterele tastate la litere mici;
>- foreaz toate caracterele tastate la litere mari
- Number specific formate predefinite (Currency, Euro, Fixed,
Standard, Percent, Scientific) sau proprii utilizatorului (informaii
despre modul de afiare a valorilor pozitive, negative, zero i a
numerelor fr valoare - Null);
Input Mask: proprietate care ajut utilizatorul la introducerea datelor
n cmpul respectiv:
- 0 impune introducerea pe poziia respectiv a unei cifre, fr semn;
- 9 impune acceptarea unei cifre sau unui spaiu, fr semn;
- # indic acceptarea unei cifre sau unui spaiu, cu semn;
- L solicit introducerea unei litere, obligatoriu;
- ? indic introducerea unei litere, opional;
- A impune introducerea unei litere sau unei cifre, obligatoriu;
- a impune introducerea unei litere sau cifre, opional.
Caption: stabilete titlul cmpului n modul de introducere date;
Default Value: reprezint valoarea iniial (constant, expresie sau
funcie) care apare n cmp la adugarea unei noi nregistrri i care
poate fi modificat ulterior;
Validation Rule: se stabilete o regul de validare, la nivel de
nregistrare, a valorii introduse n acest cmp, prin funcii sau expresii
Access;
Validation Text: se tasteaz un mesaj, care apare ca eroare n timpul
introducerii datelor, dac regula de validare nu este respectat;
Indexed: se precizeaz dac un cmp, altul dect cheia primar, este
index n tabel i dac se accept duplicarea valorilor lui; opiunile
posibile: No, Yes (Duplicate OK) i Yes (No Duplicate);
6. Se stabilete cheia primar format din unul sau mai multe cmpuri;
7. Se salveaz structura tabelei cu opiunea File->Save sau cu ajutorul
butonului Save i se precizeaz numele tabelei.

13

Exemplu de folosire a proprietilor unui cmp: Cmpul Categ din tabela de


mai jos este de tip Text, are lungimea maxim de 9 caractere i are setate
urmtoarele proprieti:
Format: > nsemnnd c toate caracterele care ce se tasteaz sunt
transformate n litere mari;
Input Mask: LLL pe primele trei poziii se plaseaz obligatoriu litere
??? - pe urmtoarele trei poziii se plaseaz opional litere
aaa - pe urmtoarele trei poziii se plaseaz opional litere sau
spaii
Validation Rule: primele litere s nu fie ABC
Validation Text: dac s-a tastat combinaia de litere ABC apare mesajul
de eroare Ati tastat propria firma!
Indexed: No, deci cmpul nu constituie index suplimentar.

Fig. 4 Exemplu de utilizare a proprietilor unui cmp

14

2.3 Relaii ntre tabele (Relationships)


Relaiile se formeaz prin stabilirea unei legturi ntre un cmp (o
combinaie de cmpuri) dintr-un tabel i cmpurile corespunztoare din alt tabel.
Legturile ntre tabele sunt de trei tipuri:
1. relaia unu la mai muli (one-to-many) este cea mai frecvent utilizat i se
realizeaz ntre cheia primar a tabelei T1 i un cmp similar, ca tip i ca
dimensiune din T2, numit i cheie strin. Semnificaia legturii este c
oricrei valori a cmpului cheie strina-C21 trebuie s-i corespund o
valoare a cmpului cheie cheie-C1. n timp ce n tabela T1 valoarea este
unic, n tabela T2 ea se poate repeta de un numr infinit de ori.
Tabela T1
C1 Primary Key
................
................

Tabela T2
C2 Primary Key
C21 Foreign Key
..........

2. relaia mai muli la mai muli (many-to-many) se aplic la cazurile n care

valorii unui cmp din prima tabel i corespund mai multe valori n a doua
tabel i invers, unei valori a unui cmp din a doua tabel i corespund mai
multe valori din prima tabel. Exemplul clasic al relaiei este ntre tabela
Studeni i Cursuri: un student este nscris la mai multe cursuri, un curs este
inut pentru mai muli studeni.
Rezolvarea problemei se face prin spargerea relaiei many-to-many n dou
relaii one-to-many, cu ajutorul unei tabele de jonciune (legtur) T3.
Cheile primare din T1 i T2 vor constitui (vor face parte) cheia primar
compus a tabelei T3.
Tabela T1
C1 Primary Key
................

C31
C32

Tabela T3
Primary Key
Primary Key

Tabela T2
C2 Primary Key

3. Relaia unu-la-unu (one-to-one)- are loc ntre dou tabele care au aceeai

cheie primar. Se definete prin intermediul ei o tabel compus din cele


dou tabele iniiale. Relaia este util n cazul structurilor mari, care au
nevoie de mai mult de 255 de cmpuri (limita Access-ului pentru un singur
15

tabel) sau pentru creterea vitezei de cutare a datelor, dac nu toate


nregistrrile din primul tabel au corespondent n al doilea tabel.
Crearea unei relaii se face astfel (fig.5):
a) Din meniul Tools->opiunea Relationships sau activnd butonul
Relationships se deschide fereastra Relationships;
b) Se adaug tabelele relaionate din fereastra Show Tables;
c) Se selecteaz cmpul PK din tabela principal i se trage cu ajutorul
mouse-ului pn la cmpul corespunztor din tabela asociat;
d) Se deschide fereastra de stabilire a detaliilor relaiei (Edit Relationships):
cmpurile corespunztoare din tabele, butonul Join Type - tipul de legtur
stabilit i trei casete de validare:
Enforce Referential Integrity impune integritatea referenial
Cascade Update Related Fields actualizarea n cascad a cmpurilor
implicate n relaie;
Cascade Delete Related Records tergerea n cascad a cmpurilor
implicate n relaie;
e) Se nchide fereastra Relationships i se salveaz legturile create.

Fig. 5 Stabilirea relaiilor ntre tabele

16

Verificarea integritii refereniale este realizat de sistemul Access la solicitarea


proiectantului BD i const n:
Verificarea cmpurilor incluse n relaie: s fie de acelai tip i s aib
aceeai dimensiune;
Introducerea unei valori n cmpul cheie strin din tabela secundar se
face numai dac aceast valoare se regsete n cmpul cheie primar din
tabela principal;
Nu se admit tergeri sau actualizri ale unei valori a cheii primare atta
timp ct exist nregistrri corespunztoare n tabela secundar;
Pentru realizarea tergerilor i actualizrilor n cascad s-au prevzut cele
dou casete de validare Cascade Update i Cascade Delete.
tergerea n cascad nseamn c o solicitare de tergere a unei
nregistrri din tabela primar va determina tergerea nregistrrilor
corespunztoare din tabelul asociat.
Similar se produce i actualizarea n cascad: modificarea valorii
cmpului cheie primar din tabela principal determin modificarea
tuturor nregistrrilor corespunztoare din tabela asociat.
Relaiile dintre tabele confer consistena i coerena bazei de date, de aceea n
cadrul proiectrii bazei de date stabilirea corect a legturilor dintre tabele este
foarte important.
Asocieri n cursul definirii unei relaii Access pune la dispoziie un buton pentru
definirea tipului de asociere prestabilit. Asocierea definete modul n care
nregistrrile din tabelele corelate vor fi combinate ntr-o interogare:
Asocieri interne (inner join) tipul de asociere implicit; o interogare cu asociere
intern va afia numai acele nregistrri care corespund ambelor tabele.
Asocieri externe (outer join) precizeaz c o interogare va selecta toate
nregistrrile dintr-o tabel i numai pe cele care corespund din cellalt tabel.
Sunt de 2 tipuri, n funcie de tabela din care se preiau toate nregistrrile:
o Asociere stnga (left join)
o Asociere dreapta (right join).
Asocierile externe nu se folosesc prea des deoarece sunt mai puin flexibile, mai
ales cnd sunt implicate mai multe tabele.
Asociere intrinsec (self join) este o relaie care asociaz unui cmp dintr-un
tabel un cmp din acelai tabel. Se creaz prin duplicarea tabelei i stabilirea
legturii ntre cmpuri. Este o asociere foarte performant deoarece permite
cutri recursive. De exemplu: o tabel care conine date despre prini i copii.

17

2.4 Interogri (Queries)


Interogrile sunt componente Access de extragere i de afiare a a datelor din
una sau mai multe tabele/interogri, pe baz de criterii. Un alt scop pentru care se
folosesc interogrile l constituie modificarea structurii i coninutului bazei de date
(funcii de creare tabele, adugare, modificare i tergere nregistrri n tabele).
Prima categorie formeaz interogrile de selecie, cea de-a doua formeaz
interogrile de aciune.
O interogare se transform ntr-o instruciune a limbajului SQL (Structured
Query Language), recunoscut de toate bazele de date relaionale.
n acest paragraf ne vom referi numai la interogrile de selecie, care la rndul lor
pot fi: interogri simple, interogri total i interogri tabel ncruciat.
Funciile unei interogri de selecie:
Preluarea cmpurilor din mai multe tabele relaionate;
Selectarea nregistrrilor care ndeplinesc anumite criterii;
Sortarea nregistrrilor dup unul sau mai multe cmpuri, ascendent sau
descendent;
Introducerea de cmpuri noi, de tip valoare, rezultate ca urmare a unor calcule.
Sunt mai multe modaliti de a construi o interogare (fig. 6), dintre acestea vom
alege modul Design View.

Fig. 6 Modaliti de construire a interogrilor

18

Etapele de realizare a unei interogri sunt urmtoarele (fig. 7):


1. Objects Queries->New->Design View;
2. Se deschide fereastra Query Design i fereastra Show Tables/Queries;
3. Se adaug cmpurile din tabele n grila de ieire (prin tragere cu mouse-ul,
dublu click pe cmp, selectare n rubrica Field);
4. Se definesc cmpurile i ordinea de sortare (rndul Sort - Ascending sau
Descending);
5. Se indic afiarea sau nu a fiecrui cmp (rndul Show- caseta de validare);
6. Se stabilesc criteriile de selecie (rndul Criteria);
7. Se adaug cmpurile noi, calculate;
8. Se execut interogarea activnd butonul Run sau opiunea Query->Run.
9. Se salveaz interogarea, activnd butonul Save sau opiunea File->Save, dac se
consider c rspunde cerinelor de proiectare.
Tipuri de
interogri

Buton de
execuie

Fereastra
Query
Design
Ordinea
de sortare

Cmp
calculat

Stabilirea
criteriilor

Fig. 7 Construirea interogrii de selecie


Pentru definirea criteriilor de selecie multiple exist dou variante:
introducerea lor n cmpurile respective pe aceeai linie (Criteria), ceea ce
implic selectarea nregistrrilor care ndeplinesc toate criteriile menionate;
introducerea lor n cmpurile respective pe linii diferite (linia Criteria i
liniile or), ceea ce implic selectarea nregistrrilor care ndeplinesc unul
dintre criteriile menionate.

19

Condiiile de selecie sunt specificate cu ajutorul unor operatori de comparare,


cum ar fi: <, >, =, <>, Like (comparare cu un nume generic scris cu caractere de
inlocuire), Between (valoare incadrata intr-un interval dat).
Cteva exemple de criterii de selecie:
1. < Date()-30
n cmpul respectiv data s fie cu 30 zile n urm
2. Like Pop*
se accept numele care ncep cu Pop: Popa,
Popescu
3. Between 1 and 100
numere cuprinse ntre 1 i 100
n criteriile de selecie se folosesc constante sau parametri, a cror valoare se
precizeaz de ctre utilizator n timpul execuiei. De exemplu, se poate nlocui
criteriul din imagine prin secvena:
Between [param1] and [param2]
n cadrul interogrilor exist posibilitatea adugrii de cmpuri calculate, aa
cum este cmpul total de plata din fig.7. Pentru aceasta, ntr-o coloan liber se
tasteaz numele cmpului (diferit de cele existente n tabele), urmat de semnul :
i formula de calcul prin care se obine. n imaginea de mai sus, cmpul calculat
este rezultatul adunrii cmpurilor [rata] i [dob].
Pentru obinerea de cmpuri calculate de tip numeric se pot folosi operatori
aritmetici, iar pentru cmpurile de tip text se pot folosi operatori de lucru cu iruri
de caractere. De exemplu, cu ajutorul operatorului de concatenare (&) se compun
cmpurile Nume i Prenume pentru a rezulta un nou cmp, Student:
Student: [Nume]& &[Prenume]
Interogri de tip total (Totals) realizeaz gruparea nregistrrilor, dup
anumite cmpuri i aplic funcii de nsumare, contorizare, medie aritmetic etc
asupra valorilor unui cmp din gruparea respectiv.
Pentru a crea o interogare de acest tip se procedeaz astfel (fig. 8):
1. Se realizeaz o interogare de selecie simpl n care sunt specificate cmpurile
pe care se face gruparea i cmpurile asupra crora se aplic funciile;
2. Se activeaz butonul Totals ceea ce determin apariia n grila Query a rndului
Total;
3. n coloana cmpului totalizat se alege funcia agregat care se va aplica:
Count numrarea nregistrrilor din grupare
Sum - calcularea totalului valorilor din grupare
Avg - calcularea mediei aritmetice a valorilor din grupare
StDev - calcularea deviaiei standard a valorilor din grupare
Min sau Max identificarea valorii minime sau maxime
First sai Last selectarea primei sau ultimei valori din grupare, conform
ordinii de sortare
Expression crearea unei expresii calculate n cmpul respectiv;

20

Where indic utilizarea cmpului numai pentru criterii de selecie (nu


este afiat la execuia interogrii)
Observaie: n cazul opiunii Count i Avg nregistrrile care conin valoarea Null
nu sunt luate n consideraie.
n exemplul din fig. 8 se face totalul valorilor ratei (cmpul rata) i dobnzii
(cmpul dob) pentru fiecare numr de contract (cmpul nrc). Se observ c nu a
mai fost selectat cmpul luna, deoarece el ar fi schimbat coninutul interogrii, n
sensul c s-ar fi fcut un total pe contract i pe lun al ratelor i dobnzilor.
La execuia interogrii, cmpul rata ar avea titlul SumOfrata, iar cmpul dob ar
avea titlul SumOfdob. Pentru a schimba aceste titlurile implicite, am adugat n
linia Field, n faa denumirii cmpurilor, noua lor denumire, Total rate i Total
dobanzi, urmat de semnul :.
Facem precizarea c este logic ca un cmp s apar de dou ori n
interogarea de tip Total dac el constituie, n acelai timp i criteriu de grupare i
cmp cruia i se aplic o funcie agregat.
Butonul
Totals

Modificarea
titlului cmpului,
la execuie

Rndul
Total

Fig. 8 Construirea interogrii de tip Total

21

Funciile
agregat

Interogri de tip tabel ncruciat (Crosstab) reprezint o variant a


interogrilor de tip Totals n care valorile unuia dintre cmpurile Group By se
transform n titluri ale coloanelor, n timpul execuiei interogrilor. Ele grupeaz
datele n dou moduri i afieaz o valoare n punctul de intersecie.
Sunt definite trei tipuri de cmpuri:
Unul sau mai multe cmpuri care s furnizeze titlurile de rnd (Row
Heading) la afiarea datelor;
Un singur cmp, obligatoriu, care s furnizeze titlurile de coloan
(Column Heading) la execuia interogrii; cmpul respectiv trebuie s
conin un numr limitat de valori, pentru ca interogarea s aib sens;
Un singur cmp, obligatoriu, care s furnizeze valorile de afiat (Value) la
intersecia dintre linia i coloana respectiv; valorile sunt obinute prin
aplicarea unei funcii agregat (Sum, Count, Avg) cmpului respectiv.
Access ofer posibilitatea creerii interogrilor de tip tabel ncruciat printr-un
program Wizard, Crosstab Query Wizard sau n modul Design View, opiunea
Query - Crosstab. Vom aborda n lucrare cea de a doua modalitate de lucru.
Pentru a crea o interogare de tip Crosstab n modul Design View se procedeaz
astfel (fig. 9):
1. Se realizeaz o interogare de selecie simpl n care sunt specificate cmpurile
pe care se face gruparea i cmpurile asupra crora se aplic funciile;
2. Opional, se activeaz butonul Totals pentru a selecta cmpul i funcia agregat
corespunztoare;
3. Se activeaz interogarea de tip tabel ncruciat fie din butonul Query Type, fie
din meniul Query, opiunea Crosstab Query; apare linia Crosstab n grila
interogrii;
4. Se stabilesc cmpurile Row Heading (pot fi mai multe), Column Heading
(obligatoriu unul) i Value (obligatoriu unul i anume cel cruia i s-a ataat
funcia agregat);
5. Se execut interogarea (butonul Run) i se salveaz (butonul Save).
La sfritul capitolului va fi prezentat un exemplu de baz de date, care va
conine i interogri de selecie simple, de tip Total i Crosstab.

22

Butonul
Query Type

Rndul
Crosstab

Fig. 9 Construirea interogrii de tip Crosstab

Selectare
opiuni
Crosstab

Interogri de aciune - au ca efect modificarea structurii sau a datelor din baza de


date. Sunt 4 tipuri de interogri de aciune:
1. Make Table creaz o tabel nou pornind de la alte tabele existente;
2. Append adaug nregistrri, obinute prin preluarea valorilor din alte tabele,
ntr-o tabel existent;
3. Update actualizeaz (modific) valoarea din cmpurile specificate;
4. Delete terge nregistrri selectate dintr-o tabel.
Execuia interogrilor de aciune este precedat de un mesaj de avertisment, dac
opiunea SetWarnings nu a fost dezactivat:
Are you sure you want to run this action query?
Este indicat s se vizualizeze nregistrrile selectate de interogarea de aciune, prin
deschiderea interogrii n modul Design, trecerea n modul de afiare Datasheet i
execuia cu Run.

23

Access nu permite anularea efectului interogrilor de aciune. Modificrile aduse


bazei de date sunt permanente i ireversibile. De aceea este bine s existe o copie
de siguran a bazei de date care s permit revenirea la starea anterioar.
1. Make Table extrage datele din mai multe tabele relaionate i creaz o
tabel nou n baza de date curent sau ntr-o alt baz de date. De cte ori se
execut, se terge tabela anterioar i se rescrie. Se creaz astfel:
se construiete o interogare de selecie n care se adaug cmpurile din
tabelele surs;
din meniul Query sau activnd butonul Query Type se alege opiunea
Make Table;
apare o caset de dialog n care se precizeaz numele noii tabele create.
Se utilizeaz n special pentru crearea tabelelor temporare, care se terg frecvent.
Crearea i eliminarea frecvent a tabelelor temporare conduce la mrirea
dimensiunii spaiului alocat bazei de date. De aceea se recomand compactarea
periodic a bazei de date sau crearea tabelelor temporare ntr-o alt baz de date.
2. Append adaug nregistrri din mai multe tabele relaionate ntr-o tabel
existent. Etapele de creare sunt:
se construiete o interogare de selecie n care se adaug cmpurile din
tabelele surs;
din meniul Query sau activnd butonul Query Type se alege opiunea
Append;
n caseta de dialog se precizeaz numele tabelei destinaie;
apare linia Append To unde se completeaz automat cmpurile destinaie
care au numele identic cu al cmpurilor surs sau se completeaz de ctre
proiectant, dac numele nu coincid.
Se recomand precizarea unor chei primare n tabela destinaie, care s nu permit
dublarea nregistrrilor.
O utilizare frecvent a interogrilor de tip Append este la arhivarea datelor.
3. Update selecteaz anumite nregistrri dintr-o tabel pe baz de criterii i
actualizeaz valoarea unui cmp. Se creaz ca orice interogare de selecie, devenind
efectiv o interogare de tip Update la activarea opiunii Update din meniul Query:
se construiete o interogare de selecie n care se adaug cmpul de
actualizat i cmpul care furnizeaz criteriul de selecie;
din meniul Query sau activnd butonul Query Type se alege opiunea
Update;
apare linia Update To unde se completeaz noile valori.
Dac se face actualizarea unui cmp care este cheie primar ntr-o tabel i relaia
ntre tabele prevede actualizri n cascad (Cascading Updates) se preiau aceste
modificri i n tabelele unde cmpul respectiv este cheie strin.
24

Pentru a avea sigurana c sunt selectate corect nregistrrile se execut interogarea


iniial n modul Datasheet View.
3. Delete permite tergerea dintr-o tabel a nregistrrilor care ndeplinesc o
anumit condiie. Crearea unei interogri Delete:
se pleac de la o interogare de selecie n care se adaug tabela i se
selecteaz cmpurile care furnizeaz criteriile de selecie ale
nregistrrilor;
din meniul Query sau activnd butonul Query Type se alege opiunea
Delete;
apare linia Where unde se completeaz criteriile.
Pentru selectaia corect a nregistrrilor care se vor terge se execut interogarea
iniial n modul Datasheet View.
Dac tabela n care se terg nregistrri este implicat n relaii de tip one-to-many
cu alte tabele i a fost prevzut opiunea de tergere n cascad (Cascading
Deletes) atunci se vor terge i nregistrrile din tabelele relaionate.
2.5 Formulare (Forms)
Formularele sunt ferestre destinate introducerii datelor, afirii i modificrii
lor. De asemenea, ele permit crearea interfeei grafice cu utilizatorul i a graficelor
realizate pe baz de interogri sau tabele.
Formularele permit introducerea datelor n mai multe tabele asociate, pot conine
butoane de comand i cmpuri calculate, ceea ce nu este posibil la ncrcarea
direct a datelor n tabele. Crearea i modificarea formularelor se face n cadrul
opiunii Objects->Forms. Access ofer mai multe modaliti de a crea un formular:
Design View, Form Wizard, Autoform, Chart Wizard (fig.10
n modul Design View se proiecteaz formularul element cu element, folosind
instrumentele Access din ToolBox.
n modul Form Wizard se lucreaz sub asistena vrjitorului, care propune
variante din care proiectantul s poat alege.
Modalitile Autoform (Columnar Tabular, Datasheet) sunt tot de tip Wizard i ele
realizeaz ntr-o manier foarte simpl o aezare special a cmpurilor n fereastr,
pentru fiecare dintre cele trei tipuri.
Prin Chart Wizard se pot construi grafice pe baza informaiile din interogri sau
tabele de date i sub asistena vrjitorului. Graficele obinute pe formular nu se
pot lista la imprimant.
n modul Pivot Table Wizard se creaz formulare pentru afiarea datelor din Excel.

25

Fig. 10 Modaliti de creare a formularelor


Modalitatea cea mai frecvent folosit pentru crearea formularelor este Form
Wizard (fig. 11) i ea va fi descris n continuare pas cu pas:
1. Forms->New->Form Wizard;
2. Selectarea tabelei (sau a interogrii) pe baza creia care se construiete
formularul;
3. Selectarea cmpurilor cuprinse n formular;
4. Alegerea tipului de aezare (layout) a cmpurilor de date pe formular:
Columnar, Tabular, Datasheet sau Justified;
5. Alegerea unui fundal pentru fereastra formularului: Blends, Standard,
International, Stone etc
6. Stabilirea titlului i salvarea formularului.
Pentru modificarea formularului astfel obinut n sensul adugarii/tergerii de
cmpuri sau al adugrii de controale (butoane de comand, cutii de tip text,
butoane de tip opiune, casete de validare etc) se deschide formularul n modul
Design View (fig. 12) i se folosesc instrumentele din ToolBox.

26

Cmpurile
selectate s apar
pe formular

Alegerea
tabelei sau
interogrii

Fig. 11 Crearea formularelor cu Form Wizard

Cutia de
instrumente
(ToolBox)

Formular
obinut cu
Form Wizard

Fig. 12 Deschiderea formularelor n modul Design View

27

Att formularul, ct i controalele plasate pe suprafaa lui au ataate o serie de


proprieti, care se pot modifica. De asemenea, lor li se pot ataa proceduri scrise
n Visual Basic, care s rspund la anumite evenimente declanate de utilizatori n
timpul execuiei (activarea unui buton, apsarea unei taste, redimensionarea
ferestrei, focalizarea). Dintre proprieti importante sunt i cele care permit sau
inhib introducerea de noi nregistrri, editarea sau tergerea celor existente.
Proprietile formularului se ajunge la fereastra Properties a oricrui obiect
n mai multe moduri: din meniul View-opiunea Properties sau activnd butonul de
pe bara de instrumente sau dublu-click pe obiect.
Pentru formular cele mai importante proprieti sunt coninute n grupul Data:
RecordSource: precizeaz numele tabelei sau al interogrii pe care este construit
formularul;
AllowEdits Yes, valoare implicit care permite editarea nregistrrilor;
AllowDeletions Yes, valoare implicit care permite tergerea nregistrrilor;
AllowAdditions Yes, adugarea de noi nregistrri;
DataEntry dac este setat pe Yes formularul poate fi folosit numai pentru
introducerea de noi nregistrri (nu are efect dac AllowAdditions este No);
Proprietile din grupul Format controleaz aspectul formularului:
Caption titlul formularului;
ScrollBars bare de derulare pe vertical i/sau orizontal;
Picture, Picture Type, Picture Size Mode plasarea unei imagini pe fundal,
includerea ei n aplicaie, adaptarea imaginii la dimensiunile formularului.
Adugarea unui buton de comand se face cu ajutorul casetei de instrumente
ToolBox. Se procedeaz astfel:
1. se deschide un formular existent sau un formular nou n Design View;
2. se selecteaz controlul CommandButton din ToolBox;
3. se deseneaz controlul pe formular i la sfritul acestei operaii un
Wizard stabilete legtura cu un eveniment;
4. Categoriile de aciuni predefinite ale CommandButton Wizard sunt
urmtoarele:
Record Navigation deplasare i cutare nregistrri n cadrul
tabelei curente (Go To First, Go To Next, Find Record);
Record Operations adugri, tergeri, duplicare, listare
articole;
Form Operations operaii de lucru cu formulare (Open Form,
Close Form, Print Form etc);
Report Operations - operaii de lucru cu rapoartele (Preview
Report, Print Report, Send Report To File etc);
Application lansarea n execuie a altor aplicaii (Run
Application, Run MS Word, Run MS Excel etc);

28

Miscellaneous execuia de interogri sau macroinstruciuni


(Run Query, Run Macro).
5. Se stabilete imaginea sau textul care se va plasa pe buton;
6. Se precizeaz numele controlului i se nchide aplicaia Wizard.
Formularele se pot afia n 3 moduri:
Design mod de proiectare, n care utilizatorul are acces la controale i la
proprietile lor, putnd s le modifice;
Datasheet mod de afiare a datelor asemntor cu afiarea direct a tabelului
sau interogrii;
Form mod de afiare specific pentru formulare, n care se ine cont de
proprietile setate n modul de proiectare.
Subformularele sunt formulare ataate altor formulare.
Dou tabele relaionate pot fi afiate i modificate simultan folosind reprezentarea
n cadrul unui formular Access a unui alt formular, numit i subformular.
Dac ntre dou tabele exist o relaie de tip one-to-many, n formularul principal
se afieaz o nregistrare din tabelul primar, iar n subformular se pot observa
nregistrrile corespunztoare din tabelul asociat, avnd valoarea cheii strine egal
cu valoarea cheii primare. Este o metod care simplific ncrcarea datelor n
tabelele relaionate pentru c utilizatorul nu mai trebuie s rein valorile cheii
primare la introducerea datelor n tabela secundar.
Observaie 1: dac o tabel este implicat n mai multe relaii, se poate construi un
formular cu mai multe subformulare
Observaie 2: un subformular poate conine un alt subformular, dac relaia ntre
tabele este de tip one-to-many-to-many. Access nu permite mai mult de trei
niveluri de imbricare.
Sunt mai multe metode de obinere a unui formular cu subformular:
1. Se lanseaz Form Wizard pe o interogare care implic ambele tabele, ceea ce
ofera proiectantului facilitatea de a alege opiunea de creare formular cu
subformular;
2. Se creaz formularul principal (cel mai simplu cu Form Wizard), se deschide
n Design View i se folosete controlul Subform/Subreport din caseta de
instrumente (ToolBox) pentru proiectarea subformularului; programul
wizard declanat de acest control are posibilitatea de a crea subformularul pe
baza tabelei secundare sau de a folosi un formular existent pe aceast tabel.
3. Se creaz un formular pe tabela principal i un formular pe tabela
secundar; se deschide formularul principal n Design i se trage numele
subformularului din fereastra Database.

29

2.6 Rapoarte (Reports)


Rapoartele sunt situaii obinute pe baz de interogri i tabele, care pot fi
afiate pe ecran sau la imprimant.
Spre deosebire de formulare, rapoartele extrag datele din tabele, nu pot modifica
coninutul lor. Ele parcurg secvenial nregistrrile, afieaz cmpurile selectate i
eventual genereaz subtotaluri sau rezumate, dac s-au introdus opiuni de grupare
pe cmpuri la crearea raportului. Datele pot fi grupate pe un numr de maxim zece
niveluri diferite, fiecare dintre ele furniznd anumite informaii sintetice.
Lucrul cu rapoarte este permis n cadrul opiunii Objects->Reports.
Sunt mai multe tehnici de a construi un raport: Design View, Report Wizard,
AutoReport, Chart Wizard, Label Wizard i exist multe similitudini ntre acestea
i metodele de creare a formularelor, de aceea le vom prezenta pe scurt:
Design View proiectarea raportului folosind instrumentele Access din
ToolBox;
Report Wizard proiectare asistat de vrjitor, care propune variante din care
proiectantul s poat alege;
AutoReport (Columnar, Tabular) - sunt metode de tip Wizard care realizeaz
aezarea pe coloane sau sub form de tabel a datelor n situaie;
Chart Wizard crearea de grafice pe baza de interogri sau tabele, cu asistena
vrjitorului i care se pot lista la imprimant;
Label Wizard obinerea de etichete standard sau utilizator din informaiile
preluate din tabele sau interogri.
Tehnica cea mai simpl i mai utilizat pentru crearea rapoartelor este Report
Wizard i necesit parcurgerea etapelor urmtoare:
1. Reports->New->Report Wizard;
2. Selectarea interogrii pe baza creia care se construiete raportul;
3. Selectarea cmpurilor care se afieaz n raport;
4. Stabilirea nivelurilor de grupare (fig. 13)
5. Prin bifarea casetelor de validare corespunztoare cmpurilor numerice, se
stabilete care este tipul de operaie aplicat gruprii (fig. 14), dintre cele
valabile (Sum, Avg, Min, Max);
6. Alegerea tipului de aezare (layout) a cmpurilor de date pe raport: Stepped,
Block, Outline etc i orientarea paginii: Portrait sau Landscape;
7. Alegerea unui stil al raportului: Bold, Casual, Compact, Soft Gray;
8. Specificarea titlului i salvarea raportuluilui.

30

Grupare pe
cod furnizor

Grupare pe
denumire
produs

Fig. 13 Stabilirea nivelurilor de grupare

Fig. 14 Tipul de operaie aplicat cmpurilor numerice ale gruprii


Pentru modificarea raportului astfel obinut n sensul adugarii/tergerii de
cmpuri, de grupri i subtotaluri se deschide raportul n modul Design View i se
folosete caseta de instrumente ToolBox (fig. 15)
Se observ n modul Design c rapoartele conin anumite zone, care pot fi unice la
nivelul raportului (antetul i subsolul raportului - Report Header/Report Footer) sau
se pot repeta la nivel de pagin (antetul i subsolul paginii - Page Header/Page
31

Footer) i la nivel de nregistrare (seciunea Detail). Exist, de asemenea cte un


antet i un subsol pentru fiecare grupare a raportului. n modul Design View
coninutul lor poate fi modificat de proiectant, ele coninnd etichete (Labels),
casete de tip text (TextBox) i alte controale de tip Access.

Fig. 15 Deschiderea raportului n modul Design View


Un exemplu de folosire a casetei de tip text n cadrul raportului este pentru
numerotarea nregistrrilor afiate n seciunea Detail.
Se alege din proprietile controlului TextBox, din meniul Data, proprietatea
ControlSource i i se atribuie valoarea 1. Proprietatea RunningSum setat pe
valoarea Over_Group numeroteaz nregistrrile pe grup, iar valoarea Over_All
numeroteaz toate nregistrrile.
2.7 Macrocomenzi
Permit gruparea mai multor aciuni i executarea lor repetat la declanarea unui
eveniment, cum ar fi: activarea unui buton sau unui element de meniu, apsarea
unei taste, focalizarea unui control grafic.
Se mbuntete semnificativ interfaa aplicaiei cu utilizatorul prin folosirea
comenzilor grupate n macro.
n unele situaii, comenzile macro reprezint singura posibilitate de realizare a
anumitor cerine ale proiectantului:
Meniuri utilizator;

32

Executarea unei succesiuni de comenzi la deschiderea bazei de date


macrocomanda special Autoexec;
Definirea unor taste care s execute comenzi rapide n cadrul unei aplicaii
macrocomanda special Autokeys.
Dezavantajul utilizrii macro este c nu ofer nicio modalitate de revenire asupra
operaiilor executate.
Comenzile macro reprezint cea mai simpl metod de programare n Access, care
permite obinerea unei aplicaii.
Pentru a crea o macrocomand se parcurg urmtoarele etape:
1. Butonul MACROS opiunea New;

Fig. 16 Crearea unei macrocomenzi


2. Apare fereastra de dialog din fig.16 n care se stabilesc comenzile

componente (coloana Action) i argumentele sau specificaiile lor (fereastra


Action Arguments).
3. Dup definirea listei de comenzi se salveaz macro i se execut cu Run.

Exist posibilitatea includerii de subcomenzi macro n cadrul unui singur grup de


macrocomenzi, prin adugarea coloanei Macro Names din meniul View.
Aceast facilitate se folosete la crearea de meniuri utilizator i la definirea
macrocomenzii speciale Autokeys.

33

Macrocomanda AUTOEXEC se creaz similar cu orice alta, are caracteristic faptul


c se execut la fiecare deschidere a bazei de date.
Se poate anula executarea ei automat dac la deschiderea bazei de date utilizatorul
activeaz tasta Shift. Ea are rolul de a deschide formularul care constituie interfaa
grafic cu utilizatorul.
Macrocomanda AUTOKEYS permite definirea unor comenzi rapide de la tastatur
n interiorul aplicaiei Access. Atribuirile de combinaii de taste unor operaii
trebuie astfel fcut nct s nu anuleze definiiile de taste din sistemul de operare
Windows. De exemplu: nu se recomand folosirea combinaiei de taste Ctrl+X,
Ctrl+C i Ctrl+V, care sunt folosite n Windows pentru decuparea, copierea i
refacerea unei zone Clipboard.
O macro Autokeys se creaz ca orice grup de comenzi, avnd n coloana Macro
Names definite combinaiile de taste, iar n coloana Action operaia care se execut
la activarea lor. De exemplu:
Macro Names
Action
Arguments
{F4}
^F

MsgBox
OpenForm

specificatiile de mesaj
specificatiile unui formular

Se pot activa oricnd n timpul lucrului cu baza de date folosind tasta special F4,
respectiv combinaia de taste CTRL+F.
2.8 Exemplu de proiectare a unei baze de date
Problema de rezolvat: S se proiecteze o baz de date a unei agenii de
turism, care s ofere clienilor si servicii optime i la tarife acceptabile.
Schema de proiectare a bazei de date cuprinde: serviciile oferite de agenie,
contractele realizate cu clienii i serviciile cerute de acetia n cadrul unui contract:
Tabela SERVICII
Byte
Text 30

PK Cod_serv
Denumirea serv

PK
PK

Tabela CLIENI
Text 13
Byte

CNP
Nrcontract

Tabela CONTRACTE
Byte
Date/

PK
Nrcontract
Data_contract

Time

Tarif_serv

Long

PK

Cod_serv

Byte

Integer
Text30
Byte

Nume_client
Nr_serv

Pentru satisfacerea cerinelor beneficiarului, proiectantul trebuie s realizeze baza


de date parcurgnd urmtoarele etape:
1. S construiasc tabelele i relaiile dintre ele conform schemei de proiectare;
2. S realizeze un formular pentru introducerea datelor n tabela clieni;
3. S proiecteze o interogare care s vizualizeze numele clientului, serviciile
solicitate i valoarea lor pentru un anumit contract;
34

4. S construiasc un raport care s prezinte datele din interogarea anterioar,


cu subtotaluri valorice pentru fiecare client i pentru fiecare contract.
1) Dup ce a fost realizat structura celor 3 tabele, se stabilesc relaiile dintre ele:

2) Formularul de ncrcare date in tabela SERVICII, cu subformularul CLIENI se


proiecteaz cu Form Wizard i arat astfel:

3) Se proiecteaz n modul Design View interogarea care s vizualizeze numele


clientului, serviciile solicitate i valoarea lor pentru un anumit contract.
Cmpul valoare este un cmp calculat i se obine din [nr_serv]*[tarif_serv].
35

n urma execuiei interogrii obinem situaia:

4) Se construiete un raport pe baza interogrii de la punctul anterior, cu Report


Wizard, avnd grij s precizm ca niveluri de grupare:
Nivelul 1: Nrcontract
Nivelul 2: Nume_client
Se va face un subtotal pe cmpul valoare pentru fiecare client i pentru fiecare
contract. Se fac modificri n Design View care in de forma raportului i nu de
coninutul acestuia. n urma execuiei se obine urmtoarea situaie:

36

Se salveaz baza de date sub numele Agenie.mdb i se testeaz funcionarea ei


prin adugarea altor seturi de date. Pentru un numr de 10 nregistrri n tabela
Clieni, 5 nregistrri n tabela Servicii i 4 nregistrri n tabela Contracte, baza de
date ocup un spaiu pe hard disk de 344 Kb.

2.9 Verificarea cunotinelor


1. Care este definiia bazelor de date?
2. Care sunt avantajele utilizrii bazelor de date?
3. Ce modele de baze de date cunoatei?

4. Definiia sistemelor de gestiune a bazelor de date. Exemple.


5. Care sunt funciile unui sistem de gestiune a bazelor de date?

6. Componentele de baz ale modelului relaional.


7. Ce se nelege prin restricii de referenialitate n SGBDR-uri?
8. Care sunt elementele principale ale SGBDR-ului Access?

9. Precizai care sunt tipurile de relaii ntre tabele n sistemul Access.


10. Ce este cheia primar i care este rolul ei ntr-o tabel?

37

11.Cum se poate pstra coerena i consistena bazelor de date Access?


Se va face referire la actualizrile i tergerile de nregistrri n cascad.
12. Ce tipuri de date pot conine tabelele ? Dai cteva exemple.
13. Care este rolul interogrilor? Precizai tipurile de interogri.
14. Ce se nelege prin vrjitori i unde sunt ei folosii?

15.Ce sunt formularele i cum se pot obine ?


16. Ce sunt rapoartele i care este modalitatea cea mai simpl de obinere a lor?
17. Cum se regsesc bazele de date Access pe un harddisk ?

Bibliografie
1. Ipate, F.E., Dezvoltarea aplicaiilor de baze de date n Oracle 8 i Forms 6

, Editura BIC ALL, 2000


2. Patriciu, V., Criptografia i securitatea reelelor de calculatoare , Editura
Tehnic, 1994
3. Nstase, P., Mihai, F., Baze de date - Access 2000, Editura Teora, 2001
4. Jennings, R., Totul despre Access 2000, Editura Teora, 2002

5. Allen Browne, Alison Balter, Bazele Access 95, Editura Teora 1999
6. Coculescu, L., Cristea, V.,Pilat, F., Patriciu, V.,Proiectarea sistemelor

informatice, Ed.Militar, Bucuresti 1998


7. Alison Balter, Invata singur MS Office ACCESS 2003 in 24 de ore, Editura

Niculescu, 2006
38

8. Bdu, M., Informatica pentru manageri, Editura Teora, 1999


9. Roca, I.Gh.,Bucur, C.M., Timofte-Stanciu, C. Paiu, O., Vian, M.,

Comerul electronic: concepte, tehnologii i aplicaii, Editura Economic,


2004
10. Milosescu, M. Informatica-Tehnologii asistate de calculator-IT2, Editura

Teora, Bucuresti, 2001


11. Rusu, L, Managementul sistemelor informatice, Presa Universitara

Clujeana, Cluj-Napoca, 2001

39

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