You are on page 1of 64

Informatica economic

( Curs rezumativ )


1. Bazele teoretice ale informaticii economice

Informaia poate exista independent de prezena uman, ea nu capt ns valoare dect trecut
prin prisma utilizrii sale ntr-un cadru decizional. Iat de ce, pe msur ce omul devine tot mai
independent de necesitile sale vitale, informaia ctig n importan. "Alimentarea" oamenilor
cu informaia de care au nevoie are darul de a duce la generarea unor noi i noi fapte, adic tot
informaie. Nou.

Date, informaii, cunotine.

Dezvoltarea masiv a sistemelor informaionale n ultimele decenii, dezvoltarea tehnologic
general, deschiderea ctre comunicare concur la naterea unei societi n interiorul creia
cantitatea de informaie i rolul acesteia cresc enorm. Nu poate deci surprinde faptul c termenul
de societate informaional ctig tot mai mult teren. Aceasta reprezint societatea n care
cunoaterea i informaia devin resursele strategice i de nnoire ale societii, ele jucnd rolul pe
care l aveau capitalul i munca n societatea industrial. Societatea informaional este
societatea n care majoritatea forei de munc se compune din cei care opereaz cu informaii i
pentru care informaia este elementul cel mai important" . Ea este societatea secolului 21. Ea va
trebui s creeze i s asigure condiii echitabile pentru toi cetenii planetei, de a avea acces la
informaii i cunotine.

Pentru R. Moldova, adoptarea tehnologiei societii informaionale este o cerin pentru aderarea
la UE (adoptarea acquis communautaires) i constituie o soluie de cretere a productivitii
sociale a muncii, condiie necesar a mbuntirii nivelului de trai.
n acest context, informaia devine de o importan vital. Se face ns diferena ntre informaie
ca produs (apare astfel categoria de intermediatori de informaii" care se ocup de ordonarea i
distribuia informaiilor prin cri; reviste, radio i televiziune) i informaie ca mijloc de
producie (numrul celor care se ocup de informaii ca mijloc de producie a crescut mult n
ultimii ani, ei participnd la alctuirea stocurilor interne de informaii, necesare n activitatea
continu i eficient a oricrei ntreprinderi sau instituii" ).
2

Dac n anii '50 informaia era vzut ca un ru necesar (paper dragon), o cerin birocratic,
viziunea asupra informaiei s-a schimbat de-a lungul timpului, ea trecnd progresiv de la suport
al scopurilor generale (perioada 1960-1970), la suport n controlul managerial (perioada 1970-
1980), devenind n prezent o important resurs strategic cu rol n asigurarea supravieuirii
firmei, un agent hotrtor al dezvoltrii, fiind numit i petrolul secolului XXI".

Datorit importanei ei, informaia a devenit o resurs la fel de valoroas ca resursele umane,
cele materiale sau financiare. Pregtirea i organizarea unui sistem de informaii necesare unei
aciuni coerente i de succes au devenit pentru ntreprinderea modern la fel de nseninate ca
producia i vnzarea. Stpnirea informaiilor necesare i utile deciziei nseamn de fapt
selectarea i utilizarea datelor obinute din gestiunea intern i n al doilea rnd capacitatea de a
le compara cu cele provenite din mediul concurenial pentru a evidenia ceea ce are un caracter
de durat i strategic de ceea ce este neesenial. Gestionarea acestei resurse, numit informaie,
reprezint o preocupare primordial n ntreprinderile modeme. Astfel, au aprut n structura
organizatoric a ntreprinderii compartimentele specializate de culegere, prelucrare i distribuire
a informaiilor, responsabilii acestor compartimente fiind de multe ori manageri de nivel nalt.

Informaia ca noiune este foarte veche. Ea este utilizat cu diferite semnificaii: suport al
cunotinelor umane, unitate de msur n informatic (bii), tire, noutate etc. Sensurile noiunii
de informaie sunt mult discutate i interpretate de ctre o disciplin sau alta.
Noiunea de informaie este complex i de mare generalitate, toate tiinele opernd cu
informaii ca elemente ale cunoaterii senzoriale sau raionale. Cunoaterea uman, transmiterea
cunotinelor vehiculeaz informaii.

n sens larg, informaia este noiunea prin care se definete fiecare din elementele noi coninute
n semnificaia unui simbol sau grup de simboluri, ntr-o comunicare, tire, semnal, imagine etc.
prin care se exprim o situaie, o stare, o aciune.
Pentru a fi perceput, informaia trebuie exprimat ntr-o form concret. Aceast form concret
se numete dat. Prin dat se nelege un numr, o mrime, o relaie care servete la rezolvarea
unei probleme sau care este obinut n urma unei cercetri urmnd a fi supus unor prelucrri.

Data poate fi considerat materia prim pentru informaie. Data are o existen obiectiv,
tangibil. Ea este o informaie potenial ntruct prin prelucrare conduce la obinerea
informaiilor. Nu orice prelucrare de date genereaz informaii. Informaia este produsul
3
prelucrrii datelor, care sunt aduse ntr-o form inteligibil i care pot fi utilizate ntr-un scop
anume. Deci o procesare de date poate genera informaie numai dac exist un receptor care s
considere acest rezultat inteligibil i folositor. Dac data este receptat de un utilizator capabil de
nelegere, persoana poate spune c a primit o informaie.

Un exemplu l poate reprezenta o ecuaie matematic. Pentru cineva familiarizat cu limbajul
matematicii, aceast ecuaie sau dat, cnd este primit, receptat i prelucrat, comunic o
informaie semnificativ. Cineva, ns, neobinuit cu limbajul matematic, cu toate ncercrile pe
care le-ar face, nu reuete s obin un plus de informaii prin citirea acestei date.

n informatic prin dat se nelege un "model de reprezentare a informaiei, accesibil unui
anumit procesor (om, unitate central, program), model cu care se poate opera, pentru a obine
noi informaii despre fenomenele, procesele i obiectele lumii reale". Sistemele de calcul
prelucreaz date, iar datele furnizate la ieire pot reprezenta informaii diferite pentru utilizatori
diferii.

Schematic relaia dintre date i informaii poate fi reprezentat astfel:

intrri ieiri
d
1n
i
1n



unde
d
1n
-date
i
1n
- informaii



Datele sunt utilizate pentru:

transmiterea informaiilor ntre oameni;
pstrarea informaiilor pentru o utilizare viitoare;
obinerea de noi informaii prin prelucrri.

O trstur fundamental a informaiei este subiectivitatea. Ceea ce poate fi o informaie pentru o
persoan, poate s nu nsemne nimic pentru altele. Pe de alt parte, pornind de la acelai set de
Prelucrri

4
date, persoane diferite, prin prelucrri diferite, pot obine informaii diferite. Dac data are o
existen fizic, tangibil, informaia exist numai n receptor, fiind intangibil.

Corespondena dat-informaie este considerat ca fiind un prim nivel n informatica economic.
Acestui nivel i se adaug un al doilea, acela al informaiilor derivate din alte informaii pe baz
de raionament, nivel considerat a fi nivelul cunotinelor.

Progresele nregistrate n domeniul tehnologiilor informaionale, materializate n cea de-a cincea
generaie de calculatoare electronice au generat trecerea de la calculatoare care calculeaz i
memoreaz date la calculatoare care raioneaz i informeaz. Astfel, denumirea de calculator
devine improprie ntruct se prelucreaz cunotine, termenul adecvat fiind cel de sisteme de
prelucrare a cunotinelor.

n Dicionarul Explicativ al Limbii Romne se precizeaz c "cunotinele cuprind totalitatea
noiunilor, ideilor, informaiilor pe care le are cineva ntr-un domeniu oarecare".
Nu orice dat sau informaie creeaz cunotine. Astfel, unele informaii sunt deja ntre
cunotinele receptorului i deci nu genereaz informaii noi. Pe de alt parte, unele informaii s-
ar putea s nu aib semnificaie pentru receptor, n sensul c nu se integreaz ntre cunotinele
lui. Cunotinele reprezint, deci, totalitatea informaiilor debndite anterior cu privire la obiectul
considerat.

1.2. Aspecte privind organizarea i structura datelor

Data este un model de reprezentare a informaiei, accesibil unui anumit procesor (om, calculator,
program), model cu care se va putea opera pentru a obine noi informaii.

O dat care apare ca o entitate indivizibil, att n raport cu informaia pe care o reprezint, ct i
n raport cu procesorul care o prelucreaz se numete dat elementar. Data elementar poate fi
privit ca model de reprezentare a informaiei la nivelul unui procesor uman (nivel logic) sau la
nivelul reprezentrii interne, respectiv pe suport (nivel fizic).





5
Din punct de vedere logic, data poate fi reprezentat printr-un triplet de forma:

D = ( i, a, v )

unde
i - identificator
a atribute
v - valori

Identificatorul datei (numele) este un simbol asociat datei pentru a o putea distinge de alte date i
pentru a se putea face referiri la ea n timpul procesului de prelucrare.

Atributele precizeaz proprietile datei i determin modul n care poate fi ea tratat n procesul
de prelucrare. Iat cteva exemple de atribute:

tipul datei care definete apartenena acesteia la o anumit clas de date, n funcie de natura
i de domeniul valorilor luate. Se disting astfel date de tip numeric (ntreg, real, complex), logic,
ir de caractere.
precizia reprezentrii interne care definete ct mai fidel reproduce modelul intern de
reprezentare obiectul pe care l reprezint. Precizia depinde de zona de memorie afectat datei.

Ea poate fi simpl precizie sau dubl precizie.
valoarea iniial
modul de alocare a memoriei pe parcursul prelucrrii (static, dinamic).

Valorile datei pot fi precizate prin enumerare sau printr-o proprietate comun i pot fi numere,
valori logice, iruri de caractere, n funcie de valoare, datele se clasific n :

date variabile (variabile) - date care pe tot parcursul procesului de prelucrare pot lua
orice valori din domeniul de definiie a datei;
date constante (constante) - date care pe parcursul procesului de prelucrare i pstreaz
aceeai valoare din domeniul de definiie al datei

Din punct de vedere fizic, o dat elementar apare ca o zon de memorie sau de suport de o
anumit mrime, situat la o anumit adres, n care se ocheaz ntr-o form specific valorile
datei.




6
Principalele tipuri de date elementare sunt:

Tipul numeric care include numerele ntregi, reale i complexe i asupra crora se
pot realiza operaii de adunare, scdere, etc.;
Tipul logic (boolean) utilizat pentru precizarea strilor de adevr (TRUE, YES) sau neadevr
(FALSE, NO) ale unui enun. Asupra acestor date se pot efectua operaii logice: AND, OR,
NOT;
Tipul caracter care reprezint o succesiune de caractere alfanumerice asupra creia se
pot defini operaii de concatenare, ordonare etc.;
Tipul pointer, adic date elementare ale cror valori sunt adrese, referine pentru alte date.

O structur este o entitate de sine-stttoare, indentificabil prin nume, ale crei componente i
menin proprietile. Componentele unei structuri de date pot fi individualizate i selectate prin
nume (identificatori) sau prin poziia ce o ocup n structur, conform cu relaia de ordine
specificat.

Structurile de date pot fi clasificate dup mai multe criterii:

a. dup modul de selectare a componentelor:
structuri cu acces direct atunci cnd o component poate fi selectat fr a ine seama de
celelalte componente ale structurii
structuri cu acces secvenial atunci cnd localizarea unui element se face printr-un proces de
parcurgere a mai multor componente, conform cu ordinea acestora.

b. dup suportul de memorie pe care se creeaz structura de date :
structuri de date interne (ir, masiv, nregistrare, liste, arbori)
structuri de date externe (fiiere, baze de date)

c. dup variabilitatea structurii:
structuri de date dinamice, care i modific pe parcursul prelucrrii structura
structuri de date statice, care pe tot parcursul existenei au acelai numr de componente i
n aceeai ordine

Asupra structurilor de date se pot efectua att operaii generale, ct i operaii specifice tipului
structurii. Cele mai ntlnite sunt:

1. Crearea se execut o singur dat la nceputul ciclului de via a structurii respective,
presupunnd memorarea structurii respective de date n forma iniial, pe suportul de memorie
intern sau extern.

2. Actualizarea reprezint operaia de aducere la zi a unei structuri de date create anterior i
presupune:


7
adugarea i/sau inserarea de noi elemente ale structurii;
modificarea valorilor unor elemente ale structurii;
tergerea fizic i/sau logic a unor elemente ale structurii.

3. Consultarea (exploatarea) asigur accesarea elementelor componente ale unei
structuri n scopul prelucrrii sau vizualizrii acesteia.
4. Sortarea permite ordonarea cresctoare sau descresctoare a elementelor unor structuri, dup
anumite criterii stabilite de utilizator, fiind o rearanjare fizic a acestora.
5. Separarea este desfacerea unei structuri in dou sau mai multe structuri.
6. Fuzionarea sau interclasarea este combinarea a dou sau mai multor structuri ntr-o singur
structur conform unor criterii.
7. Copierea presupune obinerea unei dubluri, integrale sau pariale aleas de utilizator.


1.3. Categorii de operaiuni definite asupra datelor

Prelucrarea datelor presupune parcurgerea unei succesiuni ordonate de operaii care acioneaz
asupra valorilor acestora. Ele se pot grupa n urmtoarele categorii:

operaiuni de atribuire;
operaiuni de calcul;
operaiuni de decizie;
operaiuni de intrare /ieire;
operaiuni de transfer a controlului.

Operaiunile de atribuire sunt acelea prin care unei variabile i se atribuie o anumit valoare
predefinit sau rezultatul evalurii unei expresii.
Exemplu:
NOTA = 10
TOTALV = TOTALV + VALOARE

Operaiunile de calcul se definesc pe mulimea numerelor reale. Dintre acestea fac parte operaia
de adunare, scdere, nmulire, mprire, ridicare la putere, calculul unor expresii numerice etc.

Ca operatori se utilizeaz:
+ pentru adunare;
- pentru scdere;
* pentru nmulire;
/ pentru mprire;
** pentru ridicare la putere.
8

De asemenea, n cadrul expresiilor se pot utiliza i parantezele, evaluarea acestora facndu-se
dup regulile din algebr.

Exemplu:

SALARIU NET = ((NRORLUCR * TARIFO) + SPORVECH) - IMPOZ a = (b * c)**2 + V650

Operaiunile de decizie sunt utilizate pentru a determina valoarea logic a unei propoziii
(adevrat sau fals). Ele condiioneaz executarea unor operaiuni sau grupuri de operaiuni.
Operatorii utilizai pentru scrierea condiiilor pot fi operatori relaionali (=, >, <, f) i/sau
operatori logici (NOT, AND, OR).

Exemplu:

IF STOCSIGURANTA < 25000 THEN
PRIN "Este necesar reaprovizionarea" ENDIF

Operaiunile de intrare/ieire vizeaz realizarea transferului de date ntre memoria extern i cea
intern i invers. Pentru optimizarea operaiei de intrare/ieire se interpun zone tampon (buffere)
att pentru intrare ct i pentru ieire. Cele mai utilizate operaii de intrare/ieire sunt cele de
deschidere i nchidere a fiierelor i de citire i scriere date.
Operaiunile de transfer a controlului sunt operaii de salt i de apelare. Cele de salt au rolul de a
preda controlul unei alte operaiuni dect cea imediat urmtoare, iar cele de apel, determin
lansarea n execuie a unor proceduri (grupuri de operaiuni), evitndu-se astfel descrierea lor de
mai multe ori n cadrul algoritmului de rezolvare a problemei.

1.4. Accesul i organizarea fiierelor

Modul de organizare al fiierelor
Organizarea fiierelor nseamn definirea regulilor de dispunere fizic a articolelor pe suport.
Metodele de organizare a fiierelor sunt de dou tipuri: clasice (elementare) i mixte (derivate).
Metodele clasice de organizare sunt organizarea secvenial, organizarea direct, organizarea
secvenial-indexat.


9
Organizarea secvenial
presupune dispunerea articolelor pe suport unele dup altele, n ordinea obinerii lor, dup criterii
stabilite de utilizator. Fiierele secveniale se caracterizeaz prin:

fiecare articol n, n afar de primul i ultimul articol, are un articol precedent n-1 i un
articol urmtor n+1;
articolele nu au o identitate. Astfel, pentru a ajunge la articolul n, trebuie s se parcurg
toate cele n-1 articole precedente;
orice fiier secvenial are ca ultim articol, un articol special, respectiv EOF (End of File);
adugarea articolelor se realizeaz, de obicei, la sfritul fiierului.
articolele unui fiier secvenial nu pot fi terse, de aceea de obicei exist un cmp special,
numit cmp de tergere unde se marcheaz articolele care se doresc a fi terse, tergerea
realizndu-se prin rescrierea fiierului respectiv.

Consultarea unui astfel de fiier se poate face prin citirea articolelor n ordinea n care apar pe
suport, accesul fiind secvenial. Ca urmare, timpul de acces este destul de ridicat, actualizarea
fiind greoaie i lent.
Aceste fiiere sunt recomandate atunci cnd prin program se prelucreaz toate articolele
coninute sau un numr mare a acestora. Fiierele secveniale se utilizeaz i ca fiiere de
salvare/arhivare. Avantajul lor const n faptul c pot fi organizate pe orice tip de suport
(adresabil sau nu, reutilizabil sau nu).
O operaie tipic pentru fiierele secveniale este sortarea. Sortarea reprezint rearanjarea unui
fiier secvenial la nivel fizic ntr-un alt fiier secvenial, dup un anumit criteriu aplicat unei
pri a articolelor (de obicei un cmp), parte numit cheie de sortare. Sortarea poate fi efectuat
dup mai multe chei. n acest caz, prima cheie este cea care hotrete ordinea i numai dac dou
articole au aceeai valoare pentru aceasta, se ia n considerare a doua cheie, pe urm a treia cheie,
etc. Din aceast cauz cheile se numesc chei primare, secundare, teriare etc.
Fiierele secveniale se pot concatena, adic din dou fiiere se poate obine un al treilea fiier,
sortat n aceeai ordine.

Organizarea direct (selectiv) stocheaz i gestioneaz nregistrrile pe suport pe baza unor
procedee de repartizare (randomizare). Plecnd de la un element al nregistrrii, numit cheie de
repartizare, se calculeaz adresa de dispunere pe suport pe baza unei formule. Aceeai formul
este aplicat att la dispunerea pe suport, ct i la cutrile ulterioare. Adresa de pe suport se
10
determin astfel pe baza algoritmului de randomizare, folosind o funcie A=F(k), unde k
reprezint un element al nregistrrii.
Organizarea direct este specific suporturilor adresabile i asigur consultarea i actualizarea
rapid a fiierelor.

Organizarea secvenial-indexat are o larg utilizare n practic deoarece permite att accesul
secvenial, ct i accesul direct. Suporturile utilizate trebuie s fie adresabile. Fiierele indexate
sunt ansambluri de articole logice aezate unul dup altul n ordinea cresctoare sau
descresctoare a valorii cheii de articol. Cheia de articol este un cmp sau rezultatul evalurii
unei expresii de cmpuri din structura articolului fiierului indexat. Fiierele index nltur
limitele fiierelor prezentate anterior:

1.5. Informatica i informatica economic.

Una din caracteristicile fundamentale ale epocii actuale o reprezint explozia informaional
determinat de creterea ritmului de dezvoltare a societii i de avntul fr precedent al tiinei
i tehnicii. Prelucrarea electronic a datelor a fost i devine tot mai mult o necesitate stringent
pentru toate domeniile activitii umane. Astfel, informatica - tiina culegerii, transmiterii,
stocrii i prelucrrii automate a datelor - ptrunde, pe zi ce trece, n tot mai multe sfere de
activitate, generalizndu-se.

Se consider c apariia informaticii constituie cea de-a cincea descoperire venit n sprijinul
omului pentru a lua decizii. Cele cinci momente care au marcat evoluia civilizaiei umane sunt
urmtoarele:

l. apariia limbajului articulat, ca principal mijloc de comunicare ntre oameni;
2. inventarea scrisului prin care se compenseaz limitele memoriei biologice;
3. realizarea tiparului care a pus bazele memoriei sociale constituit din cri i publicaii;
4. utilizarea sistemelor de telecomunicaii care nltur limita determinat de distan;
5. apariia calculatoarelor electronice care permit culegerea, prelucrarea i transmiterea
informaiilor facilitnd realizarea dezideratelor activitii de informare.

Dac primele calculatoare electronice apar n deceniul 5 al secolului XX, termenul de
informatic apare abia n 1962 i provine din literatura francez. Noiunea de informatic a fost
creat prin asocierea cuvintelor informaie i automatic: INFORmation i autoMATIQUE.
11
Prima definiie a informaticii aparine Academiei Franceze care n 1966 preciza c informatica
este tiina prelucrrii raionale, ndeosebi prin maini automate, a informaiei considerat ca
suport al cunoaterii umane i al comunicrilor n domeniile tehnice, economice i sociale".

Din definiia informaticii se desprind cel puin trei caracteristici ale acesteia:
- prelucrarea raional bazat pe legi generale i pe anumite tehnici proprii cercetrii
operaionale, programrii liniare, teoriei algoritmilor etc.;

- prelucrarea logic i automat prin intermediul mainilor electronice, acesta
reprezentnd aspectul fundamental al informaticii;

- universalitatea informaticii, adic posibilitatea de cuprindere a tuturor domeniilor de
activitate.

n dicionarul de informatic, definiia dat este urmtoarea: informatica reprezint o activitate
pluridisciplinar, avnd ca scop iniial elaborarea de metode noi, inclusiv sisteme automate
pentru distribuirea informaiei tehnico-tiinifice, studiind procesele de comunicaie n
colectivitile tiinifice i industriale i urmrind dezvoltarea unor tehnici i sisteme pentru
organizarea, memorarea i distribuirea mai eficient a informaiei.

Pe msura dezvoltrii ei, informatica a cptat noi valene, iar domeniile sale de utilizare s-au
extins continuu. Specialiti din toate sferele de activitate: tehnic, economic, social etc.,
vorbesc de informatica lor specific i ncearc a lega tot mai mult informatica de domeniul lor
de activitate, considernd-o ca o informatic particular. Lucru posibil, deoarece informatica este
o tiin universal care se conduce dup legi generale aplicabile n toate domeniile de activitate.

Astfel, a ajuns s se vorbeasc de o "informatic industrial" , de "informatic medical", de
"informatic economic" etc.

Informatica economic reprezint un ansamblu de mijloace tehnice (bazate pe calculator) i
umane destinate culegerii, stocrii, prelucrrii i transmiterii informaiilor n scopul
eficientizrii managementului, a altor activiti economice din firme, precum i a planificrii
afacerilor.





12



La sfritul anilor '70 odat cu proliferarea microinformaticii a aprut un nou concept:
Informatica utilizatorului final .

Prin noile instrumente de lucru disponibile pe microcalculatoare (programe de calcul tabelar,
procesoare de texte, limbaje de interogare a bazelor de date), utilizatorul lucreaz direct cu
sistemele de calcul, fr a recurge la intermediari.
n informatica clasic, bazat pe o organizare centralizat, ntre utilizatori i calculator se
interpuneau alte categorii de personal (operatorii de date, analitii de sistem, informaticienii).
Astzi, utiliznd microcalculatoarele i programe foarte uor de utilizat, orice economist,
indiferent de compartimentul (finane, contabilitate, marketing etc) n care i desfoar
activitatea i nivelul ierarhic la care se afl, vine n contact direct cu datele legate de operaiunile
pe care le gestioneaz. Cu actualul suport din partea tehnologiilor informaionale, utilizatorii pot
cuta i extrage informaiile necesare fundamentrii deciziilor, pot procesa documente, transmite
electronic documente, consulta bnci de date, ba chiar pot crea programe de aplicaii de mai
mare sau mai mic anvergur.

Informatica utilizatorului final reprezint utilizarea direct i efectiv a calculatorului de ctre
utilizatorul final. Aceasta nu nseamn dispariia centrelor (oficiilor) de calcul din ntreprinderi,
ci reorientarea acestora, ieirea din ncperile speciale i difuzia n toate birourile i
compartimentele funcionale. Transferul a avut loc deoarece oficiile de calcul ale ntreprinderilor
nu au posibilitatea de a dezvolta attea aplicaii ct s satisfac toate cerinele informaionale ale
utilizatorilor. Actualmente, datorit metodologiilor i instrumentelor utilizate n dezvoltarea de
aplicaii-program, ntre cerinele utilizatorilor i implementarea aplicaiilor cerute exist un
decalaj ce variaz, n general, de la doi la cinci ani. n al doilea rnd, apariia i extinderea
utilizrii unor echipamente puternice, pe care se poate executa programe cu o interfa
prietenoas, generalizarea limbajelor de interogare a bazelor de date, a instrumentelor pentru
analiza datelor au adus la ndemna utilizatorilor instrumente care, n trecut, pentru a fi create i
puse n funciune, necesitau un imens volum de timp i bani. Utilizatorii au acces nu numai la
propriile echipamente, aplicaii i date, ci i ale grupului de lucru, compartimentului funcional
sau ale ntregii ntreprinderi n care-i desfoar activitatea.

13
Pentru a asigura coordonarea activitii de informatic n contextul n care utilizatorii finali au
acces direct la resursele informaionale, numeroase ntreprinderi i-au creat infocentre la nivelul
crora exist o serie de specialiti (analiti, programatori, administratori baze de date,
administratori de reele) care ofer asisten de specialitate (consultan) utilizatorilor finali n
efortul lor de a-i informatiza activitile. Infocentrul este o unitate organizaional care
furnizeaz echipamentele, programele i personalul care asist utilizatorii n cadrul unei
organizaii. Aceasta unitate poate fi organizat ca un compartiment funcional distinct al
ntreprinderii, dar poate fi i difuzat" n toate departamentele (marketing, personal, producie,
financiar, contabilitate etc.).

Introdus de IBM Canada n 1974, infocentrul s-a rspndit rapid i este privit ca un pilon
important al informatizrii organizaiilor, n cursul ultimilor ani, ns, o serie de ntreprinderi au
renunat la infocentrele proprii, delegnd responsabilitile de asistare a utilizatorilor finali unor
firme specializate. Cu toate acestea, infocentrul continu s fie privit ca un excelent suport al
informaticii utilizatorului final.

Cea mai mare parte a infocentrelor furnizeaz:
suport material utilizatorului final care are nevoie de microcalculatoare, terminale inteligente,
terminale grafice evoluate, imprimante rapide etc.
asisten software pentru instruirea n lucrul cu procesoare de texte, programe de calcul
tabelar, programe de prezentare/grafic etc.
consultan de specialitate pentru utilizatori, asigurat de consilieri n scopul exploatrii
resurselor materiale i software pentru ameliorarea eficacitii i eficienei activitilor.












14
2. Baze de date

Noiuni generale

O baz de date reprezint o modalitate de stocare a unor informaii (date) pe un suport extern, cu
posibilitatea regsirii acestora.
De obicei o baz de date este memorat ntr-unul sau mai multe fiiere. Bazele de date sunt
manipulate cu ajutorul sistemelor de gestiune a bazelor de date.
Cel mai rspndit model de baze de date este cel relaional, n care datele sunt memorate n
tabele. Pe lnga tabele, o baz de date relaional mai poate conine: indeci, proceduri stocate,
trigger-e, utilizatori i grupuri de utilizatori, tipuri de date, mecanisme de securitate i de
gestiune a tranzaciilor etc.

Un server de baze de date este un software care nteine o baz de date, i un client este o
aplicaie care cere informaii de la server. Fiecare calculator ntr-un sistem este un nod. Un nod
ntr-un sistem de baze de date distribuite se comport ca un client, un server, sau ambele,
depinde de situaie.

Bazele de date relaionale (BDR) utilizeaz modelul de date relaional i este un ansamblu
organizat de tabele (relatii) mpreun cu legturile dintre ele. Atunci cnd dorim sa realizm o
baz de date relaional trebuie sa tim clar ce avem de fcut, adic s stabilim obiectivele
activitii noastre.

n acest sens, cteva dntre cele mai importante obiective sunt :

- Partiionarea
semnific faptul c aceleasi date trebuie s poat fi folosite n moduri diferite de ctre diferii
utilizatori;
- Deschiderea
se refer la faptul c datele trebuie s fie uor adaptabile la schimbrile care pot aprea
(actualizarea structurii, tipuri noi de date etc.);


15
- Eficienta
are n vedere stocarea si prelucrarea datelor, care trebuie sa se fac la costuri ct mai sczute,
costuri care s fie inferioare beneficiilor obinute;

- Reutilizarea
nseamn faptul c fondul de date existent trebuie s poat fi reutilizat n diferite aplicaii
informatice;
- Regsirea
este o actvitate frecvent pe bazele de date i de aceea cererile de regsire trebuie s poat fi
adresate usor de catre toate categoriile de utilizatori, dupa diferite criterii;
- Accesul
nseamn modul de localizare a datelor si acest lucru trebuie s poat fi realizat prin diferite
moduri de acces, rapid si usor;
- Modularizarea
presupune faptul ca realizarea BDR trebuie s se poat face modular pentru generalitate si
posibilitatea lucrului n echipa;
- Protectia
bazei de date trebuie asigurat sub ambele aspecte: securitatea si integritatea datelor;

Pentru a rula programe SQL, este necesar un sistem de gestionare a bazelor de date (SGBD). O
baz de date nu este acelasi lucru cu software-ul pentru baze de date .Software-ul pentru baze de
date este denumit SGBD. O baza de date , care este doar o component a unui SGBD, conine
datele propriu-zise - cu alte cuvinte este un container (unul sau mai multe fiiere) care stocheaz
informaii structurate. n afara sarcinilor de control al organizrii i integritii bazelor de date,
SGBD-urile execut i alte sarcini, ca de exemplu stocarea fizic, securitatea, replicarea si
recuperarea infomaiilor dupa erori. n locul prescurtrii SGBD se poate utiliza prescurtarea
SGBDR n care R reprezint prescurtarea pentru relational.





16
Conceptul de baz de date.

Organizarea datelor n vederea prelucrrii pe calculator este o activitae tot aa de important ca i
realizarea programelor. Cele dou componente principale ale unui sistem informatic: datele i
programele, se gsesc ntr-o strns interdependen. Un program, orict de elaborat i rafinat ar
fi, nu va produce rezultatele scontate, dac va lucra cu o structur de date depit. Tot aa de
bine, o structur de date bine pus la punct nu va putea suplini carenel unui program care o
prelucreaz.

Trebuie fcut distincie ntre date, informaii i cunotine. Din punct de vedere al prelucrrii pe
calculator, datele sunt definite de trei elemente: un identificator, atribuite i valoare. Exemplu:
cantitate (identificator), numr real i pozitiv (atribuite), 50,5 (valoare).

La modul cel mai simplu, informaia este un mesaj care are carater de noutate, altfel spus care
nltur o nedeterminare (necunoatere). Informaiile se obin n urma prelucrrii datelor.
Cunotinele reprezint informaii simple sau agregate, pe care le dobndim din lumea real. n
ultimul timp se vorbete tot mai mult de organizarea acestora n baze de cunotine.

Organizarea datelor din punct de vedere informatic are 2 componente:

organizarea datelor n memoria intern a calculatorului, care cuprinde structurile de tip: list,
coad, stiv i decoad;

organizarea datelor pe memoria extern, care cuprinde structurile de tip fiier i baz de date.

Organizarea datelor pe memoria extern a parcurs n timp mai multe stadii: fiier, fiiere cu
legturi i a culminat cu bazele de date actuale. Majoritatea sistemelor informatice actuale
lucreaz cu baze de date.

O baz de date poate fi definit ca un ansamblu de date elementare sau structurate, accesibile
unei comuniti de utilizatori. Mai concret, o baz de date, este un ansamblu de fiiere
intercorelate, care conine nucleul de date necesare unui sistem informatic (aplicaie
informatic).

17
Un fiier este un ansamblu de nregistrri fizice, omogene din punct de vedere al coninutului i
al prelucrrii. O nregistrare fizic este unitatea de transfer ntre memoria intern i cea extern a
calculatorului. Aceasta este format din una sau mai multe nregistrri logice. O nregistrare
logic este unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta este
format dintr-un ansamblu de cmpuri, care descriu o anumit realitate.

n afara conceptului de baz de date (BD) exist un alt concept cunoscut sub numele de banc de
date. O banc de date este o BD mai puin struturat i care deservete sistemele documentare.
Finalitatea utilizrii unei bnci de date este mai puin precis dect a unei baze de date (care
rspunde cerinelor informaionale ale unei organizaii) innd seama de diversitatea utilizatorilor
poteniali ai acesteia. n general, bncile de date sunt orientate spre publicul larg pentru a oferi
diverse servicii de informare cum ar fi: mesul trenurilor, cursul valutar, consultarea unei
biblioteci etc.



2.1. Obiectivele fundamentale ale unei baze de date (BD)


Centralizarea datelor permite: suprimarea redundanei, asigurarea unicitii nregistrrii i
controlul centralizat (asupra datelor). n prelucrarea clasic n care fiierele sunt dedicate
aplicaiilor, aceleai date apar nregistrate n mai multe fiiere i n formate diferite. Acest lucru
implic o utilizare ineficient a spaiului de memorie extern, actualizarea dificil a acestor date
i lizibilitate redus ca urmare a formatelor diferite.

Independena ntre date i prelucrri. Baza de date, ca imagine a unei anumite realiti, trebuie
actualizat permanent. Acest lucru nu trebuie s afecteze programele de prelucrare. Pentru
aceasta trebuie ca fiecare program s aib o viziune proprie asupra BD.

Realizarea de legturi ntre entitile de date, care sunt indispensabile pentru exploatarea
eficient a sistemului informatic. Spre exemplu, n cadrul gestiunii aprovizionrii, trebuie asociat
un furnizor la lista de produse pe care le vinde i invers un produs la lista de furnizori, preciznd
condiiile de vnzare pentru un furnizor i un produs.

18
Integritatea datelor asigur fiabilitatea i coerena bazei de date (BD). Pentru aceasta trebuie
definite restricii de integritate cum ar fi:

apartenena la o list de valori sau interval;
apartenena la un anumit format;
reguli de coeren cu alte date.

Aceste reguli trebuie s reflecte att aspectele statice ct i cele dinamice. Spre exemplu, dup o
actualizare de cretere a salariului, nivelul acestuia trebuie s fie mai mare dect cel precedent.

Securitatea datelor. Baza de date trebuie s fie protejat mpotriva unei distrugeri logice
(anomalie de actualizare) sau fizice. Pentru aceasta exist instrumente care permit:

crearea unor puncte de repriz; altfel spus salvarea din timp n timp a unor copii coerente ale
bazei de date;
gestiunea unui jurnal de tranzacii; lista operaiilor realizate asupra bazei de date dup ultimul
punct de repriz.

Dac apare o anomalie care ar putea distruge BD, pe baza copiei de la ultima repriz i a
jurnalului de tranzacii se poate reface baza de date n forma iniial. Protecia mpotriva unei
distrugeri fizice se face prin realizarea unei copii a bazei de date.

Confidenialitatea datelor este asigurat prin proceduri de:

identificarea a utilizatorilor prin nume sau cod;
autentificarea prin parole;
autorizarea accesului difereniat prin drepturi de creare, consultare modificare sau tergere
pentru anumite segmente de date.

Partajarea datelor permite nlnuirea tranzaciilor solicitate simultan pe aceiai nregistrare din
baza de date, prin blocarea cererilor n ateptare i deservirea ulterioar a acestora.




19
2.2. Sisteme de Gestiune pentru Baze de date Distribuite (SGBDD)

Necesitatea descentralizrii sistemelor informatice, pe de o parte, i realizarea pe plan mondial a
unor reele de calculatoare care permit conectarea mai multor baze de date ntr-o reea, pe de alt
parte, au dus la apariia bazelor de date distribuite i, implicit, a SGBDD. BDD reprezint un salt
calitativ superior n evoluia bazei de date, deschiznd noi perspective n proiectarea i realizarea
sistemelor informatice. Un sistem de BDD este format dintr-o colecie de baze de date locale,
amplasate geografic n puncte diferite (noduri ale unei reele de calculatoare) i legate logic prin
relaii funcionale, astfel nct pot fi vzute la nivel global ca o singur baza de date.

Obiectivele principale ale unui sistem SGBDD sunt:

definirea i manipularea coleciilor de date distribuite pe calculatoare diferite, ca un singur
ansamblu logic (baza de date distribuit);
distribuirea datelor trebuie s se fac dup criterii foarte variate care s rspund tuturor
necesitilor utilizatorilor;
utilizatorii manipuleaz datele fr a cunoate locul unde sunt memorate;
pentru creterea gradului de fiabilitate sau de performan, datele pot fi duplicate pe mai
multe sisteme, fr ca utilizatorii s cunoasc acest lucru;
asigurarea coerenei bazei de date n cazul operaiilor de actualizare i de reluare n caz de
incidente la unul sau la mai multe din nodurile reelei;
exploatarea bazei de date n regim de multi-acces;
controlul accesului la date.


2.3. ACCESS 2002/2003

Elemente ale bazei de date

Baza de date - ansamblu de obiecte utilizat pentru a gestiona informaii. Ea conine unul sau
mai multe tabele, precum i alte obiecte (de exemplu, rapoarte). O baz de date Access e stocat
sub forma unui fiier unic.

Tabel Obiect dintr-o baz de date, n care informaiile sunt stocate bidimensional, aranjate pe
rnduri i coloane.
20

Cmp Categorie de informaii dintr-un tabel, de pild o adres, titlul unei casete sau actul de
identitate al unui client. Cmpurile reprezint coloanele tabelului.

nregistrare Toate informaiile legate de un subiect dintr-un tabel. Rndurile reprezint
nregistrrile unui tabel.

Obiect O unitate indentificabil ntr-o baz de date, de exemplu , un tabel, un raport sau un
formular.

Spre deosebire de instrumentele anterioare de baze de date, Microsoft Access stocheaz toate
componentele unei baze de date ntr-un singur fiier cu extensia mdb. La deschiderea fiierului,
obiectele care formeaz baza de date sunt afiate n fereastra Database.


Tabele

Toate datele stocae n Access sunt n tabele. Fiecare coloan a tabelului este denumit cmp, iar
fiecare rnd al tabelului este o nregistrare. Atunci cnd creai un tabel nou, vi se cere s definii
cmpurile, atribuind fiecruia o denumire unic i indicndu-i programului Access tipul de date.
Putei aduga alte cmpuri mai trziu, dar dac ai creat interogri, formulare i rapoarte care
folosesc datele din tabel, s-ar putea s fie nevoie s le reproiectai i pe aceasta. n lumea bazelor
de date, puin planificare popate duce la beneficii substaniale.

Pentru a v ajuta s creai repede tabelele, Access v pune la dispoziie Table Wizard (program
vrjitor pentru tabele), care definete nume de cmpuri i tipuri pentru baze de date personale
sau de afaceri uzuale.

Access construiete el nsui tabele pentru a stoca informaii despre tabelele, interogrile i
celelalte obiecte pe care le crem. Pentru a vedea aceste tabele ascunse, selectai opiunile
Options/View/System Objects (Opiuni / Afiare/Obiecte de sistem) din meniul Tools
(Instrumente).



21
Interogri

O interogare este destinat gsirii datelor din tabele sau operrii asupra acestora. Folosesc
interogrile pentru:

A afia numai nregistrrile care corespund criteriilor pe care le-ai ales, cum ar fi, de
exemplu, membrii unei societi care provin din Germania.

A afia nregistrrile n orice ordine dorii, de exemplu dup numele de familie sau
corespunztor districtului potal.

A combina datele din tabele diferite, afind rezultatele ntr-o singur fereastr care
cuprinde tot ce v intereseaz n momentul respectiv.

A realiza modificri similare n mai multe nregistrri dintr-un tabel simultan.
A terge grupuri de nregistrri, cum ar fi cele referitoare la plile ntrziate cu mai mult
de 12 luni.

A crea alte tabele pentru a pstra un instateneu al informaiilor, cum ar fi instruciile
trimise la sfritul lunii.


n majoritatea situaiilor, Access v permite s editai datele afiate ntr-o interogare.
Orice modificri vor fi scrise napoi, n tabelul care a furnizat datele. O interogare nu are date
proprii, opernd cu ceea ce citete din sau scrie n tabelul
respectiv.

Formulare

Un formular este o fereastr pentru introducerea datelor pe ecran, pentru afiarea i editarea
datelor. n timp ce tabele i interogrile prezint datele ntr-o form asemntoare cu o foaie de
calcul, formulare pot afia, de asemenea, cte o nregistrare deodat, ca un sistem de cartele
index. Totui, spre deosebire de cartele index, formularul poate prezenta nregistrrile n orice
ordine, gsi o anumit nregistrare n funcie de valoarea unui cmp sau selecta numai
nregistrrile care ndeplinesc criteriile alese de utilizator. Suplimentar, formularele pot conine
22
subformulare pentru a afia date asociate, cum ar fi cursurile la care este nscris un student. De
asemenea, formularele pot conine butoane care realizeaz sarcini specifice.

Formularele reprezint interfaa utilizator a bazei de date. n plus fa de introducerea i
extragerea datelor, putem folosi butoanele unui formular pentru a deschide alte formulare sau
pentru a tipri rapoarte. Deoarece formularele sunt partea cea mai vizibil a bazei de date,
Access 2002 pune la dispoziie noi posibiliti de a mbunti nfiarea fortmularelor, cum ar
fi fundalurile obinute prin redinmensioanrea la scar a imaginilor, etc.

Rapoarte

Dac formularele sunt utilizate pentru introducerea datelor pe ecran, rapoartele sunt folosite
pentru operaii de ieire, datele fiind dirijate de obicei ctre o imprimant. Orice se intenioneaz
a se tipri merit s capete forma unui raport, indiferent de faptul c este vorba de o list de
clieni, de o statistic financiar pe o anumit perioad, de un grafic colorat sau o secven de
etichete potale.

Access pune la dispoziie mai multe programe Wizard (vrjitor) pentru a ajuta la crearea
tipurilor de rapoarte uzuale. Dac se dorete selectarea doar a unor date n vederea includerii n
raport, trebuie s se creeze mai nti o interogare i s se fundamenteze raportul pe rezultatele
interogrii.
De asemenea, se va folosi o interogare pentru a genera un raport care combin informaii din mai
multe tabele.

Comenzi macro

O comand macro reprezint o secven de aciuni care trebuie repetat la comanda
utilizatorului. Aceast secven este programat prin alegerea dintr-o list derulat de aciuni
disponibile i introducerea detaliilor pentru operaia respectiv n partea de jos a ecranului .

De exemplu, dac alegem aciunea OpenForm (Deschide formularul) , Access ateapt s
introducem numele formularului care trebuie deschis. Comenzile macro sunt asociate adeseori
unui buton din cadrul unui formular astfel nt, atunci cnd executai clic pe butonul respectiv,
aciunile respective sunt ndeplinite. Comenzile macro din Access trebuie create direct de
utilizator.
23
Module

Modulele sunt recipiente pentru subrutinele i funciile Vizual Basic, astfel nct este necesar o
oarecare experien de programare.

Tot ce poate fi realizat cu o comand macro poate fi ndeplinit, de asemenea, cu un modul i
chiar mai mult. De exemplu, o funcie simpl poate realiza o verificare de validare a datelor
dintr-un formular, nainte de a permite salvarea nregistrrii ntr-un tabel.

Orice formular i orice raport au un modul intern, modul care nu este reprezentat n fereastra
Database i care conine codul corespunztor numai pentru formularul sau raportul respectiv.
Fiecare modul CBF este creat pentru a manipula nite rutine speciale care vor fi rulate n mod
automat la orice apariie a unor evenimente particulare. Aceste proceduri pentru tratarea
evenimentelor determin adevrata putere i flexibilitate a sistemului, constituind esena
adevratei programri a bazelor de date n Access.
Posibilitile sunt extinse n continuare n Access 2000: codul dintr-un modul CBF poate fi
folosit acum pentru alte formulare i module.

Obinerea asistenei soft

Apsnd tasta F1 apelm sitemul de asisten soft contextual la care avem acces n aproape orice
situaie posibil. Fereastra iniial Access Help are patru etichete:

Contents (Cuprins): dac avei nevoie s pornii de la nceput.

Index: n cazul n care cunoatei denumirea subiectului pentru care vrei ajutor.

Find(Gsete): dac v putei permite s folosii spaiu suplimentar pe disc pentru un sistem
index mai cuprinztor.

Answer Wizard (program vrjitor pentru rspunsuri): un program nou care ncearc s
rspund la ntrebrile puse n limbaj natural.



24
ntreinerea bazelor de date

n timp ce lucrai cu o baz de date (adugnd i tergnd date, crend i distrugnd obiecte,
folosind tabele temporare i aa mai departe), stocarea din interiorul ei ncepe s se fragmenteze
ntr-o anumit msur. Aa cum o unitate de disc are nevoie de o defragmentare periodic, un
fiier baz de date are nevoie de o compactare periodic pentru a-i menine performanele la un
nivel optim.
Pentru a compacta o baz de date, nchidei fereastra Database, dar lsai sitemul Access ca
atare deschis. Asigurai-v c nu exist ali utilizatori care s fi deschis fiierul. Alegei opiunile
Database Utilities/Compact Database din meniul Tools. Access v va cere numele bazei de
date de compactat, precum i denumirea care trebuie folosit pentru baza de date compactat.
Este permis alegerea aceluiai nume. n acest caz, Access va crea o copie temporar pe care o
va redenumi cu numele original la sfritul procesului de compactare.

Ocazional, un fiier baz de date se poate defecta. Dac o parte a fiierului este afectat,
consecinele pot fi devastatoare, deoarece toate obiectele sunt plasate ntr-un singur fiier.
Access v pune la dispoziie un utilitar pentru reparaii, care ncearc s rezolve unele probleme
cum ar fi indeci i legturi de obiect care nu sunt valabile. Dac primii un mesaj care v spune
c baza dumneavoastr de date are nevoie de reparaie sau dac aceasta ncepe s se comporte
ciudat, ncercai s folosii utilitarul pentru reparaii.

Spre deosebire de Compact Database, utilitarul Repair Database nu lucreaz cu o copie a bazei
dumneavoastr de date, ci ncearc s repare chiar originalul. n consecin, nainte de a rula
programul de reparare a bazei de date, trebuie s v creai o copie de siguran. n cursul
procedurii de preparare, n fiier sunt create obiecte temporare, astfel nct va trebui s folosii
utilitarul de compactare dup finalizarea reparaiei.


Tabelele

reprezint obiectele din cadrul bazei de date care stocheaz datele. Un tabel este constituit din
cmpuri, care sunt coloane crora li se atribuie cte un nume, fiecare avnd un tip de date i o
demensiune bine precizate. Aceast abordare structurat a datelor asigur bazelor de date puterea
i viteza de lucru de care au nevoie.

25
Acces permite s folosii nume cu o lungime de pn la 64 de carctere, inclusiv spaiile
nglobate.


Tipuri de cmpuri

Trebuie de precizat tipul de date pe care-l conine fiecare cmp, n cadrul urmtoarelor opiuni:

Text
Cu toate c n Access dimensiunea prestabilit a unui cmp text este de 50 de caractere, putei
alege orice dimensiune de la 11 la 255.

Memo
Dimensiunea e limitat de 64 KB (kilooctei). Aceast limit a dimensiunii unui cmp memo
nseamn c putei stoca aproximativ 16 pagini de text scris la un rnd pentru fiecare nregistrare.
Cmpurile memo constau numai din text.

Numr
Tipul numr (Number) include mai multe tipuri care difer prin modul de stocare i viteza de
rspuns. Tipul Byte (Octet) accept numai valori ntregi pozitive pn la 255, tipul Integer
(ntreg) acoper domeniul numerelor ntregi de la - 32768 la 32768, iar Long Integer (ntreg
Lung) numerele ntregi pn dincolo de limitele de plus i minus 2 miliarde. De notat c spaiul
de stocare pentru un numr Long Integer este de patru ori mai mare dect cel pentru un octet.
Viteza de lucru va fi mai redus n cazul manipulrii tipurilor n virgul mobil Single i Double.
Tipul Single acoper domeniul numerelor fracionare cu pn la apte cifre semnificative, n timp
ce Double mrete precizia pn la 14 cifre semnificative, permind lucrul cu numere uriae i
infinitezimale.

Dat calendaristic/Or
Access stocheaz intern datele calendariswtice sub forma unor numere n virgul mobil de opt
octei, ora fiind reprezentat ca o fraciune dintr-o zi.

Dac vrei ca Access s introduc n mod automat data curent, indicai pentru proprietatea
Default Value (Valoarea prestabilit) a cmpului Now () pentru a stoca att ora ct i data.

26
Numr cu incrementare automat
n versiunile anterioare ale programului Access, tipul numr cu incrementare automat
(AutoNumber) era numit Counter (numrtor), putndu-i fi atribuite numai valori ntregi lungi
secveniale.

Da/Nu
Tipul Da/nu (Yes/No) stocheaz numai valori True/False (Adevrat/Fals). O astfel de valoare
poate fi afiatt n una din formele True/False, Yes/No sau On/Off (Pornit/Oprit sau
Activat/Dezactivat). Dac avei nevoie s selectai manual unele nregistrri, un astfel de cmp
Yes/No prezentat sub forma unei casete de validare reprezint o metod foarte eficient de
selectare e deselectare.

Obiect OLE
Tipul de cmp OLE este destinat pstrrii datelor provenite de la alte programe, care s-au
nregistrat ele nsele ca servere OLE n Windows. Aceasta permite bazei dumneavoastr de date
s stocheze documente create de programe de prelucrare a textelorr, seturi de foi de calcul,
ilustraii, sunete.

Proprietile cmpurilor

Sunt afiate n partea de jos a ferestrei Table Design (Proiecatre table), avndu-se posibilitatea de
a preciza mai multe proprieti pentru fiecare cmp.

Field Size (Dimensiunea cmpului) depinde de tipul cmpului, aa cum am artat mai sus.

Format
Opiunea stabilit pentru aceast proprietate realizeaz modul n care Access v afecteaz datele.
Coninutul irului de formatare poate fi un fornmat predefinit, cum ar fi Currency (Valut),
Percent (Procent) sau Short Date (Data calendaristic n form scurt ), etc.

Input Mask
Pe cnd proprietatea Format controleaz modul de afiare a datelor pe ecran, proprietatea Input
Mask (Masca de intrare) controleaz introducerea datelor n cadrul cmpului.


27
Caption
Access folosete valoarea proprietii Caption (Titlu) pentru a afia titlurile numelor de cmp n
modul de afiare Datasheet (Foaie de date). Suplimentar, aceast valoare este utilizat ca etichet
a unui control legat de acest cmp, din cadrul unui formular nou. Dac proprietatea Caption este
necompletat, chiar numele cmpului va fi folosit ca titlu.

Default Value
Default Value (Valoarea prestabilit) reprezint valoarea iniial, oferit la adugarea unei noi
nregtistrri. De exemplu, cmpurile Yes/No cer adeseori valoarea prestabilit True.

Validation Rule i Validation Text
Fiecare cmp are proprietile de Validation Rule (Regul de validare) i Validation Text (Text
de validare).
De exemplu, pentru a restrnge datele introduse la numerele dintre 75 i 750, oopinea Validation
Rule trebuie stabilit la

Between 75 and 750 (ntre 75 i 750).
Dac datele introduse nu respect regul de validare, textul din Validation Text va fi afiat ntr-o
caset de mesaje. n mod normal, acest text trebuie s explice n ce const regula, astfel nct un
utilizator s poat nelege cum s introduc o valoare acceptabil.

Required
Pentru a sublinia faptul c un cmp nu trebuie lsat necompletat, stabilii pentru proprietatea
Required (Necesar) valoarea Yes (Da). Pentru cmpurile Primary Key (Cheie primar) o astfel de
configurare este inutil, deoarece Access insist deja asupra faptului c nu trebuie lsate
necompletate.

Indexed
Indecii asigur mecanismul de regsire rapid a datelor. n general, indexai un cmp atunci
cnd:

1. Cmpul cuprinde valori cu gam larg de variaie.
2. Cmpul va fi folosit n mod semnificativ n criteriile de selecie sau sortare.

28
Indexul cheie primar (Primary Key) prevede cte un pointer unic ctre fiecare nregistrare i
reprezint ordinea de afiare prestabilit pentru tabele n Access.


Formularele (Forms)

reprezint ferestrele primare folosite pentru introducerea i afiarea datelor n Access. Un
formular poate fi afiat n trei moduri diferite:

Modul Design (proiecatre) este utilizat pentru a schimba prezentarea i proprietile unui
formular, sau pentru a modifica controalele dintr-un formular.
Modul Datasheet (Foaie de date) este similar, cel puin n aparen, cu afiarea direct a
tabelului sau a interogrii.
Modul Form (Formular) reprezint modul de afiare normal al unui formular n curs de
utilizare.

Alegei eticheta Form din fereastra Database i executai clic pe New. Access rspunde oferindu-
v serviciile mai multor programe wizard pentru formulare (Form Wizards), dup cum urmeaz:

Design view (modul proiectare) v permite s crerai toate elementele manual.
Form Wizard v ofer posibiliatea s controlai fiecare etap a procesului.
Auto Form: Columnar (Configurare automat a formularului: aezare n coloan) creaz un
formular cu controalele aliniate unul sub cellalt (configuraie corespunztoare pentru un
formular principal).
Auto Form: Tabular (Coniguarare automat a formularului: aezare tabelar) creeaz un
formular cu controalele aliniate unul sub cellalt (configuraie corespunztoare pentru un
formular principal).
Auto Form:Datasheet (Configurare automat a formularului: modul Datasheet) creeaz un
formular avnd modul de afiare prestabilit Datasheet (configuraie corespunztoare pentru
afiarea numrului maxim posibil de nregistrri deodat).
Chart Wizard (program pentru reprezentri grafice) creeaz un grafic. Pentru a obine un
grafic tiprit, folosii un raport n loc de formular.



29
Proprietile formularului

Fiecare obiect (formularul nsui, seciunile acestuia precum i fiecare control din cadrul lui) are
un anumit numr de proprieti. Pentru a afia, se execut clic pe butonul Proprieties de pe bara
de instrumente sau se execut un dublu-clic pe obiect.

La fiecare versiune nou a programului Access, numrul proprietilor a crescut pentru pune la
dispoziie posibiliti de control mai eficiente asupra aplicaiei utilizatorului. n continuare vor fi
prezentate numai proprietile de baz.

Din punctul de vedere al datelor, cea mai important proprietate a formularului este
RecordSource (Sursa nregistrrii). Aceast proprietate este stabilit n numele tabelului sau
interogrii care furnizeaz date formularului. Se acept de asemenea o instruciune SQL valabil.
Dac RecordSource este necompletat, formularul nu are un set de nregistrri suport. n cazul n
care schimbai proprietatea RecordSource, formularul va citi i va scrie date ntr-un alt tabel.
Programatorii modific uneori proprietatea RecordSource n timp ce formularul ruleaz n
modul Form, pentru a filtra numai anumite nregistrri n cadrul formularului sau pentru a
schimba ordinea de sortare.

Proprietile Data controleaz tipul operaiilor cu date care sunt permise n cadrul formularului.
Fiecruia dintre proprietile urmtoare i se poate atribui valoarea Yes sau no:

Allows Edits (Permite editarea): dac este No, utilizatorii pot vedea , dar nu pot modifica
nregistrrile existente.
AllowDeletions (Permite tergerile): dac este No, nregistrrile nu pot fi terse.
AllowDeletions (Permite tergerile): dac este No, nu pot fi adugate nregistrri noi. n
modul de afiare Datasheet, rndul New Record (nregistrare nou) va lipsi.
DataEntry ( Introducere de date): dac este Yes, formularul poate fi folosit numai pentru
introducerea unor nregistrri noi. nregistrrile existente nu vor fi prezentate, iar numrtorul de
nregistrri indic numai numrul de nregistrri adugate de la deschiderea formularului.

Prorpietile Format controleaz aspectul formularului. printre ele sunt incluse:

Caption (Titlu): introducei textul care va fi afiat pe bara de titlu a formularului. Dac
proprietatea Caption este necompletat, numele formularului va fi afiat ca titlu.
30
Default View (Mod de afiare prestabilit): stabilete dac formularul va fi afiat n mod
Single Form (cel mai uzual), Continuous Form (de exemplu, proiect tabelar) sau Datasheet.
Views Allowed (Moduri de afiare permise): stabilete dac utilizatorul poate trece de la
modul Form la modul Datasheet.
ScrollBars (Bare de derulare): stabilete dac formularul are bare de derulare orizontale i/sau
verticale.
RecordSelectors (Elemente de selectare a nregistrrilor): dac este Yes, un element de
selectare a nregistrrii va fi afiat pe toat nlimea seciunii Detail.
NavigationButtons (Butoane de navigaie): dac este No, butoanele navigaie vor lipsi de la
captul din stnga al barei de derulare orizontale.
RecordDividers(Linii de separare a nregistrrilor): dac este Yes, o linie va fi afiat ntre
nregistrri n cadrul unui formular n modul Continuos.
AutoResize (Rediminsionare automat): dac este Yes, fereastra formularului va fi
dimensionat corespunztor la fiecare deschidere a acestuia. Reprezint echivalenttul funcional
al opiunii Size To Fit Form (Dimensioneaz corespunztor cu formularul) din meniul Window.
AutoCenter (Centrare automat): dac este Yes, formularul este centrat pe ecran la
deschidere.
ControlBox (Caseta de control): dac este Yes, caseta de control va fi inclus n partea stng
a barei de titlu.
MaxMinButtons (Butoanele de maximizare i minimizare): Butoanele Maximize i Minimise
sunt fie prezente amndou, fie absente am1ndou. Totui, putei preciza c numai unul dintre
ele (fie Minimize, fie Maximize) este permis. Dac vrei s folosii aceste butoane, proprietatea
WhatsThisButton (Ce este ecest buton) trebuie stabilit la No.


Evenimentele formularului

Formularul are mai multe evenimente dect oricare alt control.
Evenimentele controaleor v dau puterea de administrare a unui cmp. Multe dintre evenimentele
formularului v ofer ns posibiliatatea de administrare a ntregii nregistrri.

La editarea unei nregistrri, au loc evenimentele BeforeUpdate (nainte de actualizare) i
AfterUpdate (Dup actualizare).
La adugare unei nregistrri, au loc evenimentele BeforeInsert (nainte de inserare) i
AfterInsert (Dup inserare).
31
La tergerea unei nregistrri, au loc evenimentele Delete (tergere), BeforeDelConfirm
(Confirmare nainte de ergere) i AfterDelConfirm (Confirmare dup tergere).
Cnd o nregistrare oarecare este selectat i devine nregistrare curent, are loc evenimentul
Current.
Alte evenimente ale formularului sunt dedicate administrrii formularului nsui.
Evenimentele Open (Deschide) i Load (ncarc) se petrec atunci cnd este deschis un
formular, iar evenimentele Unload (Descarc) i Close (nchide) atunci cnd aceasta este nchis.
Activate i GotFocus au loc activarea formularului; Deactivate i LostFocus se petrec la
dezactivarea acestuia.
Evenimentele Click, DblClick, MouseUp, MouseDown i MouseMove au loc atunci cnd
mouse-ul intercioneaz cu formularul.
Evenimentele KeyDown, KeyUp i KeyOccur se petrec la interaciunea taastaturii cu
formularul.
De asemenea, mai exist evenimentele pentru Resize (Redimensioneaz), Error (Eroare),
Timer, Filter (Filtru) i ApplyFilter (Aplic filtru).


Avem nevoie de evenimentele formularului pentru a administra nu numai un cmp, ci ntreaga
nregistrare, inclusiv

pentru a rspunde la modificrile operate datelor;
pentru verificarea tergerilor, adugrilor sau schimbrilor datelor.
pentru a desena o aplicaie i pentru a face formularele s lucreze mai cooperat.
pentru a administra problemele care apar n cazul n care datele nu sunt disponibile.

Analiznd pe rnd fiecare dintre aceste evenimente, vei primi sugestii pentru folosirea uzual a
fiecruia.

Mai jos vom analiza acele evenimente folosite pentru administrarea nregistrrii n interiorul
formularului i apoi pe cele care implic fromularul.:

BeforeUpdate (nainte de actualizare) este, indiscutabil, cel ami semnificativ eveniment al
formularului. Acest eveniment se petrece dup editarea unei nregistrri, dar nainte de scrierea ei
n tabel. Este asemntor cu ceea ce se ntmpl atunci cnd utilizatorul ncearc s treac la alt
32
nregistrare sau s salveze nregistrarea curent. Uzual, evenimentul este utilizat pentru validarea
ntregii nregistrri.

Folosim evenimentul BeforeUpdate (nainte de actualizare) al formularului pentru:

A ne asigura c un control nu este vid, or evenimentul BeforeUpdate (nainte de actualizare) al
controlului nu poate face aceast verificare, deoarece nu are loc dac nu este introdus nici o
valoare de intrare.
A compara diferite controale. Comparaiile nu pot fi fcute n cadrul evenimentelor
controalelor, deoarece nu tii dac al doilea control conine date.
A cere confirmarea n cazul n care valoarea introdus pare incorect.
A anula actualizarea dac nregistrarea nu este gsit satisfctoare i altele .

Evenimentul AfterUpdate (Dup actualizare) se folosete n urmtoarele cazuri:

Sincronizarea datelor n alt formular, tabel sau baz de date.
Scrierea unui proces de tranzacie (audit).
Punerea noilor date n controale libere (ca, de exemplu, suma unui cmp n care se aplic o
condiie).
Evenimentul AfterUpdate (Dup actualizare) nu poate fi anulat.

Evenimentul Current

Are loc de fiecare dat cnd o alt nregisrtare devine curent. Acest eveniment v permite s
rspundei datelor din nregistrare prin sincronizarea cu alt formular, prin ascunderea/afiarea
controalelor sau prin configurarea proprietilor astfel nct s evidenieze detaliile datelor.

Evenimentele Open (Deschide), Load(ncarc), UnLoad(Descarc) i Close(nchide)

Evenimentul Open(Deschide) are loc primul atunci cnd este deschis un formular. Evenimentul
poate fi folosit pentru anularea operaiei de deschiderea altui formular de baz sau pentru
culegereade informaii suplimentare de la utilizator. Evenimentul Open (Deschide) nu are loc
dac este executat aciunea OpenForm (DeschideFormular) ntr-un formular deja deschis.
Dup aceasta, au loc evenimentele Current i Load (ncarc). Acest lucru nseamn c , dac
vrei s facei referire la coninutul controalelor din formular, trebuie s folosii evenimentul
33
Load (ncarc) i nu evenimentul Open(Deschide). Evenimentul Load (ncarc) nu poate fi
anulat.

Evenimentele Activate (Activeaz), Deactivate (Dezactiveaz),GotFocus (Obine cursorul de
selecie) i LostFocus (Pierde cursorul de selecie)
Evenimentul GotFocus pentru un formular nu are loc dac exist cel puin un control care poate
fi selectat, astfel nct, n mod normal, GotFocus se petrece numai dac undeva este o eroare. n
mod similar, evenimentul LostFocus are loc numai dac toate controalele sunt dezactivate, iar
formularul nsui a pierdut cursorul de selecie.
n mod clar, evenimentele GotFocus I LostFocus nu v spun dac un formular este sau nu activ.
Evenimentul Activate are loc atunci cnd un formular devine activ: la prima ncrcare a
formularului sau ori de cte ori utilizatorul comut din noi pe acest formular. Evenimentul
Deactivate se petrece atunci cnd utilizatorul comut pe alt formular sau cnd formularul este
nchis.
Deactivate nu are loc dac utilizatorul comut pe un lat program Windows. Dei bara de titlu a
formularului indic starea inactiv, acesta este considerat nc formularul activ din aplicaia
Access.


Interogri.

Scopul pentru care creai i folosii o baz de date const n extragerea rapid a datelor care v
intereseaz. Interogarea (query) este o definiie a datelor pe care vrei s le regsii: ce cmpuri,
din care tabele, corespunztor cror criterii, n ce ordine de sortare.
Interogrile pot afia simultan nregistrri din mai multe tabele.n cazul n care dou tabele sunt
implicate ntr-o relaie de la unu la mai muli, interogarea are n mod normal cte un rnd pentru
fiecare nregistrare din partea mai muli, iar valorile din partea unu a relaiei sunt repetate
pentru fiecare rnd.


Interogri aciune

Chiar de la prima versiune, Access a prevzut patru interogri aciune. Aceste interogri nu
determin afiarea unor informaii de ieire pe ecran, ocupndu-se doar cu modificarea datelor
stocate n tabelele dumneavoastr:
34

Interogarea Delete (terge) terge nregistrri dintr-un tabel.
Interogarea Update modific valoarea din fiecare cmp specificat.
Interogarea Make Table (Creeaz tabelul) creeaz un tabel nou pornind de la nregistrrile
existente.
Interogarea Append (Adaug) adaug nregistrri noi unui tabel existent.

Access nu v ofer nici o posibilitate de anulare a interogriloe aciune. Modificrile aduse
datelor dumneavoastr sunt permanente i ireversibile. Singura metod de revenire la starea
anterioare a bazei dumneavoastr de date const n restabilirea acesteia de pe o copie de
siguran.
Cum s creai o interogare aciune, ncepei prin a crea o interogare n modul uzual: executai clic
pe New n timp ce eticheta pictograma Query Type de pe bara de instrumente pentru a alege
tipul de aciune corespunztor sau selecta Query este selectat n fereastra Database. n
continuare, utilizai interogarea dorit din meniul Query.

Interogarea Delete

Interogarea Delete este util pentru tergerea mai mulotr nregistrri deodat. Sintaxa interogrii
Delete este similar cu cea a interogrii Select:

DELETE [*] FROM tableexpression [WHERE...] ;

Pentru a crea o interogare Delete, ncepei cu o interogare Select, dup care alegei opiunea
Delete din lista derulant Query Type de pe bara de instrumente (sau din meniul Query). De
multe ori, metoda cea mai sigur de generare a unei interogri Delete const n crearea ntr-o
prim etap a unei interogri Select, n verificarea rezultatelor acesteia n modul de afiare
Datasheet i n transformarea ulterioar ntr-o interogare Delete.
Spre deosebire de alte baze de date, Access nu are posibiliti de anulare a tergerii
nregistrrilor.





35
Interogarea Update

Folosii interogarea Update pentru a schimba coninutul unui cmp la o valoare nou. Valoarea
cea nou poate s se bazeze pe coninutul curent al cmpului de modificat sau a altor cmpuri sau
poate fi o valoare literal.
Examinarea nregistrrilor selectate pentru actualizare n modul de afiare Datasheet reprezint
o verificare util nainte ca noile valori s fie scrise n mod ireversibil n tabelel dumneavoastr.

Sintaxa interogrii Update este destul de simpl:

UPDATE tableexpression SET newvaluelist [ WHERE...];

Exist posibilitatea actualizrii mai multor cmpuri ale unui tabel n acelai timp. Cmpurilor le
sunt atribuite valorile noi din newvaluelist (listavalorinoi). De exemplu, dac un operator de
introducere a datelor a introdus incorect adresa La Crosse, Wi n loc de Lacrosse, Wa, o
interogare Update va localiza i va modifica aceste date greite. Dedesubtul cmpului Ora
(City), introducei Lacrosse n rndul Update i La Crosse n rndul de criterii. Sub cmpul Stat
(State), introducei Wa n rndul Update i Wi n acelai rnd de criterii. Rulai interogarea i
Access va executa aceast instruciune SQL:

UPDATE tblCustomers SET City = Lacrosse, State = Wa WHERE City = La Crosse
AND Sate = Wi;

Interogarea Update se poate referi la valoarea curent din cmp. De exemplu, pentru a asigura
tuturor angajailor o cretere de salariu de 20$, rulai interogarea urmtoare:

UPDATE tblStaff SET Pay= Pay + 20;

Interogarea Update se poate referi de asemenea la alte cmpuri.






36
Interogarea Make Table

Interogarea Make Table nu modific datele dintr-un tabel existent; rolul ei este s creeze un tabel
nou din cmpurile i nregistrrile selecate. Noul tabel poate fi creat n baza de date curent sau
ntr-o alt baze de date, inclusiv n mai multe baze de date diferite de Access.

Interogarea Make Table poate fi util pentru crearea tabelelor temporare sau a unei copii a
datelor la un anumit moment de timp. n SQL, interogarea Make Table reprezint un caz special
de utilizare a verbului SELECT:

SELECT fieldlist INTO newtable [IN externaldb] FROM source [WHERE...];

n acest fragment de cod

fieldlist (listacmpuri) reprezint o list de nume
newtable (tabelnou) reprezint numele atribuitn noului tabel
externalb (bdexterna) indic numele, calea i tipul bazei de date externe.
soucre (sursa) reprezint interogarea sau tabelul surs (sau instruciunea de asociere n cazul
tabelelor multiple).


Interogarea Append

Interogarea Append este similar din punct de vedere al fundcionrii cu interogarea
Make Table, cu deosebirea c nregistrrile acesteia sunt adugate unui tabel existent.
Deoarece structura tabelului destinaie exist deja, este nevoie de o oarecare atenie pentru a v
asigura c datele sunt scrise n cmpul corect.

Interogarea Append se bazeaz pe verbul SQL INSERT INTO:

INSERT INTO target
[IN externaldb] [targetfieldlist] SELECT [ sourcefieldlist] FROM source [WHERE...];

n acest fragment de cod

37
target (destinaia) reprezint tabelul sau interogarea care primete noile nregistrri.
externaldb (bdexterna) reprezint numele, calea i tipul bazei de date externe.
targetfieldlist (listacmpurdestinaie) reprezint o list de cmpuri n care trebuie reaqlizat
scxrierea, separate cu virgule.
sourcefieldlist (listacmpurisurs) reprezint o list de cmpuri din care se citesc datele,
separate cu virgule, aceast list corespunznd cu lista cmpurilor destinaie.
source (sursa) reprezint interogarea sau tabelul surs (sau instruciunea de asociere n cazul
tabelelor multiple).




















38
3. Visual Basic pentru aplicaii


Visual Basic pentru aplicaii este limbajul pentru dezvoltarea aplicaiilor n Access. Acest capitol
ofer o imagine de ansamblu asupra limbajului Visual Basic pentru aplicaii i asupra structurii
sale.
Visual Basic pentru aplicaii, prescurtat uzual VBA, pune la dispoziie un limbaj complex pentru
dezvoltarea aplicaiilor n cadrul programelor din Microsoft Office. Aceasta nseamn c nucleul
limbajului, componentele sale i mediul sunt aceleai ca n Microsoft Access for Windows XP,
Microsoft Visual Basic, Microsoft Excel i Microsoft Project.

Aplicaiile mai simple din Access pot fi scrise folosind comenzi macro. Dai comenzile macro
sunt bune pentru crearea rapid de prototipuri de funcii i pentiu dezvoltarea majoritii
aplicaiilor de baz, dezvoltarea unor aplicaii serioase n Access se face folosind limbajul VBA.
Acest lucru se datoreaz faptului c, spre deosebire de comenzile macro, Visual Basic pentru
Aplicaii ofer urmtoarele posibiliti de lucru:

crearea unor structuri ciclice pentru parcurgerea seturilor de nregistrri
crearea prin program a obiectelor bazei de date
utilizarea constantelor i a variabilelor
implementarea tratrii erorilor, etc

De asemenea, VBA uureaz scrierea bibliotecilor de funcii reutilizabile, precum i proiectarea
i depanarea proceselor complexe de ctre programatori .

Codul VBA este scris n uniti numite subrutine i funcii. Aceste subrutine i funcii sunt
pstrate n module. Modulele pot fi globale sau specifice unui anumit formular sau raport.
Modulele specifice unui formular sau raport sunt n general numite coduri din spatele
formularelor (Code Behind Forms - CBF).
O subrutin (subprocedur) este o rutin care rspunde la apariia unui eveniment sau execut o
anumit aciune. O funcie este un tip special de rutin, datorit faptului c poate returna o
valoare. O subrutin nu poate returna o valoare.


3.1. Apelarea procedurilor evenimentetor i a celor definite de utilizator
39

Procedurile evenimentelor sunt apelate automat cnd are loc un eveniment pentru un obiect. De
exemplu, cnd un utilizator execut clic pe un buton de comand, este executat codul
evenimentului Click pentru acel buton de comand.
n mod obinuit, pentru apelarea procedurilor definite de utilizator se folosete cuvntul cheie
Call, ca n exemplul urmtor

Call SayHello

Ai putea apela procedura de baz i fr s folosii cuvntul cheie Call, astfel:

SayHello

Totui, aceast metod contravine standardelor, deoarece cuvntul cheie Call indic faptul c
apelai o rutin definit de utilizator sau o rutin de eveniment. Cuvntul cheie Call face ca
instruciunea s fie mai clar si mai uor de citit O procedur definit de utilizator poate fi
apelat dintr-o rutin de eveniment sau din alt procedur sau funcie definit de utilizator.


3.2. Declararea variabilelor

Cnd creai variabile VBA trebuie s luai n considerare mai multe lucruri. Modul n care
declarai o variabil determin domeniul de valabilitate, durata de valabilitate i alte caracteristici
ale acesteia. Urmtoarele subiecte analizate v vor ajuta s nelegei mai bine declararea
variabilelor n limbajul Visual Basic pentru aplicaii.
Sunt mai multe metode de declarare a variabilelor n limbajul VBA. Trei metode sunt greite si
numai una este corect. De exemplu, ai putea declara simplu
x=10
Folosind aceast metod, practic nu declarai deloc variabila. In mod obinuit, vei declara
variabilele n timp ce le folosii. Aceast metod este foarte periculoas, deoarece poate cauza
multe probleme. Ai putea, de asemenea, s introducei

Dim iCounter

40
Aici, instruciunea Dim declar variabila. Singura problem a acestei metode este c nu ai
declarat tipul variabilei.

O alt greeal obinuit este declararea mai multor variabile pe aceeai linie:

Dim iCounter, iAge, iWeight As Integer

n acest caz, numai ultima variabil este declarat ca o variabil de tip Integer (ntreg) Celelalte
variabile sunt declarate de tipul Variant.

Cea mai eficient i mai lipsit de erori erori metod de declarare a variabilelor este de a le
transmite ct mai exact compilatorului, ca n exemplul urmtor:

Dim iCounter As Integer
Dim sName As Strung

Aa cum putei vedea, acest tip de declaraie conine att numele variabilei, ct i tipul datelor pe
care le poate conine.. La o implementare corespunztoare, prob selectarea celui mai scurt tip de
date folosit pentru fiecare variabil, putei .reduce resursele necesare executrii programului

Variabilele locale


Variabilele pot fi declarate locale, la nivel de modul sau publice. Variabilele locale sunt
disponibile numai n subrutina n care au fost declarate. Iat un exemplu
ilustrativ:

Private Sub cmdOkay_Click
Dim sAnimal As String
s Animal = "Cine"
Call ChangeAnimal
Debug.Print sAnimal nc are valoafea cine
End Sub


41
Private Sub ChangeAnimal
sAnimal = "Pisica"
End Sub


Aceast secven de cod ar putea s fie tratat n dou moduri. Dac este valabil instruciunea
Qption Explicit, ceea ce nseamn c variabilele trebuie s fie declarate nainte de folosire, acest
cod va retuma o eroare de compilare. n caz contrar, variabila sAnimal poate fi schimbat n
Pisic" numai n cadrul subrutinei ChangeAnimal.

Option Explicit (Opiune de explicitare).


Este o instruciune care poate fi inclus n seciunea General Declarations a unui modul,
formular sau raport . Cnd Option Explicit este plasata ntr-o seciune General Declarations, toate
variabilele din interiorul obiectului respectiv (modul, formular sau raport) trebuie s fie declarate
nainte de folosire.
Realizai includerea opiunii Option Explicit prin selectarea opiunii Options din meniul Tools.
n cadrul marcajului de tabulare Modules, executai clic pe opiunea Require Variable
Declarafions (Cere declaraii de variabile). Este foarte important ca aceast comand (Option
Explicit) s fie plasat n toate modulele dumneavoastr.


Variabile statice

Exemplul urmtor ilustreaz diferena dintre variabilele locale i cele statice. Variabilele locale
sunt iniializate la fiecare apel al codului. De fiecare dat cnd lansai n execuie aceast
procedur, n fereastra de depanare este afiat numrul 1.

Private Sub cmdLocal_Click{)
Dim iCounter As Itrteger
iCounter = iCounter +1
Debug.Print iCounter
End Sub

42
De fiecare dat cnd acest cod este executat, instruciunea Dim reiniializeaz variabil iCounter.
Este puin diferit fa de urmtoarea secven de cod, care ilustreaz folosirea variabilelor statice:

Private Sub cmdStatic_Click()
Static iCounter As Integer
iCounter = iCounter +1
Debug.Print iCounter
End Sub

De fiecare dat cnd acest cod este executat, variabila cu numele iCounter este incrementat i
reinut.
Pn acum, aceast discuie s-a limitat la variabilele care au domeniul n interiorul unei
proceduri individuale. Variabilele de nivel modul pot fi vizualizate din orice rutin aparinnd
modulului n care au fost declarate. Variabilele de nivel modul sunt declarate prin plasarea unei
comenzi Dim n seciunea General Declarations a formularului, raportului sau modulului de cod.


[General Declarations]
Option Explicit
Dim miCounter As Integer

Valoarea variabilei poate fi schimbat de orice subrutin sau funcie din modulul respectiv. De
exemplu, urmtoarea subrutin schimb valoarea variabilei de nivel modul miCounter la 20.
Reinei convenia de numire a variabilei prin folosirea literei m ca prefix al numelui acesteia.
Aceasta o face s fie recunoscut ca o variabil de nivel modul. Ar trebui s folosii declaraii de
nivel modul numai pentru variabilele care trebuie s fie vzute de mai multe rutine. Ar trebui s
ncercai s declarai majoritatea variabilelor dumneavoastr de tip local. Aceast metod face
codul dumneavoastr mai modular i mai uor de depanat

Private Sub cmdModule_Click()
miCounter =20
Debug.Print miCounter
Bnd Sub


43
Variabile publice

O variabil public poate fi accesat de oriunde din aplicaia dumneavoastr. Variabilele publice
se folosesc de obicei pentru identificatori de acces, valori de configurare pentru mediul de lucru
i alte variabile cate trebuie s fie vizibile pentru ntreaga aplicaie. Declaraiile variabilelor
publice trebuie s fie plasate n seciunea General Declarations a modulului de cod. O declaraie
de variabil public arat ca n exemplul urmtor

Option Explicit
Public piCounter As Integer


Reinei folosirea prefixului p, care indic tipul public al variabilei. Secvena de cod urmtoare,
plasat n evenimentul Click al butonului de comand cmdPublic schimb valoarea variabilei
publice piCounter la 50.

Private Sub cmdPublic_Click()
piCounter = 50
Debug.Print piCounter
End Sub


3.3. Structuri de control VBA

VBA pune la dispoziie programatorului cteva structuri diferite pentru bucle i pentru luarea
deciziei. Cele mai folosite dintre ele sunt analizate n seciunile urmtoare.

Structura IF Then ELSE

Structura If. ..Then. ..Else evaluieaz dac o condiie este adevrat sau fals. Dac expresia este
adevrat , vor fi executate toate instruciunile dintre IF i Else. Dac expresia este fals, vor fi
executate toate instruciunile dintre Else i End. Folosirea comemti Else este opional.


Private Sub cmdIf_Click()
44

If isNull (Me!txtValue) Then
MsgBox "Trebuie s introduceti a valoane
Else . '
MsgBox "Ai introdus" & Me!txtValue
End If

End Sub



Structura Setect Case

n loc s folosii mai multe instruciuni If. ..Then. ..Else este cu mult mai simplu, fr ndoial,
s.folosii o instruciune Case.

Private Sub cmdCase_Click

Dim iResponse As Integer

If isNull (Me!txtValue) Then
iResponse=0
Else
iResponse = Val (Me!txtValue)
End If

Select Case iResponse

Case 0
MsgBox "Trebuie sa introducei un numr"
Case 1 to 5
MsgBox "Ai introdus un numr ntre 1 i 5"
Case 7, 11, 21
MsgBox "Ai introdus 7, 11 sau 21"
Case Else
45
MsgBox "Ai introdus un numr incorect"

End Select

End Sub

Aceast rutin utilizeaz n prima parte o instruciune IF pentru a evalua dac txtValue este nul.
n acest caz, rutina memoreaz un zero ntr-o variabil numit iResponse. n caz contrar,
valoarea coninut n txtValue este memorat n iResponse. Instruciunea Case evalueaz
coninutul variabilei iResponse. Dac valoarea este 0, este. afiat o Caset de text cu mesajul
Trebuie s introducei un numr". Dac valoarea este ntre l i 5 inclusiv, este afiat o caset de
text coninnd mesajul Ai introdus o valoare ntre l i 5". Dac utilizatorul introduce 7, 11 sau
21, este afiat un mesaj corespunztor. n celelalte cazuri, utilizatorul primete un mesaj care
indic introducerea unui numr incorect.



Structura Looping (Buclarea)

n VBA sunt disponibile mai multe structuri ciclice. Dou, dintre ele vor fi discutate n aceast
seciune.

Private Sub cmdLoop1_Click()
Dim iCounter As Integer
iCounter = l

Do While iCounter < 5
MsgBox iCounter
iCounter= iCounter+1
Loop
End Sub

Aceast structur nu asigur ntotdeauna executarea secvenei de cod din interiorul buclei. Dac
iCounter este mai mare sau egal cu 5, codul din interiorul buclei nu va fi executat niciodat.
46
Dac dorii ca secvena de cod s fie executat necondiionat cel puin o dat, va trebui s folosii
urmtoarea structur:

Private Sub cmdLoop2_Click()

Dim iCounter As Integer
iCounter = 5
Do
MsgBox iCounter
iCounter= iCounter+1
Loop While iCounter+1<5

End Sub

Acest cod va fi executat cel putin o dat, chiar dac iCounter are valoarea 5.
Structura Do While . . . Loop face evaluarea nainte de executarea codului i de
Aceea nu asigur execuia codului din interiorul buclei. Structura Do Loop
While face evaluarea la sfritul buclei i de aceea execuia codului este asigurat.



Structura For...Next

Structura For... Next este folosit atunci cnd avei un numr exact de iteraii pe care dorii s le
executai. Aceasta va arta astfel:

Private Sub cmdForNext_Click()

Dim iCounter As Integer

For iCounter = l To 5
MsgBox iCounter
Next iCounter
End Sub
47
Observai c iCounter se auto-incrementeaz. Att valoarea de start, ct i cea de sfrit pot fi
ambele variabile. Unei structuri For ... Next i se poate da, de asemenea, o valoare de
incrementare ( Step ):

Private Sub cmdForNext_Click()

Dim iCounter As Integer

For iCounter = l To 5 Step 2
MsgBox iCounter
Next iCounter
End Sub



3.4. Transmiterea parametrilor i s returnarea valorilor


Att subrutinele, ct i funciile pot primi argumente (parametri), dar numai funciile pot retuma
valori. Subrutina din exemplul urmtor primete doi parametri, txtFirst i txtLast. Aceasta
afieaz apoi un mesaj cu primul caracter al fiecruia dintre parametri primii.


Private Sub cmdSendNames_Click( )

Call Initials(Me!txtFirstName, Me!txtLastName)

End Sub



Sub Initials (sFirst As String, sLast As String)

MsgBox "Iniialele dumneavoastr sunt &
Left$(sFirst, 1) & Left$(sLast, 1)
48

End Sub

Observai c textul din controalele txtFirstName i txtLastName din formularul curent (Me) sunt
transmise subrutinei cu numele Initials (Iniiale). Parametrii sunt recepionai ca sFirst i sLast.
Primul caracter din stnga al fiecrui parametru este afiat n caseta de mesaje.
Codul precedent transmite pur i simplu valori i apoi opereaz cu ele.

Exemplul urmtor ilustreaz folosirea unei funcii care ntoarce o valoare.

Private Sub cmdNameFunc_Click()
Dim sInitials As Integer

sInitials = ReturnInit (Me!txtFirstName, Me!txtLastName)
MsgBox "Iniialele dumneavoastr sunt: " & sInitials
End Sub


Function ReturnInit(sFName As String, sLName As String)

ReturnInit=Left$( sFName,1) & Left$( sLName,1)

End Function

Reinei c acest exemplu apeleaz o funcie ReturnInit, trimind valorile celor dou casete de
text ca parametri ai funciei. Funcia asociaz numelui funciei ( ReturnInit ) o valoare egal cu
primele dou caractere ale irurilor. Apoi, funcia retumeaz valoarea rutinei apelante
(cmdNameFunc_Click) i o atribuie variabilei sInitials.


Parametri opionali


Access v permite s utilizai parametri opionali. Cu alte cuvinte, nu este necesar s tii ci
parametri vor fi transmii. Funcia numit ReturnInit din secvena de cod urmtoare primete
49
ultimii doi parametri ca opionali. Apoi evalueaz prezena sau nu a parametrilor i acioneaz n
consecin.


Function ReturnInit (sFName As String, Opional sMI, Opional sLName)

If IsMissing(sMI) Then
sMI=InputBox(" Introducei iniiala cuvntului din mijloc)
End If

If IsMissing(sLName) Then
sLName = InputBox (" Introducei ultimul nume") "
End If

ReturnInit = sLName & " " & sFName & " " & sMI

End Function

Aceasta funcie poate fi apelat n felul urmtor

sName = ReturnInit ("Bill", , "Gates")

Aa cum ati putut vedea, lipsete al doilea parametru, n loc s rezulte o eroare de compilare,
acest cod va fi compilat i executat cu succes.



3.5. Funcii interne

Visual Basic pentru aplicaii conine o bibliotec de funcii foarte bogat i cuprinztoare. Cteva
dintre cele mai utilizate funcii sunt listate n seciunea urmtoare a capitolului.



Funcia Format
50

Funcia Format formateaz expresiile n stilul specificat. Primul parametru este expresia pe care
dorii s o formatai. Al doilea parametru este tipul de format pe care dorii s l aplicai.

Private Sub cmdFormat_Click( )

Debug.Print Format$ (50, Valuta ) ' Tiprete $50.00
Debug.Print Format$ (Now,: "Data n format scurt.") ' - Afieaz 8/5/07
Debug.Print Format$ (Now, "DDDD") ' - Afieaz cuvntul 'pentru zi
Debug.Print Format$ (Now, "DDD") ' - Afieaz ziua n 3 caractere
Debug.Print Format$ (Now, "YYYY) ' - Afieaz anul din 'patru cifre
End Sub ,

Reinei c apostroful indic un comentriu.


Funcia InStr

Funcia InStr retumeaz poziia n care un ir se situeaz n interiorul altui ir.

Private Sub cmdInstr_Click()

Debug.Print InStr("Alison Balter","Balter") Returneaz 8
Derbur.Print lnStr("Hello",l") ' Returneaz 3

End Sub


Funcia. Left

Funcia. Left (Stnga) retumeaz primele n caractere ale unui ir, unde n este un argument care
indic numrul de caractere.


Private Sub cmdLeft_Click()
51

Debug.Print Left$("Hello World", 7) 'tiprete Hello W

End Sub


Funcia Right

Funcia Right (Dreapta) returneaz ultimele n caractere ale unui ir, unde n este un argument
care indic numrul de caractere.

Private Sub cmdRight_Click()

Debug.Print Right$("Hello World", 7) ' tiprete o World

End Sub

Funia Mid


Funia Mid returneaz un subir format dintr-un numr specificat de caractere dintr-un ir. n
exemplul urmtor, subirul ncepe la al patrulea caracter i retumeaz cinci caractere.

Debug.Print Mid$("Hello World", 4, 5) ' Tiprete lo Wor

End sub

Funcia Ucase

Funcia Ucase retumeaz un ir cu toate caracterele majuscule.

Private Sub cmdUCase_Click()

Debug.Print Ucase$ ("Hello World") Tiprete HELLO WORLD

52
End Sub


Funia DatePart


Funcia DatePart returneaz o parte specificat a unei date.

Private Sub DatePart_Click( )

Debug.Print DatePart$ ( "YYYY", Now ) Tiprete anul
Debug.Print DatePart$ ( "M" , Now) Tiprete luna
Debug.Print DatePart$ ( "Q" , Now) Tiprete numrul trimestrului
Debug.Print DatePart$ ( "Y" , Now) Tiprete ziua din an


End Sub


Funcia DateDiff

Funcia DateDif f retumeaz intervalul de timp dintre dou date.

Private Sub cmdDateDif f_Click()

Debug.Print DateDiff ("d" , Now, "12/31/07") Tiprete numrul zilelor pn la 12/31/07
Debug.Print DateDiff ("m" , Now, "12/31/07") Tiprete numrul lunilor pn la 12/31/07
Debug.Print DateDiff ("YYYY" , Now, "12/31/07") Tiprete numrul anilor pn la 12/31/07
Debug.Print DateDiff ("q" , Now, "12/31/07") Tiprete numrul trimestrelor pn la 12/31/07

End Sub


Funcia DateAdd

53
Funcia DateAdd returneaz rezultatul adugrii sau scderii unei perioade specificate de timp la
o (dintr-o) dat stabilit.


Private Sub cmdDateAdd_Click{)

Debug.Print DateAdd ("d", 3, Now) 'Ziua de azi plus 3 zile
Debug.Print DateAdd("m", 3, Now) 'Ziua de azi plus 3 luni
Debug.Print DateAdd("yyyy", 3, Now) 'Ziua de azi plus 3 ani
Debug.Prin DateAdd("q", 3, Now) 'Ziua de azi plus 3 trimestre

End Sub
54
4. Produse-program utilizate n economie.

Sistemele informatice economice sunt caracterizate printr-o structur complex generat att de
multitudinea activitilor i subactivitilor informatizate, ct i de necesitatea asigurrii unor
prelucrri ierarhizate n care regimurile de prelucrare n timp real i distribuit sunt
preponderente. Aceste elemente impun n unele cazuri dezvoltarea unor sisteme de programe
specifice unui anumit utilizator/grup de utilizatori, iar n alte cazuri a unor sisteme de prelucrare
cu caracter generalizabil.

4.1. Caracteristici generale.

Produsele informatice pot fi concepute, realizate i implementate n trei moduri:

produse specifice unui anumit tip de utilizator, n care tipologia prelucrrilor este
particular i n principiu regenralizabil ctre alte tipuri de utilizatori;
produse-program generalizabile de la un anumit tip de utilizatori ctre alte tipuri de
utilizatori, atunci cnd este posibil asimilarea acestora;
sisteme informatice exploatabile att prin produse-program specifice, ct i prin produse-
program generalizabile ntr-un context operaional din punct de vedere tehnic, dinamic i
funcional.

Indiferent de varianta folosit trebuie s se respecte cerinele, restriciile i dezideratele legislaiei
economice n vigoare.
Aceste elemente impun dezvoltarea unor sisteme de programe care s satisfac cerinele
informatice de prelucrare cu caracter general ale unei arii largi de utilizatori, n practica
informatic aceste sisteme sunt cunoscute cel mai adesea sub denumirea de produse-program
generalizabile, pachete de programe, produse informatice generalizabile.
Produsul-program generalizabil reprezint un sistem complet, parametrizabil, adaptabil i
documentat de programe, proiectat de firme specializate n software de aplicaii, livrabil
utilizatorilor finali.
Soluia utilizrii de produse program comercializate de firme productoare sau de firme
specializate n comercializare conduce la o mare economie de timp n realizarea aplicaiilor la
nivelul ntreprinderilor, nlturnd fazele pretenioase de analiz i proiectare a aplicaiilor.

55
Produsele-program sunt comercializate acum ca oricare alt produs i cuprind n general
urmtoarele componente:

dischete sau CD-ROM-ul cu programele nregistrate;
manualul de prezentare care descrie amnunit diferitele funcii ale programelor i
organizarea fiierelor;
manualul de utilizare care explic modul de utilizare a produsului-program;
datele de test care permit nsuirea uoar a principiilor de lucru.

4.2. Principii de utilizare specifice produselor program generalizabile


Pachetele de programe sunt asemntoare cu produsele rezultate dintr-o activitate de producie,
fiind ns rezultatul unei activiti intelectuale. Ca i n industrie, firmele productoare fac
investiii n acest domeniu numai n condiii de eficien economic. De aceea, la proiectarea
pachetelor de programe se iau n considerare urmtoarele principii:

1. Existena unei piee reale pentru desfacerea produselor informatice nseamn dezvoltarea
unor studii de marketing care . s evidenieze existena sau inexistena unor posibili beneficiari ai
produselor program care urmeaz s fie comercializate. Prin aceste studii sunt identificate
urmtoarele elemente: numrul viitorilor utilizatori, nivelul mediu al cheltuielilor de proiectare i
realizare, posibiliti concrete de livrare prin estimarea unor preuri de livrare pertinente. Un
prpdus-program este vndut la un pre mai mic n raport cu investiia iniial pentru realizarea
lui. Investiia este totui rentabil deoarece produsul-program se vinde ntr-un mare numr de
exemplare. Pentru ca piaa produselor-program s funcioneze trebuie asigurate urmtoarele
condiii:

Protecia firmei productoare contra copierii frauduloase a produselor-program de ctre
clienii si - se realizeaz prin lege, prin contractul ncheiat ntre cumprtor i vnztor sau prin
practicarea unor preuri sczute i asigurarea unor servicii care nu sunt oferite de copiile pirat
(documentaia i punerea la dispoziie a unor noi versiuni).
Pia potenial extins, urmrindu-se comercializarea produselor-program nu numai
la nivelul unei ri, ci ntr-o zon geografic ntins.
Produse-program de calitate, utilizarea lor trebuind s se fac fr probleme chiar dac
utilizatorii nu sunt experimentai n domeniu.
56
Un rspuns pertinent la o cerin generic, produsul-program trebuind s rspund unor cerine
care se manifest n mod curent i care pot fi satisfcute ntr-o manier standardizat.

2. Fundamentarea pe criterii tehnico-economice presupune comensurarea
cheltuielilor necesare pentru conceperea i realizarea produselor-program comparativ cu
veniturile care urmeaz a fi obinute din vnzarea acestor produse. Analizele economice trebuie
realizate n corelaie cu cele tehnice care implic utilizarea celor mai moderne resurse
informatice.

3. Existena cadrului legislativ presupune existena unei legislaii economice naionale n
concordan cu cea european pentru ca viitorul produs s poat fi uor generalizat att n ara de
origine, ct i n alte ri.

4. Utilizarea unor soluii tehnice moderne i eficiente n proiectarea produselor
informatice nseamn folosirea ultimelor nouti hardware i software din domeniu, nouti care
conduc la obinerea unor produse competitive.

5. Posibilitatea algoritmizrii eficiente a problemelor abordate presupune dezvoltarea i
utilizarea produselor informatice pentru domenii economice n care procesele de prelucrare au un
caracter cuantificabil i pot fi asociate specificului sintactic i semantic al sistemului electronic
de calcul.

6. Dezvoltarea de soluii informatice bazate pe sisteme de programe reutilizabile
n contextul evoluiei sistemelor de operare are n vedere conceperea acestora prin folosirea
unor structuri care s permit dezvoltarea, modificarea sau suprimarea unor module informatice
cu efort material i uman minim n condiiile apariiei unor noi versiuni de sisteme de operare.

7. Asigurarea activitilor de publicitate i asisten tehnic are n vedere estimarea
fondurilor necesare pentru lansarea pe pia a produsului informatic, urmat de o campanie
publicitar eficient. Publicitatea este asigurat apelndu-se la un personal de specialitate i o
tehnic de calcul de un nivel nalt. Pentru asigurarea credibilitii, firma productoare trebuie s
asigure asistena tehnic pentru exploatarea la parametrii de eficien a produsului respectiv.

8. Asigurarea de soluii tehnice cu caracter plurinaional rezid din cerinele de
comercializare a viitorului produs att pe piaa intern, ct i pe cea extern, n acest scop la
57
proiectare i realizare trebuie avute n vedere cerinele cadrului legislativ din ara de origine i
din rile n care produsul va fi livrat, particularitile limbii, alfabetul, sistemul de uniti
monetare, sistemele de codificare, termenii i conceptele economice utilizate etc.

Plecnd de la aceste principii, utilizarea produselor-program generalizabile presupune
parcurgerea unor etape n care utilizatorul final folosete n mod efectiv pachetul program
existent n biblioteca surs direct executabil (livrat de proiectant).

4.3. Caracteristici de calitate ale produselor program generalizabile.

Produsele-program generalizabile se caracterizeaz prin anumite proprieti de calitate specifice
pe care le prezentm n continuare:

Generalitatea asigur universalitatea pentru o gam larg de utilizatorii, ele fiind totui
dedicate anumitor clase de activiti.
Flexibilitatea se refer la capacitatea de adaptare a produsului-program la
specificaiile concrete ale utilizatorilor prin livrarea n diferite variante constructiv-
funcionale.
Parametrizarea permite folosirea anumitor variabile specifice de prelucrare aferente unui
utilizator, asigurndu-se astfel flexibilitatea n adaptarea produsului-program la nivelul fiecrui
utilizator.
Eficacitatea are n vedere asigurarea calitilor i performanelor imediate ale
produselor-program.
Adaptabilitatea se refer la compatibilitatea produsului-program cu condiiile concrete
de prelucrare ale beneficiarului (particulariti, specificaii, date reale).
Portabilitatea permite exploatarea produselor-program pe alte sisteme de calcul dect cel pe
care a fost proiectat.
Interactivitatea nseamn exploatarea facil i prietenoas a produselor-program prin
utilizarea unor ferestre, subferestre, a opiunilor, a tastelor de control.
Extensibilitatea se refer la posibilitatea dezvoltrii de noi versiuni prin adugarea,
modificarea, inserarea sau suprimarea unor funcii standard de prelucrare n scopul adaptrii
eficiente la cerinele i condiiile concrete ale utilizatorului final.
Integrabilitatea se refer la posibilitatea unei integrri statice i dinamice ntre procedurile
automate ale sistemului informatic existent i cele ale produsului-program.
58
Configurarea i reconfigurarea produselor-program are n vedere asigurarea unei
independene relative a produselor-program fa de hardware i software, fiind
posibil rularea lor chiar i n cazul instalrii unor noi versiuni constructive.
Fiabilitatea i mentenabilitatea nseamn asigurarea unei sigurane maxime n utilizare i
posibilitatea contracarrii uzurii fizice i morale a procedurilor asociate pachetului de programe.
Eficiena presupune mbuntirea parametrilor economici ai firmei n care este
exploatat produsul-program, justificndu-se astfel efortul financiar fcut pentru
achiziionarea lui.








4.4. Selecia produselor program generalizabile i evaluarea performanelor acestora.

Deoarece pe piaa specializat exist o mare varietate de produse informatice viitorul beneficiar
trebuie s aib n vedere un sistem de criterii dup care se va face selecia.
La alegerea unui produs program se iau n considerare cerine cum ar fi:

Dimensiunea maxim a problemei ce trebuie rezolvat n raport cu dimensiunea maxim
planificat de produsul program.
Resursele configuraiei sistemului de calcul necesare implementrii produsului
program n raport cu resursele configuraiei sistemului la care are acces utilizatorul.
Flexibilitate, uurina n vehicularea datelor de I/E, modul de nelegere (nvare) a utilizrii
produsului program i de interpretare care s conduc la un anumit numr redus de rulri cu
erori.
Costurile implicate de utilizarea curent i de meninere n exploatare s se situeze la nivele
care s nu afecteze negativ eficiena economic a unitii beneficiare.
Produsul program s poat ncorpora noi componente pentru funcii de prelucrare identificate
ulterior i/su s poat fi adaptat tehnicilor de prelucrare ce corespund dezvoltrii ulterioare a
configuraiei sistemului de calcul.
59
Nivelul de tratare a erorilor s conduc la reducerea numrului de rulri incomplete ale
produsului program; produsul poate pune n eviden totalitatea erorilor existente n date, poate
realiza corectarea sau ignorarea unora din acestea, iar mesajele de eroare trebuie s stabileasc
ct mai exact locul, cauza i modalitile de eliminare a erorilor.

Nivelele de fiabilitate i metenabilitate trebuie s fie astfel dimensionate nct ponderea erorilor
ce necesit modificarea de secvene n program s fie ct mai redus.

Criteriile de alegere sunt strns legate de caracteristicile de calitate, asigurate n toate etapele de
elaborare a produsului program. Putem vorbi, ca n cazul oricrui produs, de calitatea la
elaborator i calitatea la beneficiar sau de calitatea procesului de realizare i calitatea produsului
final.

Din punct de vedere al beneficiarului evaluarea performanelor i limitelor unui produs program
presupune examinarea unor elemente cum sunt: configuraia minim (maxim) necesar
implementrii; necesarul de memorie intern pentru program sau corelaia dintre elementele care
definesc dimensiunile problemei n raport cu disponibilul de memorie intern; precizia pe care o
pot avea rezultatele n raport cu durata rezolvrii problemei; opiuni pentru obinerea rezultatelor
intermediare; modul de tratare al erorilor; nivelul fiabilitii produsului program etc.

Evaluarea performanelor produsului program mai poate fi neleas ca o comparare a nivelelor
caracteristicilor sale de calitate i cele planificate, n acest sens evaluarea se realizeaz de ctre
echipa de realizatori lund n considerare exemple de control proprii sau unele probleme de
rezolvat de ctre beneficiarii poteniali ai produsului program. Valorile atribuite nivelelor
caracteristicilor de calitate au n acest caz caracter orientativ. Evaluarea performanelor se
efectueaz i de fiecare utilizator n parte, incluznd particularitile specifice ale fiecrui tip de
problem pe care o rezolv. Valorile obinute n acest caz au menirea de a corecta sau de a
confirma nivelele existente n documentaia care nsoete produsul program.

Pentru evaluarea performanelor se ntocmete un plan de observaii statistice i se nregistreaz
informaii cu privire la:

descrierea problemei (dimensiuni, volum de date semnificative, elemente de
structur a problemei);
numrul de rulri, tipul i numrul erorilor nregistrate pentru fiecare rulare;
60
consumurile de resurse (ore programare, asisten, timp calculator);
momentele de timp n care se efectueaz msurtorile. Constituirea seriilor de date se
realizeaz n timp i la evaluareaperformanelor sunt utilizate metode statistice (calculul mediei,
dispersiei, corelaiei, testarea ipotezelor privind egalitatea mediilor/dispersiilor, analiza
dispersional etc.).

Pe msura completrii seriilor de date cu noi nregistrri se procedeaz la recalcularea nivelelor
pentru caracteristicile ce definesc performanele produsului program. Studierea caracteristicilor
cu nivele mai sczute creaz premizele modificrii produsului program sau proiectrii de noi
versiuni care conduc la mbuntirea nivelelor i pentru aceste caracteristici.

Gestionarea unic a produselor program are menirea de a selecta dup criteriul performanei i
de a generaliza implementarea lor. n acelai timp cererile formulate de beneficiar au ca efect
perfecionarea produselor program existente i influeneaz lansarea n realizare de noi produse
program.



4.5. Stocarea i difuzarea produselor program

Progresul n domeniul programrii, pn la ceea ce se numete industrializarea programrii
calculatoarelor s-a realizat n momentul n care s-a constatat paralelismul existent ntre produsele
industriale n general i produsul program, deosebit de precedentele prin faptul c este un produs
abstract. Dup cum produsul industrial este obinut prin prelucrarea unor materii prime i
semifabricate pe fluxul tehnologic, strile intermediare fiind stocate n depozite de flux, iar
produsul finit n magazia de produse finite, tot astfel i produsul program pleac de la problema
concret, de la o serie de programe de sistem (compilatoare, programe utilitare etc.), care fac
obiectul unei elaborri, strile i componentele intermediare fiind stocate n biblioteci ce pot fi
numite biblioteci tehnologice, iar produsul finit este depus n biblioteca unitii de informatic i
eventual este naintat spre difuzare unei biblioteci de distribuie.

Din punct de vedere al rolului lor n fluxul tehnologic i de utilizare a produselor program,
bibliotecile de programe pot fi tehnologice i de distribuie.
61
Bibliotecile tehnologice constituie premize de cretere a productivitii i calitii produciei de
produse program i conin: bibiotecile de sistem, bibliotecile proiectelor i bibliotecile personale
ale programatorilor.

Bibliotecile tehnologice pot fi de patru tipuri:

biblioteci centrale ale unitilor de informatic n care sunt cuprinse toate programele aflate
n exploatare n unitatea respectiv;
biblioteci de proiect - sunt specifice unui anumit proiect de produs program, de aplicaie sau
de sistem informatic i conin programe sau module, componente finite ale unui produs program
complex, ale unei aplicaii sau ale unui sistem, deja testate i acceptate;
biblioteci individuale - sunt organizate i ntreinute de programator pentru nevoi ce apar pe
parcursul activitii curente de programare i conin module i programe n curs de elaborare sau
programe finite;
biblioteca de sistem conine instrumentele cu ajutorul crora se realizeaz produsele program
aplicative, adic programele utilitare, compilatoarele, translatoarele, interpretoarele etc.;
n unitile de informatic pot apare ierarhii de biblioteci de programe, la nivelul cel mai nalt
fiind biblioteca central care conine toate produsele program finite elaborate n cadrul unitii
sau n alte uniti de informatic i exploatate n unitatea n cauz. Pe nivelul urmtor pot fi
considerate bibliotecile de proiect care conin toate modulele i programele elaborate de ctre toi
programatorii care lucreaz la proiectul respectiv. La rndul lor, programatorii au biblioteci
individuale, organizate pe proiecte, care conin programe elaborate de ctre acetia i n curs de
finisare i programe/module preluate din biblioteca sistem.

Bibliotecile de distribuie sunt destinate pentru difuzarea la utilizator a produselor program de uz
general i generalizabile, ceea ce permite scurtarea duratei de elaborare a sistemelor informatice
i elimin posibilitatea elaborrii de produse program cu funcii identice.

n unele cazuri, bibliotecile de programe ale unitilor de informatic departamentale au rolul de
biblioteci de distribuie pentru produse program specifice prelucrrii informaiei din ramura
respectiv. Bibliotecile de distribuie au urmtoarele funcii:

colectarea de produse program de uz general i generalizabile de la elaboratori i
difuzarea acestora la utilizatorii interesai;
evidena produselor program eleborate i n curs de elaborare aflate la autori;
62
selectarea de produse program de uz general i generalizabile care prezint interes
pentru mai muli utilizatori;
colectarea produselor program selectate i repartizarea lor pe clase;
testarea i validarea produselor colectate;
informarea utilizatorilor cu privire la produsele program aflate in fondul bibliotecii;
difuzarea la utilizator a produselor program;
urmrirea n exploatare a produselor program;
colectarea de la utilizator de informaii cu privire la comportarea n exploatare a produselor,
precum i de cerine pentru noi produse program.

Existena bibliotecilor de programe i organizarea lor conform anumitor principii poate constitui
un mijloc important de ordonare i disciplinare a procesului de realizare a produselor program.
Ele contribuie la mbuntirea productivitii activitii de programare prin furnizarea de module
i programe gata elaborate, prin nlturarea paralelismelor i constituie un spaiu de depozitare
pentru produsele program i componentele acestora n curs de elaborare sau produse finite. In
concluzie, bibliotecile de programe contribuie la creterea indicilor cantitativi i calitativi ai
activitii de elaborare a produselor program.


4.6. Aspecte legislative privind protecia produselor program.

Protecia produselor program a fost reglementat prin lege.Legea definete obiectul i coninutul
dreptului de autor, avnd o serie de dispoziii speciale referitoare la produsele software.

Astfel, obiectul dreptului de autor l reprezint operele originale de creaie intelectual, indiferent
de modalitatea de creaie, modul i forma concret de exprimare i independent de valozrea i
destinaia lor.

Coninutul dreptului de autor: autorul are dreptul exclusiv de a autoriza reproducerea integral
sau parial, difuzarea, transmiterea prin fir, cablu, fibr optic, accesul public la bazele de date,
dac ele sunt protejate, utilizarea, nchirierea, mprumutul originalului sau a copiilor.
Prin contractul de nchiriere autorul permite folosirea pe un timp determinat a originalului sau a
copiilor.

63
Durata dreptului de autor - tot timpul vieii autorului i se transmite prin motenire pe o durat
anume.

Dispoziiile speciale referitoare la protecia produselor program se refer la:

Protecia programelor pentru calculator include orice expresie a unui program,
programele de aplicaie i sistemele de operare, exprimate n orice limbaj (cod surs sau cod
obiect), materialul de concepie pregtitor i manualele

Nu sunt protejate ideile, procedeele, metodele de funcionare, conceptele matematice
i principiile care stau la baza oricrui element dintr-un program, inclusiv cele care stau la baza
interfeelor

Autorul are dreptul exclusiv de a realiza i de a autoriza reproducerea permanent sau
temporal, integral sau parial a unui program, prin orice mijloc sau form o traducerea,
adaptarea, rearanjarea i alte transformri ale unui program precum i reproducerea acestor
transformri, fr a prejudicia drepturile persoanei care face transformrile, difuzarea
originalului sau a copiilor, sub orice form, inclusiv prin nchiriere

Drepturile asupra programelor create de unul sau mai muli angajai, ca atribuii de servici sau
dup instruciunile celui care angajeaz, aparin acestuia din urm.

Prin contractul de utilizare al unui program:

Utilizatorul are dreptul neexclusiv de utilizare a programului

Utilizatorul nu poate transmite dreptul de utilizare unei alte persoane

Cesiunea dreptului de utilizare al unui program nu implic transferul dreptului de autor
asupra acestuia

Utilizatorul autorizat are dreptul de a realiza copii de arhiv sau de siguran fr acceptul
autorului

64
Reproducerea sau traducerea codului program pentru interoperabilitate cu alte
programe trebuie autorizat de titularul dreptului de autor, etc

You might also like