Sunteți pe pagina 1din 65

Facultatea de Economie i Administrarea Afacerilor

BAZE DE DATE
- suport de laborator -

Lect. dr. ec. Cristina ZAMFIR


CUPRINS

Lista figurilor ............................................................................................................................. 4

1. Noiuni generale privind bazele de date............................................................................ 6

2. Crearea i lucrul cu tabele n Microsoft Access 2003...................................................... 10

2.1. Crearea, deschiderea i salvarea unei baze de date................................................... 11

2.2. Crearea tabelelor n Microsoft Access ..................................................................... 13

2.2.1. Crearea tabelelor n modul Design View ............................................................. 13

2.2.2. Crearea tabelelor folosind asistentul .................................................................... 16

2.2.3. Crearea tabelelor folosind introducerea datelor.................................................... 19

2.3. Modificarea structurii unei tabele i realizarea relaiilor dintre tabele ..................... 20

2.4. Crearea unei liste personalizate ...................................................................................... 23

2.5. Definirea regulilor de validare i de integritate a datelor.......................................... 25

3. Crearea formularelor n Microsoft Access............................................................................. 27

3.1. Crearea formularelor pentru o singur tabel .................................................................. 27

3.2. Crearea formularului pentru o relaie de tipul unu la muli.............................................. 28

3.3. Crearea formularelor pentru relaiile de tipul muli la muli ............................................ 31

3.4. Personalizarea formularelor............................................................................................ 32

3.4.1. Introducerea i personalizarea cmpurilor n formular.............................................. 33

3.4.2. Crearea de cmpuri calculate ................................................................................... 34

4. nelegerea i crearea rapoartelor........................................................................................... 36

4.1. Crearea rapoartelor folosind asistentul............................................................................ 37

4.2. Modificarea unui raport.................................................................................................. 41

5. Crearea interogrilor............................................................................................................. 43
5.1. Crearea interogrilor de selecie ..................................................................................... 44

5.2. Crearea interogrilor de aciune...................................................................................... 46

5.2.1. Crearea interogrilor de creare a tabelelor ................................................................ 46

5.2.2. Crearea interogrilor de modificare.......................................................................... 47

5.2.3. Crearea interogrilor de tergere .............................................................................. 48

5.2.4. Crearea interogrilor de adugare............................................................................. 49

5.3. Crearea interogrilor ncruciate..................................................................................... 50

6. Probleme propuse spre rezolvare.................................................................................... 54


Lista figurilor

Figura 2.1. Fereasta de nceput a aplicaiei Microsoft Access 2003 ........................................... 10


Figura 2.2. Opiunea New a meniului File................................................................................. 11
Figura 2.3. Panoul de sarcini pentru crearea unei noi baze de date ............................................ 11
Figura 2.4. Fereastra noii baze de date ...................................................................................... 12
Figura 2.5. Opiunea Open a meniului vertical File ................................................................... 12
Figura 2.6. Crearea unei tabele folosind Design View............................................................... 13
Figura 2.7. Crearea unui tabel folosind asistentul selectarea i redenumirea cmpurilor ......... 16
Figura 2.8. Crearea unui tabel folosind asistentuldenumire tabel i selectare cheie primare ... 16
Figura 2.9. Creare tabel folosind asistentul selectare cheie primar ........................................ 17
Figura 2.10. Crearea unui tabel folosind asistentul stabilirea legturilor logice ntre tabele..... 17
Figura 2.11. Crearea unui tabel folosind asistentul alegerea tipului de legtur ntre tabele .... 18
Figura 2.12. Finalizarea etapei de creare a unui tabel folosind asistentul ................................... 18
Figura 2.13. Crearea tabelei folosind introducerea datelor......................................................... 19
Figura 2.14. Fereastra Relationships ......................................................................................... 20
Figura 2.15. Editarea legturilor dintre tabele ........................................................................... 21
Figura 2.16. Realizarea relaiei ntre cmpurile tabelelor aflate ntr-o relaie de muli la muli .. 21
Figura 2.17. Alegerea tabelei cu care cmpul curent se va lega ................................................. 22
Figura 2.18. Alegerea cmpului (cheie primar) din tabela selectat ......................................... 22
Figura 2.19. Ordonarea datelor din cmpul ales ........................................................................ 22
Figura 2.20. Vizualizarea datelor aferente cmpului ales........................................................... 23
Figura 2.21. Crearea unei liste predefinite................................................................................. 23
Figura 2.22. Tiprirea valorilor care vor forma lista personalizat............................................. 24
Figura 2.23. Crearea unei liste personalizate folosind pagina Lookup ....................................... 24
Figura 2.24. Crearea unei machete de introducere a datelor....................................................... 25
Figura 3.1. Crearea formularului pentru tabela disciplin .......................................................... 27
Figura 3.2. Alegerea modului de aranjare a cmpurilor n cadrul formularului .......................... 27
Figura 3.3. Stabilirea stilului de formatare a formularului ......................................................... 28
Figura 3.4. Denumirea formularului.......................................................................................... 28
Figura 3.5.Alegerea tabelelor i a cmpurilor din cele dou tabele ............................................ 29
Figura 3.6. Stabilirea modului de vizualizare i de introducere a datelor n formular................. 29
Figura 3.7. Stabilirea modului de aranjare a cmpurilor n formular.......................................... 30
Figura 3.8. Alegerea stilului de prezentare a formularului......................................................... 30
Figura 3.9. Denumirea formularelor.......................................................................................... 31
Figura 3.10. Alegerea tabelelor i a cmpurilor......................................................................... 31
Figura 3.11. Alegerea modului de vizualizare a cmpurilor....................................................... 32
Figura 3.12. Personalizarea unui formular................................................................................. 32
Figura 3.13. Proprietile formularului...................................................................................... 33
Figura 3.14. Adugarea unui nou cmp n cadrul formularului.................................................. 33
Figura 3.15. Proprietile cmpului selectat .............................................................................. 34
Figura 3.16. Fereastra de dialog Expression Builder ................................................................. 35
Figura 4.1. Alegerea tabelelor i a cmpurilor pentru crearea raportului.................................... 37
Figura 4.2. Stabilirea modului de aranjare a datelor n cadrul formularului ............................... 38
Figura 4.3. Gruparea datelor dup anumite criterii .................................................................... 38
Figura 4.4. Stabilirea intervalelor de grupare a datelor .............................................................. 39
Figura 4.5. Sortarea datelor din cadrul raportului ...................................................................... 39
Figura 4.6. Afiarea cmpurilor numerice i a modurilor de mbinare ....................................... 39
Figura 4.7. Prezentarea modurilor de aranjare a cmpurilor n cadrul paginii ............................ 40
Figura 4.8. Stabilirea stilului de prezentare a cmpurilor din cadrul tabelului............................ 40
Figura 4.9. Introducerea unui nou cmp de grupare................................................................... 42
Figura 5.1. Butonul New pentru crearea unei interogri ............................................................ 44
Figura 5.2. Crearea unei noi interogri folosind Design View ................................................... 44
Figura 5.3. Aplicarea unei interogri pe dou tabele.................................................................. 45
Figura 5.4. Realizarea unei interogri de tip creare tabel ........................................................... 47
Figura 5.5. Realizarea unei interogri de tip modificare ............................................................ 47
Figura 5.6. Realizarea unei interogri de tip tergere................................................................. 48
Figura 5.7. Realizarea unei interogri de tip tergere pentru o nregistrare dintr-un alt tabel fa
de cel n care se pune condiia ........................................................................................... 48
Figura 5.8. Realizarea unei interogri de tip adugare............................................................... 49
Figura 5.9. Adugarea nregistrrilor care nu au completat cnp-ul n tabela student................... 49
Figura 5.10. Alegerea tabelei sau interogrii folosite pentru interogarea de ncruciare ............. 50
Figura 5.11. Selectarea liniei din interogarea de ncruciare ...................................................... 51
Figura 5.12. Selectarea coloanei din interogarea de ncruciare................................................. 51
Figura 5.13. Selectarea tipului de reprezentare a datei............................................................... 52
Figura 5.14. Selectarea valorilor din interogarea de ncruciare................................................. 52
Figura 5.15. Vizualizarea rezultatului interogrii de ncruciare ................................................ 52
Figura 5.16. Crearea unei interogri de ncruciare n mod design............................................. 53
1. Noiuni generale privind bazele de date

O baz de date este o colecie de date, structurate i corelate logic ntre ele, memorate pe
un suport de memorie. Pe lng datele propriu-zise, baza de date memoreaz i relaiile logice
care exist ntre acestea, dar i descrierea formal a structurii lor. Baza de date este gestionat de
de un sistem special numit sistem de gestiune a bazelor de date.
Un sistem de gestiune a bazelor de date (SGBD) asigur legtura dintre utilizator i baza
de date, permind construirea bazei de date, introducerea datelor n cadrul acesteia, dar i
construirea unor aplicaii.
O baz de date poate fi privit ca o colecie de date memorate n fiiere intercorelate i
definite logic sub form de tabele, alctuite din linii care corespund nregistrrilor i coloane care
corespund cmpurilor din nregistrri. Datele care sunt memorate n cadrul bazei de date sunt
structurate, neredundante, corelate logic ntre ele.
Baza de date poate fi mprit n:
date utilizator sunt memorate n fiiere i descrise prin tabele, care conin cmpuri i
nregistrri. Pentru fiecare tabel se definete i structura tabelei conine descrierea
cmpurilor din tabel i proprietile acestora;
dicionarul de date conine metadate, adic descrierea structurii tabelelor i a legturilor
logice dintre acestea (tabela de sistem);
tabele de index mresc accesibilitatea la datele din cadrul bazei de date;
metadatele aplicaiilor informaii pentru descrierea unor componente ale aplicaiilor, cum
ar fi: descrierea vederilor bazei de date, formatul unor cereri de interogare.
Structura unei baze de date realizeaz o descriere a datelor, a legturilor dintre ele i a
restriciilor la care se supun datele din cadrul bazei de date. Mai conine, pe lng acestea, i
descrierea structurii fiecrei tabele din baza de date.
Asupra datelor din cadrul bazei de date se pot impune o serie de constrngeri semantice
care trebuiesc respectate pentru a reflecta ct mai adevrat realitatea. Aceste constrngeri se
numesc restricii de integritate, iar baza de date care respect acest principiu este o baz de date
consistent. Restriciile de integritate ale unei baze de date se definesc prin intermediul regulilor
de integritate:
implicite stabilirea unor valori care pot fi introduse;
explicite atunci cnd se definete o list de valori sau un interval de valori din care se pot
da cmpurilor bazei de date.
O alt clasificare a regulilor de integritate este n reguli de integritate minimal i restul
regulilor. Din cadrul regulilor de integritate minimal se pot enumera:
regula unicitii cheii valoarea cheii primare este unic;
regula entitii toate cmpurile care fac parte din cheia primar trebuie s aib atribuite
valori n orice nregistrare din tabel;
regula integritii refereniale - orice valoare dat cheii strine dintr-o tabel trebuie s se
regseasc n tabela n care cheia respectiv este cheie primar:
o la adugarea unei noi nregistrri n tabela fiu, se va verifica dac valoarea care se
dorete introdus exist n tabela unde este cheie primar, n caz contrar, nu se va
realiza adugarea;
o la tergerea unei nregistrri din tabela printe, dac valoarea se regsete n tabela
fiu, atunci fie tergerea fie va fi interzis, fie se va realiza o tergere n cascad se
terg toate nregistrrile din tabela fiu, dar i nregistrarea din tabela printe;
o la modificarea cheii primare din tabela printe, dac aceasta exist ca valoare a cheii
strine n tabela fiu, atunci fie modificarea este interzis, fie se va realiza o modificare
n cascad se modific nregistrarea n printe i toate nregistrrile corespunztoare
din tabela fiu.
Proiectarea unei baze de date pornete de la problema real care trebuie modelat pentru
a defini schema conceptual a datelor. Primul pas n crearea bazei de date este identificarea
datelor care vor forma baza de date, dar i caracteristicile acestora. Pornind de la caracteristicile
datelor se va continua cu determinarea legturilor logice dintre ele, innd cont de fenomenele
reale care se doresc modelate. Proiectarea bazei de date se face n mai multe etape:
etapa de modelare a structurii bazei de date se stabilesc legturile logice dintre date;
etapa de definire a bazei de date folosind un SGBD;
etapa de ncrcare a datelor n cadrul bazei de date i verificarea corectitudinii;
etapa de mentenan a bazei de date.
Modelarea cerinelor presupune realizarea unei analize reale a problemei pentru care
trebuie realizat baza de date. Dup ce s-a formulat problema i datele care vor fi folosite i
introduse n cadrul aplicaiei se va continua cu modelarea structurii bazei de date.
Modelarea structurii bazei de date se realizeaz prin intermediul unui model de
organizare logic a datelor, acesta preciznd coninutul logic al datelor, natura datelor i a
legturilor dintre date la nivelul ntregii bazei de date. Modelul de organizare logic a datelor
presupune o descriere a datelor din punct de vedere formal, innd cont de:
semantica datelor (coninutul logic al datelor) presupune denumirea ct mai sugestiv a
datelor i explicarea sensului acestora. Structura tabelelor trebuie s permit obinerea facil
a diverselor tipuri de rapoarte necesare utilizatorilor, precum i s faciliteze operaiile de
filtrare aplicate nregistrrilor de date;
restriciile - se exprim sub form de reguli de integritate sau reguli de validare a datelor
care vor urma introduse n cmpurile respective;
modul de grupare a datelor se realizeaz pentru a crea structuri omogene care vor fi
folosite n rezolvarea problemei;
legturile logice dintre grupuri (relaii logice) sunt definite astfel:
o legturi de tip unu-la-unu apar atunci cnd unui element dintr-un grup i corespunde
un singur element dintr-un alt grup i reciproc. De exemplu, unei comenzi i corespude
o singur factur i reciproc este adevrat, adic unei facturi i corespunde o singur
comand. n urma unei astfel de legturi, cheile primare ale celor dou tabele
migreaz ca i chei strine n ele.
o legturi de tip unu-la-muli apar atunci cnd unui element dintr-un grup i
corespunde mai multe elemente dintr-un alt grup, dar unui element din grupul al doilea
i corespunde un singur element din primul grup. De exemplu, o persoan primete n
urma achiziiei de bunuri una sau mai multe facturi, n schimb o factur i este emis
unei singure persoane. n urma unei astfel de legturi, cheia primar a tabelei printe
(cea creia i corespund mai multe elemente) devine cheie strin n tabela fiu.
o legturi de tip muli-la-muli apar atunci cnd unui element dintr-un grup i
corespunde mai multe elemente dintr-un alt grup i reciproc. De exemplu, pe o factur
se pot gsi mai multe produse, iar un produs poate apare pe mai multe facturi. n
urma unei astfel de legturi, cheile primare ale celor dou tabele migreaz ca i chei
primare n cadrul unei noi tabele numite tabel de jonciune.
Se numete cheie primar cmpul sau combinaia de cmpuri care identific n mod unic
nregistrrile tabelei.
Asupra cheii primare se fac urmtoarele observaii:
cheia primar este folosit pentru identificarea n mod unic a nregistrrilor, dar i pentru
cutarea n cadrul bazei de date;
cheia primar trebuie s respecte restricia de unicitate a cheii, adic nu este permis ca s
existe dou nregistrri care s aib aceeai valoare a cheii primare;
nu se accept ca pentru cheia primar s nu aib definit nici o valoare, adic cheii primare
trebuie s i se dea o valoare. Aceast restricie se numete regula entitii.
Se numete cheie strin mulimea de cmpuri care au proprietatea c domeniile pe care
le definesc se regsesc n cadrul unei alte tabele, adic este cheie primar n cadrul unei alte
tabele.
Asupra cheii strine se fac urmtoarele observaii:
cheia strin este definit ca i cheie primar n cadrul unui alt grup;
cheia strin poate lua doar valorile definite pentru cheia primar aferent tabelei din care
provine restricia de integritate referenial;
cheia strin poate s nu aib asociat nici o valoare restricia de integritate referenial;
nu exist dou nregistrri care s difere doar prin valoarea cheii strine.

Se numete cheie candidat mulimea de cmpuri care pot fi chei primare n anumite
condiii.
Se numete cheie alternant mulimea de cmpuri care nu sunt chei primare din
mulimea de chei candidat.

CONCLUZII:
O baz de date este format din:
tabele sunt formate din mai multe rnduri (nregistrri) i mai multe coloane (cmpuri).
nregistrrile sunt valori date cmpurilor tabelei. Fiecrui cmp n parte i este asociat
un nume, un tip de dat, o anumit dimensiune.
relaii ntre tabele se exprim conform tipurilor de legturi care pot exista ntre tabele;
Pe lng acestea, n cadrul unei baze de date pot exista i:
formulare sunt folosite pentru introducerea datelor n cadrul bazei de date.
interogri selectarea anumitor date din tabele n funcie de anumite condiii, selectarea
datelor putnd fi selectate din mai multe tabele.
rapoarte servesc la preluarea datelor din baza de date i afiarea acestora pe ecran sau
hrtie. Datele din tabele pot fi sortate i grupate.
2. Crearea i lucrul cu tabele n Microsoft Access 2003

Dup lansarea n execuie a aplicaiei Microsoft Office Access 2003 se va deschide o


freastr de forma prezentat n figura 2.1.

Figura 2.1. Fereasta de nceput a aplicaiei Microsoft Access 2003

Ca orice fereastr de aplicaie, i fereastra aplicaiei Microsoft Access este format din:
bara de titlu va conine numele bazei de date cu care se va lucra. n partea dreapt a
barei de titlu se afl cele trei butoane de control: minimize (pentru micorarea ferestrei
i aducerea acesteia n bara de task-uri), maximize/restore (va mri fereastra pe tot
ecranul sau va aduce fereastra la forma iniial), close (va nchide fereastra aferent
bazei de date cu care se lucreaz);
bara de meniuri cuprinde meniurile aplicaiei, fiecare dintre acestea avnd un scop
precis: meniul File prezint operaiile care se pot realiza asupra fiierului (deschidere,
salvare, nchidere, crearea unei noi baze de date, exportul bazei de date sau
imprimarea), meniul Edit conine operaiile de editare a coninutului fiierului
(copiere, mutare, lipire, redenumire sau tergere), meniul View cuprinde modurile de
vizualizare a coninutului fiierului (detaliat, icoane, list), meniul Insert nglobeaz
operaiile ce permit introducerea de noi obiecte n cadrul bazei de date (tabele,
formulare, rapoarte, interogri), meniul Tools conine operaii legate de baza de date
(crearea relaiilor ntre tabele, analiza datelor din cadrul bazei de date, crearea unei copii
de siguran a bazei de date, crearea unui panou de control), meniul Window asigur
modul de vizualizare a bazei de date;
bara de intrumente conine diferite butoane, care reprezint ci rapide ctre opiunile
din meniurile aplicaiei;
zona de lucru este reprezentat prin zona n care se afieaz structura bazei de date;
bara de stare afieaz diferite informaii despre starea aplicaiei.
2.1. Crearea, deschiderea i salvarea unei baze de date

Crearea unei noi baze de date n Microsoft Access se poate realiza n mai multe
moduri, iar unele dintre acestea sunt prezentate n continuare:
din meniul File al aplicaiei Microsoft Access se va selecta opiunea New;

Figura 2.2. Opiunea New a meniului File

de pe bara de instrumente a aplicaiei Microsoft Access se va apsa butonul New ( );


n locaia unde se dorete crearea bazei de date se va apsa clic dreapta, iar din meniul de
context se va alege opiunea New, iar din lista de fiiere se va selecta Microsoft Office
Access 2003.
Indiferent de alegerea fcut pentru crearea bazei de date se va deschide n partea dreapt a
ferestrei un panou de sarcini din care se va alege modul de crearea a noii baze de date:

Figura 2.3. Panoul de sarcini pentru crearea unei noi baze de date
Blank database crearea unei noi baze de date i salvarea acesteia ntr-o locaie;
From existing file permite crearea unei noi baze de date sau proiect folosind diferite
tipuri de fiiere, precum cele de web (.html) sau chiar baze de date (.mdb). Este folosit
atunci cnd s-a creat o baz de date i se dorete una asemntoare;
Templates crearea bazei de date se face pornind de la o serie de abloane (baze de date
existente) care pot fi gsite pe calculator sau online.

Figura 2.4. Fereastra noii baze de date

Dup cum se poate observa n figura 2.4., fereastra bazei de date conine cteva butoane
aranjate n meniul vertical Objects, cu ajutorul crora se vor crea tabele, rapoarte, interogri sau
formulare. Prin apsarea fiecrui buton, se vor vizualiza doar obiectele respective, adic doar
tabele sau rapoarte, interogri sau formulare.
Salvarea unei baze de date n Microsoft Access se realizeaz doar n momentul n care
aceasta se creeaz. Dup crearea bazei de date, orice modificare a acesteia se va salva automat.
Deschiderea baze de date n Microsoft Access se poate realiza n mai multe moduri:
cu ajutorul opiunii Open din meniul File;

Figura 2.5. Opiunea Open a meniului vertical File

cu ajutorul butonului Open ( ) aflat pe bara de instrumente standard;


prin combinaie de taste i anume CTRL+O.
2.2. Crearea tabelelor n Microsoft Access

Pentru a se continua construirea bazei de date cu tabele este nevoie ca mai nti s se
finalizeze etapa de modelare conceptual a bazei de date (tabele i relaiile care exist ntre
acestea). Este mai indicat n a se finaliza modelul conceptul de date, dect s se nceap crearea
tabelelor n mod aleator, deoarece se va pierde timp inutil cu modificrile ulteriore pentru a
modela ct mai bine realitatea. n Microsoft Access, crearea tabelelor se poate realiza n diferite
moduri:
Create table in Design View crearea tabelelor se va face ntr-un mod de vizualizare;
Create table by using wizard crearea tabelelor se va face folosind un asistent;
Create table by entering data crearea tabelelor se va face introducnd date, pentru ca
mai apoi s se modifice numele cmpurilor i s se stabileasc cheia primar.

2.2.1. Crearea tabelelor n modul Design View

n crearea unei tabele trebuie s urmeze paii urmtori:


definirea numelor de cmpuri, tipul de dat asociat fiecruia dintre acestea i n mod
opional, o descriere a ceea ce dorete s memoreze cmpul respectiv;
stabilirea proprietilor pentru fiecare cmp n parte, adic se vor stabili dimensiunea,
reguli de validare a datelor care vor fi introduse;
se va stabili cheia primar care poate fi format din unul sau mai multe cmpuri;
crearea unor cmpuri care vor fi indeci, acetia fiind folosii n cutarea mai rapid a
nregistrrilor n baza de date;
salvarea tabelei n cadrul bazei de date.

Figura 2.6. Crearea unei tabele folosind Design View


Analiznd figura 2.6. se poate observa c fereastra este mprit n dou zone: prima este
zona unde se definesc cmpurile tabelului i tipurile asociate pentru fiecare dintre acestea, iar cea
de-a doua este zona unde se stabilesc proprietile fiecrui cmp n parte. Pentru nceput, se va
prezenta prima zon, care este format din trei coloane:
n prima coloan (Field Name) se va trece numele cmpului, inndu-se cont ca numele
acestuia s nu aib spaii sau caractere speciale (diacritice, semnul ntrebrii, slash etc.).
Dintre cmpurile definite se va selecta unul sau mai multe cmpuri (din partea stng a
ferestrei, se va ine clic stnga i se vor selecta cmpurile) care vor forma cheia
primar a tabelei:
o din meniul Edit se va alege Primary Key;
o de pe bara de instrumente standard se va selecta butonul Primary Key ( );
o pe cmpurile selectate se va da clic dreapta, iar din meniul de context afiat se va
selecta opiunea Primary Key.
n cea de-a doua coloan (Data Type) se vor stabili tipurile de date pentru fiecare cmp n
parte. Tipul implicit al aplicaiei este Text, iar alegerea se va face folosind lista
derulant care apare atunci cnd ne poziionm pe coloan. Tipurile de date oferite de
SGBD-ul Access sunt:
o Text permite introducerea ntre 0 i 255 de caractere alfa-numerice;
o Memo permite introducerea ntre 0 i 65536 de caractere alfa-numerice;
o Number permite introducerea doar a cifrelor, codificarea informaiilor realizndu-
se pe 1, 2, 4, 8 bytes sau 16 bytes pentru tipul Replication ID;
o Date/Time permite introducerea datei calendaristice i/sau a orei;
o Currency permite introducerea formatului monetar;
o AutoNumber permite introducerea automat a numrului;
o Yes/No este tipul care permite introducerea doar a dou valori: adevrat sau fals;
o OLE Object permite introducerea de poze, imagini video sau sunete;
o Hyperlink introduce legturi ctre pagini web;
o Lookup Wizard afieaz datele din cadrul unui alt tabel.
cea de-a treia coloan (Description) este opional, adic poate sau nu fi completat. n
cadrul acestei coloane se vor preciza datele care vor fi introduse n cadrul cmpului.
Zona Field Properties, care apare n partea de jos a ferestrei Design View aferent
tabelei, permite modificarea proprietilor fiecrui cmp selectat. Aceast zon se va modifica n
funcie de tipul de dat care a fost selectat pentru cmpul respectiv. Printre cele mai importante
proprieti care se pot aplica unui tip de dat sunt:
Field Size limiteaz numrul de caractere care pot fi introduse (specific pentru tipul de
dat Text) sau stabilete tipul de valoare numeric care poate fi introdus (specific
pentru tipul de dat Number);
Format modific modul de afiare a formatului (majuscule, dat, or) - specific pentru
tipul de dat Text, Memo, Number, Date/Time, Hyperlik;
Input mask este folosit pentru a stabili un format de introducere a datelor n cadrul
bazei de date (specific pentru tipul de dat Text, Number, Date/Time, Currency);
Caption este un cmp opional folosit n formulare i rapoarte care modific numele
componentei (este specific tuturor tipurilor de date, cu excepia tipului AutoNumber);
Default Value stabilete o valoare predefinit care va fi introdus n mod automat (este
specific tuturor tipurilor de date, cu excepia tipului AutoNumber i Hyperlink);
Validation Rule este o regul de validare exprimat printr-o expresie sau un macro,
care stabilete ce date pot fi introduse n cmpul respectiv (este specific tuturor
tipurilor de date, cu excepia tipului AutoNumber i OLE Object);
Validation Text este textul care va apare dac regula de validare este nclcat (este
specific tuturor tipurilor de date, cu excepia tipului AutoNumber i OLE Object);
Required specific dac trebuie introdus n mod explicit o valoare n cmpul respectiv
(este specific tuturor tipurilor de date, cu excepia tipului AutoNumber);
Allow zero lenght specific dac se introduce spaiu alb pentru a o deosebi de valoarea
nul (specific doar pentru tipul de dat Text i Memo);
Indexed mrete viteza de cutare n cadrul bazei de date. Dac cmpul este cheie
primar, atunci acesta va avea selecta Yes (No Duplicates), deoarece valoarea cheii
primare trebuie s fie unice. n cazul n care este cheie strin, valoare acestei
proprieti va fi Yes (Duplicates OK);
Decimal Places specific numrul de zecimale (specific doar pentru tipul de dat
Number i Currency);
New values specific formatul de introducere a numrului - cretere sau aleator
(specific pentru tipul de dat AutoNumber);
Unicode Compression permite introducerea tuturor tipurilor de caractere alfa-
numerice (inclusiv diacritice). Se refer la codul alfa-numeric Unicode, care ncearc
uniformizarea codificrii tuturor caracterelor.
2.2.2. Crearea tabelelor folosind asistentul

A doua modalitate de creare a tabelelor este cu ajutorul asistentului. Dezavantajul acestei


metode este dat de operaiile suplimentare care trebuiesc realizate, adic redenumirea
cmpurilor, stabilirea tipului de date. Dup ce s-a ales opiunea Create table using wizard se va
lansa un asistent care va crea tabelul n patru pai:
prima etap se refer la selectarea tipului de baz de date care se dorete creat, avnd
stabilite dou categorii (Business sau Personal). Dup selectarea tipului de baz de date
se vor prezenta diferite tipuri de tabele, fiecare dintre acestea avnd anumite cmpuri.
Dintre cmpurile prezentate se vor alege doar acelea care se aplic sistemului real,
urmnd ca apoi acestea s fie redenumite.

Figura 2.7. Crearea unui tabel folosind asistentul selectarea i redenumirea cmpurilor

a doua etap a crerii tabelului folosind asistentul este denumirea tabelului i stabilirea
cheii primare. Alegerea cheii primare se poate realiza automat de ctre asistent sau
manual de ctre utilizator. n cazul n care se stabilete ca cheia primar s fie selectat
de asistent, atunci aceasta va trebui scris ca i prim cmp, deoarce l alege pe acesta.

Figura 2.8. Crearea unui tabel folosind asistentul denumirea tabelei i selectarea cheii primare
Alegerea manual a cheii primare presupune introducerea unei noi etape i anume selectarea
acesteia. Se vor afia toate cmpurile tabelei, urmnd ca dintre acestea s fie alese cheia primar.

Figura 2.9. Creare tabel folosind asistentul selectare cheie primar

Dezavantajul alegerii n acest moment a cheii primare este determinat ne imposibilitatea de a


selecta mai multe cmpuri care s formeze cheia. Dup alegerea cmpului care se dorete a fi
setat cheie primar, se va selecta i tipul de date care vor putea fi introduse n cadrul acestuia:
o Consecutive numbers Microsoft Access assigns automatically to new records
este echivalent cu tipul de dat AutoNumber, care permite introducerea n mod
automat a valorilor numerice;
o Numbers I enter when I add new recods va permite introducerea doar a valorilor
numerice;
o Numbers and/or letters I enter when I add new records va permite introducerea
att a cifrelor, dar i a literelor, adic caractere alfa-numerice.
a treia etap n realizarea tabelei este stabilirea legturilor logice care pot apare ntre
tabele.

Figura 2.10. Crearea unui tabel folosind asistentul stabilirea legturilor logice ntre tabele
Realizarea relaiilor dintre tabele se va face prin selectarea tabelei cu care aceasta este ntr-o
legtur logic i apoi se va aciona butonul Relationships, care va conduce la deschiderea unei
noi ferestre de dialog din care se va alege tipul de legtur logic.

Figura 2.11. Crearea unui tabel folosind asistentul alegerea tipului de legtur ntre tabele

Alegerea tipului de legtur se face n funcie de tabela printe, care poate avea asociat una sau
mai multe nregistrri din tabela fiu.
etapa patru din crearea tabelei folosind asistentul este dat de operaiile care se dorete s
se realizeze cu aceasta:
o Modify the table design se poate modifica structura tabelei, tipul de dat asociat
unui cmp sau numele acestora;
o Enter datat directly into the table se folosete tabela creat, introducnd date n
cadrul acesteia;
o Enter data into the table using a form the wizard creates for me permite
introducerea datelor n cadrul tabelei prin intermediul unui formular creat de asistent.

Figura 2.12. Finalizarea etapei de creare a unui tabel folosind asistentul


2.2.3. Crearea tabelelor folosind introducerea datelor

Ultima modalitate de creare a unei tabele folosind SGBD-ul Microsoft Access este
introducnd date n cadrul cmpurilor dorite i redenumirea acestora. Crearea unei astfel de
tabele se face cu ajutorul opiunii: Create table by entering data.

Figura 2.13. Crearea tabelei folosind introducerea datelor

Dup cum se poate observa n figura 2.13., crearea unei tabele se poate face i
introducnd datele n tabel, pentru ca mai apoi s se redenumeasc cmpurile. Redenumirea
cmpurilor se poate face:
dnd clic dreapta pe indicativul coloanei, iar din meniul de context se va alege opiunea
Rename Column;
dnd dublu clic pe indicativul coloanei i apoi se va introduce numele cmpului;
Dezavantajul crerii tabelei n acest mod este dat de intrarea apoi n mod design pentru a
se defini cheia primar.
2.3. Modificarea structurii unei tabele i
realizarea relaiilor dintre tabele

Modificarea structurii unei tabele se poate face doar n mod de design. Structura tabelei
se poate modifica n mai multe moduri:
se va selecta tabelul i se va da clic dreapta, alegndu-se din meniul de context opiunea
Degin View;
se alege tabelul pentru care se dorete modificarea structurii i se va alege butonul

Design View ( ) de pe bara de instrumente a bazei de date;


dac este deschis fereastra n care se prezint relaiile dintre tabele, atunci se va da clic
dreapta pe tabela a crei structur se va modifica i din meniul de context se va alege
opiunea Table Design.

Dup ce tabelele au fost create urmeaz s se stabileasc relaiile dintre tabele. Pentru a
se realiza relaiile se pot urma unul dintre paii urmtori:
de pe bara de intrumente a aplicaiei Microsoft Access se va selecta butonul
Relationships ( );
din meniul Tools se va alege opiunea Relationships.

Figura 2.14. Fereastra Relationships

n cazul n care tabelele bazei de date nu sunt deja legate ntre ele (fie prin intermediul
crerii tabelei folosind asistentul, fie prin intermediul tipului de dat oferit de Microsoft Access
numit Lookup Wizard), atunci vor trebui afiate tabelele, acest lucru realizndu-se cu ajutorul
opiunii Show Tables, care apare atunci cnd se va da clic dreapta pe fereastra Relationships.
Dup afiarea tabelelor, realizarea legturilor se va face trgnd cheia primar a tabelei printe
peste cheia strin a tabelei fiu.
Figura 2.15. Editarea legturilor dintre tabele

Din cadrul relaiei se poate observa ca tabela din stnga este tabela printe, iar cea din
dreapta este tabela fiu. Opiunea Enforce Referential Integrity se refer la relaia de integritate,
care verific ca cele dou chei, cea primar i cea strin s aib acelai tip i dimensiune. n
cazul n care este nclcat regula de integritate, atunci va apare un mesaj de eroare care v v.a
avertiza acest lucru. Odat selectat aceast opiune se va activa posibilitatea de modificare i
tergere n cascad.
n cazul n care avem o relaie de muli la muli ntre tabele, relaiile se pot realiza i prin
intermediul asistentului furnizat de Microsoft Access ca i tip de dat, acesta numindu-se
Lookup Wizard. Prin intermediul acestui tip de dat se vor lega tabelele, urmrind cei ase pai
executai de asistent:
primul pas n crearea legturii cu tipul de dat specificat este alegerea operaiei care se va
aplica cmpurilor celor datele:
o I want the lookup column to look up the values in a table or query va prelua
valorile cheii primare din tabela printe i le va introduce n tabela fiu. Deoarece
relaia precizeaz c nu putem avea alte valori dect cele ale cheii primare, se va
alege aceast opiune dintre cele dou;
o I will type in the values that I want se vor introduce valorile dorite.

Figura 2.16. Realizarea relaiei ntre cmpurile tabelelor aflate ntr-o relaie de muli la muli
pasul doi n realizarea relaiei este alegerea tabelei cu care cmpul curent se leag;

Figura 2.17. Alegerea tabelei cu care cmpul curent se va lega

pasul trei este alegerea cmpului din cadrul tabelei selectate, cmp care va trebui s
coincid cu cel din tabela fiu.;

Figura 2.18. Alegerea cmpului (cheie primar) din tabela selectat

pasul patru permite ordonarea datelor nscrise n cadrul cmpul ales;

Figura 2.19. Ordonarea datelor din cmpul ales


n cazul n care ar fi existat date nscrise n cmpul ales, acestea vor fi afiate la pasul
urmtor, acestea fiind i ordonate conform criteriului pas ales la pasul anterior;

Figura 2.20. Vizualizarea datelor aferente cmpului ales

ultimul pas n crearea relaiei este denumirea cmpului.

2.4. Crearea unei liste personalizate

Pentru realizarea unei liste personalizate, precum ar fi o list de uniti de msur sau
grade didactice din care se poate alege, se va folosi opiunea Lookup Wizard din cadrul design-
ului de tabel. Spre deosebire de realizarea legturii dintre tabele, prin alegerea primei opiuni de
selectare a datelor din cadrul altei tabele, se va selecta cea de-a doua opiune prin care se va scrie
componentele listei.

Figura 2.21. Crearea unei liste predefinite

n pasul doi de creare a listei personalizate se vor scrie valorile care se doresc n cadrul
listei, acest lucru realizndu-se prin tiprirea lor n fiecare celul.
Figura 2.22. Tiprirea valorilor care vor forma lista personalizat

O alt modalitate de realizare a listei personalizate este din pagina Lookup a ferestrei de
design a tabelei. Odat selectat aceast pagin se va vor afia proprietile acesteia, primele trei
fiind folosite n realizarea listei.
Din zona Display Control se va alege tipul de component care va afia valorile listei.
Folosind lista derulant care apare n partea dreapt a opiunii se va alege Combo Box.
Cea de-a doua zon care va fi modificat este Row Source Type. Aceast opiune
precizeaz de unde se vor lua valorile listei, iar dintre opiunile prezentate se va selecta Value
List, acest lucru specificnd c valorile sunt dintr-o list definit.
Precizarea valorilor definite ale listei se va face n zona Row Source, acestea fiind scrise
ntre ghilimele i separate prin punct i virgul.

Figura 2.23. Crearea unei liste personalizate folosind pagina Lookup


2.5.Definirea regulilor de validare i de integritate a datelor

Input Mask permite crearea unor machete de introducere a datelor n cmpurile bazei de
date. Macheta este format din trei pri, separate prin punct i virgul sau virgul (este n funcie
de setarea sistemului de operare):
prima parte este obligatorie i va conine macheta de introducere a datelor:
o 0 indic cifr obligatoriu;
o 9 indic cifr opional;
o L indic liter obligatoriu;
o ? indic liter opional;
o A indic liter sau cifr obligatorie;
o a indic liter sau cifr opional;
o & indic caracter sau spaiu obligatoriu;
o C - indic caracter sau spaiu opional;
o # indic cifr, spaiu, plus sau minus opional. n cazul n care este ignorat se va
pune automat spaiu alb;
o > convertete toate caracterele la majuscul;
o < - convertete toate caracterele la minuscule;
o caracterele scrise ntre ghilimele vor apare ca atare.
cea de-a doua parte este opional i se refer la caracterele de machet nglobate i
modul n care vor fi stocate:
o 0 caracterele introduse sunt stocate cu date;
o 1 caracterele introduse sunt doar afiate i nu stocate;
ultima parte indic simbolul care va fi folosit pentru introducerea datelor.
EXEMPLU:

Figura 2.24. Crearea unei machete de introducere a datelor

Macheta creat va permite introducerea n cmpul adres a maxim 26 de caractere dup cum
urmeaz:
strada i numrul vor apare ca atare la introducerea datelor n cmpul adres, deoarece
este cuprins ntre ghilimele;
primele 5 caracterele care se vor introduce la strad vor fi obligatorii, deoarece avem
caracterul L care precizeaz acest lucru;
urmtoarele 10 caractere ale adresei vor fi opionale, acest lucru fiind dat de caracterul ?;
strada va fi introdus cu majuscule, deoarece avem caracterul > nainte de introducerea
caracterelor care vor forma strada;
numrul pentru strad va fi obligatoriu la introducere, deoarece macheta are caracterul 0,
iar dimensiunea numrului va fi exact dou cifre;
macheta precizeaz c datele introduse vor fi stocate ca atare n cadrul tabelei, deoarece
cea de-a doua parte a machetei are 0;
caracterul care va apare la introducerea datelor n cadrul tabelelor va fi _, acesta fiind
precizat n a treia parte a machetei.
Format stabilete formatul de afiare a datelor:
> - transform textul n majuscule;
< - transforma textul n minuscule;
Validation Rule reprezint reguli de validare care se stabilesc asupra cmpurilor, acestea
permind introducerea doar a acelor valori care respect regula
EXEMPLE:
BETWEEN val1 AND val2 va permite introducerea doar a valorilor care sunt cuprinse
n intervalul dat;
>val1 AND <val2 permite introducerea doar a valorilor mai mari de val1 i mai mici de
val2 (este echivalent cu between)
IN(p1, p2, p3) va permite introducerea doar a valorilor prezentate n list;
p1 OR p2 OR p3 permite doar introducerea celor trei valori definite (echivalent
cu clauza IN);
IS NOT NULL nu permite valori nule;
<Date() va permite introducerea datelor calendaristice anterioare celei curente;
BETWEEN #data1# AND #data2# - introduce doar datele calendaristice din intervalul
specificat. Datele calendaristice se vor introduce ntre caracterele diez (#);
MID([cmp];pornire;nr_caractere) va extrage un subir de caractere din cadrul un
ir. Se va porni de la valoarea precizat prin parametrul pornire i se vor lua un numr
de caractere precizat prin parametrul nr_caractere. Numele cmpului din care se va
face extracia se va scrie ntre paranteze ptrate.
3. Crearea formularelor n Microsoft Access

Formularele sunt folosite pentru introducerea datelor n cadrul tabelelor.

3.1. Crearea formularelor pentru o singur tabel

Cea mai simpl modalitate de creare a formularelor este cu ajutorul asistentului (Create
form by using wizard). Crearea formularului pentru un singur tabel se realizeaz n patru pai:
primul pas const n alegerea tabelului pentru care se dorete crearea tabelului, dar i a
cmpurilor care se doresc introduse n cadrul formularului;

Figura 3.1. Crearea formularului pentru tabela disciplin

pasul doi n crearea formularului simplu este stabilirea modului de aranjare a cmpurilor
n cadrul ferestrei.

Figura 3.2. Alegerea modului de aranjare a cmpurilor n cadrul formularului

pasul trei n realizarea formularului este stilul de prezentare a formularului:


Figura 3.3. Stabilirea stilului de formatare a formularului

pasul patru n crearea formularului este stabilirea denumirii formularului i este bine ca
acesta s fie ct mai sugestiv. La acest moment se poate stabili ce anume se va face cu
formularul: fie va fi deschis pentru introducerea datelor n cadrul tabelei (Open the
form to view or enter information), fie se va deschide n mod de design pentru a
modifica cmpurile sau pentru a introduce noi cmpuri (Modify the forms design).

Figura 3.4. Denumirea formularului

3.2. Crearea formularului pentru o relaie de tipul unu la muli

Pentru crearea unui astfel de formular avem nevoie de o relaie de tip unu la muli ntre
dou tabele. Realizarea unui astfel de formular se va face cu ajutorul asistentului i se va executa
n cinci pai:
pasul unu este selectarea tabelelor i a cmpurilor pentru care se va crea formularul.
Deoarece se va crea un formular pentru o relaie de unu la muli ntre tabele, se va
selecta pentru prima dat tabela printe (cea care are mai multe nregistrri asociate din
tabela fiu), din care se vor alege cmpurile care s apar n cadrul formularului. Dup ce
tabela printe a fost aleas, se va selecta tabela fiu (cea cu care este legat), din care se
vor alege cmpurile, mai puin cheia strin. Cheia strin a tabelei fiu nu se va alege,
deoarece aceasta a fost selectat din tabela printe, acolo unde este cheie primar.

Figura 3.5.Alegerea tabelelor i a cmpurilor din cele dou tabele

dup selectarea tabelelor i a cmpurilor, spre deosebire de formularul realizat pe un


singur tabel, urmeaz selectarea modului n care se vor vizualiza datele i cum se vor
introduce acestea n cadrul tabelei. Microsoft Access prezint dou moduri de selectare:
fie se vizualizeaz n partea de sus toate nregistrrile din tabela printe i n partea de
jos nregistrrile din tabela fiu (se va alege vizualizarea dup tabela printe), fie se vor
prezenta n acelai mod nregistrrile celor dou tabele (dac se va alege vizualizarea
dup tabela fiu). Deoarece regulile aplicate asupra cheii strine specific c acestea nu
pot lua alte valori dect cele ale cheii primare aferente tabelei printe, se va selecta
vizualizarea i introducerea datelor dup tabela printe.

Figura 3.6. Stabilirea modului de vizualizare i de introducere a datelor n formular

cel de-al treilea pas n realizarea formularului aplicat relaiei de unu la muli este
stabilirea modului de vizualizare. Pentru oricare dintre cele patru modele, n partea de
jos a ferestrei aferente formularului se va afla tabela fiu, introducerea datelor n cadrul
acestei tabele fcndu-se dup ce datele au fost introduse n tabela printe.

Figura 3.7. Stabilirea modului de aranjare a cmpurilor n formular

dup aranjarea cmpurilor n cadrul formularului urmeaz stabilirea stilului de afiare a


acestuia, aceast etap fiind prezent i n cadrul formularului simplu.

Figura 3.8. Alegerea stilului de prezentare a formularului

ultima etap n realizarea formularului este denumirea acestuia. Avnd n vedere c


formularul a fost creat pentru dou tabele, atunci se vor crea i dou formulare imbricate
ntre ele. Formularul principal va fi cel prin care se vor introduce datele att n tabela
printe, ct i n tabela fiu, n timp ce formularul secundar va permite introducerea doar
a datelor pentru tabela fiu. Ca i n cazul formularelor simple, acestea trebuie s aib o
denumire ct mai sugestiv.
Figura 3.9. Denumirea formularelor

3.3. Crearea formularelor pentru relaiile de tipul muli la muli

Crearea formularului pentru o relaie de tipul muli la muli este asemntoare cu cea de
creare a formularului pentru o relaie de tipul unu la muli. Deosebirea ntre acestea este c acum
se va porni cu tabela rezultat ca urmare a relaiei, pentru ca mai apoi s se selecteze cmpurile
tabelelor principale. Din tabelele principale se vor selecta toate cmpurile dorite, mai puin cheile
primare, deoarece acestea vor fi preluate prin intermediul listei derulante aferente cheii primare a
relaiei rezultate dup legtur.

Figura 3.10. Alegerea tabelelor i a cmpurilor

n ceea ce privete modul de introducere i de vizualizare a datelor, se va selecta tabela


rezultat ca urmare a relaiei, deoarece datele vor fi selectate din tabelele printe i introduse n
cadrul acestei tabele.
Figura 3.11. Alegerea modului de vizualizare a cmpurilor

Toate celelalte etape de creare a formularului sunt identice cu cele pentru formularele de
simple i cele pentru relaiile de tipul unu la muli.

3.4. Personalizarea formularelor

Pentru a personaliza un formular va trebui s se intre n mod design, acest lucru


realizndu-se prin clic dreapta pe formular i din meniul de context se va alege Design View sau

de pe bara de instrumente a bazei de date se va da Design ( ). Fereastra de dialog


deschis dup selectarea modului de design este format din fereastra propriu-zis a formularului
n mod design, bara de instrumente cu componentele formularului (butoane, casete de selecie,
liste derulante) i lista de cmpuri ale tabelelor pentru care s-a creat formularul.

Design-ul Bara de
formularului instrumente a
formularului

Lista cmpurilor din


cadrul formularului
Figura 3.12. Personalizarea unui formular
3.4.1. Introducerea i personalizarea cmpurilor n formular

n cazul n care constatm c mai este nevoie de un cmp pe care nu l-am adus n cadrul
formularului, atunci va fi nevoie de deschiderea formularului n mod design. Dup deschiderea
formularului n mod design se vor afia proprietile formularului, acest lucru executndu-se prin

clic dreapta pe formular i apoi din meniul de context se va alege Properties ( ). Din
fereastra de dialog care apare se va alege din lista derulant Form, pentru a afia proprietile
formularului (pe lng proprietile formularului se pot vizualiza n acest mod i proprietile
celorlalte componente plasate n cadrul formularului).

Figura 3.13. Proprietile formularului

Din fereastra de proprieti a formularului se va selecta eticheta Data, de unde se va


selecta opiunea Record Source, alegerea acesteia fcndu-se prin intermediul celor trei puncte
( ) plasate n partea dreapt a opiunii. Acionate aceste butoane se va deschide o nou
fereastr din care se vor selecta cmpurile pe care dorim s le mai introducem n cadrul
formularului.

Figura 3.14. Adugarea unui nou cmp n cadrul formularului

Adugarea cmpului dorit se face prin tragerea acestuia din partea de sus a ferestrei, n
zona cmpurilor. O alt modalitate de a aduga cmpul este selectarea din partea de jos a
ferestrei, din zona Field, a cmpului dorit.
Dup ce n fereastra SQL Statement s-au ales cmpurile care se doresc introduse, pentru
a poziiona cmpul n formular se va selecta Field List i se va trage pe formular cmpul nou
introdus.
Pentru a personaliza un cmp din formular se va intra n mod design a formularului i se
va modifica doar eticheta cmpului (numele din stnga cmpului), nu i zona de editare a
acestuia. Pentru zona de editare se poate modifica tipul de caracter, dimensiunea acestuia,
culoarea caracterului.

3.4.2. Crearea de cmpuri calculate

n cadrul unui formular se pot crea i cmpuri care se calculeaz n funcie de alte
cmpuri, iar valorile obinute nu se vor stoca n baza de date. Pentru crearea cmpului calculat,
se va deschide formularul n Design. Din cadrul ferestrei se va selecta cmpul pe care dorim s l
calculm sau se va introduce un nou cmp i se va da clic dreapta i din meniul de context se va
alege opiunea Properties.

Figura 3.15. Proprietile cmpului selectat

Din fereastra de proprieti a cmpului de editare se va selecta pagina Data, iar din zona
Control Source se va vor selecta cele trei puncte aflate n partea dreapt ( ), aciune ce va
deschide fereastra Expression Builder.
Figura 3.16. Fereastra de dialog Expression Builder

Formula de calcul se va scrie n partea de sus a ferestrei, aceasta ca i n Microsoft Excel


va ncepe cu egal. Alegerea cmpurilor ce particip la realizarea formulei de calcul se va face din
partea de mijloc a ferestrei Expression Builder (nu se va alege din list cele care au n denumire
Label) prin dublu clic stnga.
4. nelegerea i crearea rapoartelor

n general, atunci cnd se aude cuvntul raport, oamenii se gndesc la un lucru care
adun informaii ntr-o singur foaie. Spre exemplu, o baz de date poate s stocheze informaii
detaliate despre facturile emise i primite, despre terii cu care firma are legtur, produsele ce au
fost trecute ntr-o factur. Important n crearea unui raport este ceea ce se dorete surprins n
acesta i nivelul informaiilor de care este nevoie.
Rapoartele furnizeaz cea mai flexibil modalitate de vizualizare i tiprire a datelor din
cadrul bazei de date. Acestea afieaz informaiile din baza de date ntr-o anumit form
detaliat sau restrns. Rapoartele pot conine mai multe nivele de tip subtotal, comparaii
statistice sau chiar imagini i grafice.
Sub diferite puncte de vedere, rapoartele sunt asemntoare formularelor, asta deoarece
folosesc asisteni asemntori pentru generarea acestora, ambele pot folosi etichete, imagini sau
alte controale pentru rezolvarea unor situaii.
n acest capitol se vor prezenta toate modurile de realizare a rapoartelor, pornind de la
crearea unui raport pentru un simplu tabel pn la a prezenta raportul pentru o legtur de tip
muli la muli.
Formularele i rapoartele au un punct comun i anume acela de a oferi utilizatorilor un
acces mai uor la datele din cadrul unei baze de date. ntre ele exist ns i mari diferene, dintre
acestea cele mai importante sunt:
Formularele sunt folosite pentru introducerea datelor, n timp ce rapoartele sunt utilizate
pentru vizualizarea datelor introduse n tabele.
Formularele sunt n general afiate pe ecran , n timp ce rapoartele sunt vizualizate pe
ecran, ca mai apoi s fie tiprite.
Formularele furnizeaz o imagine detaliat a informaiilor care vor urma a fi introduse n
baza de date, iar rapoartele folosesc o grupare a datelor pentru ca ulterior s fie tiprite.
Se va prezenta n continuare lucrurile pe care un raport poate s le realizeze:

Formatarea personalizat a cmpurilor stabilete i poate modifica dimensiune,


culoarea i tipul caracterelor afiate n raport fcnd astfel mai uor citirea acestora, de
asemenea permite introducerea de chenare, linii sau grafice.
Sortarea i gruparea cmpurilor - sunt foarte utile n ceea ce privete gruparea i
restrngerea informaiilor ce vor fi afiate, spre exemplu se poate tii de facturi au fost
pltite ntr-o lun i care nu.
Combin date ce se afl n alte tabele acest lucru realizndu-se prin intermediul
legturilor dintre acestea.

4.1. Crearea rapoartelor folosind asistentul

Coninutul unui raport Microsoft Access poate fi mprit n general n dou categorii de
informaii: informaii ce deriv din nregistrrile din una sau mai multe tabele, i informaii
precum: antete i subsoluri, texte de introducere, logo-uri, imagini sau grafice, dar i cmpuri
calculate. Asistentul va genera un raport care conine un anumit format, va aduga csuele de
text, va asocia fiecare etichet conform cmpului din tabel, dar el poate fi i modificat la fel ca i
formularul.
Cel mai uor i cel mai rapid mod de a crea un raport este cu ajutorul asistentului Create
report by using wizard, ce va genera un raport pentru un singur tabel sau pentru o interogare,
aranjnd cmpurile n cadrul acestuia:
prima fereastr deschis conine tabele i interogrile dup care se va genera raportul,
alegndu-se tabela dorit din lista derulat. Odat ce a fost selectat tabelul se vor afia
cmpurile prezente n structura acestuia, dintre ele selectndu-se doar cele care vor fi
prezente n raport.

Figura 4.1. Alegerea tabelelor i a cmpurilor pentru crearea raportului

fereastra a doua care apare n crearea raportului este dat de modul de vizualizare a
informaiilor. Acest pas va apare doar dac raportul care se va genera se va face pentru
o relaie de unu la muli sau muli la muli ntre dou sau mai multe tabele. Alegerea
modului de vizualizare se va realiza ca i n cazul formularului: dup tabela printe n
cazul relaiei de tipul unu la muli sau dup tabela de legtur n cazul relaiei de muli la
muli.
Figura 4.2. Stabilirea modului de aranjare a datelor n cadrul formularului

dup selectarea modului de vizualizare a informaiilor se va alege la pasul urmtor


gruparea cmpurilor dup anumite caracteristici, acestea stabilindu-se de utilizator.
Pentru selectarea unui cmp dup care s se realizeze gruparea informaiilor se va face
astfel: se va selecta cmpul i apoi cu ajutorul butonului > se va selecta gradul de grupare
a informaiilor. Gruparea se poate face dup mai multe cmpuri, ns trebuie precizat
faptul c fiecare grupare se va face pe un anumit nivel.

Figura 4.3. Gruparea datelor dup anumite criterii

Dac s-a ales un anumit criteriu de grupare a datelor, atunci se va activa butonul Grouping
Options. Cu ajutorul acestui buton se va putea stabili intervalele de grupare, spre exemplu dac
vrem s grupm o dat calendaristic, atunci datele pot fi organizate lunar, anual, zilnic, dac
avem text, atunci se va putea grupa dup prima sau a doua liter.
Figura 4.4. Stabilirea intervalelor de grupare a datelor

pasul urmtor se refer la sortarea datelor. Sortarea se poate face dup mai multe
cmpuri.

Figura 4.5. Sortarea datelor din cadrul raportului

n cazul n care n exist ntre cmpurile selectate i un cmp numeric, atunci se va activa
butonul Summary Options. Apsnd acest buton se vor afia lista cmpurilor numerice, fiecare
dintre acestea avnd asociate funciile: Sum (Sum) calculeaz suma cmpurilor, Avg
(Average) calculeaz media cmpurilor, Min (Minimum) afieaz minimul dintre cmpuri i
Max (Maximum) - afieaz maximul dintre cmpuri. Dac nu se dorete realizarea unui rezumat,
atunci se va lsa opiunea implicit Details ce afieaz datele detaliat.

Figura 4.6. Afiarea cmpurilor numerice i a modurilor de mbinare


urmtoarea fereastr prezint modul n care vor fi afiate informaiile. Dac raportul se
realizeaz pentru un singur tabel, atunci datele pot fi structurate Tabular sau Columnar,
n caz contrar, vor fi mai multe nivele de organizare a informaiilor. De asemenea, se va
selecta i orientarea paginii: Portrait modul normal de vizualizare a paginii sau
Landscape tipul vedere. Se va lsa opiunea Adjust the field width bifat pentru a se
ajusta dimensiunea cmpurilor dup cea a paginii.

Figura 4.7. Prezentarea modurilor de aranjare a cmpurilor n cadrul paginii

ultimul pas n crearea raportului este selectare stilului cu care va fi scris titlul raportului i
apoi denumire acestuia. Numele care va fi dat la ultimul pas va fi i numele raportului, de
aceea el trebuie s fie sugestiv. Tot la acest pas se va selecta aciunea care se va face
asupra formularului: previzualizarea acestuia pentru ca ulterior s fie tiprit, sau
modificarea acestuia.

Figura 4.8. Stabilirea stilului de prezentare a cmpurilor din cadrul tabelului

Un raport, fa de formular care are trei zone: Form Header, Form Footer i Details,
coine mai multe zone: Report Header conine numele raportului care va fi repetat pe fiecare
pagin a raportului, zona Grouping grupeaz datele conform criteriului selectat, Details
afieaz datele din tabele i Report Footer afieaz numrul de pagini.

4.2. Modificarea unui raport

Modificrile care se pot realiza asupra unui formular sunt: adugarea, tergerea sau
repoziionarea unor controale n cadrul paginii, dar pe lng acestea se poate modifica
dimensiunea paginii sau a modului de sortare a cmpurilor se pot numerota paginile sau aduga
data la care se tiprete raportul.
Adugarea unui nou cmp n cadrul raportului se face prin intermediul butonului Fields
List, care conine toate cmpurile selectate s apar n cadrul raportului. Imediat ce cmpul a fost
selectat (la fel ca i la formular), acesta se va trage pe suprafaa raportului i n mod automat se
va aduga o etichet cu numele cmpului i o csu text care va afia datele din tabel aferent
cmpului respectiv.
tergerea unui cmp de raport se va realiza astfel: se va selecta att csua text ct i
eticheta i apoi se va apsa tasta Delete. Se pot terge i mai multe cmpuri odat prin selectarea
acestora.
Repoziionarea controalelor se face prin selectarea acestora i apoi poziionndu-se pe
una dintre acestea, atunci cnd se va forma mna se va putea deplasa controlul respectiv.
Modificarea dimensiunilor paginii pe care va fi tiprit raportul se face din meniul File,
alegndu-se opiunea Page Setup. Se poate modifica aici att marginile paginii (dimensiunea
marginilor este n inch) , ct i orientarea paginii care se va face din eticheta Page tab.
Inserarea numerelor de pagin i a datei se va face din meniul Insert, opiunea Page
Numbers. Odat selectat aceast opiune va apare fereastra din care se va selecta tipul de
numrare Page N, care afieaz doar numrul de pagin care este tiprit i Page N to M, care
tiprete numrul paginii din totalul de pagini i tot din aceast fereastr se va selecta i
aranjarea n pagin a numrului de pagin, ct i poziionarea acesteia. Pentru inserarea datei
calendaristice, se va face tot din meniul Insert, alegndu-se ns opiunea Date and Time i se
va bifa sau nu csua de inserare a datei calendaristice n cadrul raportului.
Pentru a modifica criteriul de sortare a datelor se va selecta butonul Sorting and
Grouping ( ), ce va deschide o nou fereastr n care sunt afiate cmpurile dup care se
realizeaz sortarea sau gruparea. Pentru a aduga un nou cmp dup care s se realizeze sortarea
sau gruparea datelor, acesta se va selecta din lista derulant Field / Expression.
Pentru a modifica criteriul de grupare a datelor n cadrul raportului se va selecta acelai
buton Sorting and Grouping ( ), ce va deschide fereastra cu acelai nume. Adugarea unui
criteriu de grupare se face prin selectarea, din coloana Field / Expression, a cmpului dorit,
aceast selecie realizndu-se cu ajutorul listei derulante. Pentru a crea criteriul din partea de
proprieti a cmpului se va selecta din zona Group Header condiia Yes, care va crea criteriul
de grupare.

Figura 4.9. Introducerea unui nou cmp de grupare

Crearea unui cmp calculat se va realiza astfel: se va selecta cmpul care va deveni cmp
calculat i se vor afia proprietile acestui control (clic dreapta pe acesta i din meniul de
context se va selecta Properties). Din pagina Data, n zona Control Source se va scrie formula
de calcul a acestui cmp, folosindu-se funciile Sum, Min, Max, Avg i Count care numr
nregistrri sau date.
5. Crearea interogrilor

Interogrile reprezint ntrebri care se aplic asupra bazei de date, oferind doar acele
rezultate care respect condiiile date. Pe baza interogrilor se pot genera formulare i rapoarte.
Cu alte cuvinte, interogarea reprezint extragerea de informaii din cadrul bazei de date.
Microsoft Access ofer mai multe posibiliti de interogri, dintre care:
interogare de selecie, care permite selectarea anumitor date din cadrul bazei de date,
innd cont de restriciile impuse. Interogarea de selecie se poate aplica asupra unei
tabele sau mai multpr tabele;
interogri de aciune creeaz un nou tabel n baza de date sau realizeaz modificri
majore ale unui tabel existent. n general, toate interogrile de aciune pot fi realizate pe
baza unei interogri de selecie. Ele permit adugarea, modificarea sau tergerea de
nregistrri ntr-un tabel. Exist patru tipuri de interogri de aciune:
o interogri de generare a unui nou tabel (Make Table Query)din datele coninute n
setul de rezultate al interogrii;
o interogri de adugare (Append Query) a noi nregistrri ntr-un tabel;
o interogri de tergere (Delete Query) a unor nregistrri dintr-un tabel;
o interogri de actualizare (Update Query) a unor nregistrri dintr-un tabel, conform
cu o condiie ce trebuie ndeplinit.
Aciunile acestora sunt ireversibile asupra datelor din tabelele surs, iar n cazul ultimelor
trei dintre ele, trebuie urmrit pstrarea integritii refereniale atunci cnd prin intermediul lor
se acioneaz asupra mai multor tabele legate.
interogri ncruciate centralizeaz n formatul unei foi de calcul tabelar datele din unul
sau mai multe tabele. Datele rezultate dup execuia unei astfel de interogri sunt
prezentate ntr-un format potrivit pentru analiza datelor i crearea de grafice. Este
echivalent cu tabelele de tip Pivot din cadrul aplicaiei Microsoft Excel.
Access ofer trei posibiliti pentru definirea interogrii i afiarea rezultatelor acesteia:
Create query in Design View - fereastr sub forma unei grile de interogare, n care se
definete interogarea.
Create query by using wizard interogarea se poate crea folosind asistentul;
cu ajutorul butonului New de pe bara de instrumente, atunci cnd obiectul ales este Query

( ), deschizndu-se fereastra New Query.


Figura 5.1. Butonul New pentru crearea unei interogri

Vizualizarea rezultatelor unei interogri se realizeaz n doi pai:


se va salva mai nti interogarea;

se va lansa n execuie, prin apsarea butonului Run ( ) de pe bara de instrumente


standard sau din meniul Query, opiunea Run.

5.1. Crearea interogrilor de selecie

Pentru crearea interogrilor de selecie vom folosi crearea interogrii n mod design.
Odat aleas aceast opiune, se va deschide fereastra Select Query, care este mprit n dou
pri:
partea de sus a ferestrei se vor prezenta tabelele care vor participa n realizarea
interogrii. Adugarea unei tabele n interogare se va face prin apsarea click-ului dreapta
a mouse-ului i alegerea din meniul de context a opiunii Show Table.

Figura 5.2. Crearea unei noi interogri folosind Design View

Dup selectarea tabelei sau tabelelor vizate, se vor selecta apoi cmpurile pentru care
dorim afiarea rezultatelor interogrii. Selectarea acestora se va face din cadrul tabelei i apoi
trase n a doua jumtate a ferestrei, prin click stnga.
partea a doua a ferestrei Select Query este destinat cmpurilor care vor fi afiate n
cadrul interogrii i a celor care vor fi folosite n impunerea condiiilor.

Figura 5.3. Aplicarea unei interogri pe dou tabele

Dup cum se poate observa n figura 5.3. s-au selectat dou tabele pentru care se vor afia
cmpurile din tabela student i doar denumirea specializrii, deoarece cmpul cod_specializare a
fost deselectat. Cea de-a doua jumtate este format din:
Field se plaseaz cmpurile folosite n interogare: poate fi un cmp dintr-un tabel sau
un cmp calculat. n cazul unui cmp nou calculat se va folosi urmtoarea form:
numecmpnou : expresie, unde: numecmpnou- va fi numele cmpului nou creat prin
diferite calcule, iar expresie- va fi format din cmpuri din tabele, operatori, funcii
predefinite, numere, care vor contribui la determinarea valorilor aferente cmpului nou.
ntre cele dou componente se va plasa semnul :.
Table -numele tabelului de unde extragem cmpul. Aceast linie este foarte folositoare,
mai ales n cazul n care avem de fcut o interogare bazat pe mai multe tabele.
Sort -ajut la ordonarea rezultatelor ntr-o anumit ordine.
Show - dac nu este marcat, atunci respectivul cmp nu va aprea n rezultatul final al
interogrii. Nu este marcat n cazul n care dorim s folosim acest cmp n interogare, dar
nu dorim s-l afim.
Criteria -specific un criteriu de cutare. Un criteriu de cutare este o condiie pe care o
nregistrare trebuie s o ndeplineasc pentru a aprea ca un rezultat a unei interogri.
Acest criteriu poate fi compus dintr-una sau mai multe condiii cu ajutorul operatorilor
AND i OR (este folosit pentru condiiile multiple).
EXEMPLE PENTRU REALIZAREA INTEROGRILOR DE SELECIE
Between val1 and val2 va afia doar valorile din intervalul dat;
IS NULL va afia doar acele nregistrri care nu au completate cmpul specificat;
Datele calendaristice se vor scrie ntre diez (#);
DATE()- returneaz data curent;
NOW() - returneaz data i timpul curent;
YEAR([camp_data])- returneaz anul expresiei din paranteze;
MONTH([camp_data])- returneaz luna parametrului;
*eva va cuta toate cuvintele care se sfresc n eva;
[Mesaj] va permite introducerea valorilor de la tastatur, acestea fiind folosite n
gsirea datelor n tabele;
NOT BETWEEN val1 AND val2 se vor afia valorile care nu sunt cuprinse ntre val1
i val2;
<> - diferit de;
NOT se vor afia valorile care nu respect condiia dat;
IN(val1; val2; val3; val4) se vor selecta doar valorile precizate ntre
parametrii clauzei IN;
[abc]* - ncep cu una din literele a,b sau c.

Exemplu de cmp calculat:


Zile: Date()-[data_inmatriculare] va crea un nou cmp care se va numi zile i va afia
numrul de zile care au trecut de la data nmatriculrii pn la data curent.

5.2. Crearea interogrilor de aciune

Interogrile de aciune sunt interogri care ne permit efectum modificri n una sau mai
multe celule ale unui tabel dintr-o singur operaie. Cu acest tip de interogri putem crea un nou
tabel, incluznd n acesta nregistrri din alt tabel, putem schimba anumite date stocate, putem
introduce noi nregistrri, sau terge altele vechi dintr-un anumit tabel.

5.2.1. Crearea interogrilor de creare a tabelelor

O interogare Make Table creeaz noi tabele cu nregistrri stocate din unul sau mai multe
tabele. Acest tip de interogare este folosit n special pentru a crea tabele de lucru. Pentru a crea
o interogare Make Table trebuie s realizm urmtorii pai:
se deschide o nou interogare n modul design;
se adaug una sau mai multe tabele de unde vrem s extragem datele;
se definete interogarea n acelai mod ca i pe cele normale, astfel nct s fie selectate
numai acele nregistrri care se doresc a fi salvate;
din meniului Query se va selecta opiunea Make Table Query...( ), care va deschide o
nou fereastr de dialog n care se va specifica numele nou al tabelei i locul unde se va
crea tabela: fie n baza de dat curent, fie n cadrul altei baze de date.

Figura 5.4. Realizarea unei interogri de tip creare tabel

Dup ce s-a salvat i executat interogarea, se va crea o nou tabel cu numele precizat n
fereastra de dialog Make Table, tabel care poate fi observat n cadrul obiectului Table. n
cadrul noii tabele vor fi transferate i datele care exist n tabela sau tabelele care au fost folosite
n cadrul acestei interogri. Se pot impune, de asemenea n fereastra interogrii i condiii care
vor filtra datele care vor fi transferate n cadrul noii tabele.

5.2.2. Crearea interogrilor de modificare

Interogrile de actualizare permit actualizarea datele stocate n cadrul unui tabel. ntr-o
singur operaie toate nregistrrile pot fi modificate n acelai timp sau numai acelea care
ndeplinesc o anumit condiie. Pentru a crea o astfel de interogare, trebuie s parcurgem
urmtorii pai:
se va deschide o nou interogare n modul design;
se vor aduga tabelul sau tabelele n care dorim s modificm datele;
se va selecta din meniul Query opiunea Update query ( ).

Figura 5.5. Realizarea unei interogri de tip modificare


n zona Update To se vor scrie modificrile pe care dorim s le realizm, n timp ce n Criteria
se vor stabili criteriile dup care se vor realiza modificrile. Dac nu este precizat nici un criteriu
de modificare, atunci se vor modifica toate nregistrrile aferente cmpului. n cazul n care
exist cmpuri care se doresc modificate n funcie de o anumit formul, atunci n zona Update
to se va scrie formula de calcul, preciznd cmpurile care sunt folosite ntre paranteze ptrate.
Odat modificate, valorile cmpurilor nu mai pot fi readuse la valorile iniiale.

5.2.3. Crearea interogrilor de tergere

Interogrile de tergere fac posibil tergerea anumitor nregistrri dintr-un anumit tabel
n funcie de o anumit condiie dat. Pentru a se realiza aceast interogare se vor urmrii paii:
se va deschide o nou interogare n modul design;
se va aduga tabelul sau de unde dorim s tergem datele;
se va selecta din meniul Query opiunea Delete query ( ).

Figura 5.6. Realizarea unei interogri de tip tergere

n zona Criteria se vor trece criteriile dup care se vor terge nregistrrile. Dac n Criteria nu
se va trece nimic, atunci se vor terge toate nregistrrile tabelului. n exemplul prezentat n
figura 5.6. se vor terge toate nregistrrile a crui cod disciplin are valoarea 4 sau cele care au
n denumirea disciplinei grupul de litere ze.
Dac se dorete tergerea unei nregistrri din cadrul unui tabel n funcie de condiii
aplicate pe o alt tabel, atunci se va specifica n zona Field tabela de unde se va terge, caz n
care va apare la Delete n loc de clauza Where opiunea From.

Figura 5.7. Realizarea unei interogri de tip tergere pentru o nregistrare


dintr-un alt tabel fa de cel n care se pune condiia
n exemplul prezentat n figura 5.7. se vor terge toate nregistrrile din tabela student acolo unde
denumirea disciplinei este cea care s-a introdus de la tastatur.

5.2.4. Crearea interogrilor de adugare

Interogarea de adugare se face prin adugarea nregistrrilor, care respect condiiile


date, dintr-un tabel n cadrul altui tabel. Pentru nceput va trebui s existe tabelul n care se vor
duce datele selectate. n concluzie, interogarea de adugare presupune dou tabele, o tabel surs
(cea de unde vor fi selectate datele) i o tabel destinaie (cea unde se vor aduga datele). Crearea
unei astfel de interogri se va face astfel:
se va deschide o nou interogare n modul design;
se va aduga tabelul de unde dorim s tergem datele;

se va selecta din meniul Query opiunea Append query ( ).

Figura 5.8. Realizarea unei interogri de tip adugare

n figura 5.8. se prezint o interogare de tip adugare, prin care se vor copia n tabela
student fr cnp, toii studenii a cror coloan CNP nu este completat. n urma seleciei tabelei
unde se vor copia datele, se va deschide fereastra de Append Query, prin care se vor specifica
cmpurile unde vor fi duse valorile din tabela surs (n cazul prezentat este tabela student) n
tabela destinaie (n cazul prezentat este tabela student fara cnp). Deoarece n interogare nu s-a
selectat i cmpul CNP din tabela surs, acesta nu va fi copia n tabela destinaie.

Figura 5.9. Adugarea nregistrrilor care nu au completat cnp-ul n tabela student


Dup ce interogarea a fost salvat, se va lansa n execuie interogarea prin intermediul
opiunii Run, n urma creia se vor copia nregistrrile care respect interogarea n tabela
destinaie.

5.3. Crearea interogrilor ncruciate

Interogarea ncruciat (crosstab) este folosit n cazul n care vrem s reprezentm o


interogare de tip agregat cu dou coloane de grupare, rezultatul fiind prezentat la intersecia celor
dou dimensiuni. Spre exemplu, s-ar dori s se tie numrul de examene care au fost date de
ctre un student ntr-o zi.
Pentru crearea acestui tip de interogare se poate face folosind asistentul sau se va folosi
opiunea Crosstab Query din meniul Query. Se va prezenta pentru nceput crearea interogrii
de ncruciare folosind asistentul.

Afiarea asistentului se va face prin acionarea butonului New ( ) de pe bara de

instrumente a obiectului Query ( ), de unde se va selecta Crosstab Quey Wizard.


Realizarea acestei interogri se va face n ase pai:
se va selecta tabela de unde se vor prelua datele folosite n analiza cerut. Dac se dorete
includerea mai multor tabele n cadrul acestei interogri de tip ncruciare, se va crea mai
nti o interogare n care se vor prelua toate cmpurile din tabelele respective i apoi pe
baza acestei interogri se va realiza interogarea de ncruciare.

Figura 5.10. Alegerea tabelei sau interogrii folosite pentru interogarea de ncruciare

se va selecta coloana tabelei care va apare pe rndul rezultatului. Pentru exemplul sugerat
la nceputul seciunii se va alege matricola (fiind cheia primar a tabelei student).
Figura 5.11. Selectarea liniei din interogarea de ncruciare

la pasul urmtor se va selecta coloana care va apare n cadrul interogrii, iar pentru
exemplul dat se va selecta coloana dat.

Figura 5.12. Selectarea coloanei din interogarea de ncruciare

n cazul n care unul din cmpurile selectate ce vor fi folosite pentru reprezentarea
interogrii de ncruciare este o dat calendaristic, atunci se va introduce un nou pas n
care se va alege modul de reprezentare a datei: zilnic, lunar, semestrial sau anual.
Figura 5.13. Selectarea tipului de reprezentare a datei

pasul cinci n generarea interogrii de ncruciare este stabilirea valorii care va apare la
intersecia celor dimensiuni. Pentru valoarea selectat se pot stabili diferite funcii: medie
aritmetic (Avg), numrarea nregistrrilor (Count), prima nregistrare (First), minimul
sau maximul (Min sau Max) etc.

Figura 5.14. Selectarea valorilor din interogarea de ncruciare

Ultimul pas nainte de vizualizarea rezultatului este denumirea acestuia i stabilirea modului de
deschidere a interogrii. Dac se va selecta Preview query, atunci va apare o fereastr de forma
urmtoare n care va prezenta la intersecia dintre linii i coloane valoarea acesteia.

Figura 5.15. Vizualizarea rezultatului interogrii de ncruciare


n cazul n care crearea interogrii de tip ncruciare se dorete realizat folosind modul
de design, atunci se vor urma paii:
se va deschide interogarea n modul design;
se vor selecta tabela sau interogarea (dac dorim s folosind cmpuri din mai multe
tabele) care va fi folosit n crearea interogrii de ncruciare;
se vor selecta cmpurile care vor apare n cadrul interogrii;
se va selecta din meniul Query opiunea Crosstab Query;
se va preciza n linia Crosstab modul n care vor fi aranjate cmpurile: linii (Row
Heading), coloane (Column Heading) sau valori (Value);
cmpul care va fi folosit pentru afiarea valorii dintre coloane i linii va avea completat n
linia Total ce anume va prezenta n cadrul acesteia (sume, medii, valori maxime sau
minime, numr de apariii etc.).

Figura 5.16. Crearea unei interogri de ncruciare n mod design

n exemplul prezentat n figura de mai sus se va prezenta numrul de prezene la


examenul dat la o anumit disciplin (numrul de examene pentru o disciplin).
6. Probleme propuse spre rezolvare

Problema 1. Fie o societate comercial care vinde produse clienilor pe baz de factur. Se
dorete urmrirea produselor i facturilor emise clienilor. Produsele aparin unei categorii de
produse. Tabelele i cmpurile tabelelor sunt urmtoarele:

Factura(serie_nr_factura, data_factura)
Client(cod_client, nume_client, prenume_client, tip_client,adresa,telefon)
Categorie_produse(cod_categorie, denumire_categorie)
Produs(cod_produs, denumire_produs, pret, um, cod_categorie)
Achizitie(cod_produs, cod_client, serie_nr_factura, cantitate, valoare_linie)

1. S se identifice cheile primare ale tabelelor i relaiile ntre acestea;


2. S se seteze urmtoarele cmpuri astfel:
a. serie_nr_factura s fie text de dimensiune 6;
b. cod_client s fie text de dimensiune 4;
c. data_factura s fie dat calendaristic format scurt;
d. numele i prenumele clientului s fie text de dimensiune 25;
e. tip client s permit introducerea doar a 2 valori (boolean);
f. adresa s fie text de dimensiune 30;
g. telefon s fie text de dimensiune 14;
h. denumire categorie s fie text de dimensiune 20;
i. pre s fie de tip moned (lei sau euro);
j. um s fie text de dimensiune 15;
k. cantitate s fie numr cu 1 zecimal;
l. serie_nr_factura - s fie de forma: GL urmat de obligatoriu de o liter i apoi
obligatoriu 2 cifre i una opional;
m. data facturii s fie data curent;
n. adresa s fie scris de forma: Str.Brailei, nr.4 s fie scris Str. i nu strada, dup
aceasta s fie scris cu majuscul numele strzii care va fi format din 10 litere
opionale, va urma apoi nr. i 2 cifre obligatorii;
o. telefonul s fie de forma: (0236) 345-123, adic: vor trebui s existe parantezele, cifrele
dintre acestea vor fi opionale, urmeaz spaiu dup paranteze i apoi 3 cifre
obligatoriu, cratim i apoi alte 3 cifre obligatorii;
p. denumirea categoriei s fie scris cu majuscule;
q. denumirea produsului s nceap cu majuscul;
r. preul produselor s fie cuprinse ntre 0,5 i 500;
s. unitatea de msur s nu permit introducerea dect a valorilor: tona, litru, metru,
kilogram, bucata;
t. s se verifice la introducere dac codul clientului ncepe cu C sau D, altfel s se afieze
mesaj de eroare de genul: Codul clientului trebuie s nceap cu C sau D.
3. S se realizeze formulare de introducere a datelor i introducei n fiecare tabel cte 5
nregistrri:
a. facturilor;
b. clienilor;
c. produselor
d. produselor pe categorii de produse;
e. produselor achiziionate de clieni i pentru care primesc factur.
4. S se calculeze cmpul valoare linie pentru fiecare produs n parte astfel: cantitate*pret*1,24.
5. S se realizeze urmtoarele interogri:
a. s se afieze toi clienii care nu au completat numrul de telefon;
b. s se vizualizeze totalul pe facturi;
c. s se vizualizeze toate produsele pe categorii de produse, acestea fiind aranjate n
ordine ascendent;
d. s vizualizeze doar produsele care au unitatea de msur buci, metrii i litri;
e. s se afieze toate facturile care conin produse ce au preurile mai mari de 10 lei;
f. s se afieze facturile emise clienilor, acetia fiind introdui de la tastatur;
g. s se afieze produsele cumprate ntre 1.01.2011 i 1.11.2011;
h. s se afieze toate facturile care au numrul de zile care a trecut ntre data curent i
data emiterii mai mare de 30 de zile;
i. s se afieze toi clienii care au cumprat n anul 2010;
j. s se afieze toate produsele care au fost achiziionate n data de 13 a fiecrei luni;
k. s se modifice preul produselor care au unitatea de msur buci, valoarea cu care se
va modifica va fi 11;
l. s se creeze o nou tabel numit clieni fr telefon n care vor fi dui toi clienii care
nu au completat cmpul telefon;
m. s se tearg toate facturile emise nainte de data curent;
n. s se adauge n tabela X (care se va crea) toate produsele cu preurile cuprinse ntre 15
i 35;
o. s se vizualizeze numrul de produse cumprate de clieni pentru fiecare factur n
parte;
6. S se realizeze rapoarte pentru:
a. a vizualiza facturile, grupndu-le dup data emiterii n ordine descendent;
b. a vizualiza clienii n funcie de tipul de client;
c. s se vizualizeze pe produsele pe fiecare factur i suma total a acesteia;
d. s se vizualizeze toi clienii care nu au completat numrul de telefon;
e. s se afieze toate produsele, grupndu-le pe uniti de msur i afiai pentru fiecare
dintre grupuri preul cel mai mare;
f. s se vad toate produsele cumprate de clieni i s se calculeze suma cantitilor
vndute;
g. s se vizualizeze facturile emise clienilor, grupnd datele dup codul clientului i
pentru fiecare grup s se calculeze suma total;
h. s se vizualizeze datele la care au cumprat clienii, grupnd datele dup dat n funcie
de luna calendaristic;
i. s se vizualizeze produsele pe categorii de produse;
j. s se creeze un raport n care s se vizualizeze grupat dup cantitate i apoi dup data
facturii toate datele din cadrul tabelei achiziie.
7. S se calculeze n cadrul unui raport valoarea de pe fiecare linie pentru facturile existente n
baza de date. Formula de calcul va fi: cantitate*pret*1,24.
Problema 2. Fie facultatea de economie care dorete s realizeze o eviden a examenelor
susinute de studenii si. Fiecare dintre studeni urmeaz o singur specializare, iar examenul
este dat la o anumit dat, or i sal. Tabelele i cmpurile tabelelor sunt urmtoarele:

Sal(nr_sala, capacitate)
Profesor(marca, nume_profesor, prenume_profesor)
Specializare(cod_specializare, denumire_specializare)
Student(nr_matricol, nume_student, prenume_student, cnp, forma_invatamant, medie_admitere,
an_admitere, cod_specializare)
Disciplina(cod_disciplina, denumire_disciplina)
Examen(marca, matricola, nr_sala, cod_disciplina, data, ora, nota)

1. S se identifice cheile primare ale tabelelor i relaiile ntre acestea;


2. S se seteze urmtoarele cmpuri astfel:
a. cmpul capacitate s fie numr de format scurt fr semn;
b. capacitate s permit introducerea valorilor diferite de 10;
c. nr_sala n tabela sal s fie de forma I urmat de 2 cifre obligatorii;
d. marca n tabela profesor s fie text de dimensiune 3;
e. marca s permit introducerea doar a literelor, primele 2 s fie obligatorii, iar cea de-a
treia s fie opional;
f. nume_profesor i prenume profesor s fie de tip text, dimensiune 25;
g. numele i prenumele profesorului s fie scris cu majuscule;
h. cod_specializare s fie text de dimensiune 3;
i. denumire_specializare s nu permit introducerea dect a urmtoarelor valori: Finane,
Contabilitate, Marketing, Management;
j. nr_matricol n tabela student s fie de tip numerotare automat;
k. nume_student i prenume_student s fie text de dimensiune 20;
l. numele_student s aib prima liter majuscul;
m. cnp s fie text de dimensiune 13 i s permit introducerea obligatorie a cifrelor;
n. prima cifr a cnp-ului s fie 1 sau 2;
o. forma_invatamant s fie de tip boolean (s permit introducerea doar a dou valori);
p. medie_admitere s fie numr cu 2 zecimale;
q. media de admitere s nu accepte dect valori cuprinse ntre 7 i 10;
r. an_admitere s fie dat calendaristic, format scurt;
s. cod_disciplin din tabela disciplin s fie text de dimensiune 6;
t. cod_disciplin din tabela disciplin s aib forma: UGAL urmat de 2 opionale;
u. denumire_disciplin s fie text de dimensiune 30;
v. cod_disciplina, marca, nr_matricola, nr_sala din tabela examen s fie setate cu ajutorul
asistentului;
w. data din tabela examen s fie dat calendaristic, format scurt;
x. ora s fie de tip or, format scurt;
y. data s aib ca i valoare predefinit data curent;
z. nota s fie numr scurt fr semn;
3. S se realizeze formulare de introducere a datelor i introducei n fiecare tabel cte 5
nregistrri:
a. slilor;
b. profesorilor;
c. disciplinelor;
d. studenilor;
e. studenilor pe specializri;
f. examenelor.
4. S se introduc n cadrul formularului aferent examenului un cmp care se va numi Procent
nota i se va calcula astfel: 1+nota*0,5.
5. S se realizeze urmtoarele interogri:
a. s se afieze toi studenii care nu au completat specializarea;
b. s se afieze toi profesorii a cror nume se termin n cu;
c. s se afieze toi studenii care au o medie de admitere cuprins ntre 9 i 10;
d. s afieze toi studenii de la o specializare care s fie introdus de la tastatur;
e. s se afieze toi profesorii care predau la specializarea Finane;
f. s se afieze toate disciplinele care au fost studiate de studeni n anul 2011;
g. s se vizualizeze toi studenii care au luat note mai mici de 6 la disciplina Matematic;
h. s se vizualizeze toi profesorii i disciplinele predate;
i. s se vizualizeze slile cu o capacitate mai mic de 30;
j. s se vizualizeze toi studenii care nu au completat cnp-ul i specializarea;
k. s se vizualizeze toate disciplinele predate la specializarea Management, afindu-le
doar cele pentru care nu s-a obinut not de trecere;
l. s se vizualizeze slile n care s-au dat examene la specializarea Marketing;
m. s se vizualizeze toi stundeii a cror prenume se finalizeaz cu a sau c;
n. s se modifice pentru toi studenii care nu au cnp-ul completat valoarea 12;
o. s se tearg toate examenele care s-au susinut ntre datele de 1.01.2010 i 1.01.2011;
p. s se creeze o nou tabel pe care o denumii student_specialiazare, n care vei aduce
toi studenii de la specializarea Management care au dat examen nainte de data
curent i au luate note mai mici de 6. Noua tabel va avea ca i cmpuri doar nume i
prenumele studentului i denumirea disciplinei.
q. s se adauge n cadrul tabelei X toi studenii care au facut cu profesorul Popescu i au
facut disciplina de Baze de date;
r. s se afieze numrul de studeni care au restane la diferite discipline susinute de
profesori;
6. S se realizeze rapoarte pentru:
a. a vizualiza studenii pe specializri;
b. a vizualiza disciplinele predate de profesori;
c. a vedea numrul de restane pentru fiecare dintre studeni;
d. a vedea profesorii grupai dup prima liter a prenumele i aranjai alfabetic dup
numele lor;
e. a observa notele obinute de studeni la disciplinele examinate, datele fiind grupate
sptmnal i n funcie de ora la care s-au dat examenele;
f. a vizualiza notele cele mai mari pe care le-au acordat profesorii studenilor de la
specializrile la care a predat;
g. s vizualizeze slile n care s-au dat lunar examene;
h. s se vizualizeze toi studenii care nu au cmp-ul i specializarea completat;
i. s se vizualizeze toi profesorii care predau la diferite specializri, grupnd datele dup
denumirea specializrii;
j. s se vizualizeze toate disciplinele la care s-au dat examene, evideniind notele
obinute, grupnd datele dup note.
7. n raportul n care se vizualizeaz examenele, s se introduc un cmp nou numit Nota
parial, care s se calculeze ca produs ntre nota obinut la examen i 5 i mprit la 60.
Problema 3. Fie o societate de transport persoane care dorete o eviden a cltorilor si, dar i
rutele pe care acetia merg. Societatea deine mijloace de transport care sunt conduse de diferii
oferi, dar acetia conduc un singur mijloc. Tabelele i cmpurile tabelelor sunt urmtoarele:

Mijloc_transport(serie_motor, capacitate, culoare, marca_masina)


Sofer(cod_sofer, nume_sofer, prenume_sofer, varsta, sex, serie_motor)
Calator(cod_calator, nume_calator, prenume_calator)
Ruta(cod_ruta, localitate_pornire, localitate_sosire, distanta)
Bilet(cod_ruta, serie_motor, cod_calator, pret, data_bilet, ora_plecare)

1. S se identifice cheile primare ale tabelelor i relaiile ntre acestea;


2. S se seteze urmtoarele cmpuri astfel:
a. cmpul serie_motor n tabela mijloc_transport s fie de tip text de dimensiune 5;
b. cmpul serie_motor n tabela mijloc_transport s fie de forma: S i 4 cifre obligatorii;
c. cmpul capacitate s permit introducerea doar a numerelor ntregi fr semn;
d. culoare s fie de tip text de dimensiune 20;
e. cmpul culoare s nu permit dect introducerea valorilor: alb, rou, verde i albastru;
f. cod_sofer din tabela sofer s fie de tip text de dimensiune 4;
g. cod_sofer din tabela sofer s fie de forma: F urmat de 3 cifre opionale;
h. nume_sofer i prenume_sofer s fie de tip text de dimensiune 25;
i. prenume_sofer s aib prima liter majuscul;
j. varsta s fie intreg format scurt;
k. sex s fie de tip boolean (doua valori de adevar);
l. distanta s fie numr ntreg format scurt;
m. pret s fie de tip moned euro cu 2 zecimale;
n. data_bilet s fie dat calendaristic format scurt;
o. ora_plecare s fie de tip or, format scurt;
p. data biletului s fie diferit de data curent i s se afieze mesaj de eroare care
avertizeaz eroarea;
q. numele_clientului s fie scris cu majuscule;
r. preul biletului s fie cuprins ntre 4 i 10;
s. cea de-a doua liter a mrcii mainii s fie e sau o;
t. cmpurile cheie primar n tabela bilet s fie setate cu ajutorul asistentului;
3. S se realizeze formulare de introducere a datelor i introducei n fiecare tabel cte 5
nregistrri pentru:
a. mijloace de transport;
b. oferi;
c. mijloacele de transport conduse de oferi;
d. rute;
e. cltori;
f. bilete.
4. n formularul de introducere a biletelor s se introduc un nou cmp care s se calculeze ca
produs ntre preul biletului i 4,5;
5. S se realizeze interogri pentru vizualizarea:
a. tuturor rutelor care au distanta mai mare 100 de kilometrii i un pre mai mic de 6;
b. clienilor care merg pe ruta Bucureti Focani;
c. oferilor care au condus maina cu o serie introdus de la tastatur;
d. localitilor de plecare i de sosire pentru toate rutele care au o distan cuprins ntre 80
i 200 de kilometrii;
e. clienilor care au circulat acum 5 zile pe ruta Galai-Bucureti;
f. oferilor care au condus pe o distan mai mare de 1000;
g. oferilor i mijloacelor de transport pe care le conduc;
h. clienilor care au plecat nainte de ora 12;
i. mainile cu care au circulat clienii;
j. clienii care au mers cu un ofer de sex feminin;
k. localitile de plecare i sosire ale oferilor de sex feminin;
l. mainile care au marca Ford i au parcurs o distan mai mare de 100 de kilometrii;
m. biletele emise ntre 1.01.2010 i 1.01.2011;
n. s se modifice capacitatea mainii pentru toate cele care au marca Mercedes n 25;
o. s se adauge ntr-o nou tabel toi clienii care au prenumele Ion i care au circulat pe
ruta Galai-Focani. Noua tabel s aib ca i cmpuri numele i prenumele clientului i
marca mainii cu care acesta a circulat;
p. s se teag toate nregistrrile pentru care preul biletului este mai mare de 10;
q. s se duc n tabela Y toi oferii care au o vrst mai mare de 65;
r. s se vizualizeze numrul de clieni care au circulat pe toate rutele i cu mijloacele
disponibile;
6. S se realizeze raporturi care s vizualizeze:
a. clienii care au circulat cu firma respectiv, aranjndu-i alfabetic;
b. oferii ncadrai la unitate, grupndu-i dup vrst;
c. mijloacele de transport existente n evidena firmei, grupnd dup marca mainii i
afind pentru fiecare grup capacitatea cea mai mare;
d. mijloacele de transport conduse de oferi, grupnd dup seria mainii;
e. biletele emise de firm, grupnd datele n funcie de localitatea de plecare, localitatea de
sosire i afind pentru primul grup media preurilor;
f. oferii care au condus o distan mai mare de 1000 de kilometrii;
g. clienii i oferii care au mers pe rutele existente, grupnd datele n funcie de numele i
prenumele oferului i calculnd o medie a distanelor;
h. numele i prenumele cltorilor, mpreun cu preul pe care l-a pltit pentru fiecare bilet
cunprat;
i. localitatea de plecare i de sosire, prezentnd mainile care circul pe aceast rut;
j. clienii i localitile de plecare ale acestora.
7. Pentru raportul cu vnzrile de bilete s se calculeze un cmp nou denumit Raport pre-
distan care se va calcula ca raport ntre preul biletului i distana rutei.
Problema 4. Fie o societate care desfoar diferite proiecte. La proiecte lucreaz mai muli
angajai care au diferite calificri. Fiecare proiect este format din mai multe sarcini, care sunt
executate de mai muli angajai. Se dorete cunoaterea sarcinilor pentru fiecare proiect n parte
i ndeplinite de angajaii firmei. Tabelele i cmpurile tabelelor sunt urmtoarele:

Calificare(cod_calificare, denumire_calificare)
Angajat(marca, nume_salariat, prenume_salariat, cnp, serie_nr_buletin, sex, cod_calificare)
Sarcina(cod_sarcina, denumire_sarcina)
Angajare_proiect(cod_sarcina, cod_proiect, marca, data_inceput, data_sfarsit, cost)
Proiect(cod_proiect, denumire_proiect, persoana_contact)

1. S se identifice cheile primare ale tabelelor i relaiile ntre acestea;


2. S se seteze urmtoarele cmpuri astfel:
a. cod_calificare din tabela calificare s fie text de dimensiune 4;
b. cod_calificare s nceap cu litera C sau D urmat de 2 cifre obligatorii;
c. denumire_calificare s fie text de lungime 20;
d. marca angajatului s fie text de dimensiune 4;
e. primele dou caractere a mrcii angajatului s fie litere obligatorii, iar celelate dou
caractere s fie cifre opionale;
f. numele i prenumele salariatului s fie de tip text de dimensiune 25;
g. numele angajatului s fie scris cu majuscule;
h. prenumele angajatului s aib scris cu majuscule literele 4 i 5;
i. cnp s fie text de dimensiune 13;
j. cnp-ul s permit introducerea obligatorie a 13 cifre;
k. cifrele 2 i 3 a cnp-ului s fie 50 sau 49;
l. serie_nr_buletin s fie text de dimensiune 9;
m. sex s permit introducerea doar a dou valori (boolean);
n. cod_sarcina s fie numerotat automat;
o. denumire_sarcina s fie text de dimensiune 30;
p. cod_sarcina, cod_proiect i marca din tabela Angajare proiect s fie realizate cu
asistentul;
q. data_inceput s fie dat calendaristic, format scurt;
r. data_inceput s fie diferit de ziua curent;
s. data_sfarsit s fie dat calendaristic, format scurt i s fie data curent;
t. cost s fie moned cu 2 zecimale;
u. cod_proiect s fie numr ntreg format lung;
v. denumire_proiect s fie de tip memo;
w. persoana_contact s fie de tip text, dimensiune 50;
3. S se realizeze formulare pentru a introduce datelor:
a. calificare;
b. angajat;
c. angajaii i calificrile pe care acetia le au;
d. sarcini;
e. proiectele care s-au contractat;
f. proiectele, sarcini i angajaii care particip la proiectele care urmeaz s se realizeze.
4. n formularul n care se introduc proiectele angajate, s se creeze un nou cmp care s se
numeasc TVA i care s se calculeze ca raport ntre cmpul cost i 1,24.
5. S se realize interogrile urmtoare pentru a vizualiza:
a. s se afieze toi angajaii care nu au cnp-ul completat;
b. s se afieze toate sarcinile care au data de nceput alt dat dect cea curent;
c. s se afieze toi angajaii care muncesc la proiectele care au data de finalizare depit
cu 5 zile;
d. s se afieze toate proiectele care au persoan de contact;
e. s se afieze toi angajaii a cror nume ncepe cu o vocal;
f. s se afieze toi angajaii a cror serie de buletin ncepe cu GL;
g. s se afieze toate proiectele care care au dat de nceput cuprins ntre 1.01.2010 i
1.01.2011;
h. s se afieze toate proiectele care au TVA-ul cuprins ntre 3500 i 10000;
i. s se afieze toi angajaii care au funcia de betoniti;
j. s se afieze calificrile care particip la proiectele care se au ca persoan de contact pe
Popa Emil;
k. s se afieze costul total a proiectului pentru fiecare angajat n parte;
l. s se modifice calificarea tuturor angajailor care au participat la un proiect care este
introdus de la tastatur n alt calificare;
m. s se tearg toi angajaii care au calificarea de dulgher;
n. s se creeze o nou tabel Z care s conin denumirile proiectelor i numele i
prenumele angajailor care au calificarea de electrician;
o. s se adauge n cadrul unui nou tabel denumirile de proiecte i persoanele de contact care
se numesc Ion;
p. s se calculeze costul mediu pentru fiecare angajat care particip la proiecte.
6. S se creeze rapoarte pentru a vizualiza:
a. toi angajaii, aranjndu-i descendent dup nume i grupndu-i dup sex;
b. toii angajaii grupndu-i dup primele litere ale seriei de buletin;
c. toate specializrile i angajaii acestora;
d. toate proiectele grupnd datele dup persoana de contact;
e. toi angajaii i proiectele la care acetia lucreaz;
f. toate sarcine ce trebuiesc ndeplinite de fiecare angajat;
g. toate sarcinile care trebuiesc ndeplinite n fiecare proiect n parte;
h. toate sarcinile pe care trebuiesc s le ndeplineasc fiecare angajat pentru fiecare proiect,
grupnd datele dup data de sfrit a proiectului n funcie de semestru i calculnd
pentru fiecare grup costul minim;
i. toate proiectele care au TVA-ul cuprins ntre 3500 i 10000.
7. Pentru raportul n care se vizualizeaz proiectele angajate s se introduc un nou cmp care
s calculeze ca produs ntre costul proiectului i 1,24. Acest cmp s se numeasc Pre total.

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