Sunteți pe pagina 1din 54

Etapele proiectrii BDR

Proiectarea unei baze de date este o activitate laborioas i necesit parcurgerea


urmtoarelor etape:
- formularea problemei;
- analiza cerinelor informaionale i definirea datelor de ieire i a datelor de intrare;
- definirea tabelelor, a structurii acestora i a relaiilor dintre ta-bele;
- optimizarea structurii bazei de date.

Odat ce acest proces a fost finalizat se continu cu:


- proiectarea procedurilor tehnologice, pentru prelucrarea bazei de date;
- elaborarea programelor;
- testarea programelor;
- definitivarea documentaiei.

Toate aceste activiti necesit, pentru proiectele reale complexe, o munc n echip pe baza unei
metodologii riguroase, cunoscute c metodologia de analiz i proiectare a sistemelor
informatice. n cadrul unui sistem informatic baza de date reprezint elementul central n jurul
cruia se concentreaz celelalte componente ale sistemului.
Formularea problemei presupune stabilirea obiectivelor aplicaiei informatice care
asigura actualizarea i exploatarea bazei de date n concordan cu cerinele managementului
activitii economice pentru care este proiectat baza de date.
Analiza cerinelor informaionale, pornind de la obiectivele for-mulate anterior, se
concentreaz asupra a dou probleme:
- indicatorii, rapoartele, listele i datele de ieire care trebuie obinute;
- datele de intrare necesare pentru obinerea datelor de ieire.
Gruparea cmpurilor pe tabele se realizeaz prin diverse metode. Dintre aceste metode,
dou sunt cele mai utilizate:
- analiza concordanei IEIRI INTRRI;
- analiza semnificaiei semantice a datelor.

Analiza concordanei IEIRI INTRRI este o tehnic specific proiectrii sistemelor


informatice care identific documentele primare din care se preiau datele de intrare folosite n
calculul datelor de ieire. Aceste documente vor constitui sursele de creare i actualizare a fiiere-
lor/tabelelor bazei de date.
Tehnica este util n cazul n care proiectantul bazei de date este familiarizat cu sistemul
informaional existent.
Analiza semantic se practic atunci cnd proiectantul bazei de date nu are la dispoziie
un set de documente primare i apare n cazul sistemelor informaionale care se proiecteaz
pentru firmele noi.
Definirea tabelelor i relaiilor dintre tabele este etapa urmtoare n proiectarea bazei
de date. Analiza cerinelor informaionale i a proceselor de prelucrare va conduce la
identificarea datelor ce vor trebui stocate i care vor alctui tabelele bazei de date. O tabel va
pstra datele fie despre toate caracteristicile unei colecii de date, fie numai pentru o parte dintre
aceste caracteristici. Aici intervine spiritul analitic al proiectantului.
Optimizarea structurii bazei de date este un proces prin care se urmrete:
- reducerea redundanei datelor;

1/54
- eliminarea anomaliilor de actualizare.

Normalizarea BDR

Procesul de normalizare const, pe scurt, din alegerea unui identificator unic pentru
fiecare entitate din tabela (relaia) pe care o reprezint. Apoi, printr-o serie de pai n care se
aplic diverse reguli, tabela se reorganizeaz n forme normale superioare.

Relaie Eliminarea
nenormalizat atributelor care se
repet

Prima form Eliminarea


normal atributelor parial
dependente

A doua form
Eliminarea
normal
atributelor
dependente tranzitiv

A treia form
Aplicarea altor
normal
forme normale

Relaie
normalizat
Figura 1. Reprezentarea schematic a procesului de normalizare.

Pornind de la aceast idee simpl a aprut una dintre cele mai utilizate proceduri de
optimizare a structurii bazelor de date care se numete normalizare. Teoria normalizrii aparine
celui ce a fundamentat modelul relaional al bazelor de date n 1970, americanul E. F. Codd.
La baza acestui model de optimizare st conceptul de dependen funcional care a fost
amintit anterior. Teoria sa a fost dezvoltat i opereaz cu conceptul de form normal.
Normalizarea reprezint procesul de transformare succesiv a unei BDR n vederea
aducerii sale ntr-o form standard optimizat, denumit form normal. Prin normalizare se are
n vedere eliminarea anomaliilor, dependenelor nedorite ntre date, eliminarea redundanelor
Teoretic o baz de date poate conine o singur tabel ce grupeaz toate atributele bazei
(relaie universal). Avantajul compactrii bazei de date este surmontat de dezavantajele multiple
rezultate din diferite situaii ce pot aprea: anomalii la adugarea, tergerea unor tupluri i
redundana datelor.

Exemplu: pentru urmrirea serviciilor prestate de o firm pentru diveri clieni se consider
tabela:

2/54
Prestari_Servicii (Cod, Nume_client, Adresa, Serviciu_prestat, Valoare)
Atributul Adresa este dependent de atributul Nume_client (presupunnd c fiecare client are o
singur adres, rezult c fiecare valoare a atributului Nume_client determin n mod unic
valoarea corespunztoare a atributului Adresa). Analiznd schema de relaie de mai sus, se constat
o redundan relativ la atributul Adresa a crei valoare este repetat pentru un client pentru fiecare
serviciu prestat pentru acest client, ceea ce conduce la apariia urmtoarelor anomalii:
Anomalia la adugare:
adresa unui client poate fi preluat numai dup ce pentru acesta se presteaz cel puin un serviciu.
Anomalia la tergere:
dac se terg toate serviciile prestate pentru un anumit client, se pierde adresa acestui client.
Anomalia la actualizare:
datorit redundanei n atributul Adresa, dac se schimb adresa unui client, este necesar
parcurgerea ntregii relaii pentru a identifica i actualiza toate apariiile acestui client, n caz
contrar baza de date devine inconsistent (acelai client apare la adrese diferite).

Normalizarea are ca principale obiective:


o Minimizarea spaiului necesar stocrii datelor;
o Minimizarea riscului de apariie a datelor inconsistente n BD;
o Minimizarea anomaliilor
E.F. Codd presupune un proces de normalizare pe etape. O baz de date nenormalizat
fiind adus mai nti n forma normal unu (FN1), apoi n forma normal 2 (FN2) .a.m.d., prin
aplicarea unor reguli de optimizare a structurii bazei de date ce urmresc spargerea unui tabel ne-
normalizat n dou sau mai multe tabele normalizate, fr pierdere de informaii.

Fig.2. Relaiile dintre formele normale

La ora actual exist cinci forme normale i o form normal intermediar.


n procesul de normalizare sunt analizate o serie de dependene: funcionale, tranzitive,
multivaloare, join.
Un atribut B este n dependen funcional fa de un atribut B dintr-o tabel dac
fiecrei valori a lui A i corespunde numai o valoare a lui B.
Dependena funcional descrie modul n care unul sau mai multe cmpuri descrie un alt
cmp.
Se consider tabela descris prin structura: (Cod_postal, Ora, Regiune, Jude, Ind_jud).
Codul potal determin n mod unic oraul, regiunea i indicatorul judeului. Aceste cmpuri sunt

3/54
dependente funcional de cmpul Cod_postal. Indicatorul judeului determin cmpul Jude sau
cu alte cuvinte cmpul Jude este dependent funcional de cmpul Ind_jud.
Un atribut B depinde funcional complet de un grup de atribute dac atributul B este
dependent funcional de fiecare atribut din grup.
Dac un atribut B depinde de un atribut A i C depinde de B atunci C se afl n
dependen tranzitiv fa de A.
Dependena multivaloare apare dac valorii unui atribut A i corespund dou sau mai
multe valori ale atributului B.
Dependenele de tip join apar n cadrul unei relaii n exist dou atribute care pot avea,
fiecare, semnificaie de cheie primar.
Pentru ca o relaie s fie ntr-o form normal (ncepnd cu FN2), ea trebuie n prealabil
s fie n forma normal precedent.

Pentru aducerea relaiei n forma normal 1 (FN1) procesul ncepe prin analiza
atributelor relaiei. Aceasta conduce la precizarea modului n care atributele de regsesc n cadrul
tabelei: la nivel elementar sau la nivel compus. Dac atributele sunt compuse, formate din alte
elemente, atunci se procedeaz la asigurarea nivelului elementar.
O tabel este n FN1 dac sunt eliminate cmpurile/grupurile repetitive, iar toate
cmpurile sunt cmpuri atomice. Grupul de cmpuri care se repet va forma o nou tabel care se
leag de tabela principal prelund de la aceasta cheia sa primar.
Cmpurile atomice sunt acele cmpuri care nu mai suport nici o descompunere, sunt cmpuri
elementare. Rezult c prin aducerea unei baze de date nenormalizate la forma normal unu se
obin de fapt dou sau mai multe tabele.

Exemplul 1: Se consider urmtoarea tabel:


Articole(Articol, Culoare, Pre)
Articol Culoare Pre TVA
Tricou Rou, albastru 20 3.8
Tricou_tip Rou, galben 30 5.7
Tricou Rou, albastru 20 3.8
Pulover Albastru, negru 50 9.5
Tabela nu este n prima form normal deoarece:
- n cmpul culoare exist mai multe elemente;
- nregistrri duble/ nu exist cheie primar.

Pentru aducerea tabelei n FN1, aceasta va trebui structurat astfel:


Articol Culoare Pre TVA
Tricou Rou 20 3.8
Tricou Albastru 20 3.8
Tricou_tip Rou 30 5.7
Tricou_tip Galben 30 5.7
Pulover Albastru 50 9.5
Pulover Negru 50 9.5

Pentru forma normal 2 (FN2) analiza se realizeaz la nivelul cheilor relaiei. Aceasta
presupune verificarea existenei cheilor concatenate. n cazul n care acestea exist, are loc

4/54
verificarea existenei dependenelor funcionale complete. Dac exist atribute care depind
funcional numai de una din cheile concatenate, atunci are loc descompunerea relaiei n dou sau
mai multe relaii. Descompunerea nu are loc dac toate atributele depind funcional de ntreaga
cheie format prin concatenare (cheile concatenate sunt privite ca un tot unitar).

Tabela nu este n FN2 deoarece cmpul Pre depinde de Articol dar nu i de Culoare.
Articol Culoare
Tricou Rou
Tricou Albastru
Tricou_tip Rou
Tricou_tip Galben
Pulover Albastru
Pulover Negru

Articol Pre TVA


Tricou 20 3.8
Tricou 20 3.8
Tricou_tip 30 5.7
Tricou_tip 30 5.7
Pulover 50 9.5
Pulover 50 9.5
Tabelele sunt structurate n FN2.

Pentru forma normal 3 (FN3) este necesar s se stabileasc existena dependenelor


tranzitive n cadrul relaiei. Prezena dependenelor tranzitive n cadrul unei relaii impune
descompunerea acesteia n mai multe relaii care cuprind numai atribute ce depind de cheie.
n cazul exemplului utilizat anterior, tabelele nu sunt n FN3 deoarece TVA depinde de
Pre nu i de Articol.
Tabelele se structureaz n FN3 astfel:
Articol Culoare
Tricou Rou
Tricou Albastru
Tricou_tip Rou
Tricou_tip Galben
Pulover Albastru
Pulover Negru

Articol Pre
Tricou 20
Tricou 20
Tricou_tip 30
Tricou_tip 30
Pulover 50
Pulover 50

5/54
Pre TVA
20 3.8
20 3.8
30 5.7
30 5.7
50 9.5
50 9.5

Un alt exemplu: Se consider tabela FURNIZORI(Codf, DenF,Cont,DenB). Se constat c


ntre cmpurile CodF(cod furnizor), Cont i DenB(denumirea bncii) exist o dependen
tranzitiv deoarece DenB depinde de CodF prin intermediul cmpului Cont. Din tabela Frunizori
vor rezulta dou tabele:

Fig.3 Eliminarea dependenei trenzitive.

Forma normal Boyce Codd (BCNF) este o form intermediar. O relaie este n BCNF
dac pentru orice dependen funcional ntre dou atribute din cadrul relaiei atunci atributul
determinant este cheie candidat.
n practic procesul de normalizare se ncheie la FN3 sau BCNF.
Pentru aducerea bazei de date n forma normal 4 (FN4) se verific existena a mai mult
de dou dependene de tip multivaloare n cadrul relaiei.
Forma normal 5 (FN5) are n vedere analiza existenei dependenelor de tip join.
Prezena dependenelor de tip join impune descompunerea relaiei considerate n mai multe
relaii, altfel, tabela se afl n FN5, iar structura bazei de date este normalizat.

Exemplul 2: Se consider urmtoarea tabel.


Nume Tema1 Tema2
Popescu Ion Relaii ntre BD Interogri Access
Georgescu Tudor Proiect normalizare BD Interogri SQL
Andrei Vasile Relaii ntre BD Interogri Access

Tabela de mai sus nu este n FN1 deoarece:


- exist dou cmpuri repetitve Tema1 i Tema2
- numele i prenumele sunt memorate ntr-un singur cmp
- nu exist un cmp ce poate fi cheie primar

6/54
Id_tema Descriere

Id_student Nume Prenume

Id_tema Id_student

Tabelele sunt structurate n FN3.

7/54
Relaii ntre tabele

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

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

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

Avantajele utilizrii relaiilor


1. Atunci cnd creai relaii ntre tabele, Access asociaz automat cmpurile respective din
tabele. Putei crea astfel formulare, rapoarte, interogri care s conin date din mai multe
tabele.
2. Se pot crea subformulare i subrapoarte.
3. Un alt avantaj este posibilitatea de forare a integritii refereniale.

8/54
Tipuri de relaii n Access

1. Relaia One to One (unu la unu) - fiecrei nregistrri din tabelul printe i corespunde exact o
singur nregistrare din tabelul copil. Acest tip de relaie se folosete foarte rar.

n imaginea de mai sus relaia unu la unu este modelat prin urmtoarea situaie: se presupune c fiecrui
angajat al firmei i se rezerv o camer pentru n situaia n care trebuie s se deplaseze n alt ora n interes
de serviciu.

2. Relaia One to Many (unu la mai muli) - fiecrei nregistrri din tabelul printe i
corespunde mai mult de o nregistrare n tabelul copil. Sunt cele mai folosite.

3. Relaia Many to Many (mai muli la mai muli) fiecrei nregistrri din tabelul printe i
corespunde mai mult de o nregistrare n tabelul copil iar fiecrei nregistrri din tabelul copil
i poate corespunde mai mult de o nregistrare n tabelul printe. O relaie de acest tip se creeaz
cu ajutorul a dou relaii de tip unu la mai muli.

9/54
n exemplul de mai sus, ntre tabelele Beneficiari i Angajati exist o relaie tip many to many
deoarece fiecare beneficiar poate avea n derulare mai multe proiecte, iar un angajat poate coordona
simultan mai multe proiecte ale beneficiari.
Tabelul printe este tabelul care conine cheia principal iar tabelele copil sunt tabelele
corelate. Pentru a implementa relaiile dintre tabele se folosesc cheile externe. Relaiile de tip one-
to-one i one-to-many se implementeaz introducnd n una din tabele o cheie extern (strin),
care va face legtura cu cheia primar din tabela corespunztoare. O legtur de tip many-to-many
se implemnteaz introducnd o tabel suplimentar care are o cheie primar compus, fiecare
element al cheii primare fiind o cheie extern.

Integritatea referenial: se refer la un set de reguli care protejeaz datele prin stabilirea de restricii
pentru adugarea i tergerea de nregistrri din tabelele relaionate:
1. fiecare valoare a cheii externe trebuie s se gseasc printre mulimea valorilor cheii
candidat corespondente, cu alte cuvinte nu putem adaug nregistrri n tabelul copil fr ca
acestea s aib corespondent n tabelul printe;
2. nu putem terge o nregistrare din tabelul printe dac exist nregistrri corespondente n
tabelele copil.

Alte reguli referitoare le cheia extern:


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

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

Pe ecran va aprea urmtoarea fereastr:

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

Cheie primar Cheie extern

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

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

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

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

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

12/54
Creeaz o asociere intern

Creeaz o asociere extern la stnga

Creeaz o asociere extern la dreapta

Fig. 11. Fereastra de dialog Join Properties

Aceast caset de dialog v permite s definii tipul de asociere produs de relaie. Asocierea (Join)
determin modul n care corelaia dintre dou tabele afecteaz rezultatul unei interogri legate. Exist
dou tipuri de asocieri:
- Asociere intern (INNER JOIN): este tipul prestabilit de asociere i selecteaz doar acele
nregistrri din cele dou tabele care au valori corespondente n cmpurile de corelare.
- Asociere extern (OUTER JOIN) care poate fi de dou tipuri: asociere extern la stnga
(LEFT OUTER JOIN) i asociere extern la dreapta (RIGHT OUTER JOIN).

Asocierea extern la stnga include toate nregistrrile din tabelul 1 i doar nregistrrile
corespondente din tabelul n. Invers, asocierea extern la dreapta include toate nregistrrile din
tabelul n i doar nregistrrile corespondente din tabelul 1.
Relaiile dintre tabele pot fi tiprite selectnd opiunea Print Relationships din meniul File.

APLICAII

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

13/54
Prezentare general

Microsoft Access 2000 face parte din pachetul de programe Microsoft Office Professional i
este cea de-a cincea versiune a produsului de la lansarea sa iniiala n 1992. Microsoft a
vndut peste 75 milioane de cpii ale produsului Microsoft Office din care 45 milioane sunt
exemplare Office97.
Principalele caracteristici ale sistemului de gestiune a bazelor de date Access sunt:
sistemul de gestiune a bazelor de date este relaional i lucreaz sub sistemul de operare
Windows;
este deschis comunicrii cu alte sisteme de gestiune a bazelor de date cum ar fi Foxpro
sau Paradox;
este compatibil cu tehnologia ActiveX care permite realizarea aplicaiilor client/server;
permite realizarea de aplicaii complexe prin utilizarea limbajului Visual Basic;
permite comunicarea cu SQL Server, alt produs Microsoft care gestioneaz baze de date;
permite accesul la baze de date din mediul Internet, fiind un instrument util pentru
publicarea informaiilor n paginile Web;
cerine hardware pentru instalare: computer Pentium cu 32 MB RAM, 200 MB spaiu pe
HDD, CD-ROM, monitor SVGA.
este prevzut cu ajutor (help), apelabil contextual sau la cerere;
conine instrumente tip wizard care permit utilizatorului crearea facil a unor obiecte;
accept nume lungi n definirea fiierelor;
permite crearea de comenzi rapide (shortcuts) n vederea accesrii obiectelor Access;
permite crearea de grupuri de obiecte definite de utilizator n cadrul bazei de date;
permite setarea proprietilor iniiale ale bazei de date cum ar fi titlul aplicaiei, ataarea
de pictograme (icons), precum i forma de afiare iniial;
ofer posibilitatea crerii unei cpii a bazei de date i prin utilizarea aplicaiei Briefcase,
realizarea sincronizrii ntre diferitele cpii ale bazei de date;
permite utilizarea instrumentului asistent (wizard) n vederea crerii a mai mult de 20 de
tipuri comune de aplicaii;
permite utilizarea de adrese i legturi Internet;
conine exemple de baze de date care contribuie la o mai bun nelegere a modului de
construire a tabelelor, formularelor, rapoartelor, interogrilor, relaiilor dintre tabele.
Baza de date Northwind are un numr mare de nregistrri i poate fi folosit pentru a
crea propriile rapoarte, formulare, interogri.
permite vizualizarea legturilor dintre tabelele bazei de date prin intermediul unei
interfee grafice fereastra Relationships;
are integrat facilitatea de Office Assistant (ajutor animat);
permite comunicarea cu celelalte aplicaii incluse n pachetul Microsoft Office: Word,
Excel, FrontPage, etc. prin operaii de import/export.
suport dou limbaje standard de interogare: SQL (Structured Query Language) i QBE
(Query By Example)

14/54
Mediul Microsoft Access 2000

Lansarea n execuie a programului Microsoft Access se poate face:


1. Prin succesiunea: clic pe butonul Start -> Programs-> Microsoft Access

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


3. Start -> Run -> msaccess.exe, urmat de activarea butonului OK

4. My Computer-> C:-> Program Files-> Microsoft Office-> Office-> Msaccess.exe

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

15/54
1

Fig. 1. Fereastra Microsoft Access.

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

Bara de titlu (Title bar): conine numele aplicaiei cu care se lucreaz (Microsoft
Access) precum i cele trei butoane "soft" descrise mai jos:
o Minimize (minimizare) transform fereastra ntr-un obiect pe bara de task-uri
o Restore (revenire) permite revenirea ferestrei la dimensiunea iniial
o Close (nchidere) nchide fereastra (nchide folderul, respectiv aplicaia)

Bara de meniuri (Menu bar): conine urmtoarele meniuri - File (fiier), Edit
(editare), View (vizualizare), Insert (inserare), Tools (instrumente), Window
(fereastr) i Help (ajutor); modul de lucru a opiunilor din meniuri se nva cu
ajutorul exerciiilor aplicative!

Bara (trusa) cu instrumente Database (Database Tool bar): cuprinde butoane


pentru execuia rapid a unor aciuni: crearea ( ) i deschiderea ( ) bazelor de
date, salvarea ( ) , tiprirea ( ), previzualizarea ( ) obiectelor din baza de
date. De asemenea, aa cum eram obinuii din aplicaiile Microsoft, avem
butoane pentru lucrul cu text: Spelling face verificarea gramatical ( ), Cut
(taie ), Copy (copiaz ), Paste (lipete ), Undo (anulare ). Tot pe bara
Database avem butoane specifice aplicaiei care realizeaz sarcini imediate pentru

16/54
utilizatorii care doresc s realizeze la repezeal componentele unei aplicaii:
adugarea unui nou obiect( ), crearea rapid a unui formular .nvarea
folosirii instrumentelor necesit exerciii aplicative!

Fereastra Database: conine, la rndui ei, urmtoarele elemente:


- Bara de titlu: conine numele bazei de date deschise precum i cele trei
butoane : Minimize, Restore i Close;
- Bara de obiecte: este situat n partea stng a ferestrei i are dou butoane:
Objects i Groups. Pentru a actualiza coninutul ferestrei Database, putei
executa clic pe orice obiect din bara. Pentru a vedea toate tabelele din baza de
date, executai clic pe butonul Objects, situat n partea de sus a barei de
obiecte, apoi executai clic pe Tables; pentru a vedea toate formularele trebuie
s executai clic pe Forms, i aa mai departe. Dac executai clic pe butonul
Groups, Access va afia o list cu grupurile definite de utilizator.

Bara de titlu Bara meniu Bara cu instrumente


Database

Bara de titlu a
ferestrei Database
Bara de meniu a
ferestrei Database

Coninutul ferestrei
Database

Bara cu obiecte

Bara de stare

Fig. 2. Fereastra de baz a aplicaiei Access

17/54
- Bara de meniu a ferestrei Database are urmtoarele opiuni:
Open ( ) deschide un obiect n mod de afiare curent;
Design ( ) deschide un obiect n mod de afiare design;
New ( ) creeaz un nou obiect;
Delete ( ) terge un obiect;
Large Icons ( ) afieaz obiectele sub forma unor pictograme mari;

Small Icons ( ) afieaz obiectele sub forma unor pictograme mai mici;
List ( ) reprezint modul de afiare prestabilit, afieaz o list cu obiectele;
Details ( ) listeaz pentru fiecare obiect mai multe informaii: descriere,
data la care a fost creat, data ultimei modificri i tipul obiectului.
Bara de stare (Status bar): aa cum spune i numele su, ea indic starea n care
ne gsim la un moment dat. De exemplu, dac deschidem un tabel n mod
proiectare ( ) n partea stng apare textul Design View. F6=Switch panes.
F1=Help.

Aplicaii
1. S se ruleze programul Microsoft Access.
2. S se identifice elementele ferestrei de baz a aplicaiei Microsoft Access.
3. Explicai efectul tuturor opiunilor din meniurile: File, Edit, View i Window.
Pentru rezolvarea acestui exerciiu v putei folosi de Help.

Arhitectura Microsoft Access

O baza de date reprezint o modalitate de stocare a unor date pe un suport extern (mediu de
stocare), cu posibilitatea regsirii rapide a acestora. Pentru a interaciona cu datele cuprinse n
baza de date, Access se folosete de obiecte: interogri, rapoartele, formularele, controale.
Toate elementele din Access, cu excepia datelor din nregistrri, sunt obiecte. Astfel, o baz
de date Access poate fi definit ca o colecie de obiecte: tabele (tables), cereri de interogare
(query), formulare (forms), rapoarte (reports), pagini Web (pages), comenzi macro (macros)
i module (modules).

Tabelul (TABLE) este un obiect definit de utilizator n care sunt stocate datele primare
(expresia modelului relaional). Mai precis, un tabel este o colecie de date "legate" ntre ele,
care sunt stocate pe linii i coloane. Coloanele reprezint cmpurile (fields) care se descriu

18/54
prin nume, tip i alte atribute ale acestora. Fiecare cmp trebuie s fie legat de destinaia
tabelului din care face parte. Fiecare linie a tabelului conine o nregistrare (record) cu date
corespunztoare coloanelor i reprezint o entitate complet de date. De exemplu, atunci cnd
creai un tabel pentru stocarea datelor referitoare la clieni putei avea cmpuri pentru cod
client, nume, prenume, adresa, cod potal, numr de telefon, data naterii etc. n acest caz, o
nregistrare va consta din toate aceste informaii pentru o anumit persoan (client). O baz
de date poate conine unul sau mai multe tabele independente sau legate ntre ele.

Cmpuri (fields)

Cod Cod Data


Nume Prenume Adresa Telefon acasa
client postal nasterii
1 Oltean Radu Str. Traian Vuia nr.20 713411 0230/552302 4/2/1968

nregistrri (records)
2 Popescu Adriana Str. Ion Creanga Nr. 4 743400 0230/440016 5/3/1974

3 Plesan Sorin Str. Marasti Nr 45 733125 0230/667980 9/8/1959

4 Sitaru Adela Str. Cernauti Nr.3 723400 0230/418788 9/6/1962

5 Patterson John 27 Newpoint Street GM80AN 0938566 2/4/1976

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

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

19/54
Interogarea este, n esen, o ntrebare sau o cerere stocat. Aa cum datele sunt stocate n
tabele (table) i cererile sunt stocate n obiecte de tip Query. Odat creat, o interogare poate
fi apelat de ori cte orie este nevoie.

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

Raportul (REPORT) este un obiect care permite formatarea i tiprirea, sub form de
documente, a informaiilor obinute n urma consultrii bazei de date. Cu toate c formularele
reprezint un instrument excelent pentru introducerea i afiarea datelor pe ecran, rapoartele
sunt principalele dispozitive de ieire in Access. Rapoartele pot fi previzualizate pe ecran,
tiprite la imprimanta, vizualizate ntr-un navigator Internet (browser), etc. Sunt foarte uor
de creat i sunt instrumente puternice de prezentare a datelor. Putei crea cu ajutorul acestor
obiecte diverse situaii de ieire pentru aplicaia dumneavoastr, de exemplu, lista clienilor
firmei pe localiti sau judee.

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

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

Modulul (MODULE) reprezint un obiect care conine proceduri definite de utilizator i


scrise n Visual Basic. Astfel, introducei ntr-un modul codul procedurii, apoi folosii
obiectele eveniment (sau alte proceduri) pentru a executa procedura. Toate obiectele descrise
mai sus vor fi detaliate in capitolele urmtoare.

20/54
Proiectarea structurii bazei de date

Prima faz n proiectarea bazei de date trebuie s fie analiza obiectivului urmrit. Pentru a
realiza acest lucru trebuie s rspundei la urmtoarele ntrebri: Ce informaii vei stoca?
Cine le va folosi? De ce fel de ieiri avei nevoie?
Atunci cnd proiectai o baz de date trebuie s urmai o serie de pai:

1. Determinai scopul bazei de date. Acest lucru v ajut s stabilii ce fel de date
vrei s stocai n baza de date pe care o vei crea (ex. gestiunea personalului,
evidena stocurilor).

2. Determinai tabelele de care avei nevoie. Odat ce avei un scop clar stabilit,
putei mpri informaiile n subiecte separate, ca se exemplu Angajai,
Clieni, sau Comenzi. Fiecare subiect va fi un tabel n baza de date. Numele
tabelului trebuie s fie sugestiv pentru informaiile pe care le va conine.

3. Determinai cmpurile de care o s avei nevoie n tabele. Hotri ce fel de


informaii vor fi stocate n cadrul tabelelor. Fiecare categorie de informaii dintr-
un tabel poart denumirea de cmp (field) i fiecare cmp va fi afiat pe o coloan
n tabel. De exemplu, un tabel cu denumirea Angajai poate s aib urmtoarele
cmpuri: Nume, Prenume, Data angajrii, Salar_brut, Impozit.

4. Determinai relaiile dintre tabele. Analizai cu atenie tabelele i stabilii


legturile care exist ntre datele coninute n tabele diferite. n cazul n care nu
putei stabili relaii ntre tabele, introducei tabele sau cmpuri de legtur.

5. mbuntirea proiectului. Analizai proiectul pentru a gsi eventuale erori.


Creai tabelele i adugai cteva nregistrri de prob. Vedei dac putei obine
din tabele rezultatele de care avei nevoie, facei modificri dac este nevoie.

Pentru a parcurge etapele de mai sus putei folosi o tabl de scris sau hrtie i creion pentru c
vei face multe modificri pn vei ajunge la o form de proiectare acceptabil.
Experimentai modelul proiectat, introducei date de test, creai formulare i rapoarte de
prob. Asigurai-v c datele sunt stocate n mod corespunztor n baza de date i c putei
obine toate informaiile i situaiile finale dorite. Este mult mai dificil s modificai tabelele,
formularele, rapoartele dup ce au fost introduse date reale. Mai multe informaii despre
modul de proiectare al tabelelor putei afla n capitolul Proiectarea tabelelor.

21/54
Crearea unei baze de date

Exist dou posibiliti de creare a bazelor de date:


a) crearea unei baze de date vide, n care construirea obiectelor se face de la zero;
b) crearea unei baze de date folosind Database Wizard.

Pentru a construi o baz de date nou se execut urmtoarele operaii:


1. n fereastra principal (vezi fig.1.) se selecteaz Blank Access database i se
activeaz butonul OK.
2. n caseta de dialog cu titlul File New Database (fig.3) se execut urmtorii pai:
se selecteaz lista Save in (prin clic pe butonul ). n urma acestei operaii
apare lista unitilor de disc disponibile i a elementelor de pe Desktop.
se selecteaz unitatea de disc unde va fi salvata noua baz de date. n interiorul
ferestrei va aprea o list cu directoarele (folderele) disponibile.
se selecteaz folderul unde va fi stocat baza de date;
se introduce numele bazei de date n lista File Name;
se activeaz butonul Create.

se selecteaz directorul unde


va fi salvata baza de date

aici se introduce numele BD

Fig. 3. Fereastra File New Database

O baz de date nou se mai poate crea i folosind meniul sistem Access, alegnd opiunea
New din meniul File, urmat de introducerea numelui corespunztor bazei de date ce urmeaz
a fi creat. Crearea unei baze de date folosind asistenii Database Wizard este mult mai
simpl i rapid dar prezint dezavantajul de a nu fi aa de flexibil. Un vrjitor este un
instrument complex (program specializat) cu ajutorul cruia se realizeaz n mod automat o

22/54
baz de date sau anumite obiecte (tabele, formulare, rapoarte, interogri, pagini web pentru
prezentarea datelor) lund n considerare preferinele utilizatorului. Vrjitorul prezint o serie
de casete de dialog pentru fiecare etapa. La fiecare pas utilizatorul trebuie s aleag o serie de
opiuni din grupul de opiuni posibile pentru a trece la urmtorul pas.

Database Wizard creeaz o aplicaie la cheie, genernd toate tabelele, formularele i


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

Utilizarea Database Wizard:


1. Lansarea n execuie a instrumentului Database Wizard:
Lansai n execuie programul Access. Din fereastra de dialog (fig.1) care apare pe
ecran selectai opiunea: Access database wizards, pages and projects i executai
clic pe OK. Pe ecran va aprea urmtoarea caset de dialog:

Modaliti de vizualizare

Fereastra Preview

Baze de date disponibile

Fig. 5. Fereastra New

Se selecteaz o baz de date i se execut clic pe butonul OK.


2. Cea de-a doua fereastr a vrjitorului este o fereastr de dialog File (fig.3). Vrjitorul
i acord noii baze de date un nume care poate fi schimbat.

23/54
3. Pentru a merge mai departe se alege butonul Create, iar pentru a anula operaia se
execut clic pe butonul Cancel.
4. Vrjitorul afieaz o fereastr n care descrie tipul de informaii pe care baza de date
le conine. De exemplu, BD Asset Tracking include date referitoare la active,
amortizare, ntreinere, angajai, departamente i vnztori. BD Contact Management
conine informaii de contact i date referitoare la convorbiri. Dac executai clic pe
butonul Finish vrjitorul va nchide fereastra Database Wizard i va deschide noua
aplicaie; dac executai clic pe Cancel, vrjitorul va terge tot ce ai realizat pn n
acest moment i se va nchide. Dac dorii s mergei mai departe, executai clic pe
butonul (soft) Next.

5. Fiecare tabel din noua aplicaie conine anumite cmpuri prestabilite. Se pot aduga
sau terge cmpuri prin intermediul ferestre de dialog din imagine:

Cmpurile din
Tabelele tabelul selectat
aplicaiei

6. Urmtoarea fereastr de dialog v permite s alegei stilul de afiare al ecranelor


dintr-o list de valori predefinite.

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

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

25/54
9. n ultima caset de dialog a vrjitorului lsai selectat opiunea Yes, Start the
Database, confirmnd astfel c dorii s vedei baza de date. Cea de-a doua opiune
Display Help on using Database deschide o fereastr Help. Pentru a finaliza aplicaia
executai clic pe butonul Finish. Access va genera i va deschide noua baz de date.

Deschiderea unei baze de date existente

n cazul n care se urmrete consultarea, modificarea sau actualizarea unei baze de date
creat anterior, aceasta va trebui, mai nti, s fie deschis prin intermediul opiunii Open An
Existing File (din fereastra de dialog care apare pe ecran la intrarea n aplicaia Ms. Access).
O baz de date mai poate fi deschis i folosind meniul sistem Access, alegnd opiunea Open
din meniul File.

Salvarea modificrilor unei baze de date

Prin modificarea unei baze de date Access se nelege modificarea obiectelor ce o compun.
Modificarea unui obiect va atrage dup sine o ntrebare din partea SGBD-ului Access dac
aceasta modificare va fi sau nu salvat. n concluzie orice modificare a obiectelor se salveaz
local nefiind necesar salvarea ntregii baze de date.

Proiectarea tabelelor

Datele sunt stocate n nregistrrile tabelelor, iar pentru a putea fi regsite uor acestea trebuie
s fie bine organizate n cadrul lor. De aceea, trebuie acordat o atenie deosebit fazei de
proiectare a bazei de date. Aspectele care trebuie s le urmrii atunci cnd ncepei s lucrai
cu tabele sunt:

mprii informaiile lungi n uniti mai mici. De exemplu, n loc s stocai


numele clienilor ntr-un singur cmp, folosii dou cmpuri, unul pentru nume i
altul pentru prenume avnd astfel posibilitatea s sortai sau s selectai datele
separat att dup nume ct i dup prenume.

Datele stocate n fiecare cmp trebuie s constituie cea mai mic unitate de
informaie, ceea ce nseamn ca ele s nu mai poat fi mprite n componente
mai mici. Stocarea corect a adreselor clienilor se va face n cmpuri diferite:
strada i numr, ora, jude i cod potal.

Evitai redundana. Nu introducei aceeai informaie n mai mult de un cmp. De


exemplu, dac avei n tabel un cmp data_naterii nu mai trebuie s stocai in
tabel i vrsta persoanei pentru c aceasta se poate calcula din data naterii. De
asemenea, nu repetai aceleai date n mai multe tabele.

26/54
Folosii cmpuri de tip text pentru a stoca numere de telefon, codul numeric
personal sau codul potal. Aceste numere sunt secvene arbitrare de caractere
folosite pentru identificare, nu sunt valori numerice. Un numr de telefon poate s
nceap cu 0 i poate s conin caractere despritoare (0745-466789) de aceea,
cea mai bun form de stocare o reprezint cmpul text.

Fiecare tabel trebuie s aib o cheie primar care s identice n mod unic fiecare
articol (nregistrare) din tabel. Folosirea cheilor ajut la prevenirea introducerii de
date duplicate. O cheie a unui tabel se aseamn cu cota care se atribuie crilor
ntr-o bibliotec: aceasta este un identificator unic ce controleaz ordonarea i
nregistrarea crilor, identific duplicatele i evit confuziile care pot s apar
atunci cnd dou volume au acelai autor sau au acelai titlu.

Toate datele trebuie s fie mutual dependente. Cu alte cuvinte, nici un cmp nu
trebuie s depind de informaiile aflate n alt cmp al aceluiai tabel. De
exemplu, dac un tabel de eviden a vnzrilor conine preul unitar, cantitatea
vndut i ncasri, avem de a face cu un cmp dependent. Astfel, dac schimbm
valoarea preului unitar, sau valoarea cantitii vndute, trebuie s actualizm i
valoarea din cmpul ncasri pentru ca datele s fie consistente. Pentru a nltura
dependena, cmpul ncasri trebuie eliminat din structura tabelului i trebuie
nlocuit cu un control calculat sau cu o expresie de interogare.

Urmrii cu atenie cmpurile goale. Dac un cmp rmne necompletat nseamn


c datele nu se aplic la acea nregistrare.

Toate cmpurile trebuie s aib o legtur cu cmpul cheie primar.

27/54
Crearea tabelelor

Access organizeaz o baz de date n felul urmtor:


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

Crearea structurii tabelelor se refer la definirea cmpurilor (coloanelor) tabelelor i, dup


cum se observ n fereastra Database ( fig. 11), acest lucru se poate face n trei moduri:
1. Utiliznd fereastra de proiectare - CREATE TABLE IN DESIGN VIEW
2. Prin introducerea datelor - CREATE TABLE BY ENTERING DATA
3. Utiliznd instrumentul Wizard - CREATE TABLE BY USING WIZARD

Modul cel mai eficient de creare a tabelelor l reprezint utilizarea ferestrei de proiectare,
motiv pentru care se vor prezenta mai nti pe scurt celelalte dou moduri. Crearea unei
tabele utiliznd instrumentul wizard permite adugarea unor cmpuri standard ce exist deja
n cadrul bibliotecilor de tabele standard. De exemplu dac se dorete realizarea unei tabele
cu clieni (CUSTOMERS) utilizndu-se instrumentul wizard, se pot selecta anumite cmpuri
standard pentru aceast tabel precum i relaiile pe care acestea le au cu alte tabele. Nu se
recomand aceasta modalitate deoarece cmpurile din cadrul tabelelor standard au fost create
pentru sistemul de lucru anglo-saxon care n unele privine nu corespunde cu sistemul
romnesc. Utilizarea celui de-al doilea mod de creare a tabelelor reprezint o form rapid de
a introduce datele. Ea nu poate fi aplicat eficient n cadrul realizrii de aplicaii complexe.

28/54
Revenind la primul mod de creare al unei tabele prin realizarea unui dublu-clic pe Create
Table In Design View pe ecranul monitorului va aprea fereastra Table. n aceast fereastr se
definesc numele cmpurilor FIELD NAME, tipul de date DATA TYPE i opional o
descriere a cmpului respectiv DESCRIPTION.

Fig. 7. Fereastra Database

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

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

Fig. 8. Tabelul Judee deschis n mod Datasheet

Fig. 9. Tabelul Judee deschis n mod Design View

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

Tipul de date: este o caracteristic ce stabilete modul n care datele sunt nregistrate
pe suportul de memorare i modul n care acestea sunt interpretate i prelucrate. De
exemplu, dac avem un cmp de tip date/time vom putea introduce n acest cmp doar
date calendaristice iar operaiile pe care Access le poate efectua asupra informaiilor
stocate n acest cmp sunt specifice tipului de date date/time.
n continuare prezentm tipurile de date disponibile pentru cmpurile Access:

Tip de date Tip de date Access Descrierea tipului de date


Cel mai des folosit tip de date. Un cmp de tip
text poate conine pn la 255 caractere
alfanumerice. Numerele care nu sunt folosite
TEXT
pentru calcule vor fi stocate n cmpuri de tip text
Alfanumerice (nr. telefon, cod potal, CNP, numerele de
nregistrare, nr. matricol).
Poate conine cantiti mari de text sau numere -
MEMO cel mult 64.000 caractere. Se folosesc pentru a
oferi comentarii descriptive i notie.
Conine mai multe subtipuri de date: Long
Integer, Byte, Integer, Single Double, Replication
NUMBER ID. Se utilizeaz atunci cnd dorim s stocm date
numerice care vor fi folosite pentru calcule
matematice.
Genereaz numere unice n mod automat de
AUTONUMBER fiecare dat cnd se introduce un nou articol n
Numerice tabel. Poate ndeplini rolul de cheie primar
atunci cnd nu mai exist n tabel o alt cheie.
Format special pentru uniti monetare, proiectat
CURRENCY pentru a preveni erorile de rotunjire care ar afecta
operaiile contabile.
Cmpurile logice (booleene) folosesc valori
YES/NO logice numerice de tip ntreg 1 pentru cmpurile
YES (TRUE) i 0 pentru NO (FALSE).

31/54
Tip de date Tip de date Access Descrierea tipului de date

Date Stocheaz data calendaristic i ora ntr-un format


calendaristice DATE/TIME special fix. Se folosete formatul englez de data
lun/zi/an, spre deosebire de cel romnesc
zi/lun/an.
Include elemnte grafice realizate din puncte
Obiecte mari OBJECT OLE (bitmap), desene vectoriale, fiiere cu semnale
audio i alte tipuri de date ce pot fi create de o
aplicaie OLE SERVER.
Este un text sau o combinaie de text cu numere
stocat ca un text i folosit ca adres a unei
Adrese Internet HYPERLINK
pagini Web. Conine 3 parti: textul afiat, adresa
i subadresa. Fiecare parte poate avea maxim
2048 caractere.

Proprietile cmpurilor

1. Field size (Dimensiunea cmpului): n aceast zon se introduce numrul maxim de


caractere permis pentru cmpul respectiv, n funcie de tipul de date al acestuia. Putem
crea un cmp de tip text cu dimensiune fix introducnd n celula Field Size valoarea
corespunztoare lungimii fixe dorite (un numr de la 1 la 255). n mod prestabilit Access
creeaz un cmp de tip text care poate cuprinde 50 de caractere. Dac importm cmpuri
de date cu lungime mai mare Access le va trunchia astfel se vor pierde caracterele cele
mai din dreapta care depesc limita indicat.

2. Format (Formatul n care sunt afiate datele): - n Access fiecare tip de date are mai
multe opiuni predefinite de afiare. De exemplu, o dat de tip dat/or poate fi afiat n
mai multe forme:

3. Decimal places (Numrul de zecimale): n cadrul acestei proprieti se stabilete numrul


de zecimale ce pot fi atribuite unui cmp.

4. Input Mask (Formatul de introducere): se refer la impunerea unui anumit format pentru
toate datele incluse n cadrul acestui cmp. O masc de intrare este folosit ntr-un cmp
pentru a formata informaia i a controla ce valori pot fi introduse. De exemplu masca
>LLLL este format din dou pri: simbolul > care transform toate caracterele introduse
de utilizator n majuscule i irul de caractere LLLL ce reprezint nlocuitori pentru litere

32/54
(A-Z, fr spaii). Utilizatorul va putea introduce n cmp exact patru litere, n caz contrar
Access va afia un mesaj de eroare. Pot fi folosite pentru tipurile de date: Text,
Date/Time, Number, Currency. Iat cteva exemple:

- pentru formatul datei: 00-00-00


- pentru numr matricol: 000
- pentru numere de nmatriculare: LL00LLL
nlocuitorii de caractere pot fi:
- 0 pentru numere (0-9);
- 9 pentru numere sau pauze;
- L pentru litere (A-Z).

5. Caption (Eticheta): permite specificarea unui anumit nume atribuit cmpului, nume care
va fi afiat n cadrul rapoartelor, formularelor, tabelelor.

6. Default value (Valoare automat): este valoarea atribuit automat atunci cnd utilizatorul
nu introduce nici o valoare n acel cmp.

7. Validation rule (Regulile de validare): testeaz prin intermediul unui criteriu (expresie
Access) valorile introduse n cmpurile bazei de date i nu las introducerea de date care
nu respect acel criteriu. De exemplu, regula >0 permite doar introducerea numerelor
pozitive, iar >= 10 AND <100 permite introducerea numerelor cuprinse ntre 10 i 99.

8. Validation TEXT (Text de validare): Conine textul care va aprea pe ecran n cazul n
care valoarea introdus n cmp nu respect criteriul impus de regula de validare.

9. Required (Cerine): se stabilete dac prin introducerea unei nregistrri n cadrul tabelei
este obligatorie i completarea respectivului cmp.

10. Indexed (Indexare): dintr-o list derulant se poate alege ntre un index care admite valori
duplicat sau unul care cere ca fiecare valoare a cmpului s fie unic.

Noiunea de cheie primara (am mai discutat acest aspect) - PRIMARY KEY
Cheile principale (primary keys) reprezint o component esenial a oricrei baze de date
relaionale. Pentru a se ncadra n modelul relaional fiecare tabel al bazei de date
trebuie s aib un identificator unic. Asigurarea unicitii se poate realiza prin
desemnarea unei chei primare o coloan sau un set de coloane care identific n mod
unic un rnd din tabel. O cheie primar poate fi format dintr-o singur coloan

33/54
cheie simpl, sau poate fi format din mai multe coloane cheie compus (multipl).
ntr-un tabel pot exista mai multe coloane (sau set de coloane) ce pot conine valori
unice. Aceste coloane sunt chei candidat. Din aceste chei candidat se alege o cheie
primar, aceasta trebuie s conin un numr minimal de coloane i s fie stabil. De
exemplu ntr-un tabel Angajati cu urmtoarele cmpuri: CNP (codul numeric
personal), Nume, Prenume, Data_angajrii, Salar avem dou chei candidat - CNP i
cheia compus din cmpurile Nume, Prenume. Codul numeric personal este unic
pentru fiecare persoana deci el ar poate asigura unicitatea nregistrrilor. Singura
problem este c angajaii strini nu au cod numeric personal. Cea de-a doua cheie
ndeplinete condiia de cheie primar att timp ct nu exist n baza de date doi
angajai cu acelai nume i prenume. Cnd apar dou persoane cu acelai nume i
prenume, pentru a se asigura unicitatea, se poate aduga cmpul data_angajrii la
cheia primar, dar atunci numrul cmpurilor din componena acesteia este prea mare.
Cmpul numele nu este un cmp stabil pentru c n cazul angajatelor acesta poate fi
schimbat prin cstorie de aceea nu e bine s intre n componena cheii primare.
Deoarece nu am putut gsi o cheie primar natural trebuie s crem o cheie
artificial, o cheie derivat. Putem aduga un cmp Cod Angajat de tip Number care
s ndeplineasc rolul de cheie principal.

Cheia primar are un rol deosebit de important n implementarea strategiilor de cutare i de


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

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

34/54
Sortarea nregistrrilor
n modul de vizualizare Datasheet View putei vizualiza nregistrrile unui tabel ntr-o
anumit ordine. Pentru a sorta nregistrrile se efectueaz urmtorii pai:
1. Se trece pe modul de vizualizare Datasheet View ( )
2. Se selecteaz coloana dup care se face ordonarea
3. Se selecteaz opiunea Sort Ascending (sau Sort Descending) din meniul Records sau
se alege butonul sau din bara de instrumente Database.

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

Se creaz baza de date Clieni astfel:


1. se pornete aplicaia Microsoft Access: Start->Programs->Microsoft Access;
2. se selecteaz opiunea Blank Access database din fereastra Microsoft Access;
3. din lista Save in se selecteaz directorul unde va fi salvat baza de date, iar n lista File
Name se introduce numele Clienti dup care se activeaz butonul Create.

35/54
Pentru a crea un tabelul Infoclieni selectai opiunea Create table in Design view, sau
selectai opiunea New ( ) din bara de meniu a aceleiai ferestre i apoi opiunea Design
view. Pe ecran va aprea o fereastr n care vei introduce numele cmpurilor, tipul acestora i
o scurt descriere dup cum urmeaz:

1. Aici se introduce numele cmpului. 2. Se selecteaz tipul de date din list.

3. Se introduce o
scurt descriere.

4. Se selecteaz
mrimea cmpului

Fig. 10. Modul de introducere a structurii unui tabel

Se repet cei patru pai pentru fiecare cmp n parte. n seciunea Field Properties se pot
introduce informaii legate de cmpuri, reguli de validare, valori implicite ale datelor ce vor fi
introduse n tabel. Dup ce ai introdus toate categoriile trebuie s stabilii o cheie primar
pentru tabelul creat. Cheia trebuie s identifice n mod unic fiecare nregistrare din tabel i s
previn apariia duplicatelor, n cazul nostru cmpul care ndeplinete condiiile de cheie
primar este cod_cl.

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

36/54
1. Se selecteaz cmpul

2. Selectai fie simbolul iconic - cheie,


din trusa standard, fie opiunea
Primary Key din meniul Edit

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

Pentru a aduga articolele se selecteaz Datasheet View ( ) din meniul View iar n
fereastra care apare pe ecran se completeaz urmtoarele date:

Cod Cod Data


Nume Prenume Adresa Localitate Jud Telefon
client postal nasterii
1 Oltean Radu Str. Traian Vuia Nr. 20 Suceava SV 713411 0230/552302 02/04/1968
2 Popescu Adriana Str. Ion Creanga Nr. 4 Suceava SV 743400 0264/440016 03/05/1974
3 Plesan Sorin Str. Marasti Nr 45 Suceava SV 7331250269/667980 08/09/1959
4 Sitaru Adela Str. Cernauti Nr.3 Suceava SV 723400 0264/418788 06/09/1962

37/54
APLICAII
I. S se creeze o baza de date avnd numele STUDENT i s se salveze n directorul personal.
Baza de date va conine un tabel InfoStudent n care se vor stoca informaiile referitoare la
studeni. Structura tabelului este urmtoarea:

NRMAT numrul matricol de tip text 3 caractere


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

1. S se creeze tabela InfoStudent cu cmpurile aferente.


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

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

COD - codul cadrului - de tip text - 3 caractere


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

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

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

39/54
INTEROGRI (Queries)

Esena oricrui SGBD const n selecia datelor din tabele i prezentarea acestora n diferite
forme prin intermediul interogrilor sau al rapoartelor. Orice firm i construiete o baz de
date pe care lucreaz i elaboreaz diferite rapoarte sub diverse forme de prezentare. O baz
de date este creat pentru a fi interogat.

Limbajul SQL (ntlnit i sub numele de SEQUEL) este limbajul de interogare al SGBD
Sysem R dezvoltat n cadrul laboratorului de cercetare din San Jose al firmei IBM.
SQL a evoluat din predecesorul su SQUARE care a constituit prima etap n
dezvoltarea unui limbaj de interogare pentru System R. Conceptele de baz ale celor
dou limbaje sunt n esen aceleai, deosebirea principal dintre ele fiind aceea c
limbajul SQUARE are o sintax bazat n mare msur pe notaii matematice, n timp
ce SQL are o sintax mai apropiat de limba englez aa cum arat i denumirea
limbajului (SQL sau SEQUEL Structured English Query Language). Aceast
sintax este mai adecvat programrii pe computer i totodat mai uor de asimilat de
ctre utilizatori. La ora actual SQL este una din cele mai rspndite interfee pentru
SGBD-urile relaionale. n afar de System R limbajul SQL este disponibil i sub alte
SGBD-uri relaionale cum ar fi SQBD ORACLE (pentru sisteme mari, dar i
computere personale profesionale) sau chiar dBASE (ntr-o variant simplificat
ncepnd cu versiunea IV).Din anul 1986, SQL a devenit standard ANSI pentru
limbajele de interogare ale bazelor de date relaionale. SQL este limbajul de interogare
al unui sistem de gestiune al bazelor de date (SGBD), n cazul nostru Access 2000.
Operaia fundamental n SQL este maparea reprezentata din punct de vedere sintactic
printr-o construcie SELECT FROM WHERE (pe scurt constructie SELECT).

Sintaxa clauzei SELECT

SELECT nume_cmp_1, nume_cmp_2,.,nume_cmp_n


FROM nume_baza_de_date_1, nume_baza_de_date_2,,nume_baza_de_date_n
WHERE condiie1,.,condiie_n
GROUP BY nume_cmp
HAVING condiie
ORDER BY nume_camp[ASC|DESC]

40/54
Crearea interogrilor
Pentru lucrul cu interogri avem urmtoarele dou posibiliti :
1) Prin intermediul modului de lucru Design View. n seciunea Objects se va alege opiunea
Queries i apoi Create query in Design view. Pe ecran va apare fereastra Show Table
n care utilizatorul va alege tabelele cu care va lucra. Pentru a aduga un tabel se
selecteaz tabelul dorit din list dup care se execut clic pe butonul Add. Fereastra
Show Table se nchide prin activarea butonului Close.

Se execut apoi urmtorii pai:


- se aleg cmpurile necesare interogrii;
- se specific condiiile de selecie;
- se precizeaz criteriile de filtrare impuse de cerina interogrii;
- se stabilete modul de grupare;
- se stabilete modul de ordonare.

41/54
2) Cu ajutorul wizard-ului de interogri. Access genereaz codul SQL pentru fiecare
interogare, fie c este realizat cu Design View sau cu wizard-ul. Codul SQL poate fi
vzut prin selectarea opiunii SQL View din meniul View. Se poate vizualiza astfel
clauza select from where corespunztoare interogrii. De asemenea este posibil
scrierea unei interogri ntr-o astfel de fereastr acest lucru presupunnd cunoaterea
temeinic a sintaxei SQL.

REGUL: O fraz SQL se termin cu punct i virgul!

Criteriile de selecie
Se introduc n celula aflat la intersecia coloanei cmpului cu linia Criteria din grila de
interogare. Acestea pot fi simple sau compuse (cu ajutorul operatorilor AND/OR) i pot
utiliza o serie de cuvinte rezervate i expresii definite de utilizatori.

Principalele criterii simple sunt :


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

Se pot specifica criterii de selecie dup un anumit text care, dac va conine spaii, trebuie
pus n ghilimele. n interiorul textului se pot folosi caractere generice "?" (orice n poziia n
care apare) i "*" (orice n poziia n care apare i n urmtoarele).
Operaii de calcul predefinite n ACCESS

Operaia Funcia Tipul de cmpuri


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

42/54
APLICAII

I. Se consider baza de date STUD. S se creeze tabela DATE cu structura urmtoare:

NRMAT - text(3) (numr matricol ex. 100, 101,102.)


NP text(30) (nume i prenume ex. Pop Liviu)
DN - dat calendaristic (data naterii ex. 03/04/81)
SCT - text(2) - (sectia ex. CE si AF)
AN numeric, ntreg (anul de studiu ex. 1, 2 ,3 sau 4)
BRS da/nu (bursier ex. DA, NU)
SEX text(1) (sexul f, m)
TEL text(15) (numar telefon)
ADR text(25) (doar numarul si numele strzii)
OR text(15) (oraul)
JUD - text(2) (judeul ex. Suceava-SV, Neamt - NT)

S se introduc 10 nregistrri n tabela DATE astfel nct s se respecte urmtoarele cerine:


a) S existe studeni al cror domiciliu s nu fie Suceava.
b) S existe studeni de la ambele secii CE i AF.
c) S existe studeni cu vrste mai mici de 20.
d) S existe studeni n diferii ani de studiu.
e) S se defineasc regulile de validare pentru cmpul AN astfel nct s se poat
introduce n tabel doar valorile 1, 2, 3 sau 4.
f) S se defineasc regulile de validare pentru cmpul SCT astfel nct s fie permise
doar valorile AM sau MH. Pentru cmpul SEX valorile permise vor fi F sau M.
g) S se defineasc urmtoarele interogri pentru tabela DATE. Interogrile se
vor salva cu numele: inter1, inter2,, inter n.

OBSERVAIE ! Se va utiliza n exclusivitate modul de lucru Design View.


S se creeze:
1. o list cu numele studenilor care au domiciliul n Suceava, ordonai descresctor
dup numrul matricol.
2. o list cu numele studenilor care au domiciliul n Suceava, ordonai cresctor
dup numrul matricol.
3. o list cu numele studenilor din Suceava, ordonai cresctor dup vrst.
4. o list cu numele studenilor bursieri din Suceava.
5. o list cu numele studenilor a cror vrst este mai mare de 20 de ani i nu sunt
bursieri.

43/54
6. o list cu numele studentelor bursiere care au domiciliul n Botosani.
7. o list cu numele studenilor de sex masculin care au vrsta de 21 de ani i nu sunt
bursieri.
8. o list cu numele studenilor nscui dup data de 03/06/86.
9. o list cu numele studenilor nebursieri.
10. o list cu numele studenilor bursieri.
11. o list cu numele i localitatea studenilor care nu domiciliaz n Suceava,
ordonai dup cmpul secie.
12. lista studentelor de la secia CE.
13. lista studenilor de la CE i AF.
14. o list cu numele studenilor de la CE care nu sunt bursieri.
15. o list cu numele studenilor de la ambele secii care sunt bursieri i nu domiciliaz n Suceava
16. o list cu numele studentelor de la AF ordonate descresctor dup vrst.
17. o list cu numele studenilor de la AF ordonai cresctor dup vrst.
18. lista studenilor care nu au domiciliul n judeul Suceava i nu sunt bursieri, ordonai
alfabetic dup nume.
19. o list cu numele studenilor care au domiciliul n Suceava i sunt bursieri.
20. lista studentelor fr burs din anul 2 de la secia AF.
21. lista studenilor bursieri, de sex masculin, din anul 2, de la sectia AF, care
domiciliaz n Neamt.
22. lista studenilor de la ambele secii care nu sunt n anul 2.
23. lista cu numele studenilor bursieri de la secia CE din anul 2 care au numrul
matricol mai mare dect 102.
24. lista studenilor ordonat alfabetic dup nume i prenume.
25. lista tuturor studenilor seciei AF, ordonai alfabetic dup nume i prenume.

44/54
FORMULARE (Forms)

Formularele reprezint interfaa principal ntre utilizator i o aplicaie Microsoft Access,


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

Un formular este compus din trei pri:


- antetul (Form Header)
- zona de detaliu (Detail)
- subsolul (Form Footer)

45/54
Crearea formularelor
Avem dou moduri de creare a formularelor i anume:
1. Prin utilizarea instrumentului wizard creare automat
2. Crearea n fereastra de lucru creare manual

Crearea automat a unui formular


n fereastra Database se activeaz butonul New, pe ecran aparnd fereastra New Form.

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

Prin intermediul butonului Next putem trece de la o fereastr la alta. n urmtoarea fereastr
se va selecta modul de prezentare a datelor n cadrul formularului. Printre cele mai utilizate

46/54
moduri este modul columnar pe care l vom utiliza i noi, mod n care datele sunt afiate pe
coloane. Se poate alege stilul formularului, adic un anumit tip de fundal, anumite tipuri de
caractere i diverse culori ale acestora. n ultima fereastr se va introduce numele
formularului i se alege i modul de afiare. Prin alegerea butonului Finish se va ncheia
crearea formularului.

Subformulare

Un subformular este un formular inclus ntr-un alt formular, pentru a permite afiarea datelor
din mai multe tabele sau cereri de interogare, aflate n general n relaii de tipul unu la
unu sau unu la mai muli. Astfel n formularul principal vor fi afiate datele din partea
unu a relaiei, iar n subformular cele din partea mai muli. Legtura dintre un
formular i un subformular reflect legtura dintre tabelele pe care se bazeaz.

Posibilitile de creare ale unui ansamblu de tip formular-subformular sunt :


- crearea formularului si subformularului concomitent;
- crearea subformularului i adugarea lui la un formular existent;
- crearea separat a celor dou i apoi combinarea lor.

Cea mai simpl variant este ultima.


- se creaz formularul principal i se salveaz;
- se creeaz subformularul ca i formularul principal;
- se face legtura ntre formularul principal i subformular;
- se verific legtura i apoi rezultatul.

47/54
Metoda drag & drop n cazul formularelor

Pentru aducerea unui subformular ntr-un formular principal se parcurg urmtorii pai:
- se deschide formularul principal n modul Design View;
- se trece n fereastra Database, prin activarea tastei F11, se activeaz butonul Forms, care
va afia lista tuturor formularelor din baza de date;
- se deplaseaz pictograma corespunztoare subformularului din fereastra Database n
spaiul formularului principal, ceea ce va avea ca efect adugarea unui control de tip
subformular;
- dac este cazul se deplaseaz controlul n locul dorit i se redimensioneaz n funcie de
necesiti;
- se execut dublu-click pe bordura controlului ce reprezint subformularul, pentru a afia
lista de proprieti a acestuia;
- se verific legtura dintre formularul principal i subformular prin intermediul
proprietilor Link Child Fields i Link Master Fields care sunt automat definite de Access
pe baza legturilor dintre tabele; n caz contrar se stabilesc cele dou cmpuri de legtur
se trece n modul Form View pentru verificarea rezultatului;
- pentru a aduce modificri n formularul principal se comut napoi n modul Design View.

APLICAII

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

Se consider apoi tabela FACTURA compus din urmtoarele cmpuri :


NRF - numr factur numeric - ntreg
DF - data factur data calendaristic
CODF - codul firmei text(4)

Se cere:
1. Crearea tabelelor FIRMA i FACTURA.
2. S se defineasc cheile primare pentru cele dou tabele (CODF, respectiv, NRF).
3. S se creeze relaia de tipul One-to-Many ntre cele dou tabele.

48/54
4. S se creeze prin intermediul wizard-ului un formular cu numele WFIRMA corespunztor
tabelei FIRMA, de tip columnar i folosind stilul standard. S se adauge formularului
eticheta - FEREASTRA INTRODUCERE DATE FIRMA.
5. S se construiasc prin intermediul wizard-ului subformularul corespunztor tabelei
FACTURA, de tip columnar i folosind stilul standard. S se adauge formularului eticheta
- FEREASTRA INTRODUCERE DATE FACTUR.
6. S se creeze un nou formular numit WWFIRMA care s conin un formular principal -
ecranul WFIRMA i un subformular WFACTURA.
7. S se verifice legtura dintre tabele, proprietile Link Child Fields i Link Master Fields.

RAPOARTE (Reports)

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

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

Crearea unei situaii finale (REPORT) se poate face n dou moduri:


1) Far instrumentul wizard, utiliznd modul de lucru Design View.
2) Cu ajutorul instrumentului wizard.

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

49/54
Structura unui raport este ierarhizat pe mai multe seciuni:
- antetul raportului
- antetul de pagin
- antetul de grup
- corpul propriu-zis
- subsol de grup
- subsol de pagin
- subsolul raportului

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

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

- n prima linie din coloana Field/Expression se selecteaz un nume de cmp sau se


introduce o expresie; se continu cu linia a doua, etc.
- n coloana Sort order se stabilete ordinea de sortare cresctoare Ascending sau
descresctoare Descending; valoarea presupus fiind cresctoare.
- se nchide fereastra de dialog.
Prima linie din fereastra de dialog corespunde primului nivel de sortare, a doua celui de-al
doilea etc.

51/54
Combinarea rapoartelor (RAPOARTE/SUBRAPOARTE)
Pentru a combina dou sau mai multe situaii finale, una dintre acestea trebuie s fie definit
ca i situaie principal iar celelalte subsituaii (ca i ansamblul formular principal -
subformular). Modul de lucru este asemntor cu cel de la formulare/subformulare.

APLICAII

I. Considerm baza de date ANGAJAT.MDB avnd n componen cmpurile:

NrOrd - numeric - ntreg


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

52/54
MACROURI (Macros)

Pn n prezent s-a ilustrat modul de construcie a principalelor obiecte care compun o


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

Aceast automatizare a aplicaiilor realizate n Access se poate face n dou moduri:


- prin utilizarea limbajului Visual Basic for Applications VBA
- prin utilizarea comenzilor MACRO, care reprezint o form simplificat a
limbajului de programare VBA.

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

n cadrul comenzilor MACRO pot fi incluse un numr mare de aciuni a cror derulare poate
fi condiionat de anumite valori afiate n formulare sau rapoarte. Microsoft Access ofer un
numr mare de aciuni ce pot fi executate n cadrul unor comenzi macro:
- deschiderea sau nchiderea de tabele, interogri, formulare sau rapoarte
- vizualizarea i tiprirea rapoartelor
- rularea interogrilor
- apelarea altor comenzi macro
- efectuarea condiionat a anumitor aciuni
- cutarea anumitor date n tabele
- deschiderea sau includerea diferitelor meniuri din Access
- afiarea de mesaje de atenionare sau chiar sunete de atenionare
- tergerea, redenumirea, copierea sau salvarea diferitelor obiecte ale aplicaiei
- comunicarea cu alte produse software (WORD, EXCEL,)

53/54
Crearea unei comenzi MACRO

Comenzile macro se creeaz n cadrul ferestrei de proiectare :

Fereastra de proiectare are dou pri:


- Lista de aciuni cu comentarii
- Descrierea fiecrei aciuni din cadrul listei

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

54/54