Sunteți pe pagina 1din 0

1

Universitatea Babe-Bolyai Cluj-Napoca


Centrul de Formare Continu i nvmnt la Distan

Facultatea de Business










SUPORT DE CURS





BAZE DE DATE














ANUL III, semestrul II
Cluj-Napoca
2009
B BA AZ ZE E D DE E D DA AT TE E



2

1. Informaii generale

Date de identificare a cursului
Date de contact - titular curs Date de identificare curs i contact tutori
Nume: Lector.univ. dr. Mihaela Tutunea
Birou: Facultatea de Business, Str.Horea nr.7,
etaj I, cam.122
Telefon: 0264599170, Fax: 0264 - 590110
Email: mihaela.tutunea@tbs.ubbcluj.ro
Consultaii:
luni, mari 14.00 15.00, cam 122 sau S3
rspunsuri la e-mail, max. 48 ore
Denumire curs: BAZE DE DATE
Cod:
An III, Semestrul: II
Tip curs: obligatoriu
Pagina web: www.tbs.ubbcluj.ro
Tutori: asist. univ. drd. Rus Veronica
veronica.rus@tbs.ubbcluj.ro
Tutori: ing. drd. Muntean Alin
alin.muntean@tbs.ubbcluj.ro

Condiionri i cunotine prerechizite:
Pentru nsuirea rapid i eficient a cunotinelor aferente acestei discipline este recomandabil
parcurgerea disciplinelor de Tehnologia Informaiei I i Tehnologia Informaiei II din cadrul
programului de nivel licen.

Descrierea cursului
Cursul vizeaz nsuirea de ctre studeni a noiunilor fundamentale legate de domeniul bazelor
de date: sisteme de gestiune a bazelor de date, proiectarea bazelor de date, crearea i manipulare
bazelor de date.
Competenele dobndite prin parcurgerea acestei discipline se refer la:
Formarea abilitilor de exploatare eficient a computerelor;
Capacitatea de a defini i a pune n practic noiunile legate de baze de date;
Abiliti legate de proiectarea bazelor de date si a aplicaiilor pentru afaceri folosind
Microsoft Access 2000;
Aptitudini de ordin practic - crearea i manipularea obiectelor bazelor de date (tabele,
interogri, formulare, rapoarte, comenzi macro i module).

Organizarea temelor n cadrul cursului
Tematica cursului este structurat astfel nct s poat fi atinse obiectivele cursului, regsite la
finele cursului n competenele dobndite de ctre studeni.
Cursul este structurat pe uniti de studiu, logic succedate, cuprinznd noiuni eseniale ale
Bazelor de dare, care trebuiesc nsuite de ctre studeni; la finele fiecrei uniti se regsesc
scurte teste de verificare a cunotinelor acumulate.
De asemenea, la finele fiecrui modul sunt indicate lucrrile practice care trebuiesc realizate de
ctre studeni; sunt patru lucrri, care vor fi transmise pe e-mail (veronica.rus@tbs.ubbcluj.ro)
sau pe portalul ID (veronica.rus@portalid.ubbcluj.ro), cu specificarea clar a numelui
studentului i a numrului lucrrii practice realizate (LP1, LP2, LP3, LP4 (LP - lucrare
practic)).


3
Lucrrile practice, se rezolv n ordinea derulrii studiului materiei, i trebuie predate conform
urmtoarelor planificri:







Nepredarea lor la timp, atrage dup sine pierderea punctajului acordat, conform politicii de
notare!
Considernd natura domeniului tehnologiei informaiei, rapiditatea upgradrii acestuia i a
multitudinii de informaii care-l caracterizeaz, materialul aferent cursului se va actualiza att pe
portalul ID, (https://portal.portalid.ubbcluj.ro) ct i pe CD-urile cu materialele pentru ID.
Detalierea temelor de studiu se regsete n calendarul cursului.

Formatul i tipul activitilor implicate
Datorit caracterului aplicativ al disciplinei, parcurgerea acestui curs necesit participarea
studenilor la cursurile i laboratoarele programate pentru aceast disciplin; de asemenea, este
necesar studiul individual aprofundat; n vederea fixrii cunotinelor dobndite i a formrii
unor bune abiliti de exploatare i aplicare practic a cunotinelor dobndite la cursuri i
laboratoare, sunt absolut necesare exerciii suplimentare individuale.
Metodele utilizate pe parcursul predrii disciplinei sunt: expunerea interactiv bazat pe
exemplificarea practic, concret, n cadrul cursurilor, continuat cu exerciii i aplicaii practice
realizate n cadrul laboratoarelor, aferente temelor abordate n cursuri.

Materiale bibliografice obligatorii
Avnd n vedere multitudinea materialelor documentare aferente acestui domeniu, bibliografie
obligatorie nu se impune, dar pentru eficientizarea cursului, este necesar dobndirea de ctre
studeni a unei baze de cunotine pe care le pot acumula din bibliografia recomandat pentru
fiecare unitate de studiu n parte. Materialele bibliografice se gsesc la Biblioteca Central
Universitar, Biblioteca Fac. de tiine Economice i Gestiunea Afacerilor Str. Teodor Mihali,
Nr.58-60 sau biblioteca Fac. de Business.
Pe lng aceasta, se poate consulta orice bibliografie n format tiprit sau electronic, legat de
temele abordate n cadrul cursului ct i exploatarea aprofundat a help-ului aferent aplicaiei
MS. Access.

Materialele i instrumentele necesare pentru curs
Pe lng materialele puse la dispoziie pe CD i/sau n form tiprit, studenii vor lucra cu
informaiile disponibile (n mod gratuit) pe Internet, precum i cu aplicaiile realizate i parcurse
mpreun cu cadrul didactic.
Natura disciplinei impune utilizarea permanent pentru prezentri i laborator, a calculatoarelor
conectate la reeaua local a facultii i bineneles la Internet, ct i a video-proiectorului.
Lucrare practica Termen predare
LP1 1-20 Martie 2009
LP2 21 Martie - 3 Aprilie 2009
LP3 4 Aprilie - 15 Mai 2009
LP4 16 - 21 Mai 2009


4

Calendarul cursului
n derularea acestei discipline sunt programate patru ntlniri cu studenii, cu desfurarea
urmtoare:
ntlnirea nti - se vor parcurge unitile 1, 2, 3
ntlnirea a doua - se vor parcurge unitile 4, 5, 6
ntlnirea a treia - se vor parcurge unitile 7, 8
ultima ntlnire - parcurgerea unitilor 9,10.

Pentru eficientizarea acestor ntlniri, este indicat s fie parcurse n prealabil, de ctre studeni,
materialele aferente unitilor studiate, pentru ca acetia s fie capabili s ridice probleme,
ntrebri concrete, legate de noiunile abordate n cursuri.
Ulterior fiecrei ntlniri de curs i laborator, studenilor li se vor recomanda i teme
suplimentare care s ajute la clarificarea i fixarea cunotinelor dobndite.
ntlnirile cu studenii vor avea loc la sediul facultii, dup o programare prealabil anunat;
prezentrile i aplicaiile practice n laboratoarele de informatic ale facultii.

Tematica cursurilor predate n cadrul acestei discipline, este divizat pe uniti de studiu, i
cuprinde:
Unitatea 1. Tematica cursului: Baze de date - Concepte de baz
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exemple, ntrebri, discuii.
Referine bibliografice:
1. Dollinger, Robert, Andron, Luciana (2004), Baze de date i gestiunea tranzaciilor, Editura
Albastr, Cluj-Napoca, pag. 11-29.
2. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 1-19;
3. Orice documentaie aferent temei, tiprit sau digital, tutoriale, help-uri, etc.;

Unitatea 2. Tematica cursului: Microsoft Access: Prezentare general.
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exerciii practice.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 19-83;
2. Orice documentaie aferent temei, tiprit sau digital, tutoriale, help-uri, etc.;

Unitatea 3. Tematica cursului: Tabele.
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exerciii practice.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 19-83;
2. Dollinger, Robert, Andron, Luciana (2004), Baze de date i gestiunea tranzaciilor, Editura
Albastr, Cluj-Napoca, pag. 142-166
3. Orice documentaie aferent temei, tiprit sau digital, tutoriale, help-uri, etc.;
Realizarea i predarea lucrrii practice 1 (LP1)



5
Unitatea 4. Tematica cursului: Relaii ntre tabele
Implicarea studenilor: Parcurgerea bibliografiei indicate. Aplicaii practice, exemple, discuii.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 195-198.
2. Documentaie aferent temei cursului, via Internet, tutoriale, help-uri, etc.

Unitatea 5. Tematica cursului: Interogri
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exerciii practice, ntrebri, discuii.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 301-313.
2. Sndor, Kovcs (2003), Access 2000 Implementarea bazelor de date, Editura Albastr,
Cluj-Napoca.
3. Orice documentaie tiprit sau digital, tutoriale, etc.;

Unitatea 6. Tematica cursului: Limbajul SQL
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exerciii practice, ntrebri, discuii.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 316-320.
2. Dollinger, Robert, Andron, Luciana (2004), Baze de date i gestiunea tranzaciilor, Editura
Albastr, Cluj-Napoca, pag. 119-141.
3. Orice documentaie aferent temei, tiprit sau digital, tutoriale, help-uri, etc.;
Realizarea i predarea lucrrii practice 2 (LP2)
Unitatea 7. Tematica cursului: Formulare
Implicarea studenilor: Parcurgerea bibliografiei indicate. Aplicaii, exerciii practice; teme
individuale.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 278-287.
2. Orice documentaie tiprit sau digital, help-uri i tutoriale;

Unitatea 8. Tematica cursului: Rapoarte
Implicarea studenilor: Parcurgerea bibliografiei indicate. Aplicaii, exerciii practice; teme
individuale.
Referine bibliografice:
1. Avram-Nichi, R., Ghioiu, N., et al., (2007), Elemente de baze de date i programare
aplicate n economie, Ed. Risoprint, Cluj-Napoca, pag 348-357.
2. Orice documentaie tiprit sau digital, help-uri i tutoriale;
Realizarea i predarea lucrrii practice 3 (LP3)
Unitatea 9. Tematica cursului: Comenzi Macro. Comunicarea ntre aplicaiile Microsoft
Office.
Implicarea studenilor: Parcurgerea bibliografiei indicate. Aplicaii, exerciii practice.
Referine bibliografice:
1. Orice documentaie tiprit sau digital, help-uri i tutoriale;


6

Unitatea 10. Tematica cursului: Module.
Implicarea studenilor: Parcurgerea bibliografiei indicate. Exerciii practice.
Referine bibliografice:
1. Orice documentaie tiprit sau digital, help-uri i tutoriale;
Realizarea i predarea lucrrii practice 4 (LP4)

Politica de evaluare i notare
Nota final va fi compus din:
Componenta Ponderea/punctaj Data de verificare
Lucrri practice
LP 1
LP 2
LP 3
LP 4

10% / 1 punct
10% / 1 punct
10% / 1 punct
10% / 1 punct
Pe parcurs
Test final 60 % / 6 puncte La finele semestrului
Total 100 % / 10 puncte

Rezultatele obinute la aceast disciplin se vor anuna la final, dup susinerea testului, prin
comunicarea direct a notei finale, ct i prin afiarea notelor (pe baza numrului matricol) pe
platforma ID (https://portal.portalid.ubbcluj.ro). Fiecare student poate solicita un feedback
suplimentar prin contactarea titularului de curs i/ sau a tutorilor prin intermediul adresei de
email.

Elemente de deontologie academic
Se vor avea n vedere urmtoarele detalii de natur organizatoric:
1. Prezena la cursuri i la laboratoare este indicat;
2. Plagiatul la lucrrile practice se sancioneaz cu pierderea punctajului acordat pentru aceste
lucrri conform politicii de notare. Plagiatul la testele de verificare se sancioneaz cu
anularea evalurii testului i vor fi luate n considerare i alte sanciuni prevzute n
regulamentele studeneti; (se poate ajunge pn la neprimirea studentului n sesiunea de
examene programat).
3. Contestaiile vor fi fcute n maxim 24 de ore de la afiarea rezultatelor, i se vor soluiona n
maxim 48 de ore. Contestaiile la evalurile practice se rezolv prin alegerea unui alt test i
rezolvarea lui n prezena examinatorului.

Studenii cu dizabiliti
Titularul cursului este disponibil, n limita posibilitilor, la adaptarea coninutului i metodelor
de transmitere a informaiilor disciplinei n funcie de tipul de dizabiliti ntlnite n rndul
cursanilor. Se vor lua toate msurile necesare n vederea facilitrii accesului egal al tuturor
cursanilor la informaie i la activitile didactice.



7
Strategii de studiu recomandate
Este recomandat parcurgerea celor zece module, conform gruprii lor pe ntlnirile programate
conform calendarului cursului;
Avnd n vedere tipologia disciplinei, multitudinea de informaie i caracterul preponderent
practic, aplicat, trebuie pus accentul pe pregtirea individual continu, prin acumulare constant
a cunotinelor, precum i pe realizarea de aplicaii i exerciii individuale suficiente pentru
dobndirea unor deprinderi n exploatarea i aplicarea eficient a cunotinelor teoretice, n
practic.
Numrul de ore necesare parcurgerii i nsuirii cunotinelor necesare promovrii acestei
discipline este, n funcie de bazele de cunotine prealabile, abilitile deja dobndite i
capacitile fiecruia, ntre 70-80 ore, concretizate n nvarea practic, aplicat.


8
2. Suportul de curs

M Mo od du ul lu ul l I I

Unitatea 1. Baze de date - Concepte de baz
Unitatea 2. Microsoft Access 2000: Prezentare general
Unitatea 3. Tabele

Scop i obiective

Scop
Acest modul are ca scop prezentarea conceptelor fundamentale din domeniul
bazelor de date, familiarizarea acestora cu mediul Microsoft Access 2000 i
formarea deprinderilor de exploatare a sistemelor de gestiune a bazelor de
date. Tot n acest modul studenii vor nva cum s creeze baze de date n
Microsoft Access, cum s adauge tabele i s introduc date.

Obiective
Evidenierea avantajelor utilizrii bazelor de date;
Definirea bazelor de date, a sistemelor de gestiune a bazelor de date;
Prezentarea principalelor funcii ale SGBD-urilor;
Prezentarea evoluiei SGBD-urilor;
Identificarea elementelor mediului Microsoft Access 2000;
Utilizarea principalelor opiuni din submeniurile sistemului Microsoft
Access 2000.
Proiectarea structurii unei baze de date;
Recunoaterea principalelor obiecte ale unei baze de date Access;
Crearea bazelor de date n Microsoft Access prin metodele prezentate;
Crearea i lucrul cu tabelele n Microsoft Access 2000.

Concepte de baz: date, integritatea datelor, redundana datelor, inconsistena
datelor, partajarea datelor, sistem de gestiune a bazelor de date, baz de date,
tabele, cmpuri, nregistrri, interogri, formulare, rapoarte, comenzi macro,
module, pagini web, tipuri de date, chei, chei primare, chei candidat.








9
UNITATEA 1
CONCEPTE GENERALE
Sintez
1. Sisteme de baze de date
Un sistem de baze de date este un sistem computerizat de pstrare a
nregistrrilor al crui scop principal este s stocheze informaiile i s permit
utilizatorului s consulte i s actualizeze la cerere aceste informaii [Date,
2004].
Un sistem de baze de date este format din patru componente principale: date,
hardware, software i utilizatori [Date, 2005].


Fig. 1. Schema simplificata a unui sistem de baze de date
(sursa C. J. Date, 2005)
1. Componenta de date: este format din baza de date sau bazele de date
ale sistemului.
2. Componentele hardware sunt formate din: mediile de stocare secundare
care sunt utilizate pentru pstrarea datelor i procesoare folosite pentru
prelucrarea datelor i memorii RAM, etc.
3. Componenta software este format din Sistemul de gestiune a bazelor
de date, programe utilitare, editoare de rapoarte, etc.
4. Utilizatorii: exist trei clase mari de utilizatori programatorii de
aplicaii, utilizatorii finali care acceseaz baza de date prin intermediul
unei aplicaii, i administratorul BD.
In domeniul bazelor de date este important s se fac o distincie clar ntre
noiunile de dat i informaie [Dollinger&Andron, 2004]:
Sistem de gestiune a bazelor de
Programe
de aplicaie


10
1. Datele, materia prim a sistemelor informatice, sunt fapte culese din
lumea real pe baz de observaii i msurtori. Datele pot lua mai
multe forme: date alfanumerice (formate din litere, cifre i caractere
speciale), date de tip text (propoziii i fraze folosite n comunicarea
scris), date de tip imagine (forme grafice i figuri geometrice) i date
audio (vocea uman i alte sunete). In sistemele informatice datele sunt
stocate n baze de date.
2. Informaia este rezultatul interpretrii datelor de ctre un anumit
subiect i confer acestuia capacitatea de a lua decizii. Datele devin
informaii doar n momentul n care acestea interacioneaz cu un
sistem capabil s le interpreteze. Informaia are un caracter subiectiv
deoarece aceeai dat poate fi interpretat diferit de ctre subieci
diferii. Informaiile sunt date prelucrate i prezentate ntr-o form
(context) care s aib o anumit semnificaie pentru utilizatorul final i
reprezint ieirile sistemului informatic. n concluzie, se poate afirma
faptul c sistemele informatice prelucreaz date nu informaii.
Informaia reprezint produsul final al sistemelor informatice i, n funcie de
cele patru dimensiuni, timp, coninut, forma de prezentare i locaie, aceasta
trebuie s ndeplineasc urmtoarele cerine pentru a fi util:
A. n funcie de elementul timp:
s fie oportun: informaia trebuie s fie furnizat atunci cnd este
nevoie de ea, s fie disponibile n timp util;
s fie nou: informaia nou descrie cel mai bine prezentul situaiei
sau ultima verig a evoluiei unui fenomen;
s fie furnizat cu o anumit frecvena: informaia trebuie s fie
furnizat cu un ritm care s sprijine interesele utilizatorilor;
se fac referire la o anumit perioada de timp: informaia poate s
conin elemente care s descrie evenimente din trecut, prezent sau
viitor.
B. n funcie de coninut:
s reduc gradul de incertitudine: cu ct informaiile fac referire
mai clar asupra unui fenomen, cu att viziunea de ansamblu i de
amnunt a decidenilor asupra respectivului fenomen va fi mai bun
i, pe cale de consecin, decizia va fi luat n cunotin de cauz.
s fie corect: informaia nu trebuie s conin erori; trebuie s fac
referiri exacte asupra oricrui fenomen fr doze de relativism.
s fie pertinent: informaiile trebuie s fac referire la un anumit
fapt, situaie, eveniment i n acelai timp s descrie realitatea de
facto;
s fie relevant: informaia trebuie s satisfac nevoile de informare
ale utilizatorului cu privire la o anumit situaie.


11
s fie necontradictorie sau noncontradictorie informaiile
descriptive care fac referire la o anumit situaie trebuie s aib
aceeai valoare de adevr n acelai moment temporal.
s fie neredundant sau nonredundant: de obicei o informaie face
referire la un anumit aspect. Dac aceeai informaie se repet ea nu
aduce nimic nou n raport cu aspectul descris.
s fie complet: informaia trebuie s conin toate elementele de
care utilizatorul are nevoie;
s aib caracter succint: vor fi furnizate doar acele informaii de
care este nevoie ntr-o anumit situaie decizionala;
C. n funcie de forma de prezentare informaia trebuie respecte urmtoarele
caracteristici:
s fie clar: informaia trebuie s fie prezentat ntr-o form uor de
neles;
s fie furnizat n form detaliat sau sintetizat n funcie de
necesiti;
s fie prezentat ntr-o anumit succesiune, ntr-o anumit ordine;
s aib o form adecvat necesitilor factorului de decizie forma
de prezentare a mesajelor poate s atrag sau nu atenia decidenilor.
Informaia poate fi furnizat sub forma unei relatri (expuneri), sub
form numeric, grafic, sub form de tabel etc. Informaia poate fi
prezentat pe suport de hrtie, pe ecranul computerului sau folosind
alte medii.
D. n funcie de locaie: informaia trebuie s fie disponibil indiferent de
locaia n care se afl utilizatorul (fie disponibil oriunde).
Informaiile solicitate la nivel strategic i tactic au urmtoarele caracteristici:
sunt neprogramate, ad hoc, sunt determinate de apariia unor
evenimente care necesit luarea unor decizii;
sunt sintetizate: informaiile trec prin procese de selecie i sintetizare
pentru a putea fi folosite de nivelele manageriale superioare;
vizeaz orizonturi mari de timp informaiile se refer la trecut,
prezent, viitor;
aria de cuprindere a informaiilor este larg;
au caracter previzional;
provin din interiorul i exteriorul firmei (concurena, clieni, furnizori).
Pe de alt parte, informaiile solicitate la nivel operaional ndeplinesc
urmtoarele caracteristici:
sunt programate, se obin la intervale de timp bine stabilite;
au un coninut prestabilit care acoper nevoia de informaii determinat
de deciziile de rutin cu care se confrunt managerii de la acest nivel;
aria de cuprindere este restrns i bine definit;


12
au grad de detaliere ridicat;
provin cu preponderen din mediul intern al organizaiei;
se refer la evenimente din trecut;
sunt cerute cu frecven mare, i sunt exacte, precise.
2. Ce este o baz de date?
Definiii:
Baza de date este o colecie de date persistente, care sunt folosite de ctre
sistemele de aplicaii ale unei ntreprinderi [Date, 2005].
Prin persisten nelegem intuitiv c datele din baza de date difer, ca tip, de
alte date efemere, cum ar fi datele de intrare, datele de ieire, rezultatele
intermediare, i n general, orice date care sunt de natur trectoare. Se poate
spune c datele din BD persist deoarece, odat ce au fost acceptate de SGBD
pentru introducerea n BD ele nu pot fi terse din baza de date numai printr-o
cerere explicit adresat sistemului SGBD. Termenul ntreprindere
desemneaz orice organizaie independent de natur comercial, tiinific,
tehnic sau de alt tip. ntreprinderea poate fi o singur persoan sau o ntreag
corporaie. Exemple: un hotel, o fabric, o banc, o facultate, etc. Exemple de
date persistente: date despre clieni, date despre conturi, date despre studeni,
date despre rezervri, etc. [Date, 2005].

Baza de date este un ansamblu structurat de date coerente, fr redundan
inutil, astfel nct acestea pot fi prelucrate eficient de mai muli utilizatori ntr-
un mod concurent. [Popescu, 2001]

Baza de date este un sistem integrat, coerent i partajat de fiiere [Nitchi et al.,
2007].
Integrat: unificare a mai multor fiiere distincte;
Partajat: pari distincte din BD pot fi folosite de ctre mai muli
utilizatori;
Coerent: se asigura caracterul neredundant i coerent al datelor;
3. Utilitatea i avantajele bazelor de date
De ce trebuie sa utilizam baze de date? Sistemul de baze de date ofer
ntreprinderii un control centralizat asupra datelor sale. Centralizarea datelor
prezint o serie de avantaje, cum ar fi [Dollinger&Andron, 2004]:
Reducerea redundanei datelor memorate: n situaia n care fiecare
aplicaie informatic folosete fiiere proprii pentru stocarea datelor sale e
posibil ca aceleai date s apar de mai multe ori n fiiere diferite
aparinnd unor aplicaii diferite. Dac acea dat este modificat ntr-un
fiier aceasta trebuie modificat i n restul fiierelor pentru a nu aprea
diferene. Este recomandabil ca aplicaii diferite avnd aceleai date s


13
utilizeze, n comun, un singur fiier pentru memorarea acestora.
Redundana este proprietatea unor date de a se repeta fr s fie necesar.
Evitare inconsistenei datelor: atunci cnd exist mai multe copii ale
aceleai date este posibil, prin actualizarea doar a unora dintre ele, s avem
valori diferite pentru una i aceeai dat, ceea ce atrage dup sine
inconsistena bazei de date.
Posibilitatea partajrii datelor: se refer la posibilitatea utilizrii n
comun a datelor de ctre mai multe aplicaii precum i la posibilitatea
dezvoltrii unor aplicaii noi folosind datele deja existente n baza de date.
ncurajarea introducerii standardelor: administratorul bazei de date
poate impune alinierea la anumite standarde, ceea ce are un rol important la
transferul datelor de la o baz de date la alta.
Posibilitatea aplicrii constrngerilor de securitate: administratorul
bazei de date poate introduce verificri de autorizare a accesului la date. Se
pot impune restricii diferite pentru fiecare tip de acces la date, pentru
fiecare dat, pentru fiecare utilizator
Meninerea integritii datelor: integritatea datelor reflect cerina ca
baza de date s conin date corecte. Aceasta presupune att consistena
datelor ct i plauzibilitatea lor prin introducerea unor proceduri de validare
corespunztoare.
Ofer suport pentru tranzacii: tranzacia este o unitate logic care
presupune mai multe operaii n baza de date, in particular, o serie de
operaii de actualizare. Ex: transferul unei sume de bani din contul A in B.
4. Arhitectura sistemelor de baze de date
Deoarece datele sunt reprezentate n calculator sub forma de bii iar utilizatorii
bazelor de date lucreaz cu concepte mai mult sau mai puin abstracte se
impune utilizarea unor nivele de abstractizare. Pentru asigurarea independenei
fizice i logice a datelor se impune adoptarea unor arhitecturi de baze de date
organizate pe trei nivele:
Nivelul intern: este nivelul care se afl cel mai aproape de mediul de
stocare fizic, se refer la modul n care sunt stocate datele n sistem;
Nivelul extern: este nivelul aflat cel mai aproape de utilizatori, se
refer la modul n care sunt vizualizate datele de ctre utilizatori;
Nivelul conceptual: este un nivel intermediar dintre cele dou.
Independenta fizic a datelor este o msura a imunitii aplicaiilor fa de
modificrile n structura fizic de memorare a datelor. O modificare a structurii
nu va afecta aplicaia iar modificrile efectuate asupra aplicaiei nu vor afecta
structura fizica de date. Pentru ca o aplicaie s fie independenta fa de
structura fizic de date aceasta nu trebuie s conin referiri la tipul fiierelor


14
Nivelul intern
Nivelul conceptual
Nivelul extern
folosite pentru memorarea datelor, la dispozitivele de stocare a datelor sau la
strategia de acces la date.
Independena logic a datelor: se refer la imunitatea modelului propriu al
fiecrui utilizator fa de modificri n structura logic global a bazei de date
[Dollinger&Andron, 2004]. Dac se respect independena logic a datelor se
poate modifica structura bazei de date prin adugarea unor noi uniti logice
(cum ar fi cmpuri, nregistrri) i se pot modifica relaiile existente ntre ele
fr a afecta utilizatorii care nu au nevoie de aceste date. Fiecare utilizator
poate s foloseasc datele fr a influena ali utilizatori care folosesc aceleai
date.
Fig. 2. Cele trei niveluri ale arhitecturii [Date, 2005]
Nivelul intern: poart numele de baz de date fizic i este o colecie de fiiere
care conin datele fizice, la care se adaug diverse structuri auxiliare menite s
asigure accesul operativ la date (de ex. Indeci, pointeri, etc). Vederea intern
este descris prin intermediul schemei interne.
Nivelul conceptual: este o abstractizare a unei pri din lumea real i const
din descrierea structurii logice a datelor dintr-o baz de date. [Dollinger].
Fiecare baz de date are un model conceptual propriu prin care sunt numite i
descrise toate unitile logice din BD, mpreun cu legturile dintre acestea.
Unitile logice sunt concepte asemntoare celor cu care opereaz utilizatorii
bazei de date.
Ex: n descrierea unei bd a unui hotel se lucreaz cu urmtoarele concepte:
client, camera, rezervri, etc.; iar pentru o BD a unei faculti: studeni,
profesori, discipline, plan de nvmnt, note, etc.
Modelul conceptual integreaz viziunile tuturor utilizatorilor asupra BD i
specific constrngerile asupra datelor (ce poate face parte din bd, ce nu poate
face parte din BD). Tot n modelul conceptual sunt specificate masuri de
securitate i integritate referitoare la anumite uniti logice. Vederea
conceptual conine o reprezentare abstract a ntregii baze de date iar vederea
intern reprezint baza de date aa cum este stocat intern. Vederea
conceptual este definit prin intermediul schemei conceptuale.


15
Nivelul extern se refer la percepiile utilizatorilor individuali asupra BD.
Majoritatea utilizatorilor nu sunt interesai de ntreaga baz de date ci doar de o
parte a acesteia. Termenul tehnic folosit pentru modelul extern este acela de
vedere extern. Vor exista mai multe vederi externe diferite, fiecare vedere
reprezentnd o anumit poriune a bazei de date. Fiecrui utilizator sau grup de
utilizatori i corespunde un model extern propriu ceea ce vede utilizatorul din
BD sau modul n care vede acesta baza de date.
Prin utilizarea vederilor se asigur securitatea bazelor de date prin limitarea
accesului la date a anumitor categorii de utilizatori. Utilizatorii au acces doar
la pari bine definite din BD, existnd posibilitatea ascunderii anumitor pari
din baza de date pe care utilizatorii nu au voie sa le vad. Un utilizator poate
avea diferite drepturi de acces definite n cadrul a mai multe vederi. Prin unele
vederi poate avea doar drept de consultare, in timp ce prin altele ar putea avea
i drepturi de modificare. Prin vederi se ofer utilizatorilor o viziune
individualizat i simplificata asupra bazei de date. Fiecare vedere extern este
definit prin intermediul unei scheme externe.
Ex: baza de date cu clienii unui hotel. Vrsta clienilor este o informaie care
poate fi folosita pentru realizarea unor statistici, etc. Daca se memoreaz in
baza de date vrsta clienilor atunci acest cmp trebuie sa fie actualizat zilnic,
de aceea se va crea o vedere in care apare definit conceptul de vrsta calculat
ca diferen dintre data curent si data naterii. ntr-o baz de date cu studeni
se va defini conceptul bursier.
5. Sistemul de gestiune a bazelor de date
Sistemul de gestiune a bazelor de date (SGBD) este software-ul care trateaz
toate cererile de acces la baza de date.
Funciile pe care le ndeplinete un SGBD sunt urmtoarele:
Definiia datelor: Sistemul SGBD trebuie sa fie capabil sa accepte
definiiile datelor (schemele externe, schema conceptuala, schema
intern) n forma-surs i s le transforme n forma-obiect adecvata.
Descrierea datelor se realizeaz prin intermediul limbajul de descriere a
datelor LDD.
Manipularea datelor: sistemul SGBD trebuie sa fie capabil sa
manipuleze cererile de consultare, actualizare sau tergere a datelor
existente n BD sau s adauge date noi in BD. Aceast funcie poate fi
realizat prin intermediul Limbajelor de manipulare a datelor.
Optimizarea cererilor de acces;
Asigurarea securitii i integritii datelor;
Refacerea datelor i asigurarea accesului concurent la date;
Trebuie s pun la dispoziie o funcie pentru dicionarul de date.
Dicionarul conine date despre datele din BD, (denumite si metadate)
adic definiii ale unor obiecte din sistem.


16
SGBD trebuie s ndeplineasc toate sarcinile ntr-un mod cat mai
eficient posibil.

Scopul general al unui SGBD este de a furniza interfaa cu utilizatorul pentru
sistemul de baze de date. Interfaa cu utilizatorul poate fi definit ca o grani a
sistemului, dincolo de care totul este invizibil pentru utilizator. Cele mai
cunoscute SGBD-uri la ora actual sunt: Oracle, Microsoft Sql Server, Visual
FoxPro, DB2, dBase, MySql (opensource), PostgreSQL.
6. Evoluia SGBD
Istoria SGBD poate fi rezumat n trei generaii:
Sisteme ierarhice i reea;
Sisteme relaionale;
Sisteme avansate (orientate obiect, relaionale OO, distribuite,
multimedia, etc.)
n cazul modelelor ierarhice i reea datele sunt reprezentate la nivel de articol
prin legturi ierarhice sau de tip graf. Administrarea i manipularea datelor este
dificil datorit dependenei fizice a datelor.
A doua generaie de SGBD-uri este legat de apariia modelelor relaionale
care trateaz entitile ca nite relaii. S-a conturat in dou articole publicate de
E. F. Codd n 1969, 1970. Se poate defini printr-o serie de structuri de date
(relaii alctuite din tupluri), operaii aplicate asupra structurilor de date
(selecie, proiecie, join), i reguli de integritate care s asigure consistena
datelor (chei primare, restricii refereniale..)
SGBDOO au aprut ca urmare a mbinrii tehnicii limbajelor orientate obiect
cu a bazelor de date.
Verificarea cunotinelor
1. Care este deosebirea ntre date i informaii?
2. Ce condiii trebuie s ndeplineasc informaiile pentru a fi utile n
luarea deciziilor?
3. Care sunt avantajele utilizrii bazelor de date?
4. Care sunt componentele unui sistem de baze de date?
5. Care sunt obiectele unei baze de date Access?
6. Care sunt funciile principale ale unui sistem de gestiune a bazelor de
date?
7. Care dintre pachetele software de mai jos nu este un sistem de gestiune
a bazelor de date?
a. dBase b. Microsft Access c. Solaris
d. Visual FoxPro e. Microsft SQL Server f. Oracle.


17
4. Avantajele utilizrii bazelor de date sunt:
A. Redundant sczut a datelor.
B. Evitarea inconsistentei datelor.
C. Salvarea aleatorie a datelor.
D. Partajarea datelor.

a. Variantele A, B, D. b. Variantele A si C. c. Variantele A si D.
d. Variantele B si C. e. Variantele B si D. f. Variantele C si D.
5. Care din urmtoarele afirmaii sunt adevrate (ncercuii rspunsurile
corecte)
1. Integritatea datelor se refer la corectitudinea datelor;
2. Baza de date este un sistem integrat, coerent i partajat de fiiere;
3. Datele persistente pot fi terse din baza de date fr cerere
explicit adresat sistemului SGBD;
4. Baza de date este o component a sistemului informatic;
5. Redundana este proprietatea datelor de a fi disponibile n timp util.


18
UNITATEA 2
MICROSOFT ACCESS 2000 PREZENTARE GENERAL
Sintez

Microsoft Access 2000 face parte din pachetul de programe Microsoft Office
Professional i este cea de-a cincea versiune a produsului de la lansarea sa
iniiala n 1992. Microsoft a vndut peste 75 milioane de copii ale produsului
Microsoft Office din care 45 milioane sunt exemplare Office97.
Principalele caracteristici ale sistemului de gestiune a bazelor de date Access
sunt:
sistemul de gestiune a bazelor de date este relaional i lucreaz sub
sistemul de operare Windows;
este deschis comunicrii cu alte sisteme de gestiune a bazelor de date cum
ar fi Foxpro sau Paradox;
este compatibil cu tehnologia ActiveX care permite realizarea aplicaiilor
client/server;
permite realizarea de aplicaii complexe prin utilizarea limbajului Visual
Basic;
permite comunicarea cu SQL Server, alt produs Microsoft care gestioneaz
baze de date;
permite accesul la baze de date din mediul Internet, fiind un instrument util
pentru publicarea informaiilor n paginile Web;
cerine hardware pentru instalare: computer Pentium cu 32 MB RAM, 200
MB spaiu pe HDD, CD-ROM, monitor SVGA.
este prevzut cu ajutor (help), apelabil contextual sau la cerere;
conine instrumente tip wizard care permit utilizatorului crearea facil a
unor obiecte;
accept nume lungi n definirea fiierelor;
permite crearea de comenzi rapide (shortcuts) n vederea accesrii
obiectelor Access;
permite crearea de grupuri de obiecte definite de utilizator n cadrul bazei
de date;
permite setarea proprietilor iniiale ale bazei de date cum ar fi titlul
aplicaiei, ataarea de pictograme (icons), precum i forma de afiare
iniial;
ofer posibilitatea crerii unei copii a bazei de date i prin utilizarea
aplicaiei Briefcase, realizarea sincronizrii ntre diferitele copii ale bazei
de date;
permite utilizarea instrumentului asistent (wizard) n vederea crerii a mai
mult de 20 de tipuri comune de aplicaii;
permite utilizarea de adrese i legturi Internet;


19
conine exemple de baze de date care contribuie la o mai bun nelegere a
modului de construire a tabelelor, formularelor, rapoartelor, interogrilor,
relaiilor dintre tabele. Baza de date Northwind are un numr mare de
nregistrri i poate fi folosit pentru a crea propriile rapoarte, formulare,
interogri.
permite vizualizarea legturilor dintre tabelele bazei de date prin
intermediul unei interfee grafice fereastra Relationships;
are integrat facilitatea de Office Assistant (ajutor animat);
permite comunicarea cu celelalte aplicaii incluse n pachetul Microsoft
Office: Word, Excel, FrontPage, etc. prin operaii de import/export.
suport dou limbaje standard de interogare: SQL (Structured Query
Language) i QBE (Query By Example)
1. Mediul Microsoft Access 2000
Lansarea n execuie a programului Microsoft Access se poate face prin
urmtoarele modaliti:
1. Prin succesiunea: clic pe butonul Start -> Programs-> Microsoft Access














2. Prin dublu clic pe pictograma de pe Desktop, asociat
programului Ms. Access.

La rularea programului Microsoft Access, va aprea pe ecran fereastra din
figura de mai jos care pune la dispoziie urmtoarele opiuni:
1. Crearea unei baze de date vide;
2. Crearea unei baze de date cu ajutorul aplicaiei Database Wizard;
3. Deschiderea unei baze de date existente. Csua din partea de jos a
ferestrei indic cele mai recent utilizate baze de date. Daca baza dorit
nu se afla printre acestea, executnd clic pe More Files se poate naviga
prin structura de directoare n cutarea fiierului dorit.


20
Fig. 3. Fereastra Microsoft Access.
Fereastra de baz a aplicaiei Access are acelai aspect general folosit n
celelalte aplicaii Office i conine urmtoarele elemente:

Bara de titlu (Title bar): conine numele aplicaiei cu care se
lucreaz (Microsoft Access) precum i cele trei butoane "soft"
descrise mai jos:
o Minimize (minimizare) minimizeaz fereastra, o transform
ntr-un obiect pe bara de task-uri
o Restore (revenire) permite revenirea ferestrei la dimensiunea
iniial
o Close (nchidere) nchide fereastra (nchide folderul, respectiv
aplicaia).
Bara de meniuri (Menu bar): conine urmtoarele meniuri - File
(fiier), Edit (editare), View (vizualizare), Insert (inserare), Tools
(instrumente), Window (fereastr) i Help (ajutor); modul de lucru
a opiunilor din meniuri se nva cu ajutorul exerciiilor aplicative!
Bara (trusa) cu instrumente Database (Database Tool bar):
cuprinde butoane pentru execuia rapid a unor aciuni: crearea
( ) i deschiderea ( ) bazelor de date, salvarea ( ) , tiprirea
( ), previzualizarea ( ) obiectelor din baza de date. De
asemenea, aa cum eram obinuii din aplicaiile Microsoft, avem
butoane pentru lucrul cu text: Spelling face verificarea
gramatical ( ), Cut (taie ), Copy (copiaz ), Paste (lipete
), Undo (anulare ). Tot pe bara Database avem butoane
specifice aplicaiei care realizeaz sarcini imediate pentru
utilizatorii care doresc s realizeze la repezeal componentele
1
2
3


21
Bara de titlu a
ferestrei Database
Coninutul ferestrei
Database
Bara de meniu a
ferestrei Database
Bara de stare
Bara de titlu Bara meniu Bara cu instrumente
Database
Bara cu obiecte
unei aplicaii: adugarea unui nou obiect( ), crearea rapid a
unui formular .
Fereastra Database: conine, la rndui ei, urmtoarele elemente:
- Bara de titlu: conine numele bazei de date deschise precum i
cele trei butoane "soft": Minimize, Restore i Close;
- Bara de obiecte: este situat n partea stng a ferestrei i are
dou butoane: Objects i Groups. Pentru a actualiza coninutul
ferestrei Database, putei executa clic pe orice obiect din bara.
Pentru a vedea toate tabelele din baza de date, executai clic pe
butonul Objects, situat n partea de sus a barei de obiecte, apoi
executai clic pe Tables; pentru a vedea toate formularele trebuie
s executai clic pe Forms, i aa mai departe. Dac executai
clic pe butonul Groups, Access va afia o list cu grupurile
definite de utilizator.

Fig. 4. Fereastra de baz a aplicaiei Access
- Bara de meniu a ferestrei Database are urmtoarele opiuni:
Open ( ) deschide un obiect n mod de afiare curent;
Design ( ) deschide un obiect n mod de afiare design;
New ( ) creeaz un nou obiect;
Delete ( ) terge un obiect;
Large Icons ( ) afieaz obiectele sub forma unor pictograme mari;
Small Icons ( ) afieaz obiectele sub forma unor pictograme mici;


22
List ( ) modul de afiare prestabilit, afieaz o list cu obiectele;
Details ( ) listeaz pentru fiecare obiect mai multe informaii:
descriere, data la care a fost creat, data ultimei modificri i tipul
obiectului.
- Bara de stare (Status bar): aa cum spune i numele su, ea indic
starea n care ne gsim la un moment dat. De exemplu, dac
deschidem un tabel n mod proiectare ( ) n partea stng apare
textul Design View. F6=Switch panes. F1=Help.
2. Arhitectura Microsoft Access
O baza de date reprezint o modalitate de stocare a unor date pe un suport
extern (mediu de stocare), cu posibilitatea regsirii rapide a acestora. Pentru a
interaciona cu datele cuprinse n baza de date, Access se folosete de obiecte:
interogri, rapoartele, formularele, controale. Toate elementele din Access, cu
excepia datelor din nregistrri, sunt obiecte. Astfel, o baz de date Access
poate fi definit ca o colecie de obiecte: tabele (tables), cereri de interogare
(query), formulare (forms), rapoarte (reports), pagini Web (pages), comenzi
macro (macros) i module (modules).

Tabelul (TABLE) este un obiect definit de utilizator n care sunt stocate datele
primare (expresia modelului relaional). Mai precis, un tabel este o colecie de
date "legate" ntre ele, care sunt stocate pe linii i coloane. Coloanele reprezint
cmpurile (fields) care se descriu prin nume, tip i alte atribute ale acestora.
Fiecare cmp trebuie s fie legat de destinaia tabelului din care face parte.
Fiecare linie a tabelului conine o nregistrare (record) cu date corespunztoare
coloanelor i reprezint o entitate complet de date. De exemplu, atunci cnd
creai un tabel pentru stocarea datelor referitoare la clieni putei avea cmpuri
pentru cod client, nume, prenume, adresa, cod potal, numr de telefon, data
naterii etc. n acest caz, o nregistrare va consta din toate aceste informaii
pentru o anumit persoan (client). O baz de date poate conine unul sau mai
multe tabele independente sau legate ntre ele.



Cod
client
Nume Prenume Adresa
Cod
postal
Data
nasterii
1 Oltean Radu Str. Mehedinti Nr. 61 3400 4/2/1968
2 Popescu Adriana Str. Aurel Vlaicu Nr. 4 3400 5/3/1974
3 Plesan Sorin Str. Sibiului Nr 45 3125 9/8/1959
4 Sitaru Adela Str. Cernei Nr.3 3400 9/6/1962
5 Patterson J ohn 27 Newpoint Street GM80AN 2/4/1976
Cmpuri (fields)

n
r
e
g
i
s
t
r

r
i

(
r
e
c
o
r
d
s
)



23

Interaciunea cu datele stocate n tabele nu se face n mod direct. De regul,
fiecrui tabel i sunt asociate alte obiecte (formulare, rapoarte, interogri), iar
atunci cnd utilizatorul are nevoie de anumite date va apela un formular sau un
raport care va gsi datele i le va afia pe ecran n forma cerut.

Interogarea (QUERY) este un obiect care permite vizualizarea informaiilor
obinute prin prelucrarea datelor din una sau mai multe tabele i/sau alte cereri
de interogare. Este un instrument foarte util pentru analiza datelor stocate n
tabele. De exemplu, putei folosi o interogare pentru a genera o list cu
telefoanele anumitor clieni sau pentru a determina suma ncasat de la clieni,
de asemenea, putei obine date din mai multe tabele legate ntre ele. Practic,
numrul ntrebuinrilor care se pot da acestor obiecte este nelimitat:
putei vizualiza nregistrrile care ndeplinesc o anumit condiie
prin intermediul interogrilor de selecie (Select Query);
putei modifica, aduga i chiar terge date din tabele folosind
tipurile de interogri specifice acestor operaii: Update, Append i
Delete Query;
putei sorta nregistrrile dup cmpuri sau grupuri;
putei efectua calcule pe grupuri de nregistrri;
putei combina mai multe tabele sau interogri.
Interogarea este, n esen, o ntrebare sau o cerere stocat. Aa cum datele sunt
stocate n tabele (table) i cererile sunt stocate n obiecte de tip Query. Odat
creat, o interogare poate fi apelat de ori cte orie este nevoie.

Formularul (FORM) este un obiect care permite introducerea datelor, afiarea
acestora sau controlul ntregii aplicaii. Formularul constituie interfaa dintre
utilizator i datele stocate n baza de date, de aceea va fi folosit foarte frecvent.
Formularele simplific vizualizarea, introducerea i modificarea datelor. n
majoritatea cazurilor va putei gndi la ele ca fiind reprezentri pe ecran ale
formularelor pe hrtie, cu care suntei deja obinuii s lucrai. Modul de
completare al datelor n formularul Access este asemntor cu completarea
unui formular pe hrtie, numai c datele introduse pe ecran vor fi stocate in
unul sau mai multe tabele i pot fi folosite ulterior la ntocmirea diferitelor
situaii. Prin intermediul formularelor se pot realiza diverse operaii cum ar fi:
sortarea, cutarea, actualizarea unor date dar pot fi folosite i ca parte a
interfeei aplicaiei dumneavoastr. Folosind butoanele de comand putei
deschide alte formulare sau rapoarte atunci cnd este nevoie.

Raportul (REPORT) este un obiect care permite formatarea i tiprirea, sub
form de documente, a informaiilor obinute n urma consultrii bazei de date.


24
Cu toate c formularele reprezint un instrument excelent pentru introducerea
i afiarea datelor pe ecran, rapoartele sunt principalele dispozitive de ieire
in Access. Rapoartele pot fi previzualizate pe ecran, tiprite la imprimanta,
vizualizate ntr-un navigator Internet (browser), etc. Sunt foarte uor de creat i
sunt instrumente puternice de prezentare a datelor. Putei crea cu ajutorul
acestor obiecte diverse situaii de ieire pentru aplicaia dumneavoastr, de
exemplu, lista clienilor firmei pe localiti sau judee.

Pagina Web de accesare a datelor (PAGES) reprezint un obiect care include
un fiier HTML i alte fiiere suport n vederea furnizrii accesului la date prin
intermediul browser-elor Internet. Acest obiect permite vizualizarea datelor n
mediul Internet.

Comanda Macro (MACRO) reprezint un obiect care conine o definiie
structurat a uneia sau mai multor aciuni pe care Access le realizeaz ca
rspuns la un anumit eveniment. Aceste obiecte sunt foarte utile deoarece
permit automatizarea diverselor evenimente fr ca realizatorul aplicaiei s
trebuiasc s cunoasc limbajul VBA (Visual Basic for Applications).

Modulul (MODULE) reprezint un obiect care conine proceduri definite de
utilizator i scrise n Visual Basic. Astfel, introducei ntr-un modul codul
procedurii, apoi folosii obiectele eveniment (sau alte proceduri) pentru a
executa procedura. Toate obiectele descrise mai sus vor fi detaliate in
capitolele urmtoare.
3. Meniurile i opiunile lor
Opiunile din cadrul meniurilor au urmtoarele caracteristici [Avram-Nichi et
al.]:
Opiunile din cadrul unui meniu sunt grupate logic n funcie de
aciunile de executat, grupele de opiuni sunt delimitate printr-o linie
orizontal;
Unele opiuni au afiate dup nume trei puncte (). Aceste puncte
indic faptul c selectarea opiunii respective va avea ca efect
deschiderea unei ferestre de dialog cu informaii suplimentare.
Comenzile care nu sunt urmate de cele trei puncte se vor executa
imediat ce au fost selectate.
Unele opiuni din meniu sunt dezactivate (apar afiate ters) i nu pot fi
selectate ntr-un anumit context. De exemplu, opiunea Save din meniul
File nu va fi activ atta timp ct nu exist o baz de date deschis.
Dac n dreptul unei opiuni apare un vrf de sgeat (), prin
selectarea opiunii respective se va deschide un alt nivel de submeniuri;


25
Unele opiuni au o pictogram n faa numelui ceea ce nseamn c
acea opiune este disponibil i dintr-o bar de instrumente prin
intermediul butonului cu pictograma respectiv.
Anumite opiuni sunt urmate de o combinaie de forma Ctrl+liter.
Acele opiuni pot fi accesate direct prin combinaia de taste respective
(Save Ctrl+S, Print Ctrl+P, Copy Ctrl+C, Paste Ctrl+V, etc.)
Dac la finalul listei de opiuni apar dou vrfuri de sgeat ( )
anumite opiuni nu sunt afiate - pentru a vizualiza lista complet de
opiuni utilizatorul trebuie s poziioneze mouse-ul pe aceste sgei.
3.1. Meniul File: conine comenzi pentru manipularea bazelor de date -
crearea, deschiderea, salvarea i nchiderea bazelor de date dar i opiuni pentru
tiprirea, importul i exportul datelor. Principalele opiuni ale acestui meniu:












Fig. 5. Opiunile meniului File
New (Ctrl+N) crearea unei baze de date;
Open (Ctrl+O) deschiderea unei baze de date create anterior;
Get external data importul datelor din surse externe: din baze de date
(Ms Access, dBASE, Paradox, ODBC Databases), foi de calcul
tabelar (Excel, Lotus 1-2-3), fiiere HTML sau fiiere text.
Close nchiderea unei baze de date;
Save (Ctrl+S) salvarea obiectelor bazei de date.
Save as salvarea obiectelor bazei de date cu un alt nume (sau sub alta
form tabel, formular, raport).
Export exportul datelor n fiiere text, foi de calcul tabelar, baze de
date sau alte formate.
Page Setup setarea paginii permite setarea marginilor (sus, jos,
stnga, dreapta), selectarea formatului de pagin i a orientrii
acesteia i ntroducera numrului de coloane pentru fiecare pagin;
Print Preview previzualizare nainte de tiprire;
Print (Ctrl+P) afiarea ferestrei de dialog Print care permite
selectarea imprimantei, introducerea intervalului paginilor care
urmeaz a fi listate i numrul de copii;


26
Send to trimiterea bazei de date direct la un email;
Database Properties afieaz proprietile bazei de date tipul de
fiier, locaia de stocare, dimensiunea, numele MS-DOS, data crerii,
modificrii, data ultimei accesri, atributele fiierului, etc.
Exit nchiderea aplicaiei Microsoft Access.
3.2. Meniul Edit: conine opiuni pentru editarea obiectelor bazei de date.







Fig. 6. Opiunile meniului Edit
Undo (Ctrl+Z): anularea efectului unei aciuni anterioare;
Cut (Ctrl+X): mutarea textului sau a obiectelor selectate n memoria
Clipboard;
Copy (Ctrl+C): copierea textului sau a obiectele selectate n memoria
Clipboard;
Paste (Ctrl+V): copierea coninutului memoriei Clipboard n poziia
curenta a cursorului.
Create Shortcut: crearea unei scurtturi pentru un obiect al bazei de
date pentru a fi apelat mai uor.
Delete: tergerea elementelor selectate;
Rename: redenumirea obiectelor bazei de date.
3.3. Meniul View: conine opiuni pentru vizualizarea obiectelor bazei de date.
3.4. Meniul Insert: permite inserarea unor obiecte noi (tabele, interogri,
formulare, rapoarte, pagini web, macro-uri sau module) n baza de date.
Dup selectarea unei opiuni pe ecran va aprea fereastra pentru crearea
unui obiect nou de tipul respectiv (fereastra New Table pentru tabele,
etc.). AutoForm i AutoReport sunt opiuni cu ajutorul crora se poate
crea rapid un formular sau un raport pe baza datelor dintr-un tabel. Este
Vizualizarea obiectelor bazei de date
Afiarea obiectelor sub forma unor pictograme mari
Afiarea obiectelor sub forma unor pictograme mici
Afi area unei liste cu obiectele bazei de date
Afi area unor informa ii detaliate pentru fiecare obiect
Aranjarea obiectelor BD dup nume, tip, data crerii, data
actualizrii sau aranjare automat.
Alinierea pictogramelor
Afi area ferestrei cu propriet ile obiectului selectat
Afi area ferestrei Code
Activarea sau dezactivarea truselor de instrumente de pe ecran
Remprosptarea imaginii de pe ecran
Fig. 7. Op iunile meniului View


27
Utilitare pentru baze de date: pentru convertirea BD,
compactarea i repararea BD, legarea tabelelor, crearea
tablourilor de comanda (Switchboard), crearea fi ierelor MDE
Verificarea lexical a textului
Corectarea automat a textului
Asigurarea legturii cu Microsoft Word i Microsoft Excel
Asigurarea colaborrii online cu al i utilizatori
Crearea legturilor ntre tabele
Analiza tabelelor, a performan elor, realizarea documenta iei
Crearea copiilor de siguran pentru BD
Stabilirea parametrilor de lansare a unei aplica ii
Lansarea editorului Visual Basic, rularea macrocomenzilor
Introducerea unei parole pentru BD, asigurarea protec iei BD,
criptarea/decriptarea BD
Adugarea controalelor ActiveX
Adugarea unor programe Add-In
Adugarea/ eliminarea unor truse de instrumente,
controale, op iuni
Setarea op iunilor sistemului Microsoft Access
cea mai simpl i mai rapid modalitate de creare a
formularelor/rapoartelor.












3.5. Meniul Tools: permite utilizarea diverselor instrumente ale sistemului
Microsoft Access 2000.













Fig. 9. Opiunile meniului Tools
3.6. Meniul Window: include opiuni destinate gestiunii ferestrelor deschise
aranjarea pe orizontal a ferestrelor (Tile
Horizontally), aranjarea pe vertical a ferestrelor
(Tile Vertically), afiarea ferestrelor n cascad
(Cascade), aranjarea pictogramelor (Arange
Icons), ascunderea i reafiarea ferestrelor pe
ecran (Hide/Unhide).
3.7. Meniul Help: conine opiuni pentru accesarea fiierului de asisten
(Help). Prin intermediul acestui meniu utilizatorul poate obine informaii
referitoare la comenzile, funciile, opiunile sistemului Microsoft Access.
Informaiile pot fi accesate direct sau prin intermediul asistentului Office
(Office Assistant). Fereastra Help are trei tab-uri: Contents cuprinde un
Fig. 8 Op iunile meniului Insert


28
manual de utilizare a sistemului Microsoft Access; Answer Wizard
permite utilizatorului s caute informaii
dup o propoziie sau o combinaie de
cuvinte i tab-ul Index permite
utilizatorului s caute informaii dup
cuvinte cheie.

4. Proiectarea structurii bazei de date
Prima faz n proiectarea bazei de date trebuie s fie analiza obiectivului
urmrit. Pentru a realiza acest lucru trebuie s rspundei la urmtoarele
ntrebri: Ce informaii vei stoca? Cine le va folosi? De ce fel de ieiri avei
nevoie?
Atunci cnd proiectai o baz de date trebuie s urmai o serie de pai:
1. Determinai scopul bazei de date. Acest lucru v ajut s stabilii
ce fel de date vrei s stocai n baza de date pe care o vei crea (ex.
gestiunea personalului, evidena stocurilor).
2. Determinai tabelele de care avei nevoie. Odat ce avei un scop
clar stabilit, putei mpri informaiile n subiecte separate, ca se
exemplu Angajai, Clieni, sau Comenzi. Fiecare subiect va fi
un tabel n baza de date. Numele tabelului trebuie s fie sugestiv
pentru informaiile pe care le va conine.
3. Determinai cmpurile de care o s avei nevoie n tabele.
Hotri ce fel de informaii vor fi stocate n cadrul tabelelor.
Fiecare categorie de informaii dintr-un tabel poart denumirea de
cmp (field) i fiecare cmp va fi afiat pe o coloan n tabel. De
exemplu, un tabel cu denumirea Angajai poate s aib urmtoarele
cmpuri: Nume, Prenume, Data angajrii, Salar_brut, Impozit.
4. Determinai relaiile dintre tabele. Analizai cu atenie tabelele i
stabilii legturile care exist ntre datele coninute n tabele diferite.
n cazul n care nu putei stabili relaii ntre tabele, introducei tabele
sau cmpuri de legtur.
5. mbuntirea proiectului. Analizai proiectul pentru a gsi
eventuale erori. Creai tabelele i adugai cteva nregistrri de
prob. Vedei dac putei obine din tabele rezultatele de care avei
nevoie, facei modificri dac este nevoie.
Pentru a parcurge etapele de mai sus putei folosi o tabl de scris sau hrtie i
creion pentru c vei face multe modificri pn vei ajunge la o form de
proiectare acceptabil. Experimentai modelul proiectat, introducei date de
test, creai formulare i rapoarte de prob. Asigurai-v c datele sunt stocate n
mod corespunztor n baza de date i c putei obine toate informaiile i


29
situaiile finale dorite. Este mult mai dificil s modificai tabelele, formularele,
rapoartele dup ce au fost introduse date reale.
4.1. Proiectarea tabelelor
Datele sunt stocate n nregistrrile tabelelor, iar pentru a putea fi regsite uor
acestea trebuie s fie bine organizate n cadrul lor. De aceea, trebuie acordat o
atenie deosebit fazei de proiectare a bazei de date. Aspectele care trebuie s
le urmrii atunci cnd ncepei s lucrai cu tabele sunt:
mprii informaiile lungi n uniti mai mici. De exemplu, n loc
s stocai numele clienilor ntr-un singur cmp, folosii dou
cmpuri, unul pentru nume i altul pentru prenume avnd astfel
posibilitatea s sortai sau s selectai datele separat att dup nume
ct i dup prenume.
Datele stocate n fiecare cmp trebuie s constituie cea mai mic
unitate de informaie, ceea ce nseamn ca ele s nu mai poat fi
mprite n componente mai mici. Stocarea corect a adreselor
clienilor se va face n cmpuri diferite: strada i numr, ora, jude
i cod potal.
Evitai redundana. Nu introducei aceeai informaie n mai mult
de un cmp. De exemplu, dac avei n tabel un cmp data_naterii
nu mai trebuie s stocai in tabel i vrsta persoanei pentru c
aceasta se poate calcula din data naterii. De asemenea, nu repetai
aceleai date n mai multe tabele.
Folosii cmpuri de tip text pentru a stoca numere de telefon, codul
numeric personal sau codul potal. Aceste numere sunt secvene
arbitrare de caractere folosite pentru identificare, nu sunt valori
numerice. Un numr de telefon poate s nceap cu 0 i poate s
conin caractere despritoare (0745-466789) de aceea, cea mai
bun form de stocare o reprezint cmpul text.
Fiecare tabel trebuie s aib o cheie primar care s identice n mod
unic fiecare articol (nregistrare) din tabel. Folosirea cheilor ajut la
prevenirea introducerii de date duplicate. O cheie a unui tabel se
aseamn cu cota care se atribuie crilor ntr-o bibliotec: aceasta
este un identificator unic ce controleaz ordonarea i nregistrarea
crilor, identific duplicatele i evit confuziile care pot s apar
atunci cnd dou volume au acelai autor sau au acelai titlu.
Toate datele trebuie s fie mutual dependente. Cu alte cuvinte, nici
un cmp nu trebuie s depind de informaiile aflate n alt cmp al
aceluiai tabel. De exemplu, dac un tabel de eviden a vnzrilor
conine preul unitar, cantitatea vndut i ncasri, avem de a face
cu un cmp dependent. Astfel, dac schimbm valoarea preului
unitar, sau valoarea cantitii vndute, trebuie s actualizm i
valoarea din cmpul ncasri pentru ca datele s fie consistente.


30
se selecteaz directorul
aici se introduce numele BD
Pentru a nltura dependena, cmpul ncasri trebuie eliminat din
structura tabelului i trebuie nlocuit cu un control calculat sau cu o
expresie de interogare.
Urmrii cu atenie cmpurile rmase necompletate. Dac un cmp
rmne necompletat nseamn c datele nu se aplic la acea
nregistrare.
Toate cmpurile trebuie s aib o legtur cu cmpul cheie primar.
5. Crearea unei baze de date
Exist dou posibiliti de creare a bazelor de date:
a) crearea unei baze de date vide, n care construirea obiectelor se face
de la zero;
b) crearea unei baze de date folosind Database Wizard.
Pentru a construi o baz de date nou se execut urmtoarele operaii:
1. n fereastra principal (vezi fig.1.) se selecteaz Blank Access
database i se activeaz butonul OK.
2. n caseta de dialog cu titlul File New Database (fig.3) se execut
urmtorii pai:
se selecteaz lista Save in (prin clic pe butonul ). n urma
acestei operaii apare lista unitilor de disc disponibile i a
elementelor de pe Desktop.
se selecteaz unitatea de disc unde va fi salvata noua baz de
date. n interiorul ferestrei va aprea o list cu directoarele
(folderele) disponibile.
se selecteaz folderul unde va fi stocat baza de date;
se introduce numele bazei de date n lista File Name;
se activeaz butonul Create.
Fig. 10. Fereastra File New Database


31
O baz de date nou se mai poate crea i folosind meniul sistem Access,
alegnd opiunea New din meniul File, urmat de introducerea numelui
corespunztor bazei de date ce urmeaz a fi creat. Crearea unei baze de date
folosind asistenii Database Wizard este mult mai simpl i rapid dar prezint
dezavantajul de a nu fi aa de flexibil. Un vrjitor este un instrument complex
(program specializat) cu ajutorul cruia se realizeaz n mod automat o baz de
date sau anumite obiecte (tabele, formulare, rapoarte, interogri, pagini web
pentru prezentarea datelor) lund n considerare preferinele utilizatorului.
Vrjitorul prezint o serie de casete de dialog pentru fiecare etapa. La fiecare
pas utilizatorul trebuie s aleag o serie de opiuni din grupul de opiuni
posibile pentru a trece la urmtorul pas.

Database Wizard creeaz o aplicaie la cheie, genernd toate tabelele,
formularele i rapoartele necesare pentru realizarea unei anumite funcii.
Vrjitorul ofer posibilitatea de a alege din mai multe baze de date predefinite,
destinate fie utilizrii n scop personal, fie utilizrii n cadrul unei firme. Pentru
a vedea lista acestor baze de date selectai opiunea New din meniul File i apoi
executai clic pe categoria Databases din fereastra de dialog New.

Utilizarea Database Wizard:
1. Lansarea n execuie a instrumentului Database Wizard: deschidei
programul Access. Din fereastra de dialog (fig.1) care apare pe ecran
selectai opiunea: Access database wizards, pages and projects i
executai clic pe OK. Pe ecran va aprea urmtoarea caset de dialog:
Fig. 11. Fereastra New
Modaliti de vizualizare
Fereastra Preview
Baze de date disponibile


32
Se selecteaz o baz de date i se execut clic pe butonul OK.
2. Cea de-a doua fereastr a vrjitorului este o fereastr de dialog File (Fig.
10). Vrjitorul i acord noii baze de date un nume care poate fi schimbat.
3. Pentru a merge mai departe se alege butonul Create, iar pentru a anula
operaia se execut clic pe butonul Cancel.
4. Vrjitorul afieaz o fereastr n care descrie tipul de informaii pe care
baza de date le conine. De exemplu, BD Asset Tracking include date
referitoare la active, amortizare, ntreinere, angajai, departamente i
vnztori. BD Contact Management conine informaii de contact i date
referitoare la convorbiri. Dac executai clic pe butonul Finish vrjitorul
va nchide fereastra Database Wizard i va deschide noua aplicaie; dac
executai clic pe Cancel, vrjitorul va terge tot ce ai realizat pn n acest
moment i se va nchide. Dac dorii s mergei mai departe, executai clic
pe butonul (soft) Next.



5. Fiecare tabel din noua aplicaie conine anumite cmpuri prestabilite. Se
pot aduga sau terge cmpuri prin intermediul ferestrei de dialog:
6. Urmtoarea fereastr de dialog v permite s alegei stilul de afiare al
ecranelor dintr-o list de valori predefinite.
Tabelele
aplicaiei
Cmpurile din
tabelul selectat


33








7. n urmtoarea caset de dialog se selecteaz unul din stilurile predefinite
de raport.







8. Prin intermediul ferestrei de mai jos se poate schimba titlul bazei de date
si se poate adaug o imagine care s apar pe rapoartele construite.




34
9. n ultima caset de dialog a vrjitorului lsai selectat opiunea Yes,
Start the Database, confirmnd astfel c dorii s vedei baza de date.
Cea de-a doua opiune Display Help on using Database deschide o
fereastr Help. Pentru a finaliza aplicaia executai clic pe butonul
Finish. Access va genera i va deschide noua baz de date.
6. Operaii asupra bazelor de date
6.1. Deschiderea unei baze de date existente
n cazul n care se urmrete consultarea, modificarea sau actualizarea unei
baze de date creat anterior, aceasta va trebui, mai nti, s fie deschis prin
intermediul opiunii Open An Existing File (din fereastra de dialog care apare
pe ecran la intrarea n aplicaia Ms. Access). O baz de date mai poate fi
deschis i folosind meniul sistem Access, alegnd opiunea Open din meniul
File.
6.2. Salvarea modificrilor unei baze de date
Prin modificarea unei baze de date Access se nelege modificarea obiectelor ce
o compun. Modificarea unui obiect va atrage dup sine o ntrebare din partea
SGBD-ului Access dac aceasta modificare va fi sau nu salvat. n concluzie
orice modificare a obiectelor se salveaz local nefiind necesar salvarea ntregii
baze de date.
6.3. Redenumirea bazei de date
Pentru a putea redenumi o baz de date aceasta trebuie s fie mai nti nchis.
Se selecteaz opiunea Open din meniul File, se caut baza de date i se
selecteaz opiunea Rename din meniul contextual ( sau din meniul Tools al
ferestrei Open).
6.4. Crearea unei copii pentru baza de date
Pentru a crea o copie pentru o baz de date aceasta trebuie s fie mai nti
nchis. Se selecteaz opiunea Open din meniul File, se caut baza de date i
se selecteaz opiunea Copy din meniul contextual i pe urm opiunea Paste.
Verificarea cunotinelor
1. Deschidei programul Microsoft Access.
2. Identificai elementele ferestrei de baz a aplicaiei Microsoft Access.
3. Explicai efectul tuturor opiunilor din meniurile: File, Edit, View i
Window. Pentru rezolvarea acestui exerciiu v putei folosi de Help.
4. Creai cu ajutorul Wizard-ului o baz de date pentru managementul
evenimentelor. Adugai pe urm cinci nregistrri.


35
UNITATEA 3
TABELE
Sintez
1. Crearea tabelelor
Access organizeaz o baz de date n felul urmtor:
Fiierul de baze de date este fiierul principal care
cuprinde pe lng datele cuprinse n tabele i obiecte:
interogri pentru analiza datelor, formulare pentru
interaciunea cu datele, rapoarte pentru tiprirea
rezultatelor, macro i module pentru extinderea
funcionalitii aplicaiilor i pagini web. Fiierul este
salvat cu extensia .mbd (ex. Agentie.mbd).
Tabelul (Table) este o colecie de date specifice unui
anumit subiect, stocate pe linii i coloane. n baza de date
pot exista mai multe tabele. (ex.: Clieni, Comenzi).
Cmpul (Field) reprezint o coloan n cadrul tabelului,
i este cea mai mic unitate de date din cadrul bazei de
date. (ex.: numele i prenumele clientului)
Tipul de date (Datatype) este o proprietate a fiecrui
cmp. O coloan poate stoca doar date de un anumit tip, de
ex. cmpul data_nasterii va conine doar date calendaristice
iar cmpul nume va conine doar tipul text).
Valoarea reprezint valoarea introdus ntr-un cmp. De exemplu, n
cmpul Nume, de tip text, se poate stoca valoarea Ionescu.

Crearea structurii tabelelor se refer la definirea cmpurilor (coloanelor)
tabelelor i, dup cum se observ n fereastra Database ( fig. 11), acest lucru se
poate face n trei moduri:
1. Utiliznd fereastra de proiectare - CREATE TABLE IN DESIGN
VIEW
2. Prin introducerea datelor - CREATE TABLE BY ENTERING DATA
3. Utiliznd instrumentul Wizard - CREATE TABLE BY USING
WIZARD
Modul cel mai eficient de creare a tabelelor l reprezint utilizarea ferestrei de
proiectare, motiv pentru care se vor prezenta mai nti pe scurt celelalte dou
moduri. Crearea unei tabele utiliznd instrumentul wizard permite adugarea
unor cmpuri standard ce exist deja n cadrul bibliotecilor de tabele standard.
De exemplu dac se dorete realizarea unei tabele cu clieni (CUSTOMERS)
utilizndu-se instrumentul wizard, se pot selecta anumite cmpuri standard
Baza de date
Tabel
Cmp
Tip de date
Valoare
Fig. 12. Organizarea BD


36
pentru acest tabel precum i relaiile pe care acestea le au cu alte tabele. Nu se
recomand aceasta modalitate deoarece cmpurile din cadrul tabelelor standard
au fost create pentru sistemul de lucru anglo-saxon care n unele privine nu
corespunde cu sistemul romnesc. Utilizarea celui de-al doilea mod de creare a
tabelelor reprezint o form rapid de a introduce datele. Ea nu poate fi aplicat
eficient n cadrul realizrii de aplicaii complexe.
Revenind la primul mod de creare al unei tabele, prin realizarea unui dublu-clic
pe Create Table In Design View pe ecranul monitorului va aprea fereastra
Table. n aceast fereastr se definesc numele cmpurilor FIELD NAME,
tipul de date DATA TYPE i opional o descriere a cmpului respectiv
DESCRIPTION.

Fig. 13. Fereastra Database
Putei s creai un tabel i apelnd opiunea New din bara de meniu a ferestrei
Database.





37
n Access exist dou modaliti de vizualizare a tabelelor:
Datasheet View ( ): permite introducerea de date (articole) n tabel.
Design View ( ): este modul de vizualizare n care se definete structura
tabelului bazei de date (modul care permite introducerea cmpurilor cu
tipul de data asociat i descrierea corespunztoare).
Pentru a comuta ntre modurile datasheet view i design view, se executa clic
pe butonul din colul stnga-sus al ferestrei aplicaiei
Microsoft Access. De exemplu dac avem un tabel Judee
cu urmtoarele cmpuri: cod_jude text(2) i jude-
text(30) acesta va putea fi afiat n dou moduri:

Fig. 14. Tabelul Judee deschis n mod Datasheet


Fig. 15. Tabelul Judee deschis n mod Design View


38
2. Caracteristicile cmpurilor
Numele: Microsoft Access 2000 permite ca numele de cmp s fie
format din mai multe cuvinte, de exemplu Nume client. n versiunile
mai vechi de Access denumirea unui astfel de cmp ar fi putut fi scris
cu simbolul underscore (_) adic Nume_client. Numele cmpului
poate fi stabilit dup dorin ns se recomand alegerea unui nume
scurt care s indice rolul cmpului respectiv.

Tipul de date: este o caracteristic ce stabilete modul n care datele
sunt nregistrate pe suportul de memorare i modul n care acestea sunt
interpretate i prelucrate. De exemplu, dac avem un cmp de tip
date/time vom putea introduce n acest cmp doar date calendaristice iar
operaiile pe care Access le poate efectua asupra informaiilor stocate n
acest cmp sunt specifice tipului de date date/time.
n continuare prezentm tipurile de date disponibile pentru cmpuri:
Tip de date
Tip de date
Access
Descrierea tipului de date
Alfanumerice
TEXT
Cel mai des folosit tip de date. Un cmp de tip
text poate conine pn la 255 caractere
alfanumerice. Numerele care nu sunt folosite
pentru calcule vor fi stocate n cmpuri de tip
text (nr. telefon, cod potal, CNP, numerele de
nregistrare, nr. matricol).
MEMO
Poate conine cantiti mari de text sau numere -
cel mult 64.000 caractere. Se folosesc pentru a
oferi comentarii descriptive i notie.
Numerice
NUMBER
Conine mai multe subtipuri de date: Long
Integer, Byte, Integer, Single Double, Replication
ID. Se utilizeaz atunci cnd dorim s stocm
date numerice care vor fi folosite pentru calcule
matematice.
AUTONUMBER
Genereaz numere unice n mod automat de
fiecare dat cnd se introduce un nou articol n
tabel. Poate ndeplini rolul de cheie primar
atunci cnd nu mai exist n tabel o alt cheie.
CURRENCY
Format special pentru uniti monetare, proiectat
pentru a preveni erorile de rotunjire care ar afecta
operaiile contabile.
YES/NO
Cmpurile logice (booleene) folosesc valori
logice numerice de tip ntreg 1 pentru cmpurile
YES (TRUE) i 0 pentru NO (FALSE).
Date
calendaristice

DATE/TIME

Stocheaz data calendaristic i ora ntr-un
format special fix. Se folosete formatul englez
de data lun/zi/an, spre deosebire de cel
romnesc zi/lun/an.


39
Tip de date
Tip de date
Access
Descrierea tipului de date
Obiecte mari

OBJECT OLE

Include elemnte grafice realizate din puncte
(bitmap), desene vectoriale, fiiere cu semnale
audio i alte tipuri de date ce pot fi create de o
aplicaie OLE SERVER.
Adrese
Internet

HYPERLINK

Este un text sau o combinaie de text cu numere
stocat ca un text i folosit ca adres a unei
pagini Web. Conine 3 parti: textul afiat, adresa
i subadresa. Fiecare parte poate avea maxim
2048 caractere.
Tabel 1. Tipuri de date disponibile n Ms. Access
Dac din lista Data Type se alege Lookup Wizard se va crea un cmp a crui
valori pot fi ncrcate dintr-o list derulant. Elementele listei pot fi valori
tastate de utilizator sau valori coninute ntr-un cmp al unui tabel sau
interogare existent.

3. Proprietile cmpurilor
1. Field size (Dimensiunea cmpului): n aceast zon se introduce numrul
maxim de caractere permis pentru cmpul respectiv, n funcie de tipul de
date al acestuia. Putem crea un cmp de tip text cu dimensiune fix
introducnd n celula Field Size valoarea corespunztoare lungimii fixe
dorite (un numr de la 1 la 255). n mod prestabilit Access creeaz un cmp
de tip text care poate cuprinde 50 de caractere. Dac importm cmpuri de
date cu lungime mai mare Access le va trunchia astfel se vor pierde
caracterele cele mai din dreapta care depesc limita indicat.
2. Format (Formatul n care sunt afiate datele): - n Access fiecare tip de
date are mai multe opiuni predefinite de afiare. De exemplu, o dat de tip
dat/or poate fi afiat n mai multe forme:


40

3. Decimal places (Numrul de zecimale): n cadrul acestei proprieti se
stabilete numrul de zecimale ce pot fi atribuite unui cmp.
4. Input Mask (Formatul de introducere): se refer la impunerea unui anumit
format pentru toate datele incluse n cadrul acestui cmp. O masc de
intrare este folosit ntr-un cmp pentru a formata informaia i a controla
ce valori pot fi introduse. De exemplu masca >LLLL este format din dou
pri: simbolul > care transform toate caracterele introduse de utilizator n
majuscule i irul de caractere LLLL ce reprezint nlocuitori pentru litere
(A-Z, fr spaii). Utilizatorul va putea introduce n cmp exact patru litere,
n caz contrar Access va afia un mesaj de eroare. Pot fi folosite pentru
tipurile de date: Text, Date/Time, Number, Currency. Iat cteva exemple:
- pentru formatul datei: 00-00-00
- pentru numr matricol: 000
- pentru numere de nmatriculare: LL00LLL
nlocuitorii de caractere pot fi:
- 0 pentru numere (0-9);
- 9 pentru numere sau pauze;
- L pentru litere (A-Z).
5. Caption (Eticheta): permite specificarea unui anumit nume atribuit
cmpului, nume care va fi afiat n cadrul rapoartelor, formularelor,
tabelelor.
6. Default value (Valoare automat): este valoarea atribuit automat atunci
cnd utilizatorul nu introduce nici o valoare n acel cmp.
7. Validation rule (Regulile de validare): testeaz prin intermediul unui
criteriu (expresie Access) valorile introduse n cmpurile bazei de date i nu
las introducerea de date care nu respect acel criteriu. De exemplu, regula
>0 permite doar introducerea numerelor pozitive, iar >= 10 AND <100
permite introducerea numerelor cuprinse ntre 10 i 99.
8. Validation TEXT (Text de validare): Conine textul care va aprea pe
ecran n cazul n care valoarea introdus n cmp nu respect criteriul
impus de regula de validare.
9. Required (Cerine): se stabilete dac prin introducerea unei nregistrri n
cadrul tabelei este obligatorie i completarea respectivului cmp.


41
10. Indexed (Indexare): dintr-o list derulant se poate alege ntre un index
care admite valori duplicat sau unul care cere ca fiecare valoare a cmpului
s fie unic.
4. Noiunea de cheie primara - PRIMARY KEY
Cheile principale (primary keys) reprezint o component esenial a oricrei
baze de date relaionale. Pentru a se ncadra n modelul relaional
fiecare tabel al bazei de date trebuie s aib un identificator unic.
Asigurarea unicitii se poate realiza prin desemnarea unei chei primare
o coloan sau un set de coloane care identific n mod unic un rnd
din tabel. O cheie primar poate fi format dintr-o singur coloan
cheie simpl, sau poate fi format din mai multe coloane cheie
compus (multipl). ntr-un tabel pot exista mai multe coloane (sau set
de coloane) ce pot conine valori unice. Aceste coloane sunt chei
candidat. Din aceste chei candidat se alege o cheie primar, aceasta
trebuie s conin un numr minimal de coloane i s fie stabil. De
exemplu ntr-un tabel Angajati cu urmtoarele cmpuri: CNP (codul
numeric personal), Nume, Prenume, Data_angajrii, Salar avem dou
chei candidat - CNP i cheia compus din cmpurile Nume, Prenume.
Codul numeric personal este unic pentru fiecare persoana deci el ar
poate asigura unicitatea nregistrrilor. Singura problem este c pentru
angajaii strini cod numeric personal are alt format. Cea de-a doua
cheie ndeplinete condiia de cheie primar att timp ct nu exist n
baza de date doi angajai cu acelai nume i prenume. Cnd apar dou
persoane cu acelai nume i prenume, pentru a se asigura unicitatea, se
poate aduga cmpul data_angajrii la cheia primar, dar atunci
numrul cmpurilor din componena acesteia este prea mare. Cmpul
numele nu este un cmp stabil pentru c, n cazul angajatelor, acesta se
poate schimba prin cstorie, de aceea nu e bine s intre n componena
cheii primare. Deoarece nu am putut gsi o cheie primar natural
trebuie s crem o cheie artificial, o cheie derivat. Putem aduga un
cmp Cod Angajat de tip AutoNumber care s ndeplineasc rolul de
cheie principal.
Definiie: se numete cheie a unui tabel un subset de coloane care ndeplinesc
urmtoarele condiii:
1. valorile coloanelor care compun cheia identific n mod unic fiecare
rnd din tabel.
2. subsetul de coloane este minimal, n sensul c eliminarea oricrei
coloane din cheie duce la nerespectarea primei condiii.
Cheia primar are un rol deosebit de important n implementarea strategiilor de
cutare i de regsire a datelor. Este folosit de SGBD pentru
identificarea unic a nregistrrilor. Cmpul marcat cu PRIMARY KEY


42
nu permite introducerea valorilor duplicat. Asupra cheii primare a
SGBD -urile impun restricii :
nu sunt admise valorile nedefinite (NULL) pentru atributele unei chei
primare, orice alt cheie a unei relaii poate avea valori nedefinite
pentru unele din atributele sale;
nici o valoare a unui atribut dintr-o cheie primar nu poate fi modificat
n cadrul operaiilor de actualizare.

Stabilirea cheii primare se poate face prin dou modaliti, dup cum urmeaz:
1. se selecteaz cmpul cod_cl;
2. a) se selecteaz butonul din trusa de instrumente Database;
b) se activeaz opiunea Primary Key din meniul Edit.
5. Sortarea nregistrrilor
n modul de vizualizare Datasheet View putei vizualiza nregistrrile unui
tabel ntr-o anumit ordine. Pentru a sorta nregistrrile se efectueaz urmtorii
pai:
1. Se trece pe modul de vizualizare Datasheet View ( )
2. Se selecteaz coloana dup care se face ordonarea
3. Se selecteaz opiunea Sort Ascending (sau Sort Descending) din
meniul Records sau se alege butonul sau din bara de instrumente
Database.


Pentru a ilustra modul de creare a structurii unui tabel vom lua ca exemplu
tabelul Infoclieni, din baza de date Clieni, care va conine informaii
referitoare la clienii unei firme. Tabelul are urmtoarea structur:
Cod_cl Numeric, ntreg
Nume Text (30)
Prenume Text(30)
Adresa Text (120)
Localitatea Text (30)
Cod_jude Text(2)
Cod_postal Text(10)
Telefon Text(15)
Data nasterii Dat calendaristic (Date/Time)


43
Se creeaz baza de date Clieni astfel:
1. se pornete aplicaia Microsoft Access: Start->Programs->Microsoft
Access;
2. se selecteaz opiunea Blank Access Database din fereastra Microsoft
Access;
3. din lista Save in se selecteaz directorul unde va fi salvat baza de date,
iar n lista File Name se introduce numele Clienti dup care se activeaz
butonul Create.
Pentru a crea un tabelul Infoclieni selectai opiunea Create table in Design
view, sau selectai opiunea New ( ) din bara de meniu a aceleiai ferestre
i apoi opiunea Design view. Pe ecran va aprea o fereastr n care vei
introduce numele cmpurilor, tipul acestora i o scurt descriere dup cum
urmeaz:
Fig. 16. Modul de introducere a structurii unui tabel
Se repet cei patru pai pentru fiecare cmp n parte. n seciunea Field
Properties se pot introduce informaii legate de cmpuri, reguli de validare,
valori implicite ale datelor ce vor fi introduse n tabel. Dup ce ai introdus
toate categoriile trebuie s stabilii o cheie primar pentru tabelul creat. Cheia
trebuie s identifice n mod unic fiecare nregistrare din tabel i s previn
apariia duplicatelor, n cazul nostru cmpul care ndeplinete condiiile de
cheie primar este cod_cl.

1. Aici se introduce numele
cmpului.
2. Se selecteaz tipul de date
din list.
3. Se introduce o
scurt descriere.
4. Se selecteaz
mrimea cmpului


44
Stabilirea cheii primare se poate face prin dou modaliti, dup cum urmeaz:
1. se selecteaz cmpul cod_cl;
2. se selecteaz butonul din trusa de instrumente Database sau
(folosind meniul sistem Access) se activeaz opiunea Primary
Key din meniul Edit.


Se salveaz tabelul, selectnd opiunea Save din meniul File, iar n fereastra
care apare se introduce denumirea tabelului InfoClienti.

Pentru a aduga articolele se selecteaz Datasheet View ( ) din meniul
View iar n fereastra care apare pe ecran se completeaz urmtoarele date:
Cod
client
Nume Prenume Adresa Localitate Jud
Cod
postal
Telefon
Data
nasterii
1 Opri Radu Str. Plopilor Nr. 6 Cluj-Napoca CJ 23451 0264/552302 02/04/1968
2 Popescu Adriana Str. Horea Nr. 4 Cluj-Napoca CJ 23780 0264/440016 03/05/1974
3 Plesan Sorin Str. Sibiului Nr 45 Medias SB 34758 0269/667980 08/09/1959
4 Sitaru Adela Str. Cernei Nr.3 Cluj-Napoca CJ 34214 0264/418788 06/09/1962
5 Pascu John Str. Alverna Nr 45 Cluj-Napoca CJ 34561 0275/938566 04/02/1976

1. Se selecteaz
cmpul
2. Selectai fie simbolul
iconic - cheie, din trusa
standard, fie opiunea
Primary Key din meniul
Edit


45
Verificarea cunotinelor
1. Tipul de date currency este:
a. Un format special pentru introducerea unor comentarii
descriptive i a unor notie;
b. Un format special pentru uniti monetare ;
c. Un tip de date folosit pentru stocarea datelor calendaristice.
2. Care dintre caracterele /simbolurile de mai jos nu poate fi inclus n
numele unui cmp al unei baze de date?
a. y (caracterul y). b. 9 (cifra 9).
c. _ ( underscore). d. . (caracterul punct)

3. Cum se aliniaz implicit datele introduse n tabel ntre marginile unui
cmp de tip data calendaristic (Date/Time)?
a. La stnga (Left). b. La dreapta (Right).
c. La centru (Center). d. ntre margini (Justify).
4. Precizai care dintre urmtoarele afirmaii sunt adevrate.
a. Coloanele sunt cmpuri (fields).
b. Rndurile sunt nregistrri (records).
c. Coloanele sunt nregistrri (records).
d. Rndurile sunt cmpuri (fields).
5. Care operaiune nu se efectueaz n cazul modificrii structurii unei baze
de date?
a. Modificarea lungimii unor
cmpuri.
b. Modificarea tipului unor
cmpuri.
c. Adugarea unor cmpuri. d. Adugarea unor articole.
e. tergerea unor cmpuri. f. Modificarea denumirii
cmpurilor.
6. Care dintre irurile de cifre si/sau caractere de mai jos este admis ntr-un
cmp de tip numeric ntreg?
a. +125H3 b. -196 3 c. 52.34 d. 99999 e. 9658
7. Dintre variantele de mai jos, care nu este o caracteristic a cmpurilor?
a. Numele
b. Tipul de date
c. Dimensiunea
d. Extensia
8. Ce rol are cheia primar?


46
9. Asupra cheii primare a unui tabel SGBD-ul impune anumite restricii:
A. nu sunt admise valorile nedefinite (NULL) pentru atributele
unei chei primare;
B. nu este permis introducerea unor valori negative;
C. nici o valoare a unui atribut dintr-o cheie primar nu poate fi
modificat n cadrul operaiilor de actualizare.
a) Variantele A si B. b) Variantele A si C.
c) Variantele B i C d) Toate variantele (A, B, C).
Aplicaii practice
I. S se creeze o baza de date avnd numele STUDENT i s se salveze n
directorul personal. Baza de date va conine un tabel InfoStudent n care se vor
stoca informaiile referitoare la studeni. Structura tabelului este urmtoarea:

NRMAT numrul matricol de tip text 3 caractere
Nume numele studentului de tip text 20 caractere
Prenume prenumele studentului tip text 20 caractere
DN data naterii de tip dat calendaristic
ADR adresa studentului de tip text 30 caractere
SCT secia (se va introduce AA sau SO ) - text - 2 caractere
BRS bursier - da sau nu (Yes/No)
Media media studentului de tip numeric-zecimal

1. S se creeze tabela InfoStudent cu cmpurile aferente.
2. S se stabileasc cheia primar pentru tabelul InfoStudent.
3. Cmpul de date Media s permit introducerea unor valori mai mici sau
egale cu 10.00. De asemenea, n cazul n care se introduc valori mai mari
de 10.00 s se afieze urmtorul mesaj de eroare: Introducei valori mai
mici dect 10!.
4. Pentru cmpul de date SCT se va impune condiia ca secia sa fie numai
AA sau SO.
5. S se introduc cte 6 nregistrri, 3 studeni de la AA i 3 studeni de la
SO.
6. S se ordoneze baza de date cresctor dup cmpul Nume.
7. S se ordoneze baza de date descresctor dup cmpul Media.
8. S se introduc un nou student, Popescu Ion de la secia AA.
9. S se tearg studentului de pe poziia a treia.
10. Modificai structura bazei de date prin adugarea unui nou cmp Loc.
text (20), localitatea de unde provine studentul, dup cmpul adresa
ADR.
11. S se completeze cmpul introdus cu informaiile corespunztoare pentru
fiecare student.


47

II. S se creeze o baz de date avnd numele CADRE i s se salveze n
directorul personal. Baza de date va conine un tabel InfoCadre n care se vor
stoca informaiile referitoare la cadrele didactice. Structura tabelului este
urmtoarea:

COD - codul cadrului - de tip text - 3 caractere
Nume - numele cadrului didactic - de tip text - 20 caractere
Prenume - prenumele cadrului didactic - tip text - 20 caractere
DN - data naterii - de tip dat calendaristic
UNV - universitatea - text - 3 caractere
FCT - facultatea la care pred - text - 15 caractere
CTD - catedra - text - 15 caractere
SPEC - specialitatea - text - 30 caractere
CML - cumul de funcii de tip Yes/No
NRO - numr de ore - numeric - ntreg

Se cere:
1. S se creeze tabelul InfoCadre cu cmpurile aferente.
2. S se stabileasc cheia primar a tabelului.
3. S nu se poat introduce n cmpul NRO valori mai mari de 50.
4. S se introduc 4 nregistrri (4 cadre didactice din catedre diferite).
5. S se sorteze tabela InfoCadre cresctor dup cmpul nume.
6. S se sorteze tabela InfoCadre descresctor dup cmpul NRO.
7. S se tearg cmpul DN i n locul lui s se introduc un nou cmp numit
ADR (adresa) - text (30).

III. S se salveze cele dou tabele InfoCadre i InfoStudent cu alt nume. Noile
nume vor fi Cadr respectiv Stud.

IV. S se tearg tabele InfoCadre i InfoStudent.
Sumar
Un sistem de baze de date este un sistem computerizat de pstrare a
nregistrrilor. Componentele principale ale unui sistem de baze de date sunt:
datele, elementele hardware, elementele software i utilizatorii. Sistemul de
baze de date ofer ntreprinderii un control centralizat asupra datelor sale.
Datele sunt fapte culese din lumea real pe baz de observaii i msurtori.
Baza de date este un sistem integrat, coerent i partajat de fiiere.
Sistemul de gestiune a bazelor de date (SGBD) este software-ul care trateaz
toate cererile de acces la baza de date.
Microsoft Access 2000 este sistemul de gestiune a bazelor de date inclus n
pachetul Microsoft Office 2000 Professional.


48
O baz de date Access - o colecie de obiecte: tabele (tables), cereri de
interogare (query), formulare (forms), rapoarte (reports), pagini Web (pages),
comenzi macro (macros) i module (modules).
Tabelul este o colecie de date specifice unui anumit subiect, stocate pe linii i
coloane O baz de date conine unul sau mai multe tabele independente sau
legate ntre ele.
Coloanele tabelului reprezint cmpurile (fields) care se descriu prin nume, tip
i alte atribute ale acestora.
Liniile tabelului conin nregistrri (records) cu date corespunztoare
coloanelor. Interogarea (QUERY) este un obiect care permite vizualizarea
informaiilor obinute prin prelucrarea datelor din una sau mai multe tabele
i/sau alte cereri de interogare.
Formularul (FORM) este un obiect care permite introducerea datelor, afiarea
acestora sau controlul ntregii aplicaii.
Raportul (REPORT) este un obiect care permite formatarea i tiprirea, sub
form de documente, a informaiilor obinute n urma consultrii bazei de date.
Pagina Web de accesare a datelor (PAGES) permite vizualizarea datelor n
mediul Internet.
Comenzile Macro (MACRO) permit automatizarea diverselor evenimente fr
ca realizatorul aplicaiei s fie nevoit s cunoasc un anumit limbaj de
programare.
Modulul (MODULE) reprezint un obiect care conine proceduri definite de
utilizator i scrise n Visual Basic.
Tipul de date: este o caracteristic ce stabilete modul n care datele sunt
nregistrate pe suportul de memorare i modul n care acestea sunt interpretate
i prelucrate.
Cheia primar (Primary Key) - o coloan sau un set de coloane care identific
n mod unic fiecare nregistrare din tabel.
Cheia primar se alege dintre cheile candidat ale tabelului astfel nct aceasta
s conin un numr minimal de coloane i s fie stabil. Nu sunt admise
valorile nedefinite (NULL) pentru atributele unei chei primare.
Sarcini i teme ce vor fi notate
Studierea de ctre studeni a materialului teoretic aferent modulului,
cuprins n suportul curs i n bibliografia suplimentar indicat.
Participarea la aplicaiile practice, teme de laborator, care s determine:
familiarizarea mediul Microsoft Access 2000;
observarea, vizualizarea, exploatarea comparativ a altor
versiuni de Microsoft Access 2003, prin vizualizarea
comparativ a acestora;
Lucrarea practic nr. 1.


49
Lucrarea practic 1 (LP1)
I. S se creeze o baza de date i s se salveze cu numele CLIENTI. Baza de
date va conine un tabel InfoClienti n care se vor stoca informaiile referitoare
la clienii unei firme. Structura tabelului este urmtoarea:

ClientID AutoNumber;
Nume text 30 caractere
Prenume text 30 caractere
DN data naterii de tip dat calendaristic
LN locul naterii text, 30
Cetenia text 50
Sex text 1 caracter ( M sau F)
Adresa adresa clientului de tip text 100 caractere (n format
Strada, Numr, Ap.)
Localitate text, 50
Indicativ_judet text, 2 (SB Sibiu, BN Bistria Nsud, etc.)
CodTara numeric Long Integer, (1 Romania, 2 Ungaria, 3
Moldova, 4 Bulgaria, 5 Germania, 6 Italia)
Telefon text 15 caractere
TipActID numeric Long Integer (1 - Buletin identitate, 2 - Carte de
identitate, 3 Paaport, 4 Carnet de ofer)
NrActID text - 15 caractere
Emitent text, 30
DataExp data expirrii actului de identitate data calendaristic
Email text, 50
1. S se creeze tabela InfoClienti cu cmpurile aferente.
2. S se stabileasc cheia primar pentru tabelul InfoClienti.
3. Cmpul de date CodTara s permit introducerea unor valori cuprinse
intre 1 i 6. Valorile pentru acest cmp se vor alege dintr-o lista (Lookup).

De asemenea, n cazul n care se introduc valori in afara intervalului s se
afieze urmtorul mesaj: Introducei valori ntre 1 i 6!.
4. Cmpul de date SEX va conine valoarea M pentru masculin sau F pentru
feminin. S se introduc regula de validare corespunztoare.
5. Cmpul de date TipActID s permit introducerea unor valori cuprinse
intre 1 i 4. Valorile pentru acest cmp se vor alege dintr-o lista (Lookup).


50
n cazul n care se introduc valori in afara intervalului s se afieze
urmtorul mesaj: Introducei valori ntre 1 i 4!.
6. S se introduc 11 clieni din Romania i 3 din afara rii. Clienii vor fi
din localiti diferite.
7. S se ordoneze baza de date cresctor dup cmpul Nume.
8. S se ordoneze baza de date descresctor dup cmpul CodTara.
9. Modificai structura bazei de date prin adugarea unui nou cmp
Cod_postal text (20), dup cmpul adresa.
10. S se completeze cmpul introdus cu informaiile corespunztoare pentru
fiecare client.
11. Introducei la final o nregistrare cu datele dumneavoastr.

II. Comprimai (arhivai) baza de date cu utilitarul WinRAR (putei s l
descrcai gratuit de pe Internet) i transmite-i arhiva pe email la adresa
veronica.rus@tbs.ubbcluj.ro sau pe portalul ID la adresa
veronica.rus@portalid.ubbcluj.ro. Arhiva va avea numele format din numele i
prenumele dumneavoastr urmat de textul LP1 (ex: pop_ana_lp1). n subiectul
mesajului introducei numele arhivei.
Predarea lucrrii se face conform specificaiilor din seciunea
Organizarea temelor n cadrul cursului, partea 1 a materialului.

Bibliografia modulului
1. Avram-Nichi, R., Ghioiu, N., et al., Elemente de baze de date i
programare aplicate n economie, Ed. Risoprint, Cluj-Napoca, 2007.
2. Dollinger, Robert - Baze de date, Universitatea Tehnic Cluj-Napoca,
1994.
3. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000,
Teora, Bucureti, 1999.
4. Nstase, P., Mihai, F., Brbulescu, B., ova, R.A., Stanciu, A., Covrig,
L., Baze de date n Microsoft Access 2000, Teora, Bucureti, 1999.
5. Mediul Internet.



51

M Mo od du ul lu ul l I II I

Unitatea 4. Relaii ntre tabele
Unitatea 5. Interogri
Unitatea 6. Limbajul SQL

Scop i obiective

Scop
Acest modul urmrete familiarizarea studenilor cu obiectele de tip interogare
(Query) i cu limbajul standard de interogare (SQL). Cursanii vor nva cum
s obin informaiile de care au nevoie dintr-o baz de date folosind
interogrile i limbajul SQL.

Obiective
Definirea noiunilor de cheie candidat i cheie strin;
Clasificarea relaiilor ntre dou tabele;
Crearea relaiilor ntre dou sau mai multe tabele;
Definirea integritii refereniale;
Identificarea tipurilor de interogri existente n Access;
Utilizarea interogrilor pentru a obine diverse informaii din bazele de
date;
Proiectarea interogrilor folosind grila QBE;
Prezentarea principalelor instruciuni ale limbajului SQL;
Utilizarea instruciunilor SQL n Microsoft Access.

Concepte de baz: Chei candidat, Chei strine, relaii, integritate referenial,
asociere (Join), Interogri (Queries), funcii, Interogri cu cmpuri calculate,
Interogri cu parametru, Interogri de tip totaluri, Interogri de sintez,
Interogri de aciune, SQL, instruciuni DDL, instruciuni DML, Create, Alter,
Drop, Insert, Update, Delete i Select.












52
UNITATEA 4
RELAII NTRE TABELE
Sintez

ntr-o baz de date relaional datele pot fi stocate n unul sau mai multe tabele.
Se recomand folosirea mai multor tabele ntre care exist legturi dect
proiectarea unui singur tabel cu multe cmpuri. Unul din scopurile principale
ale proiectrii bazelor de date relaionale este de a grupa cmpurile n tabele
astfel nct s se minimizeze redundana datelor, i prin aceasta s se reduc
spaiul de stocare necesar bazei de date. Tabelele care conin date redundante
pot crea probleme, denumite anomalii de reactualizare: anomali de inserare,
anomalii de tergere i anomalii de modificare. Pentru a elimina aceste
probleme tabelele trebuie s fie normalizate pan la cel puin a treia form
normal.

n cadrul unei baze de date nu este obligatoriu ca ntre toate tabelele s existe
relaii. Este posibil ca n cadrul unei aplicaii s utilizm i tabele independente
i/sau de lucru (tabele temporare). ntre dou tabele dintr-o baz de date exist
o relaie atunci cnd unul sau mai multe cmpuri cheie dintr-un tabel se
potrivesc cu unul sau mai multe cmpuri cheie din cellalt tabel. De obicei
cmpurile corespondente din ambele tabele au acelai nume, tip de date i
mrime.

Din punct de vedere al momentului crerii acestora avem dou tipuri de relaii
ntre tabelele unei baze de date Access :
- relaii permanente - se stabilesc dup definirea tabelelor i sunt cerute
de modelul relaional fcnd parte din structura bazei de date. Acestea
se realizeaz de obicei prin corespondenele cheie primar - cheie
extern i sunt memorate n baza de date.
- relaii temporare - se stabilesc ntre tabele cu ocazia definirii unor
cereri de interogare, nefiind nregistrate n structura bazei de date.

Avantajele utilizrii relaiilor
1. Atunci cnd creai relaii ntre tabele, Access asociaz automat
cmpurile respective din tabele. Putei crea astfel formulare, rapoarte,
interogri care s conin date din mai multe tabele.
2. Se pot crea subformulare i subrapoarte.
3. Un alt avantaj este posibilitatea de forare a integritii refereniale.
1. Tipuri de relaii n Access
a) Relaia One to One (unu la unu) - ntre dou tabele A i B exist o
relaie de tipul One-to-One dac fiecrei nregistrri din tabelul A i


53
corespunde o singur nregistrare n tabelul B i invers, fiecrei
nregistrri din tabelul B i corespunde o singur nregistrare n tabelul
A. Acest tip de relaie se folosete foarte rar.
b) Relaia One to Many (unu la mai muli) - ntr-o relaie de tipul One-to-
Many, o nregistrare din tabelul A poate avea mai multe nregistrri
asociate n tabelul B, iar o nregistrare din tabelul B poate avea o
singur nregistrare asociat n tabelul A. Tabelul A este denumit tabel
primar iar tabelul B este denumit tabel asociat.
c) Relaia Many to Many (mai muli la mai muli) ntr-o relaie de tipul
Many-to-Many unei nregistrri din tabelul A i sunt asociate mai multe
nregistrri n tabelul B, i unei nregistrri din tabelul B i sunt
asociate mai multe nregistrri n tabelul A. Acest tip de relaie poate fi
reprezentat numai cnd se definete i un al treilea tabel C, denumit
tabel de jonciune. Rolul acestui tabel este spargerea relaiei Many-
to-Many n dou relaii de tipul One-to-Many.
Tabelul printe este tabelul care conine cheia principal iar tabelele copil sunt
tabelele corelate. Pentru a implementa relaiile dintre tabele se folosesc cheile
externe. Relaiile de tip one-to-one i one-to-many se implementeaz
introducnd n una din tabele o cheie extern (strin), care va face legtura cu
cheia primar din tabela corespunztoare. O legtur de tip many-to-many se
implementeaz introducnd o tabel suplimentar care are in structura sa cheile
celor doua tabele puse in legtur.
2. Integritatea referenial: se refer la un set de reguli care protejeaz
datele prin stabilirea de restricii pentru adugarea i tergerea de nregistrri
din tabelele relaionate:
1. fiecare valoare a cheii externe trebuie s se gseasc printre mulimea
valorilor cheii candidat corespondente, cu alte cuvinte nu putem adaug
nregistrri n tabelul copil fr ca acestea s aib corespondent n
tabelul printe;
2. nu putem terge o nregistrare din tabelul printe dac exist nregistrri
corespondente n tabelele copil.

Alte reguli referitoare le cheia extern:
1. o cheie extern este simpl dac i numai dac cheia candidat
corespondent este simpl, i este compus dac i numai dac cheia
candidat corespondent este compus;
2. fiecare cmp component al unei chei externe trebuie s aib acelai tip
de date i dimensiune cu al cmpului corespondent din cheia candidat;
3. o valoare a unei chei externe reprezint o referin ctre o nregistrare
care conine aceeai valoare pentru cheia candidat corespondent.


54
3. Crearea relaiilor ntre tabele (Relationships)
Pentru a realiza relaii ntre tabelele Access se alege opiunea Relationships
din meniul Tools.

Pe ecran va aprea urmtoarea fereastr:

Se selecteaz fiecare tabel pe care dorii s-l includei n relaie i se
activeaz butonul Add i apoi se nchide fereastra Show Table.

O relaie ntre dou tabele se realizeaz prin operaia drag and drop de la cheia
primar a tabelului principal la cheia extern a tabelului secundar. n fereastra
Edit Relationships se selecteaz opiunea Enforce Referential Integrity pentru
a se asigura integritatea referenial.
Cheie primar
Cheie extern


55

In Access opiunea Enforce Referential Integrity poate fi selectat numai daca
se ndeplinesc condiiile:
1. Cmpul selectat din tabelul primar are atributul de cheie primar;
2. Cmpurile puse n coresponden au acelai tip de date;
3. Cele dou tabele sunt memorate n aceeai baz de date.

Dac selectai opiunea Cascade Update Related Fields atunci cnd vei
actualiza cheia primar din tabelul 1 (tabelul printe), Access va
actualiza automat toate cheile externe corespondente din tabelul n
(tabelul copil). Dac dezactivai aceast opiune, Access nu v permite
s schimbai valoarea cmpului cheie principal din tabelul 1 atta
timp ct exist nregistrri corespondente n tabelul n.

Opiunea Cascade Delete Related Fields este similar opiunii Cascade Update
Related Fields numai c afecteaz modul n care se face tergerea
nregistrrilor. Cnd aceast opiune este selectat, Access va terge
toate nregistrrile corelate din tabelul/tabelele copil atunci cnd tergei
nregistrarea cu cheia primar corespunztoare din tabelul printe. Dac
nu este selectat, Access nu va permite tergerea nregistrrii ce conine
cheia primar din tabelul printe atta timp ct exist nregistrri
corespondente n tabelul/tabelele copil.

n cazul n care relaia a fost definit n mod corect n fereastra Relationships
va aprea o linie care leag cele dou tabele dup cum se poate vedea n figura
de mai jos.











56
Creeaz o asociere intern
Creeaz o asociere extern la stnga
Creeaz o asociere extern la dreapta
Relaia poate fi modificat ulterior prin dublu-click asupra legturii dintre cele
dou tabele.
De asemenea se poate terge o relaie ntre tabele: se selecteaz linia de
asociere i se apas tasta DEL. Pentru tergere se poate folosi i opiunea
Delete din meniul contextual (clic dreapta pe linia de asociere). Editarea
ulterioar mai poate fi fcut i alegnd opiunea Edit Relationship din meniul
contextual. Dac executai clic pe butonul Join Type pe ecran va aprea
urmtoarea caset de dialog:






Fig. 11. Fereastra de dialog Join Properties

Aceast caset de dialog v permite s definii tipul de asociere produs de
relaie. Asocierea (Join) determin modul n care corelaia dintre dou tabele
afecteaz rezultatul unei interogri legate. Exist dou tipuri de asocieri:
- Asociere intern (INNER JOIN): este tipul prestabilit de asociere n care
nregistrrile provenite din dou tabele sunt combinate i adugate la
rezultatele unei interogri numai cnd valorile din cmpurile asociate sunt
egale.
- Asociere extern (OUTER JOIN) care poate fi de dou tipuri: asociere
extern la stnga (LEFT OUTER JOIN) i asociere extern la dreapta
(RIGHT OUTER JOIN).
- LEFT OUTER JOIN: O asociere n care toate nregistrrile provenite din
membrul stng al relaiei sunt adugate la rezultatele unei interogri
indiferent daca ele au sau nu nregistrri asociate.
- RIGHT OUTER JOIN: O asociere n care toate nregistrrile provenite din
membrul drept al relaiei sunt adugate la rezultatele unei interogri,chiar
dac exist nregistrri care nu corespund nici unei nregistrri din tabelul
primar.
Relaiile dintre tabele pot fi tiprite selectnd opiunea Print Relationships din
meniul File.




57
Verificarea cunotinelor
1. S se creeze un nou tabel cu numele Pli n baza de date CLIENTI
(Unitatea 3). Tabelul va avea urmtoarea structur:
Cod_cl - Numeric, ntreg
Data_platii - Data calendaristic
Suma_platit - Currency
Data_scadenta - Data calendaristic
a) S se stabileasc cheia primar.
b) S se creeze o relaie de tip 1:n ntre tabelul Infoclieni i tabelul Pli.
S se foreze integritatea referenial.
c) S se introduc 8 articole n tabelul Pli.

2. Opiunea Enforce Referential Integrity poate fi selectat numai daca se
ndeplinesc condiiile:
A. Cmpul selectat din tabelul primar are atributul de cheie strin;
B. Cmpurile puse n coresponden au acelai tip de date;
C. Cele dou tabele au acelai numr de cmpuri;
D. Cele dou tabele sunt memorate n aceeai baz de date.
a) Variantele A, B i C. b) Variantele B, C i D.
c) Variantele A, B i D. d) Nici o variant nu este corect.

3. Dac un articol din tabelul A poate avea mai multe articole asociate n
tabelul B si un articol din B poate avea un singur articol asociat n tabelul
A atunci relaia dintre cele dou tabele este de tipul:
a) One-to-One b) One-to-Many c) Many-to-Many
4. Asupra cheii primare a unui tabel SGBD-ul impune anumite restricii:
A. nu sunt admise valorile nedefinite (NULL) pentru atributele
unei chei primare;
B. nu este permis introducerea unor valori negative;
C. nici o valoare a unui atribut dintr-o cheie primar nu poate fi
modificat n cadrul operaiilor de actualizare.
a) Variantele A si B. b) Variantele A si C.
c) Variantele B i C d) Toate variantele (A, B, C).



58
UNITATEA 5
INTEROGRI
Sintez

Esena oricrui SGBD const n selecia datelor din tabele i prezentarea
acestora n diferite forme prin intermediul interogrilor sau al rapoartelor.
Orice firm i construiete o baz de date pe care lucreaz i elaboreaz
diferite rapoarte sub diverse forme de prezentare. O baz de date este creat
pentru a fi interogat.
1. Crearea interogrilor
Se realizeaz folosind o gril de proiectare n cadrul creia sunt adugate tabele
i cmpuri. Acest procedeu este cunoscut sub numele de Query By Example
(QBE). Pe baza informaiilor depuse n gril programul ACCESS genereaz o
instruciune n limbajul de interogare al datelor SQL (Structured Query
Language).
Pentru lucrul cu interogri avem urmtoarele dou posibiliti :
1) Prin intermediul modului de lucru Design View. n seciunea Objects se va
alege opiunea Queries i apoi Create query in Design view. Pe ecran
va apare fereastra Show Table n care utilizatorul va alege tabelele cu
care va lucra. Pentru a aduga un tabel se selecteaz tabelul dorit din
list dup care se execut clic pe butonul Add. Fereastra Show Table se
nchide prin activarea butonului Close.

Se execut apoi urmtorii pai:
- se aleg cmpurile necesare interogrii;
- se specific condiiile de selecie;
- se precizeaz criteriile de filtrare impuse de cerina interogrii;
- se stabilete modul de grupare;
- se stabilete modul de ordonare.


59

Se salveaz interogarea cu un anumit nume (File ->Save). Pentru a vizualiza
rezultatele interogrii se selecteaz opiunea Run din meniul Query.

2) Cu ajutorul wizard-ului de interogri. Access genereaz codul SQL pentru
fiecare interogare, fie c este realizat cu Design View sau cu wizard-ul.
Codul SQL poate fi vzut prin selectarea opiunii SQL View din meniul
View. Se poate vizualiza astfel clauza select from where
corespunztoare interogrii. De asemenea este posibil scrierea unei
interogri ntr-o astfel de fereastr acest lucru presupunnd cunoaterea
temeinic a sintaxei SQL.
2. Criteriile de selecie
Se introduc n celula aflat la intersecia coloanei cmpului cu linia Criteria din
grila de interogare. Acestea pot fi simple sau compuse (cu ajutorul operatorilor
AND/OR) i pot utiliza o serie de cuvinte rezervate i expresii definite de
utilizatori.



60
Principalele criterii simple sunt :
- apartenena la un interval de valori : BETWEEN valoare_inferioar AND
valoare_superioar;
- apartenena la o list de valori : IN (valoare 1, valoare2, ., valoare_n);
- utilizarea operatorilor de comparaii : <, >, <=, >=, <>, = ;
- utilizarea operatorilor de negaie : NOT valoare;
- selecia nregistrrilor care conin sau nu valori : NOT NULL, IS NOT NULL
sau NULL, IS NULL.

Se pot specifica criterii de selecie dup un anumit text care, dac va conine
spaii, trebuie pus n ghilimele. n interiorul textului se pot folosi caractere
generice "?" (orice n poziia n care apare) ,"*" (orice n poziia n care apare
i n urmtoarele) i "#" (pentru caractere numerice).
3. Operatori
a) Matematici: ^,-, *,/, \, Mod, +

Operator Operaia realizat
^ Ridicare la putere
* nmulire
/ mprire
\ mprire fr rest (doar ctul)
Mod Restul mpririi unui numr la altul
+ Adunare
- Scdere

b) Operatori relaionali (de comparare): =, <>, <, >, <=, >=

Operator Operaia realizat
= Egalitate
<> Diferit
< Mai mic
> Mai mare
<= Mai mic sau egal
>= Mai mare sau egal

c) Operatori pentru iruri de caractere: & (concatenare), LIKE, NOT
LIKE
Operator Operaia realizat
&
Concateneaz (lipete) dou expresii cu transformarea
rezultatului ntr-un ir de caractere.
Like Compararea a dou iruri


61


d) Operatori logici: AND, OR, EQV, IMP, XOR, NOT.

Operator Operaia realizat
Not Nu logic (negaia)
And i logic (conjuncia)
Or Sau logic (disjuncia)
Xor Excluziunea logic
Eqv Echivalen logic
Imp Implicaia logic

Evaluarea expresiilor - operatorul AND
Expresie 1 Expresie 2 Expresie 1 AND Expresie
True True True
True False False
True Null Null
False True False
False False False
False Null False
Null True Null
Null False False
Null Null Null

Evaluarea expresiilor - operatorul OR
Expresie 1 Expresie 2 Expresie1 OR Expresie 2
True True True
True False True
True Null True
False True True
False False False
False Null Null
Null True True
Null False Null
Null Null Null





62
Operaii de calcul predefinite n ACCESS

Operaia Funcia Tipul de cmpuri
SUM Suma valorilor unui cmp. Numeric, Autonumber, Data i Logic
AVG Media aritmetic Numeric, Autonumber, Data i Logic
MIN Valoarea minim Numeric, Autonumber, Data, Logic,
Text
MAX Valoarea maxim Numeric, Autonumber, Data Logic,
Text
COUNT Numrul de valori dintr-un
cmp
Toate tipurile
STDEV Varianta valorilor unui cmp Numeric, Autonumber, Data i Logic
FIRST Prima valoare din cmp Toate tipurile
LAST Ultima valoare din cmp Toate tipurile

4. Funcii
Tipuri de funcii: de conversie, pentru date calendaristice, funcii financiare,
matematice, pentru iruri de caractere.
Funcii pentru conversia datelor:
Str() transform o valoare numeric n ir de caractere;
Str(921.23) returneaz 921.23.
LCase() transform majusculele dintr-un text n litere mici
LCase(Cluj Napoca) returneaz cluj napoca.
UCase() transform literele mici din cadrul unui ir de
caractere n litere mari
UCase(Cluj Napoca) returneaz CLUJ NAPOCA.
Val() convertete un ir de caractere ntr-o valoare numeric ,
Val(1234.56) returneaz 1234.56.
CDate() convertete un text n dat calendaristic,
CDate(04 Feb 07) returneaz 02/04/2007.
CSTR() convertete o dat calendaristic n ir de caractere,
CSTR(#Feb 04, 07#) returneaz 02/04/2007.
Format() - are o serie de parametrii dintre care exemplificm:
Format(Cluj,>) returneaz CLUJ.
Format(40264123456, @-@@@@-@@@@@@)
returneaz 4-0264-123456.
Format(#4/25/08#,d-mmmm-yyyy) returneaz 25-April-
2008.
Funcii pentru date calendaristice:


63
Now(): returneaz data curenta si ora curenta: 25/03/2008
12:22:34 PM dac suntem n 25 Martie 2008, ora 12, 22 minute
i 34 secunde.
Time(): ora curenta12:22:34 PM.
Date(): returneaz data curenta.
Month(): extrage luna din data specificata. Month(Now()) are ca
rezultat 03 dac suntem n luna martie.
Day(): extrage ziua din data specificat.
Day(Date()) are ca rezultat 25
Weekday(): returneaz numrul zilei din sptmna.
Weekday(Date())
Year(): returneaz anul dintr-o data calendaristica.
Year(Date()) returneaz 2008
DateDiff(): calculeaz diferena dintre doua date calendaristice.
Diferena poate fi exprimata in zile d, sptmni ww,
luni m, ani yyyy, trimestre q
DateDiff(d, Date(), #02/04/92#)
DateDiff(yyyy, Date(), #02/04/92#)
DateDiff(q, Date(), #02/04/92#)
DateAdd(): returneaz o nou data calendaristic n funcie de
un anumit interval.
DateAdd(d,22, Date())
DateAdd(ww, 10, #01/01/2007#)

Functii financiare:
1. DDB() - Depreciation double-declining balance: calculeaz
amortizarea unui mijloc fix prin metoda balanei dublu-
regresiv.
DDB(Cost_Initial, Valoare_reziduala, durata_de_viata,
perioada)
2. NPV() - Net Present Value: returneaz valoarea prezent
actualizat pentru o investiie (flux de venituri/cheltuieli).
NPV(dobnd, valoare1, valoare2, )
Valorile trebuie s fie echidistante n timp si s fie valori pltite/
ncasate la sfritul fiecrei perioade. Dobnda - reprezint
dobnda anual.
Funcia NPV este asemntoare cu PV, valorile utilizate de PV
trebuie s fie constante, iar PV accept valori fie la nceputul,
fie la sfritul perioadei. Al doilea argument este negativ pentru
c reprezint o cheltuial.
3. FV(): Future Value calculeaz valoarea viitoare pentru o
serie de ncasri/ plti egale, fcute ntr-un numr de perioade,
cu o anumit dobnd fix.


64
FV(dobnd, perioada, plat, valoarea_prezenta, tip)
Dobnda trebuie sa aib aceeai unitate de msura ca si
perioada. Daca se cunoate dobnda anuala si incasabile/plile
sunt fcute lunar atunci dobnda trebuie sa se mpart la 12.
Valoarea prezent este un argument opional, este suma care se
investete/ mprumut in momentul iniial. Val implicita e 0.
Tip - 0 daca plile se fac la sfritul perioadei sau 1 daca
plile se fac la nceputul perioadei. Valoare implicita 0.
Banii pltii sunt reprezentai prin numere negative, iar cei
ncasai sunt reprezentai prin numere pozitive.
4. PV Present Value: calculeaz valoarea prezent a unui flux
de ncasri/ plti viitoare.
PV (dobnd, perioada, plat, vv, tip)
Argumentul vv reprezint valoarea viitoare, obinut dup
efectuarea ultimei plti/ncasri.
Exemplu: O persoan i permite s plteasc 200 EUR pe lun
n urmtorii 4 ani. Dobnda curent de pia este de 9%. Ct de
mare este mprumutul pe care i-l poate oferi banca?
5. SYD - Sum-of-Years' Digits - calculeaza suma valorilor anuale
amortizate pentru un mijloc fix, pe o perioad specificat
SYD(cost_initial;val_reziduala;durata_utilizarii;per_am
ortizarii)
6. PMT- Periodic Payment for an annuity calculeaz suma care
trebuie achitat periodic pentru un mprumut/economie, pentru o
anumita dobnda cunoscnd numrul perioadelor de plat.
PMT (dobnd, Perioada, vp, vv, tip)
Exemple: Ce sum trebuie pltit lunar pentru un mprumut de
10000 EUR cu o dobnd anual de 9%, care trebuie achitat n 8
luni.
Calculai suma pe care cineva trebuie s o primeasc lunar,dac
a mprumutat 5 000 EUR cu o dobnd anual de 10% pe o
perioad de 5 luni.
O persoan dorete s strng 50 000 $ n 18 ani prin
economisirea unei sume lunare constante. Dobnda anual este
de 6%.
7. SLN (Straightline depreciation) - calculeaz amortizarea
liniara a unui mijloc fix pe o perioada data
SLN(cost_initial,val_reziduala,dur_amortizarii)
Funcii matematice:
1. Abs(): returneaz valoarea absoluta a unui numr
Ex. Abs(-1) returneaz 1, Abs(1) = 1.
2. INT(): returneaz valoarea ntreaga a unui numr;
Int(1234.55) returneaz 1234.


65
Int(-55.1) returneaz -56.
3. Round(): returneaz un numr rotunjit la un anumit numr de
zecimale;
Round(14.245, 2) returneaz 14.24.
Round(17.1351, 2) returneaz 17.14
4. Rnd(): genereaz un numr aleatoriu;
5. Sgn(): determina semnul unui numr;
Sgn(-14) returneaz -1.
Sgn(12) returneaz 1.
Sgn(0) returneaz 0.
6. Sqr(): determina radicalul unui numr.

Funcii pentru iruri de caractere
1. InStr(): are ca rezultat un numr care reprezint prima poziie a
unui sir intr-un alt sir.
Instr(abcd123efg234, 23) returneaz valoarea 6.
Instr(7, abcd123efg234, 23) returneaz valoarea 11,
cautarea se face dup poziia 7.
2. Left(): returneaz caracterele din partea stnga a unui ir de
caractere :
Left(abcdefg,4) are ca rezultat abcd.
3. Len(): determin lungimea unui ir de caractere
Len(Cluj Napoca) returneaz 11.
4. LTrim(): nltur spaiile goale din faa unui ir de caractere.
LTrim( Cluj) returns Cluj.
5. Mid(): extrage caracterele din mijlocul unui ir
Mid(abcdefgh,3,4) returneaz cdef
6. Right(): returneaz caracterele din partea dreapta a unui ir
Right(abcdefg,4) are ca rezultat defg.
7. RTrim(): nltur spaiile de la sfritul unui text
RTrim(abcd ) are ca rezultat abcd.
8. Space(): Insereaz un anumit numr de spaii
Space(3) are ca rezultat 3 spaii
9. Trim(): nltura spaiile de la nceputul i sfritul unui ir de
caractere:
Trim( abcd ) returneaz abcd.
10. ASC (ir_de_caractere): returneaz codul primului caracter din
irul de caractere specificat.
5. Cmpurile calculate
pot fi definite in interogri, rapoarte, formulare;
se definesc astfel: Nume_camp: expresie


66
putei introduce in expresiile calculate doar cmpuri numerice,
currency, data calendaristica, text;
pot avea asociate nume si proprieti;
expresiile calculate se introduc in grila QBE in rndul field si se
respecta urmtoarele cerine: pot conine valori numerice si text,
operatori matematici, denumirile cmpurilor, funcii (IIF, ABS,
DATE(), DatePart, DLOOKUP, TRIM, LEFT, RIGHT, MID, NOW() )
OBS: numele cmpurilor care conin spatii (ex: data naterii) se vor introduce
intre paranteze drepte ([data nasterii]). Expresiile - sunt construite cu ajutorul
operanzilor si operatorilor, respectnd o anumita sintaxa.
6. Tipuri de interogri
1. Interogri de selecie (SELECT QUERY): se folosesc pentru regsirea
datelor care ndeplinesc anumite condiii, pentru gruparea nregistrrilor
i pentru efectuarea unor calcule pe baza datelor selectate.
2. Interogri de tip totaluri: permit crearea grupurilor de articole precum
i efectuarea de calcule cu valorile unor cmpuri din interiorul
grupurilor. Pentru crearea interogrilor de tip total se va selecta
opiunea Totals din meniul View. Aceast opiune va aduga in grila de
proiectare a interogrii rndul Total.
3. Interogri cu parametri (PARAMETER QUERY): n acest tip de
interogare valorile necesare la stabilirea criteriilor utilizate de
interogare vor fi introduse de ctre utilizator.
4. Interogri de sintez (interogri de analiza ncruciata CROSSTAB
QUERY): totalizeaz datele i grupeaz aceste totaluri dup dou
categorii. Sunt folosite pentru analiza multidimensionala a datelor si
permit obinerea unor situaii sintetice asemntoare tabelelor Pivot din
Excel. Gruparea si sortarea datelor se face pe rnduri si coloane iar la
intersecia rndului cu coloana se pot efectua calcula diverse.
5. Interogri de aciune: au ca efect localizarea i modificarea datelor.
Exist patru interogri de tip aciune:
a. Interogarea MAKE TABLE: Folosind opiunea Make Table
Query din meniul Query putem crea uor un tabel nou pe care
sa-l populam cu date din unul sau mai multe tabele existente.
Acest tabel poate fi stocat in baza de date curenta sau intr-o alta
baza de date.
b. Interogarea APPEND: este folosit pentru adugarea unor
nregistrri ntr-un tabel existent n baza de date.
c. Interogarea DELETE: terge nregistrri din una sau mai multe
tabele. Prin utilizarea unei interogri delete nu putei terge doar
coninutul unui cmp ci se terg nregistrri ntregi.


67
d. Interogarea UPDATE: modific coninutul cmpurilor dintr-un
tabel specificat. In general opiunea Update Query din meniul
Query este folosit pentru actualizarea unui numr mare de
nregistrri care se afl n unul sau mai multe tabele. Dac avei
de actualizat un numr mic de nregistrri dintr-un singur tabel
atunci aceste modificri se pot face direct n foaia de date.
6. Interogri SQL (SQL QUERY): necesit pentru interogarea datelor
comenzi SQL. Interogrile specifice SQL sunt: UNION, PASS-
THROUGH, DATA-DEFINITION, SUBQUERY. Interogrile din
aceast categorie nu pot fi create folosind grila de proiectare a
interogrii, fiind necesara tastarea directa, intr-o fereastra de proiectare
a diferitelor instruciuni SQL.
a. Union: Combin doua sau mai multe interogri clasice de tip
select ntr-o singura interogare, articolele livrate de aceste
interogri vor fi amestecate. Deoarece articolele unei interogri
Union sunt returnate sub forma unui set de articole fiecare
instruciune select din combinaie trebuie s genereze acelai
numr de cmpuri. Cmpurile puse in coresponden trebuie sa
aib acelai tip cu o singur excepie: pot fi puse in
coresponden cmpuri de tip numeric si cmpuri de tip text.
b. PassThrough: permite transmiterea instruciunilor SQL direct
spre un calculator server de tip ODBC de exemplu SQL
Server; cu ajutorul interogrilor de acest tip se lucreaz direct cu
tabele memorate pe calculatorul server.
c. Interogrile de definire a datelor (Data Definition): permit
crearea tabelelor i a indecilor, modificarea structurii tabelelor,
tergerea tabelelor sau a indecilor prin intermediul
instruciunilor SQL Create table, Create Index, Alter table,
Drop Table i Drop index.
7. Cereri de interogare imbricate: Scrierea unei interogri in cadrul alteia
duce la apariia unei subinterogri - setul de rezultate obinut de la o
interogare va constitui argument pentru o alta.











68
Exemple de interogri
S se creeze o baz de date pentru o agenie imobiliar. Baza de date va stoca
informaii despre agenii imobiliari, despre imobile i proprietarii acestora.
Structura tabelelor este urmtoarea:

AGENTI
Cod_a numerotare
automat
Nume text(30)
Prenume text(30)
Adresa text(50)
Telefon text(15)
PROPRIETARI
Cod_p numerotare
automat
Nume text(30)
Prenume text(30)
Adresa text(50)
Telefon text(15)

IMOBILE
Cod_imobil numerotare automat
Cod_p numeric
Cod_a numeric
Localitate text(30)
Cartier text(30)
Tip_imobil text(2) se vor introduce numai valorile AP, G, C
Nr_camere - numeric, intreg
Suprafaa numeric, zecimal
Confort text(4) se vor introduce numai valorile I, II, III, CS
Adresa text(60)
Pret_solicitat unitati monetare, EUR
Pret_vanzare unitati monetare, EUR
Data_vanzarii data calendaristica

1. S se stabileasc cheile primare pentru fiecare tabel.
2. S se salveze baza de date pe dischet cu denumirea Agenie imobiliar.
3. Stabilii relaiile dintre tabelele bazei de date.
4. Introducei nregistrri n tabele.
Interogri de selecie
1. Lista apartamentelor cu 2 sau 3 camere, cu preul cuprins ntre 55000 Eur i
75000 Eur. Lista va conine urmtoarele informaii: cartierul, numrul de
camere, confortul, preul solicitat.


69
2. Lista garsonierelor confort I din cartierul Grigorescu care au preul mai mic
de 50000 Eur. Lista va cuprinde urmtoarele cmpuri: camere, adresa,pre
solicitat, cartier.
Cereri de interogare utiliznd mai multe tabele
Ofert de imobile, ordonat dup tip apartament si numr de camere.
Interogarea va conine urmtoarele cmpuri: Numele si prenumele
proprietarului, Tip imobil, Localitate, Cartier, Numr de camere, Pre
solicitat.
Interogri de selecie cu cmpuri calculate
1. S se calculeze preul apartamentelor exprimat in lei (1 EUR=3.7
RON).

2. S se calculeze preul solicitat/m
2
:





Interogri cu parametrii (PARAMETER QUERY)
Lista imobilelor cu preurile cuprinse intre 50000 si 80000 EUR.



70
Interogri de tip totaluri
1. Sa se calculeze preul mediu solicitat - pentru fiecare tip de imobil.
Rndul Total se adaug din meniul contextual (opiunea Totals).





2. S se calculeze preul minim i preul maxim solicitat pentru
apartamentele cu dou camere confort I.

Interogri de aciune: se creeaz la fel ca i interogrile de selecie. Dup
ce au fost adugate cmpurile care fac parte din lista se selecteaz din
meniul Query tipul de interogare corespunztor.













1. Make table query: In baza de date agenie imobiliara s se creeze un
nou tabel vnzri care s conin apartamentele vndute.

Fig. 17 Op iunile meniului Query


71
2. Update query : S se modifice cu 2% preul solicitat pentru
apartamentele din cartierele Gheorgheni si Mrti.




3. Delete query : s se tearg din tabelul imobile toate imobilele vndute,
din cartierul Mntur.







4. Crosstab query : s se creeze o situaie de sintez cu preul mediu
solicitat pentru fiecare tip de imobil/cartiere. Situaia va avea
urmtoarea form:




Exemple de subinterogri
1. Numele proprietarului cu preul maxim solicitat pentru un apartament
cu 3 camere.
Rezolvare: se vor crea dou interogri prima pentru aflarea preului
maxim solicitat pentru un apartament cu trei camere, iar a doua pentru
determinarea numelui proprietarului.







72














2. Lista apartamentelor care au preturile de vnzare mai mici dect media.


Verificarea cunotinelor
1. Funcia AVG determin:

a. Suma valorilor memorate ntr-un cmp
b. Media valorilor memorate intr-un cmp.
c. Numrul total al valorilor depuse ntr-un cmp.
d. Diferena valorilor memorate intr-un cmp.

2. Interogrile constituite i aplicate unei baze de date permit:
A. Vizualizarea nregistrrilor care ndeplinesc o anumit condiie;
B. Modificarea, adugarea i chiar tergerea datelor din tabele;
C. Sortarea nregistrrilor dup cmpuri sau grupuri.
a. Numai varianta A si varianta B. b. Numai varianta A si varianta C.
c. Numai varianta B si varianta C. d. Toate variantele, adic A si B si C.


73
3. Funcia SUM determin:
a. Deviaia standard a valorilor memorate ntr-un cmp
b. Suma valorilor memorate ntr-un cmp.
c. Numrul total al valorilor depuse ntr-un cmp.
d. Diferena valorilor memorate intr-un cmp.
4. Intr-o interogare de tip total funcia COUNT determin:
a. Suma valorilor memorate intr-un cmp in interiorul unei grupri
b. Media valorilor depuse ntr-un cmp.
c. Numrul valorilor depuse ntr-un cmp n interiorul unei grupri.
d. Diferena valorilor memorate intr-un cmp.

5. Care este cea mai important activitate n proiectarea unei aplicaii n
cadrul sistemelor de gestiune ale bazelor de date (SGBD)?
a. Definirea secvenelor din programul principal.
b. Definirea interogrilor (Queries).
c. Concepia ecranelor (Forms).
d. Elaborarea rapoartelor asociate bazei de date sau/si interogrilor
(Reports).
e. Crearea bazei de date.
f. Crearea etichetelor (Labels).



74
UNITATEA 6
LIMBAJUL SQL
Sintez
1. Scurt istoric
Limbajul SQL (ntlnit i sub numele de SEQUEL) este limbajul de interogare
al SGBD Sysem R dezvoltat n cadrul laboratorului de cercetare din San
Jose al firmei IBM. In paralel firma IBM a scos pe pia produse cu
baze de date relaionale, bazate pe System R dar cu un limbaj puin
diferit de SEQUEL. Astfel c l-a botezat SQL, eliminnd vocalele din
SEQUEL i trecnd la pronunia "es-qu-el". Expresiile din SEQUEL
seamn cu propoziiile din limba englez, fiind desigur mai
structurate. SEQUEL a evoluat din predecesorul su SQUARE care a
constituit prima etap n dezvoltarea unui limbaj de interogare pentru
System R. Conceptele de baz ale celor dou limbaje sunt n esen
aceleai, deosebirea principal dintre ele fiind aceea c limbajul
SQUARE are o sintax bazat n mare msur pe notaii matematice, n
timp ce SQL are o sintax mai apropiat de limba englez aa cum arat
i denumirea limbajului (SQL sau SEQUEL Structured English Query
Language). Aceast sintax este mai adecvat programrii pe computer
i totodat mai uor de asimilat de ctre utilizatori. La ora actual SQL
este una din cele mai rspndite interfee pentru SGBD-urile relaionale.
n afar de System R limbajul SQL este disponibil i sub alte SGBD-uri
relaionale cum ar fi SQBD ORACLE (pentru sisteme mari, dar i
computere personale profesionale) sau chiar dBASE (ntr-o variant
simplificat ncepnd cu versiunea IV). In 1979, Corporaia Oracle
introduce prima implementare a SQL n variant comercial. Din anul
1986, SQL a devenit standard ANSI (Institutul National American de
Standarde) pentru limbajele de interogare ale bazelor de date
relaionale. Organizaia Internaional de Standarde (ISO) a adoptat
deasemenea SQL ca limbaj standard pentru RDBMS. Toate RDBMS-
urile suport unele forme de SQL i toi vnztorii de astfel de sisteme
s-au aliniat sau intenioneaz s se alinieze la standardele ANSI. Asta
nu nseamn c nu mai apar diferene. Chiar i la produsele aceleai
firme, Microsoft Access i SQL Server, pot fi semnalate diferene n
implementarea limbajului. SQL este limbajul de interogare al unui
sistem de gestiune al bazelor de date (SGBD. Operaia fundamental n
SQL este maparea reprezentata din punct de vedere sintactic printr-o
construcie SELECT FROM WHERE (pe scurt construcie
SELECT).


75
2. Caracteristici
SQL, ca i majoritatea limbajelor de programare, folosete cuvinte din
limba englez. In mod special cuvintele select, insert, delete ca
elemente ale setului de comenzi.
SQL este un limbaj neprocedural: specific care sunt informaiile
dorite, nu cum se obin acestea. Cu alte cuvinte, SQL nu cere s fie
specificat metoda de acces la date.
Execuia comenzilor SQL asupra nregistrrilor nu se poate face dect
secvenial, asupra cte unei singure nregistrri. Setul de nregistrri
fiind vzut ca set de linii ale unui tabel.
SQL poate fi folosit de un ir de utilizatori, incluznd administratorul
bazei de date, programatorii de aplicaii, personalul de management i
multe alte tipuri de utilizatori.
SQL include comenzi pentru o varietate de sarcini, incluznd:
- selecia unor date;
- inserarea, extragerea i tergerea rndurilor dintr-un tabel;
- crearea, modificarea i tergerea obiectelor de tip baz de date;
- controlul accesului la baza de date i la obiectele de tip baz de
date;
- verificarea - garantarea consistenei bazei de date;
3. Instruciuni SQL
Instruciuni DDL (Data Definition Language)
Instruciunea CREATE
CREATE DATABASE
CREATE DATABASE nume_baza_de_date;
Ex: CREATE DATABASE vanzari;
- CREATE TABLE
CREATE TABLE nume_tabel
(cmp1 tip_data [constrangere] ,
cmp2 tip_data [constrangere] ,
cmp3 tip_data [constrangere],.);
Ex: CREATE TABLE facturi(nrfact number, dataf date,
codcl number);
CREATE TABLE vanzari(nr number primary key ,
cod_m number, data_v date not null, Loc char);
Instruciunea ALTER TABLE
ALTER TABLE nume_tabel
ADD nume_cmp tip_data [constrangere];
Ex: ALTER TABLE vanzari


76
ADD jud char;
Instruciunea DROP
DROP TABLE nume_tabel;
DROP DATABASE nume_baza_de_date;

INSTRUCIUNILE DML (Data Manipulation Language)
Instruciunea INSERT
INSERT INTO NUME_TABEL
(prima_coloana, ...ultima_coloan)
VALUES (prima_valoare, ...ultima_valoare);
Ex: INSERT INTO facturi (nrfact, codcl, dataf)
VALUES (1, 12, #12/10/2005#);
Instruciunea UPDATE
UPDETE nume_tabel
SET nume_coloana 1 = valoare_noua1 [nume_coloana 2
= valoare_noua2 ]
WHERE nume_coloana OPERATOR valoare [and/or
nume_coloana OPERATOR valoare];
Instruciunea DELETE
DELETE FROM nume_tabel
WHERE nume_coloana1 OPERATOR valoare1 [and/or
nume_coloana2 OPERATOR valoare2];
Instruciunea SELECT
Cereri de introgare simple:
SELECT [ALL | DISTINCT | DISTINCTROW]
coloana1 [, coloana 2]
FROM tabel1 [, tabel2 ]
[WHERE conditii]
[ORDER BY lista_coloane [ASC|DESC]];
Cereri de introgare complexe:
SELECT [ALL | DISTINCT | DISTINCTROW] [functie
agregata (nume_camp) AS alias] [coloana1] [, coloana
2]
FROM tabel1 [, tabel2 ]
[WHERE conditii]
[GROUP BY lista_coloane]
[HAVING conditii]
[ORDER BY lista_coloane [ASC|DESC]];



77
Asocierile
SELECT [DOMENIU] coloana1 [, coloana 2]
FROM tabel1 [, tabel2 ]
[WHERE criteriu de asociere]
[ORDER BY lista_coloane [ASC|DESC]];

REGUL: O fraz SQL se termin cu punct i virgul!
Verificarea cunotinelor
1. SQL este acronimul pentru:
a. Standard Query Language.
b. Structured Query Language.
c. Select Query Language.
d. Specifying Queries Relations.
2. Instruciunea SQL DROP DATABASE permite:
a. Modificarea structurii unui tabel.
b. tergerea unui tabel
c. tergerea unei baze de date
d. Modificarea nregistrrilor.
3. Care dintre urmtoarele tipuri de asocieri nu este posibil in Access:
1. Inner Join 2. Left Outer Join
3. Cross Join 4. Right Outer Join
4. Instruciunea SQL ALTER TABLE permite:
a. Modificarea structurii unui tabel.
b. Crearea unei baze de date
c. Modificarea nregistrrilor.
d. tergerea unui tabel

Aplicaii practice
I. Se consider baza de date EVIDENTA STUDENTI. S se creeze tabelul
STUDENTI cu structura urmtoare:
NRMAT - text(3) (numr matricol ex. 100, 101,102.)
NUME - text(20)
PRENUME text(20)
DN - dat calendaristic (data naterii ex. 03/04/81)
SCT - text(2) - (sectia ex. AA si SO)
AN numeric, ntreg (anul de studiu ex. 1, 2 ,3 sau 4)
BRS da/nu (bursier ex. DA, NU)


78
SEX text(1) (sexul f, m)
TEL text(15) (telefon ex. 094123456)
ADR text(25) (adresa ex. str. Gorunului nr. 5)
OR text(15) (oraul ex. Turda, Gherla, .)
JUD - text(2) (judeul ex. Cluj-CJ, Satu-Mare - SM)
MEDIA numeric, zecimal, media generala a studentului

S se introduc 10 nregistrri n tabela STUDENTI astfel nct s se respecte
urmtoarele cerine:
a) S existe studeni i din alte localiti, nu numai din Cluj-Napoca.
b) S existe studeni de la ambele secii AA i SO.
c) S existe studeni cu vrste mai mici de 20.
d) S existe studeni n diferii ani de studiu.
e) S se defineasc regulile de validare pentru cmpul AN astfel nct s
se poat introduce n tabel doar valorile 1, 2, 3 sau 4.
f) S se defineasc regulile de validare pentru cmpul SCT astfel nct
s fie permise doar valorile AA sau SO. Pentru cmpul SEX valorile
permise vor fi F sau M.
g) S se defineasc urmtoarele 30 de interogri pentru tabela
STUDENTI. Interogrile se vor salva cu numele: inter1, inter2,,
inter n.
II. S se afieze folosind interogrile urmtoarele informaii din baza de date
STUD:
1. o list cu numele i prenumele studenilor care au domiciliul n Cluj-
Napoca, ordonai descresctor dup numrul matricol.
2. o list cu numele i prenumele studenilor din Cluj-Napoca, ordonai
cresctor dup vrst.
3. o list cu numele studenilor bursieri din Cluj-Napoca.
4. o list cu numele studenilor a cror vrst este mai mare de 20 de ani i
nu sunt bursieri.
5. o list cu numele studentelor bursiere care au domiciliul n Cluj-
Napoca.
6. o list cu numele studenilor de sex masculin care au vrsta de 21 de ani
i nu sunt bursieri.
7. o list cu numele studenilor nscui dup data de 03/06/88.
8. o list cu numele i localitatea studenilor care nu domiciliaz n Cluj-
Napoca, ordonai dup cmpul secie.
9. lista studentelor de la secia SO.
10. lista studenilor (de sex masculin) de la secia AA.
11. o list cu numele studenilor (de sex masculin) de la SO care nu sunt
bursieri.
12. o list cu numele studentelor de la SO ordonate descresctor dup
vrst.


79
13. lista studenilor care nu au domiciliul n judeul Cluj i nu sunt bursieri,
ordonai alfabetic dup nume.
14. lista studentelor fr burs din anul 2 de la secia SO.
15. lista studenilor bursieri, de sex masculin, din anul 2, de la secia SO,
care domiciliaz n Cluj-Napoca.
16. lista studenilor de la ambele secii care nu sunt n anul 2.
17. lista cu numele studenilor bursieri de la secia SO din anul 2 care au
numrul matricol mai mare dect 102.
18. Numele, prenumele studenilor cu vrsta cuprins ntre 20 i 25 de ani;
19. Studenii care locuiesc n oraele a cror denumire ncepe cu litere C.
20. Studenii a cror nume ncepe cu litera D;
21. Studenii din judeele a cror indicativ ncepe cu litera B;
22. Toate nregistrrile din baza de date;
23. Studenii din judeele SB, CJ, MM.
24. Studenii grupai dup cmpul media;
25. Media minim;
26. Numele i prenumele studenilor cu media cea mai mic;
27. Media maxim;
28. Numele i prenumele studenilor cu media cea mai mare;
29. Media aritmetic a mediilor;
30. Numrul total de studeni;
31. Vrsta medie, minim i maxim a studenilor;
32. Numrul studenilor bursieri i numrul studenilor nebursieri;
33. Numrul studenilor bursieri;
34. Numrul studenilor nebursieri;
35. Numrul studenilor bursieri/nebursieri pe secii;
36. Numrul studenilor din fiecare jude;
37. Lista localitilor;
38. Numrul studenilor din fiecare jude - repartiia pe orae;
39. Numrul de fete i numrul de biei;
40. Repartiia studenilor pe secii/an de studiu;
41. Media mediilor pe secii/an de studiu;
42. Repartiia studenilor n funcie de vrsta;
43. Lista studenilor dint-un anumit jude. Indicativul judeului se va
introduce ca i parametru.
44. Lista studenilor dintr-un anumit an de studiu. Anul de studiu se va
introduce ca si parametru.
45. Lista studenilor dintr-o secie i dintr-un anumit an de studiu. Secia si
anul se vor introduce ca i parametrii.
46. Lista studenilor cu vrsta cuprins ntre 18-20 ani. Se va folosi
parametrii.
47. Numele studentului care are un anumit numr de telefon. Numrul de
telefon se va introduce ca parametru.


80
48. Repartiia studenilor pe secii/an folosind Crosstab Query.
49. Repartiia studenilor pe judee/localiti folosind Crosstab Query.
50. Repartiia studenilor n funcie de medie/secie.
III. S se creeze un tabel cu numele Studeni_AA, pe baza tabelului Studenti,
folosind interogrile Make Table. Tabelul va conine urmtoarele date
referitoare la studenii din secia AA: nrmatr (numr matricol), nume,
prenume), dn (data naterii) i media.
IV. S se creeze un tabel cu numele Copie care s conin toate nregistrrile
din tabelul Studenti.
V. S se tearg din tabelul Studenti persoanele care sunt n anul 4 i au media
mai mare ca 5.
VI. S se tearg din tabelul Copie studenii din secia AA, an 3.
VII. S se modifice valorile din cmpul AN cu o unitate pentru studenii care
au media mai mare ca 5.
VIII. S se mreasc media cu 10% pentru acei studeni din secia SO, an 2
care au media <=8.50.
Sumar
Intr-o baz de date pot exista tabele independente sau tabele legate ntre ele.
ntre dou tabele dintr-o baz de date exist o relaie atunci cnd unul sau mai
multe cmpuri cheie dintr-un tabel se potrivesc cu unul sau mai multe cmpuri
cheie din cellalt tabel. De obicei cmpurile corespondente din ambele tabele
au acelai nume (nu este condiie obligatorie), tip de date i mrime.
n Access exist trei tipuri de relaii ntre tabele.
Relaia One to One - fiecrei nregistrri din tabelul A i corespunde o singur
nregistrare n tabelul B, i invers.
Relaia One to Many - o nregistrare din tabelul A poate avea mai multe
nregistrri asociate n tabelul B, i invers.
Relaia Many to Many unei nregistrri din tabelul A i sunt asociate mai
multe nregistrri n tabelul B, i invers.
Integritatea reverenial: un set de reguli care protejeaz datele prin stabilirea
de restricii pentru adugarea i tergerea de nregistrri din tabelele relaionate.
Asocierea (Join) determin modul n care legtura dintre dou tabele afecteaz
rezultatul unei interogri care conine informaii din ambele tabele.
Interogrile sunt obiectele bazei de date prin intermediul crora utilizatorul
poate extrage informaii din tabele. Crearea interogrilor se realizeaz folosind
o gril de proiectare n cadrul creia sunt adugate tabele i cmpuri. Pe baza
informaiilor introduse n gril programul ACCESS genereaz o instruciune
SQL (Structured Query Language). SQL este limbajul standard de interogare al
bazelor de date relaionale.


81
Sarcini i teme ce vor fi notate
Studierea de ctre studeni a materialului teoretic aferent modulului,
cuprins n suportul curs i n bibliografia suplimentar indicat.
Participarea la aplicaiile practice, teme de laborator;
Lucrarea practic nr. 2.
Lucrarea practic 2 (LP2)
I. S se creeze o baza de date avnd denumirea HOTEL. S se copieze n
aceast baz de date tabelul InfoClienti creat in cadrul Lucrrii Practice 1.
S se adauge un nou tabel - Rezervari care s conin date referitoare la
rezervrile camerelor unui hotel. Structura tabelului Rezervari este
urmtoarea:
RezervareID AutoNumber;
ClientID numeric, Long Integer;
DataRezervare data calendaristica;
DataSosire data calendaristic;
DataPlecare data calendaristic;
NumarCamere numeric, ntreg;
NumarAduli numeric, ntreg;
NumarCopii numeric, ntreg;
TipCamer text 15 caractere;
Status_anulare yes/no.

II. S se introduc urmtoarele reguli de validare:
a. Cmpul de date TipCamera s permit introducerea
urmtoarelor valori: single, double, apartment, suite,
apartament de lux. Valorile vor fi selectate dintr-o list
(Lookup).
b. Cmpurile DataRezervare, DataSosire i DataPlecare s
permit introducerea unor date calendaristice cuprinse ntre
1/1/2007 i 12/31/2007.
III. S se stabileasc cheia primar pentru tabelul rezervri.
IV. S se creeze relaiile (legturile) dintre cele dou tabele i s se foreze
integritatea referenial.
V. S se adauge 20 de rezervri, respectndu-se urmtoarele condiii: fiecare
client din tabelul InfoClieni s aib cel puin o rezervare i n fiecare lun a
anului (2007) s existe cel puin o rezervare. S existe rezervri pentru
fiecare tip de camer.
VI. S se defineasc urmtoarele interogri pentru baza de date HOTEL.
Interogrile se vor salva cu numele: inter1, inter2,, inter n.
1. o list cu numele, prenumele i numrul de telefon al clienilor
din judeul Cluj, ordonat cresctor dup cmpul nume.


82
2. o list cu numele i localitatea clienilor care nu domiciliaz n judeul Cluj,
ordonai cresctor dup cmpul localitate.
3. o list cu numele, prenumele clienilor, data sosirii i data plecrii pentru
acei clieni care au rezervat camere de tip Double.
4. o list cu numele i prenumele clienilor (concatenate intr-un singur cmp),
ordonat cresctor.
5. o list cu adresele de coresponden ale clienilor. Se va concatena ntr-un
singur cmp adresa, localitatea i judeul.
6. clienii a cror nume ncepe cu litera P;
7. clienii a cror nume ncepe cu litera R si este format din maxim 4
caractere;
8. numele si prenumele clienilor care trebuiau s soseasc ntre 1 decembrie
i 31 decembrie;
9. o list cu numele, prenumele clienilor i numrul de zile pentru care au
fcut rezervarea.
10. numele i prenumele clienilor care au rezervat camere pentru o perioad
cuprins ntre 3 i 5 zile.
11. o list cu numele i prenumele clienilor de sex masculin.
12. numele si prenumele clienilor nscui n anul 1985.
13. numele si prenumele clienilor nscui n luna octombrie.
14. lista clienilor care au fcut rezervarea nainte de luna mai 2007 sau dup
luna octombrie 2007.
15. o list cu numele, prenumele i vrsta clienilor.
16. numele, prenumele, ziua, luna, anul naterii, data naterii.
17. lista clienilor romni dint-un anumit jude. Indicativul judeului se va
introduce ca i parametru.
18. lista clienilor al cror nume ncepe cu o anumit liter. Litera se va
introduce ca si parametru.
19. Vrsta medie, minim i maxim a clienilor.
20. Numrul clienilor strini.
21. Numrul de clieni din fiecare tar.
22. Numrul clienilor din Romnia.
23. Numrul rezervrilor anulate.
24. Perioada medie pentru care s-au fcut rezervri.
25. Numrul de rezervri pentru fiecare tip de camer.
VII. S se creeze un nou tabel cu numele CHKINN_info, pe baza datelor din
tabelul Rezervri folosind interogrile Make Table. Tabelul va conine
urmtoarele cmpuri RezervareID, DataSosire, DataPlecare, NumarAduli
i NumrCopii.
VIII. S se creeze un tabel cu numele Copie care s conin toate nregistrrile
din tabelul Rezervri.


83
IX. S se tearg din tabelul Copie toate rezervrile neconfirmate.
X. S se tearg din tabelul Copie rezervrile care au fost fcute n luna
august.
XI. In tabelul Copie s se dubleze numrul de camere rezervate pentru tipul de
camera Apartment.

Comprimai (arhivai) baza de date HOTEL cu utilitarul WinRAR i transmite-
i arhiva pe email la adresa veronica.rus@tbs.ubbcluj.ro sau pe portalul ID la
adresa veronica.rus@portalid.ubbcluj.ro. Arhiva va avea numele format din
numele i prenumele dumneavoastr urmat de textul LP2 (ex: pop_ana_lp2). n
subiectul mesajului introducei numele arhivei.
Predarea lucrrii se face conform specificaiilor din seciunea
Organizarea temelor n cadrul cursului, partea 1 a materialului.

Bibliografia modulului
1. Avram-Nichi, R., Ghioiu, N., et al., Elemente de baze de date i
programare aplicate n economie, Ed. Risoprint, Cluj-Napoca, 2007.
2. Dollinger, Robert - Baze de date, Universitatea Tehnic Cluj-Napoca,
1994.
3. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000,
Teora, Bucureti, 1999.
4. Kovcs, Sndor, Access 2000 Implementarea bazelor de date,
Editura Albastr, Cluj-Napoca, 2003.
5. Nstase, P., Mihai, F., Brbulescu, B., ova, R.A., Stanciu, A., Covrig,
L., Baze de date n Microsoft Access 2000, Teora, Bucureti, 1999.
6. Teodorescu Alexandru, Lecii de Access, Editura Albastr, Cluj-
Napoca, 2002.
7. Mediul Internet.


84
M Mo od du ul lu ul l I II II I

Unitatea 7. Formulare
Unitatea 8. Rapoarte

Scop i obiective

Scop
Acest modul urmrete familiarizarea studenilor cu obiectele de tip formular i
raport. Cursanii vor nva cum s creeze ecrane pentru introducerea datelor,
cum s foloseasc ecranele pentru a vizualiza nregistrrile i cum s elaboreze
situaii de ieire (rapoarte) n Access.

Obiective
Precizarea rolului ecranelor in vizualizarea si/sau modificarea datelor;
Proiectarea formularelor n Access;
Crearea subformularelor;
Utilizarea controalelor;
Precizarea rolului rapoartelor n cadrul sistemelor informatice;
Proiectarea rapoartelor folosind Microsoft Access 2000;
Sortarea i a gruparea datele n cadrul rapoartelor;
Combinarea rapoartele (Rapoarte/Subrapoarte).

Concepte de baz: formulare, cutii cu text, etichete, liste combinate, butoane
radio, butoane de validare , butoane de comand, ferestre de dialog, rapoarte,
gruparea datelor, sortarea datelor, controale.


85
UNITATEA 7
FORMULARE
Sintez

Formularele reprezint interfaa principal ntre utilizator i o aplicaie
Microsoft Access, fiind obiecte ale bazei de date ce permit introducerea
i afiarea datelor ntr-o manier atractiv i prietenoas. n cadrul unei
aplicaii, formularele pot ndeplini mai multe funcii:
1. Afiarea i editarea (corectarea) datelor este cea mai des ntlnit
form de utilizare a formularului. De fapt, formularul permite
afiarea datelor n forma dorit de proiectantul aplicaiei. De
asemenea, datele afiate n cadrul formularelor pot fi modificate sau
chiar terse.
2. Controlul operaiilor realizate de aplicaie se pot proiecta
formulare care, mpreun cu comenzi macro sau cu proceduri Visual
Basic, s realizeze afiarea automat a anumitor date sau executarea
automat a unui ir de operaii cum ar fi deschiderea unui
subformular dintr-un formular.
3. Introducerea de date.
4. Afiarea de mesaje formularele pot furniza informaii privind
modul n care aplicaia poate fi utilizat sau despre operaiile ce
urmeaz a fi executate.
5. Tiprirea informaiilor formularele pot fi folosite si pentru
tiprirea de informaii la imprimant.

Un formular este compus din cinci pri (zone): antetul de formular, antetul de
pagin, zona de detaliu, subsolul de pagin i subsolul de formular.











86
1. Crearea formularelor
Avem dou moduri de creare a formularelor i anume:
1. Prin utilizarea instrumentului wizard creare automat;
2. Crearea n fereastra de lucru creare manual.
1.1. Crearea automat a unui formular
n fereastra Database se activeaz butonul New, pe ecran aprnd fereastra
New Form.

Dintre opiunile disponibile se va alege Form Wizard ceea ce nseamn c vom
crea un formular prin intermediul instrumentului wizard. n partea de jos a
ferestrei New Form prin utilizarea listei derulante se va alege tabela (sau
interogarea) pentru care se va crea noul formular. Apoi dac se activeaz OK
va aprea pe ecran o alta fereastra Form Wizard din care se vor alege cmpurile
tabelei asupra crora va opera noul formular care dorim s l construim.









Prin intermediul butonului Next putem trece de la o fereastr la alta. n
urmtoarea fereastr se va selecta modul de prezentare a datelor n cadrul
formularului. Printre cele mai utilizate moduri este modul columnar pe care
l vom utiliza i noi, mod n care datele sunt afiate pe coloane. Se poate


87
alege stilul formularului, adic un anumit tip de fundal, anumite tipuri de
caractere i diverse culori ale acestora. n ultima fereastr se va introduce
numele formularului i se alege i modul de afiare. Prin alegerea butonului
Finish se va ncheia crearea formularului.

1.2. Crearea formularului n fereastra de lucru
1. n fereastra Database se activeaz butonul New, pe ecran aprnd fereastra
New Form.









2. Dintre opiunile disponibile se va alege Design View. n partea de jos a
ferestrei New Form prin utilizarea listei derulante se va alege tabela pentru
care se va crea noul formular. Apoi se activeaz OK.











Fereastra de proiectare a
formularului
Trusa cu instrumente
Lista
cmpurilor


88
Pe ecran va aprea fereastra de proiectare a formularului, lista cmpurilor
(Field List) i trusa cu instrumente (vezi imaginea anterioar). Principale
controale care pot fi folosite n cadrul formularelor sunt:
Etichetele - Label : obiecte care afieaz date de tip text, sunt folosite
pentru descrieri.
Casete cu text -Text Box: permit afiarea datelor din tabele,
introducerea i editarea acestora.
Butoane de comanda - Command button: butoane care au asociate o
serie de aciuni.
Casete de validare - Check Box: au doua stri Off si On
Butoane de opiune - Option button se creeaz cu ajutorul lor
grupuri de butoane de opiune. Utilizatorul nu se poate selecta dect un
singur buton din cadrul grupului (o singur opiune), la un moment dat.
Liste - List Box: afieaz o list de elemente
Liste ascunse Combo Box: obiecte combinate format dintr-o caseta
de text i o lista.
3. Zona de antet i subsol de formular se va adauga din meniul View
opiunea Form Header/Footer. n antetul de formular se poate introduce un
text prin intermediul obiectului Label. Dac formularele vor fi listate la
imprimant se poate aduga i un antet i un subsol de pagin. n subsolul
de pagin se poate introduce data curenta (Insert->Date and Time),
numrul de pagin (Insert->Page Number), etc.
4. Cu ajutorul mouse-ului (Click+Ctrl) se selecteaz cmpurile care vor intra
n componena formularului. Prin drag-and-drop se vor poziiona
cmpurile selectate n zona Detail a formularului.









5. Foarmatarea formularului Format->AutoFormat;
6. Salvarea formularului - File->Save;
7. Vizualizarea formularului: View->Form View.
1.3. Subformulare
Un subformular este un formular inclus ntr-un alt formular, pentru a permite
afiarea datelor din mai multe tabele sau cereri de interogare, aflate n
general n relaii de tipul unu la unu sau unu la mai muli. Astfel n


89
formularul principal vor fi afiate datele din partea unu a relaiei, iar n
subformular cele din partea mai muli. Legtura dintre un formular i un
subformular reflect legtura dintre tabelele pe care se bazeaz.
Posibilitile de creare ale unui ansamblu de tip formular-subformular sunt :
- crearea formularului si subformularului concomitent;
- crearea subformularului i adugarea lui la un formular existent;
- crearea separat a celor dou i apoi combinarea lor.
Cea mai simpl variant este ultima.
- se creaz formularul principal i se salveaz;
- se creeaz subformularul ca i formularul principal;
- se face legtura ntre formularul principal i subformular;
- se verific legtura i apoi rezultatul.
1.4. Metoda drag & drop n cazul formularelor
Pentru aducerea unui subformular ntr-un formular principal se parcurg
urmtorii pai:
se deschide formularul principal n modul Design View;
se trece n fereastra Database, prin activarea tastei F11, se activeaz
butonul Forms, care va afia lista tuturor formularelor din baza de date;
se deplaseaz pictograma corespunztoare subformularului din fereastra
Database n spaiul formularului principal, ceea ce va avea ca efect
adugarea unui control de tip subformular;
dac este cazul se deplaseaz controlul n locul dorit i se
redimensioneaz n funcie de necesiti;
se execut dublu-click pe bordura controlului ce reprezint
subformularul, pentru a afia lista de proprieti a acestuia;
se verific legtura dintre formularul principal i subformular prin
intermediul proprietilor Link Child Fields i Link Master Fields care
sunt automat definite de Access pe baza legturilor dintre tabele; n caz
contrar se stabilesc cele dou cmpuri de legtur se trece n modul
Form View pentru verificarea rezultatului;
pentru a aduce modificri n formularul principal se comut napoi n
modul Design View.

O alt modalitate de creare a formularelor combinate:
se creeaz cele dou formulare;
se deschide formularul principal n Design View;
din trusa de instrumente se adaug obiectul subform/subreport( );
se parcurg cei trei pai ai Wizard-ului (dup cum se poate vedea n
imaginile urmtoare).


90






















































91
1.5. Fereastra cu proprietile obiectelor: poate fi activat pe ecran din
meniul View->Properties.

























Verificarea cunotinelor
1. Care sunt zonele importante ale unui formular?
2. Ce este un subformular?
3. Care sunt etapele crerii unui subformular?
4. Care sunt tipurile de controale care pot fi adugate intr-un formular?
5. Formularele construite in cadrul unei baze de date permit:
a) Afiarea i editarea datelor;
b) Introducerea datelor;
c) Controlul operaiilor aplicaiei folosind comenzile Macro.
6. Care este cea mai simpla modalitate de creare a formularelor?
a) Opiunea AutoForm din meniul Insert;
b) Create Form by using Wizard;
c) Create Form in Design View.



92
Aplicaii practice
Se consider baza de date FACTF . Cmpurile care intra n definiia tabelei
FIRMA sunt :
CODF - codul firmei text(4)
DENF - denumirea firmei text(20)
ADR - adresa fimei text(30)
CODFS - codul fiscal al firmei - text(15)
BK - banca cu care lucreaz firma text(20)
CT - contul firmei text(15)

Se consider apoi tabela FACTURA compus din urmtoarele
cmpuri :
NRF - numr factur numeric - ntreg
DF - data factur data calendaristic
CODF - codul firmei text(4)

Se cere:
a) Crearea tabelelor FIRMA i FACTURA.
b) S se defineasc cheile primare pentru cele dou tabele (CODF, respectiv,
NRF).
c) S se creeze relaia de tipul One-to-Many ntre cele dou tabele.
d) S se creeze prin intermediul wizard-ului un formular cu numele WFIRMA
corespunztor tabelei FIRMA, de tip columnar i folosind stilul standard.
S se adauge formularului eticheta - FEREASTRA INTRODUCERE DATE
FIRMA.
e) S se construiasc prin intermediul wizard-ului subformularul
corespunztor tabelei FACTURA, de tip columnar i folosind stilul
standard. S se adauge formularului eticheta - FEREASTRA
INTRODUCERE DATE FACTUR.
f) S se creeze un nou formular numit WWFIRMA care s conin un
formular principal - ecranul WFIRMA i un subformular WFACTURA.
g) S se verifice legtura dintre tabele, proprietile Link Child Fields i Link
Master Fields.


93
UNITATEA 8
RAPOARTE
Sintez

Vizualizarea datelor dintr-o baz de date se poate face pe ecran sau hrtie (la
imprimant) prin intermediul foilor de date, formularelor i situaiilor finale.
Ultima reprezint cea mai potrivit posibilitate de prezentare a datelor pe
hrtie. O situaie final (REPORT) este o grupare de date prezentate ntr-un
anumit format i o structur de pagin n funcie de necesitile utilizatorilor i
care servesc diverselor scopuri de subtotaluri (dup anumite criterii),
subformulare grafice i obiecte de tip OLE. Sursa datelor unei situaii finale o
constituie n principal cererile de interogare sau tabelele, restul fcnd parte din
structura acestora. n general dac datele ce trebuie introduse n situaia final
au ca surs mai mult de un tabel, se creeaz mai nti o cerere de interogare
(care reunete datele din tabele) i apoi situaia final bazat pe aceasta.
Elementele de legtur ntre sursa de date i situaiile finale sunt controalele,
zonele de text (pentru datele numerice i alfanumerice), cadrele (pentru imagini
i grafice) i etichetele (pentru titluri, linii separatoare i ptrate decorative.

Din punct de vedere al formei de prezentare, situaiile finale sunt de trei feluri:
1) Pe o singur coloan simpl;
2) Gen tabel cu posibiliti de a genera mai multe grade de totaluri;
3) Etichet potal.

Crearea unei situaii finale (REPORT) se poate face n dou moduri:
1) Far instrumentul wizard, utiliznd modul de lucru Design View.
2) Cu ajutorul instrumentului wizard.

Pentru a crea un raport se va alege obiectul Reports, butonul New i apoi modul
de lucru n care se va crea raportul. Se va specifica apoi tabela pentru care se
dorete afiarea unor situaii finale.












94


1. Crearea rapoartelor
Modul de creare a rapoartelor este asemntor cu cel de creare a formularelor.
Controalele care apar n corpul rapoartelor sunt 3 feluri: independente,
dependente i calculate. n cadrul rapoartelor pot fi adugate etichete, csue cu
text, linii, subrapoarte, butoane de comand, etc.

Cmpurile calculate:
Se introduc n subsolul de grup (Group Footer) sau n subsolul
raportului (Report Footer);
Se introduc cu ajutorul obiectului Text Box;
Sintaxa: =functie([camp])

Dup crearea unui raport, pentru verificarea rezultatului nainte de imprimare,
se poate vizualiza parial sau total. Vizualizarea parial (un eantion) permite
verificarea dispunerii n pagin, tipul de caractere i dimensiunea acestora,
gradele de totaluri (dac au fost definite). Vizualizarea total permite
verificarea datelor i constituie imaginea pe ecran a paginilor de imprimant.
nregistrarea i nchiderea unui raport se face ca la oricare alt fiier. Rezultatul
unui raport poate fi tiprit sau salvat ntr-un fiier, n vederea conservrii.
nainte de tiprire este necesar definirea parametrului de orientare a paginii.
Utilizarea instrumentului wizard permite crearea unor situaii finale cu o
structur standard care nu ine seama n totalitate de cerinele utilizatorului.
Aceast structur poate fi ulterior modificat cu ajutorul instrumentelor
disponibile (trusa cu instrumente). Trusa cu intrumente (Toolbox) i tipurile de
controale au acelai coninut i funcionalitate ca i cele de la formulare. Prin
urmare, toate operaiile de aducere a cmpurilor din lista de cmpuri a


95
tabelului, redimensionarea, deplasarea i modificarea acestora se fac ntr-o
manier asemntoare ca i la formulare.

2. Sortarea i regruparea datelor
Operaiile de sortare i regrupare a datelor apar foarte des n cadrul aplicaiilor
economice care utilizeaz un volum mare de date. Pentru sortarea datelor se
trece pe modul de lucru Design View - se alege <View, Sorting and Grouping>
care va afia pe ecran o fereastr dialog:

- n prima linie din coloana Field/Expression se selecteaz un nume de
cmp sau se introduce o expresie; se continu cu linia a doua, etc.
- n coloana Sort Order se stabilete ordinea de sortare: cresctoare
(Ascending) sau descresctoare (Descending); valoarea implicit fiind
cresctoare.
- se nchide fereastra de dialog.
Prima linie din fereastra de dialog corespunde primului nivel de sortare, a doua
celui de-al doilea etc.


96
Pentru introducerea antetului de grup se va introduce n zona Group Properties
- Group Header:Yes, iar pentru introducerea subsolului de grup Group
Header:Yes.
3. Combinarea rapoartelor (RAPOARTE/SUBRAPOARTE)
Pentru a combina dou sau mai multe situaii finale, una dintre acestea trebuie
s fie definit ca i situaie principal iar celelalte substituaii (ca i ansamblul
formular principal - subformular). Modul de lucru este asemntor cu cel de la
formulare/subformulare.
Verificarea cunotinelor
1. Ce sunt rapoartele?
2. Care dintre operaiile de mai jos nu este caracteristic elaborrii
rapoartelor?
a) Gruparea datelor;
b) Inserarea unui IF nlnuit;
c) Numerotarea paginilor;
d) Sintetizarea datelor.
3. Cmpurile calculate pot fi introduse ntr-un raport n:
A. subsolul paginii
B. antetul paginii
C. antetul raportului
D. subsolul raportului
E. antetul de grup
F. subsolul de grup
G. n zona Detail (corpul propriu zis al raportului)

a) Variantele A, B i C. b) Variantele B, C i D.
c) Variantele C, D, E sau F. d) Varianta G.
4. Pentru introducerea unor cmpuri calculate n cadrul rapoartelor se
folosesc:
a) Etichete (Label)
b) Csue de text (text box)
c) Butoane radio (radio buttons)
d) Csue de validare (check box).
5. Gruparea datelor se face prin intermediul opiunii:
a) Relationships din meniul Toos
b) Sorting and grouping din meniul View
c) Field List din meniul View
d) Group din meniul format.



97
Aplicaii practice
1. Considerm baza de date ANGAJAT.MDB avnd n componen
cmpurile:

NrOrd - numeric - ntreg
Nume - text - 10
Prenume - text - 10
Oras text - 10
Varsta numeric - ntreg
Salariu numeric - ntreg
Se cere:
I. S se introduc 7 nregistrri cu diferite persoane din orae distincte.
II. S se realizeze rapoarte prin intermediul crora s se afieze:
a) Raport_1 - numele i prenumele angajailor
b) Raport_2 - numele, prenumele i salariul angajailor
c) Raport_3 - numrul de ordine, numele, prenumele i oraul de
provenien al persoanelor respective.
d) Raport_4 - numele, prenumele angajailor i totalul lor
e) Raport_5 - media de vrsta a angajailor
f) Raport_6 - totalul salariilor acordate
g) Raport_7 - cel mai mare salariu acordat
h) Raport_8 - cel mai mic salariu acordat
i) Raport_9 - media salariilor
III. S se utilizeze ambele moduri de lucru, Design View i Instrumentul
wizard.
IV. S se realizeze un raport cu numele Raport_10 care s aib in
componen un subraport.
V. S se observe asemnrile dintre subraport i subformular.
VI. S se creeze un raport Raport_11 care s conin toate informaiile
prezentate de Raport_1,, Raport_9.

Sumar
Formularul este un obiect care permite introducerea datelor, afiarea acestora
ntr-o manier atractiv i prietenoas sau controlul ntregii aplicaii.
Formularul constituie interfaa dintre utilizator i datele stocate n baza de date.
Formularele simplific vizualizarea, introducerea i modificarea datelor.
Prin intermediul formularelor se pot realiza diverse operaii cum ar fi: sortarea,
cutarea, actualizarea unor date.
Rapoartele sunt obinute pe baza prelucrrii datelor din tabele i sunt create
pentru a fi afiate pe ecran sau tiprite la imprimant.


98
Utilizatorul folosete formularele pentru a introduce datele de intrare intr-o
aplicaie informatica i rapoartele pentru a genera situaii de ieire.
n cadrul rapoartelor datele pot fi ordonate i grupate dup diverse criterii iar la
nivelul grupurilor se pot efectua diverse calcule.
n cadrul formularelor i a rapoartelor pot fi adugate diverse controale:
etichete, cutii cu text, liste, butoane de comand, casete de validare, butoane
radio, liste ascunse, etc.

Sarcini i teme ce vor fi notate
Studierea de ctre studeni a materialului teoretic aferent modulului,
cuprins n suportul curs i n bibliografia suplimentar indicat.
Participarea la aplicaiile practice, teme de laborator;
Lucrarea practic nr. 3.
Lucrarea practic 3 (LP3)
Deschidei baza de date Hotel, creat n cadrul Lucrrii practice 2.
1. S se creeze un formular pentru tabelul InfoClienti folosind opiunea
AutoForm. Formularul va fi salvat cu numele EcranClienti.
2. S se construiasc prin intermediul wizard-ului formularul
corespunztor tabelei Rezervri, de tip tabular i folosind stilul stone.
S se adauge formularului eticheta - FEREASTRA INTRODUCERE
DATE REZERVRI. Formularul va fi salvat cu denumirea
EcranRezervri.
3. S se creeze urmtorul formular i s se salveze cu denumirea Meniu
principal:



99

La selectarea opiunii Vizualizare/Modificare clienti se va deschide formularul
EcranClienti, la selectarea opiunii Vizualizare/Modificare rezervri se va
deschide formularul EcranRezervri iar la selecia celui de-al treilea buton se
va vizualiza interogarea 25. Ultimul buton va avea ca efect nchiderea
formularului.

4. S se realizeze rapoarte prin intermediul crora s se afieze:
a) Raport_1 - numele i prenumele si numrul de telefon al clienilor.
Raportul va fi creat folosind opiunea AutoReport;
b) Raport_2 - numele, prenumele, adresa clienilor, localitatea,
judeul pentru clienii romni. Raportul va fi creat prin intermediul
wizard-ului, datele vor fi grupate dup cmpul judet, si vor fi
ordonate alfabetic dup cmpul nume. Alegei pentru acest raport
Layout-ul Tabular, orientarea Landscape i stilul Standard.
c) Raport_3 numele, prenumele i adresa clienilor sub forma unor
etichete potale.
d) S se realizeze un raport cu numele Raport_4 cu datele despre
clieni care s aib in componen un subraport creat pe baza datelor
din tabelul rezervri.
e) Raport_5 numele, prenumele clientului, data sosirii, data plecrii,
numrul de nopi.
f) Raport_6 lista rezervrilor grupat dup tipul de camer. S se
calculeze pentru fiecare tip de camer numrul de rezervri,
numrul minim i maxim de nopi pentru care s-au fcut rezervri.
n subsolul raportului s se afieze numrul total de camere
rezervate, numrul de total de rezervri. S se adauge n antetul
raportului o imagine cu un hotel.

III. Comprimai baza de date cu utilitarul WinRAR (putei s l descrcai
gratuit de pe Internet) i transmite-i arhiva prin email la adresa
veronica.rus@tbs.ubbcluj.ro sau pe portalul ID la adresa
veronica.rus@portalid.ubbcluj.ro . Arhiva va avea numele format din numele i
prenumele dumneavoastr urmat de textul LP3 (ex: pop_ana_lp3). n subiectul
mesajului introducei numele arhivei.
Predarea lucrrii se face conform specificaiilor din seciunea
Organizarea temelor n cadrul cursului, partea 1 a materialului.

Bibliografia modulului
1. Avram-Nichi, R., Ghioiu, N., et al., Elemente de baze de date i
programare aplicate n economie, Ed. Risoprint, Cluj-Napoca, 2007.
2. Dollinger, Robert - Baze de date, Universitatea Tehnic Cluj-Napoca,
1994.


100
3. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000,
Teora, Bucureti, 1999.
4. Kovcs, Sndor, Access 2000 Implementarea bazelor de date,
Editura Albastr, Cluj-Napoca, 2003.
5. Nstase, P., Mihai, F., Brbulescu, B., ova, R.A., Stanciu, A., Covrig,
L., Baze de date n Microsoft Access 2000, Teora, Bucureti, 1999.
6. Teodorescu Alexandru, Lecii de Access, Editura Albastr, Cluj-
Napoca, 2002.
7. Mediul Internet.


101
M Mo od du ul lu ul l I IV V

Unitatea 9. Macro
Unitatea 10. Module

Scop i obiective

Scop
Acest modul urmrete familiarizarea studenilor cu obiectele de tip macro i
module. Cursanii vor nva cum s creeze comenzi macro, cum s foloseasc
comenzile macro n cadrul formularelor i cum creeze proceduri simple n
Visual Basic prin intermediul modulelor.

Obiective
Identificarea aciunilor care pot fi efectuate prin intermediul comenzilor
Macro;
Crearea i rularea comenzilor Macro n Microsoft Access 2000;
Exportul i importul datelor;
Publicarea datele pe Internet prin intermediul obiectelor Pages;
Editarea modulelor n Microsoft Access 2000;
Prezentarea principalelor elemente ale limbajului Visual Basic;
Utilizarea instruciunilor pentru introducerea i afiarea datelor,
Utilizarea instruciunilor IF, While, Select, Do, For n cadrul modulelor.

Concepte de baz: comenzi Macro,Module, import, export, Pagini web,
Visual Basic, variabile, funcii, instruciuni secveniale.



102
UNITATEA 9
Macrouri
Sintez

Pn n prezent s-a ilustrat modul de construcie a principalelor obiecte care
compun o aplicaie Access. Se poate observa cu uurin c o aplicaie
complex presupune un numr mare de obiecte (formulare, interogri, rapoarte,
etc.). Toate aceste obiecte trebuiesc legate ntr-un flux continuu de operaii,
trecerea de la un obiect la altul realizndu-se automat. Cu alte cuvinte, n
cadrul unei aplicaii Access o importan deosebit o prezint automatizarea
acesteia. Prin automatizare nelegem c pe baza unei aciuni a utilizatorului (o
apsare pe buton de pe ecran sau de la tastatur, un dublu click) determin
realizarea uneia sau a mai multor operaii (deschiderea unuia sau mai multor
obiecte, rularea unor interogri, etc.).

Aceast automatizare a aplicaiilor realizate n Access se poate face n dou
moduri:
- prin utilizarea limbajului Visual Basic for Applications VBA;
- prin utilizarea comenzilor MACRO, care reprezint o form
simplificat a limbajului de programare VBA.

Comenzile MACRO sunt deosebite prin caracteristica lor unic i anume c
permit automatizarea diverselor evenimente fr ca realizatorul aplicaiei s fie
nevoit s cunoasc un anumit limbaj de programare. Prin evenimente
nelegem:
- modificri ale datelor;
- deschiderea sau nchiderea unui formular sau raport;
- sau chiar diferite selecii asupra obiectelor de control n cadrul unor
formulare.

n cadrul comenzilor MACRO pot fi incluse un numr mare de aciuni a cror
derulare poate fi condiionat de anumite valori afiate n formulare sau
rapoarte. Microsoft Access ofer un numr mare de aciuni ce pot fi executate
n cadrul unor comenzi macro:
- deschiderea sau nchiderea de tabele, interogri, formulare sau
rapoarte
- vizualizarea i tiprirea rapoartelor
- rularea interogrilor
- apelarea altor comenzi macro
- efectuarea condiionat a anumitor aciuni
- cutarea anumitor date n tabele
- deschiderea sau includerea diferitelor meniuri din Access


103
- afiarea de mesaje de atenionare sau chiar sunete de atenionare
- tergerea, redenumirea, copierea sau salvarea diferitelor obiecte ale
aplicaiei
- comunicarea cu alte produse software (WORD, EXCEL,)
1. Crearea unei comenzi MACRO
Comenzile macro se creeaz n cadrul ferestrei de proiectare :



Fereastra de proiectare are dou pri:
- Lista de aciuni cu comentarii
- Descrierea fiecrei aciuni din cadrul listei
2. Comunicarea ntre aplicaiile Office 2000
Pachetul Office 2000 produs de Microsoft s-a dorit a fi un instrument util i
foarte performant cu ajutorul cruia s se poat realiza un numr mare de
sarcini n cadrul biroului unei firme sau chiar acas. Creterea popularitii
produsului Office se datoreaz, pe lng gradul sporit de complexitate,
facilitii sale deosebite de a permite diferitelor aplicaii ce-l compun s
comunice ntre ele. Astfel, date ce se gsesc ntr-o aplicaie Access pot fi
transferate (exportate) ntr-un document Word n vederea realizrii unui
document de sintez. Odat cu lansarea sistemului de operare Windows 95 a
fost introdus o nou facilitate Object Linking and Embedding (introducerea i
legarea obiectului) sau pe scurt OLE. OLE este o metod de transfer a
informaiei ntre diferite aplicaii Windows sub form de obiecte. Metoda OLE
ofer un mare avantaj aplicaiilor realizate n ACCESS, putnd fi create baze
de date de tip multimedia n care pot fi stocate fiiere audio (WAV, MID),
fotografii i desene (BMP, TIF), animaie i filme (AVI).



104
Access introduce 3 faciliti:
1. DDE - Dynamic Data Exchange - schimbul dinamic de date
2. ActiveX Objects - obiecte ActiveX
3. ActiveX Custom Controls - controale personalizate ActiveX

1) DDE - permite executarea unor funcii, precum i transmiterea de date ntre
Access i orice alt aplicaie Windows care suport facilitatea DDE.

2) ActiveX - permite crearea unor anumite legturi ntre obiecte, precum i
includerea lor n cadrul bazelor de date Access (fotografii, grafice, foi de
calcul). Access poate lucra cu acele sisteme de gestiune a bazelor de date
care sunt compatibile cu standardul Open Database Conectivity (ODBC),
incluznd urmtoarele sisteme:
1. Microsoft SQL Server
2. Oracle
3. DB2
4. Ingres
3. Exportul datelor
Pentru a efectua un export de date dintr-o tabel vom folosi comanda File,
Export: i se va alege apoi tipul de fiier ctre care se efectueaz exportul de
date din tabel (.rtf, .xls, .htm).




105
4. Publicarea datelor pe INTERNET
Este binecunoscut n ultima vreme dezvoltarea exploziv a mediului Internet,
el devenind cea mai avansat form de comunicare din zilele noastre. Prin
conectarea la Internet firmele pot spera la un avantaj concurenial, deoarece pot
fi realizate cele 5 elemente de baz ale marketing-ului unui produs sau serviciu
i anume:
- s ajung primul pe pia
- noul produs s fie anunat, nainte de lansarea efectiv
- produsului s i se aduc permanente mbuntiri
- s ocupe o pia ct mai larg, dac e posibil la nivel mondial
- s urmreasc ptrunderea pe noi piee

SERVERUL WEB - reprezint sistemul pe care ruleaz un program, numit
demon httpd, ce are ca scop distribuia informaiei stocate sub forma unor
documente. Accesul la informaia de pe un server Web se obine prin
intermediul unui program-client numit navigator sau browser. Navigatorul i
serverul Web coopereaz dup modelul client-server. Seciunea Pages din
cadrul SGBD Access permite realizarea de pagini html:



Acest lucru poate fi realizat n trei moduri :
1) Prin intrumentul wizard
2) Prin modul de lucru Design View
3) Prin editarea (modificarea) unei pagini web existente



106
Verificarea cunotinelor
1. Ce nelegei prin MACRO:
a. un obiect care conine o definiie structurat a uneia sau mai
multor aciuni;
b. un obiect care include un fiier HTML;
c. un obiect care conine proceduri definite de utilizator;
d. un obiect proiectat pentru a fi tiprit pe plicuri cu corespondent.

2. S se creeze macro-uri pentru:
a) deschiderea unei tabele - MACRO-1
b) deschiderea unui raport - MACRO-2
c) ieirea dintr-o aplicaie Access- MACRO-3
d) rularea unei interogri- MACRO-4
e) redenumirea unei tabele - MACRO-5
f) tergerea unui obiect- MACRO-6
g) deschiderea unui formular - MACRO-7
OBS: Ca i structur de lucru se va utiliza tabelul STUDENT creat n
laboratoarele precedente
3. Se va utiliza exportul de date din mediul Access n:
1) Microsoft Word 2000
2) Microsoft Excel 2000
3) HTML - document internet

4. Utiliznd baza de date ANGAJAT, creai un document Internet care
prezint coninutul acesteia. S se deschid documentul astfel creat cu
ajutorul browser-ului Microsoft Internet Explorer. Observai denumirea
fiierului nou creat i mai ales extensia acestuia.


107
UNITATEA 10
MODULE
Sintez

Limbajul Visual Basic pentru Access 2000 (VBA) este un limbaj orientat pe
obiecte i pe evenimente. Obiectele Access 2000 sunt caracterizate prin
metode i proprieti. Prin intermediul metodelor se acioneaz asupra
strii unui obiect, n timp ce proprietile indic starea acestuia.
Editarea modulelor n Access: Limbajul Visual Basic constituie instrumentul
de programare pentru aplicaiile informatice dezvoltate cu ajutorul
pachetului Office 2000. Modulele din Access sunt obiecte ale bazei de
date, care permit scrierea de rutine n Visual Basic pentru Access.
Aceste rutine pot fi alctuite din:
- declaraii de variabile
- tipuri de date utilizator
- proceduri i/sau funcii
- declaraii API
Pentru a scrie o procedur sau o funcie Access se alege din fereastra unei baze
de date ultima seciune denumita simbolic Modules.





108
Procedurile i funciile pot fi asamblate n module, n funcie de cerinele
programatorului. O procedur sau o funcie este creat pentru a fi apelat dintr-
un obiect al bazei de date.

Pentru lucrul cu un modul se procedeaz astfel :
- se activeaz butonul NEW
- n cazul n care avem de fcut modificri se selecteaz modulul
dorit urmat de activarea butonului DESIGN (sau dublu-click pe
modulul dorit)
- pentru tergere se selecteaz modulul i se utilizeaz apoi tasta DEL
sau butonul marcat cu X

Scrierea rutinelor VBA se poate face cu litere mici sau cu majuscule. Cuvintele
cheie i cele utilizator sunt transcrise automat n forma n care au fost declarate,
dac sunt scrise corect. Editorul VBA are faciliti de colorare a unor cuvinte,
declaraii sau fraze scrise eronat.
1. Instruciuni de afiare i introducere a datelor
Formularele i rapoartele reprezint o form elegant de introducere i afiare a
datelor. n VBA exist instruciuni pentru introducerea unor date i afiarea de
mesaje.

InputBox (<mesaj>, [<titlu>], [<val_implicit>], [<x>], [<y>], [<fiier_help>,
[<context>])
- permite introducerea datelor sub forma unei secvene de caractere de
la tastatur


109

MsgBox (<mesaj>, [<butoane>], [<titlu>] [<fiier_help>], [<context>])
- permite afiarea unui mesaj i opional poate returna o constant n
funcie de butonul ales de utilizator.
Declararea variabilelor n VBA
VBA are dou categorii de tipuri de date :
a) standard (predefinite)
b) utilizator

Tip de dat Caracteristici
DOUBLE Numr memorat pe 64 de bii, virgul mobil. Valori de la
1,797*10
308
pna la +1,797*10
308

SINGLE Numr memorat pe 32 de bii, virgul mobil. Valori de la
3,4*10
38
pna la +3,4*10
38

CURENCY Numr memorat pe 64 de bii. Valori posibile : -
922337203685477,5808 pn la 922337203685477,5808
BYTE Numr ntreg pe 8 bii. Valori posibile 0-255.
INTEGER Numr ntreg pe 16 bii. Valori posibile : -32768 pna la
32767.
LONG Numr ntreg pe 32 de bii. Valori posibile : -2147483648
pn la 217483647.
BOOLEAN Conine 2 valori logice : TRUE (adevrat 1) sau FALSE (
fals 0)
DATE Conine date calendaristice i timp. Se utilizeaz ntre diez(#)
STRING ir de caractere. Poate conine maxim 2 la puterea 31
caractere. Se utilizeaz ntre ghilimele.
VARIANT Tip de date generic.
OBJECT Tip de date care refer un obiect.

2. Declararea i utilizarea variabilelor
Variabilele pot fi active :
- ntr-o procedur sau funcie
- ntr-un modul
- n toate modulele (publice)
Variabilele active se specific cu ajutorul declaraiei DIM
Dim nume_variabila AS tip_de_dat
Exemplu : Dim nr_mat as Integer
Exemplu de procedur (subrutin) pentru declararea de variabile, un calcul
simplu i afiarea rezultatului :


110


Execuia unui modul VBA se face alegnd opiunea RUN SUB/USERFORM din
meniul principal.


3. Variabile locale i variabile global
- Variabilele care se doresc a fi vizibile numai ntr-un modul se declar cu
Dim sau Private.
- Variabilele care se doresc a fi vizibile i n cadrul altor module se declar
cu Public.


111
- procedur se apeleaz cu CALL nume_procedur. Procedurile pot fi definite
n module diferite. Exemplu de apel pentru o procedur n cazul nostru
pentru mprire.

MODULUL 1
Option Compare Database
Sub Exemplu_Declarare_de_variabile()
Dim x As Double, y As Double, z As Double
x = 4
y = 5
z = x * y
MsgBox z
Call impartire
End Sub
Option Compare Database
MODULUL 2
Sub impartire()
Dim x As Double, y As Double, z As Double
x = 4
y = 5
z = y / x
MsgBox z
End Sub




112

n urma execuiei modulului 1 se vor afia cele dou rezultate, nmulirea
urmat apoi de mprire.

Declararea tablourilor: Un tablou este o mulime de elemente de acelai tip
care pot fi referite prin intermediul indicilor. Numrul de indici
constituie dimensiunea tabloului. Numrarea elementelor pentru un
indice ncepe de la 0 i se termin cu numrul maxim pentru care este
definit. Numrul de elemente dintr-un tablou se pot specifica n
momentul declarrii (tablouri alocate static), acest numr rmnnd
neschimbat pe toat durata de existen a variabilei tablou sau n
momentul redimensionrii acestuia pe parcursul duratei de via a
variabilei tablou (tablouri alocate dinamic).

a) Dim var_tablou (nr_el1, nr_el2,) as tip_de_date

dimensiunile tabloului
n acest caz tabloul are numr de elemente fix pe toat durata de
existen a variabilei.
b) Dim var_tablou () as tip_de_date
n acest caz nu se precizeaz dimensiunile tabloului. Acestea vor fi
stabilite pe parcurs cu ajutorul instruciunii ReDim.
ReDim var_tablou(nr_el1, nr_el2,) as tip_de_date
ReDim Preserve var_tablou(nr_el1, nr_el2, ) as tip_de_date
n prima variant, toate valorile coninute de elementele tabloului se
pierd prin acest apel, iar n a doua variant se pstreaz valorile
elementelor pn n momentul apelului.
Exemplu:
Dim A( ) as Double // tablou dinamic
Dim B(10, 10) as Integer

4. Programarea structurat
Programarea structurat n VBA implic o serie de instruciuni :
1. instruciunea IF
2. instruciunea SELECT CASE
3. instruciunea WHILE.WEND
4. instruciunea DOLOOP
5. instruciunea FORNEXT




113
1. Instruciunea IF

IF condiie THEN secvena_de_instruciuni_1
ELSE secvena_de_instruciuni_2
ENDIF

Efect: se evalueaz condiia, dac este adevarat se execut secvena de
instruciuni 1, iar dac e fals se execut secvena de instruciuni 2.

2. Instruciunea SELECT CASE

SELECT CASE expresie_selectoare
CASE lista_expresii_case_1
secvena_de_instruciuni_1
CASE lista_expresii_case_2
secvena_de_instruciuni_2
CASE lista_expresii_case_3
secvena_de_instruciuni_3

CASE ELSE
secvena_de_instruciuni_n
END SELECT

Efect: se evalueaz expresia_selector i daca e egal cu una din list de
expresii se execut secvena de instruciuni corespunztoare. Dac nici una nu
corespunde, se execut secvena de instuciuni n.

3. Instruciunea WHILEWEND

WHILE condiie
secvena_de_instruciuni
WEND

Efect: se evalueaz condiie i att timp ct e adevrat se execut secvena de
instruciuni. Dac nu e adevrat, se va trece la urmtoarea instruciune de
dupa WEND.


4. Instruciunea DOLOOP

Varianta a)
DO WHILE|UNTIL condiie
secvena_de_instruciuni


114
EXIT DO
secvena_de_instruciuni
LOOP

Efect: n varianta DO WHILELOOP se repet secvena de instruciuni atta
timp ct condiia este adevrat. Cu EXIT DO se face ieirea forat din
structur. n varianta DO UNTIL LOOP se repet secvena de instruciuni
pn cnd condiia devine adevrat.

Varianta b)

DO
secvena_de_instruciuni

EXIT DO

LOOP WHILE|UNTIL condiie

n varianta DOLOOP WHILE se repet secvena de instruciuni atta timp
ct condiia este adevrat. n varianta DOLOOP UNTIL se repet secvena
de instruciuni pn cnd condiia este adevrat.

5. Instruciunea FORNEXT

FOR var_contor=val_iniial TO val_finala STEP val_pas
secvena_de instruciuni
EXIT FOR
secvena_de_instruciuni
NEXT var_contor

Cu exit for se face ieirea forat dintr-o structur FOR. Valoarea pasului cea
implicit este 1.

Verificarea cunotinelor
I. S se scrie o subrutin pentru adunarea, scderea, nmulirea i
mprirea a dou numere reale.
II. S se scrie o subrutin de afiare a rezultatelor.
III. S se scrie o subrutin pentru calculul radicalului.
Rezolvare :
Option Compare Database


115
Sub radical()
Dim a As Double
Dim b As Double
Dim c As Double
MsgBox ("Introducei valoarea din care se va extrage radicalul :")
b = InputBox(a)
MsgBox ("Rezultatul corect dupa ce apei OK este:")
MsgBox (Sqr(b))
End Sub
IV. S se scrie o subrutin pentru calculul funciei factorial.
V. S creeze formulare i module pentru afiarea unui meniu principal care s
conin urmtoarele butoane :
1. INTRODUCERE DATE STUDENT se apeleaz forma cu datele
studentului
2. RAPOARTE se apeleaz un anumit raport
3. INTEROGRI se apeleaz o anumit interogare
Se va folosi la fiecare buton Event Builder cu care se vor construi apoi
modulele care apeleaz formele corespunztoare pentru a), b), c).
Pentru module se va folosi un cod de genul urmtor :

Option Compare Database
Option Explicit
Private Sub command1_click ()
DoCmd.Close
DoCmd.OpenForm ("nume_form")
End
VI. Ce nelegei prin modul (n contextul programrii obiectuale n
aplicaiile pentru bazele de date)?
a) Un set de instruciuni scrise n limbaj de asamblare;
b) O colecie de una sau mai multe proceduri;
c) O list de aciuni coninut ntr-un macro;
d) Toate variantele de mai sus.
Sumar
Automatizare a aplicaiilor realizate n Access: prin utilizarea limbajului Visual
Basic for Applications VBA sau prin utilizarea comenzilor MACRO.
Comanda Macro (MACRO): un obiect care conine o definiie structurat a
uneia sau mai multor aciuni pe care Access le realizeaz ca rspuns la un
anumit eveniment.
Modulul (MODULE): un obiect care conine proceduri definite de utilizator i
scrise n Visual Basic.


116
Visual Basic for Applications (VBA) este un limbaj de programare orientat pe
obiecte i pe evenimente.
Obiectele Access 2000 sunt caracterizate prin metode i proprieti.
Sarcini i teme ce vor fi notate
Studierea de ctre studeni a materialului teoretic aferent modulului,
cuprins n suportul curs i n bibliografia suplimentar indicat.
Participarea la aplicaiile practice, teme de laborator;
Lucrarea practic nr. 4.
Lucrarea practic 4 (LP4)
I. S se construiasc baza de date ASIGURARI. Sa se creeze tabelul
CONTRACTE cu urmtoarele cmpuri:

NR_CONTRACT numeric, intreg
NUME_PREN text, 30
TIP_ASIGURARE text, 1
DATA_CONTRACT - data calendaristica
PERIOADA numeric, intreg perioada de asigurare (exprimat in ani)
OBIECT text, 30 obiectul asigurrii
VALOARE_A - numeric, long integer valoare asigurat (exprimat in USD)
PRIMA_L - numeric, long integer prima lunar

a) Sa se stabileasc cheia primara.
b) S se introduc urmtoarea regul de validare: n cmpul
TIP_ASIGURARE pot fi introduse doar valorile V (asigurare de
via), L (locuin), B(bunuri).
c) Introducei 7 nregistrri.
II. S se creeze o interogare cu ajutorul creia s se afieze numrul contractului,
numele clientului, tipul i valoarea asigurat pentru toate asigurrile de
locuine ncheiate ntre 1 februarie 2007 i 20 ianuarie 2008.
III. S se majoreze cu 2% primele lunare pentru asigurrile de locuin.
IV. S se elaboreze un raport cu numele Lista_contracte care s conin
urmtoarele cmpuri: nume_pren, data_contract, valoare_a i prima_l. Sa se
calculeze numrul total de contracte, prima lunar medie, totalul valorilor
asigurate si valoarea totala a primelor lunare de asigurare.
V. S se realizeze o machet (ecran, formular) care s permit introducerea
datelor in tabelul ASIGURRI. Sa se adauge doua butoane de comanda cu
urmtoarele etichete: LISTA CONTRACTE si IESIRE. Acionarea primului


117
buton va avea ca efect afiarea raportul creat la punctul IV iar acionarea
butonului IESIRE va avea ca efect nchiderea formularului.
VI. Comprimai baza de date cu utilitarul WinRAR (putei s l descrcai gratuit
de pe Internet) i trimitei arhiva la adresa veronica.rus@tbs.ubbcluj.ro sau pe
portalul ID la adresa veronica.rus@portalid.ubbcluj.ro. Arhiva va avea numele
format din numele i prenumele dumneavoastr urmat de textul LP3 (ex:
pop_ana_lp3). n subiectul mesajului introducei numele arhivei.
Predarea lucrrii se face conform specificaiilor din seciunea
Organizarea temelor n cadrul cursului, partea 1 a materialului.

Bibliografia modulului
1. Avram-Nichi, R., Ghioiu, N., et al., Elemente de baze de date i
programare aplicate n economie, Ed. Risoprint, Cluj-Napoca, 2007.
2. Dollinger, Robert - Baze de date, Universitatea Tehnic Cluj-Napoca,
1994.
3. Harkins, S.S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000,
Teora, Bucureti, 1999.
4. Kovcs, Sndor, Access 2000 Implementarea bazelor de date,
Editura Albastr, Cluj-Napoca, 2003.
5. Nstase, P., Mihai, F., Brbulescu, B., ova, R.A., Stanciu, A., Covrig,
L., Baze de date n Microsoft Access 2000, Teora, Bucureti, 1999.
6. Teodorescu Alexandru, Lecii de Access, Editura Albastr, Cluj-
Napoca, 2002.
7. Mediul Internet.























118
3. Anexe

Glosar de termeni

O baza de date reprezint o modalitate de stocare a unor date pe un suport extern (mediu de
stocare), cu posibilitatea regsirii rapide a acestora.
Un obiect este o parte component a unei baze de date.
Un tabel este o colecie de date specifice unui anumit subiect, stocate pe linii i coloane.
Relaia este corespondena dintre cmpurile cheie a dou tabele.
Cmpul reprezint o coloan n cadrul tabelului. Fiecare cmp are asociat un tip de date.
O nregistrare reprezint un rnd n cadrul tabelului.
Design View pune la dispoziie instrumente pentru crearea (proiectarea) obiectelor.
Datasheet View permite actualizarea, editarea, tergerea nregistrrilor din tabel.

Bibliografia cursului:
1. Connolly, Thomas, Baze de date: proiectare, implementare, gestionare, Editura Teora,
Bucureti, 2001.
2. Date, C. J. (2005), Baze de date, Editura Plus, Bucureti.
3. Date, C.J. (1985), An introduction to database systems, Vol.II, Edison Wessley
Publishing Co., USA (disponibil la sala de lectura)
4. Date, C.J. (1990), An introduction to database systems, Vol.I, Edison Wessley Publishing
Co., USA (disponibil la sala de lectura)
5. Dollinger, Robert, Andron, Luciana - Baze de date i gestiunea tranzaciilor, Editura
Albastr, Cluj-Napoca, 2004.
6. Groh, R. M., Stockman C. J. et. all (2007), Access 2007 Bible, Wiley Publishing, Inc.,
USA.
7. Harkins, S. S., Hansen, K., Gerhart, T., Utilizare Microsoft Access 2000, Teora,
Bucureti, 1999. (disponibil la sala de lectura)
8. Nstase, P., Mihai, F., Brbulescu, B., ova, R.A., Stanciu, A., Covrig, L., Baze de date
n Microsoft Access 2000, Teora, Bucureti, 1999. (disponibil la sala de lectura)
9. Powell, G. (2006), Beginning Database Design, Wiley Publishing, Inc., USA.
10. Sndor, Kovcs, Access 2000 Implementarea bazelor de date, Editura Albastr, Cluj-
Napoca, 2003.
11. Waine, H. (1992), Databases for Businees Users, Pitman Publishing London. (biblioteca
Facultii de Business)
12. Access 2000 tutorial, disponibil online la
http://www.fgcu.edu/SUPPORT/OFFICE2000/ACCESS/
13. Microsoft, http://www.microsoft.com/romania/office/access/default.mspx.