Sunteți pe pagina 1din 44

Capitolul I.

Concepte generale despre sisteme de gestiune a


bazelor de date
1.1. Sisteme de gestiune a bazelor de date
1.1.1. Caracterizare general
Aprute n anii '60, Sistemele de Gestiune a azelor de
!ate "prescurtat SG!#uri$ reprezint o serie de programe ce
permit utilizatorilor s interac%ioneze cu o baz de date, n
&ederea crerii, actualizrii 'i interogrii acesteia. SG!#ul
este cel care asigur 'i super&izeaz(
introducerea de in)orma%ii n baza de date*
actualizarea 'i e+tragerea datelor din baz*
autorizarea 'i controlul accesului la date*
pstrarea independen%ei dintre structura bazei 'i
programe ",etro& -./$.
0biecti&ul esen%ial al unui SG! este )urnizarea unui
mediu e)icient, adaptat.. utilizatorilor care doresc s consulte
sau s actualizeze in)orma%iile con%inute n baz. azele de date
sunt concepute pentru a prelucra un &olum mare de in)orma%ii.
Gestiunea acestora impune nu numai o structurare riguroas a
datelor, dar 'i o ra%ionalizare a procedurilor de acces 'i
prelucrare.
,rincipalele )unc%iuni ale unui SG! &izeaz(
1. descrierea ansamblului de date la ni&el )izic 'i
conceptual*
1. crearea "ini%ializarea$ i exploatarea "consultarea
'i actualizarea$ bazei de date*
2. controlul integrit%ii bazei*
3. confidentialitatea in)orma%iilor con%inute n baz*
4. accesul simultan al mai multor utilizatori la
in)orma%ii*
6. securitatea n )unc%ionare.
5a acestea se mai adaug "-6/$(
1. furnizarea unui set de comenzi i instruciuni,
necesare at7t utilizatorilor pentru consultarea
direct a bazei, prin intermediul unui limba8 de
manipulare, c7t 'i programatorilor, pentru
redactarea programelor de lucru cu baza de date*
1. re&izia 'i restructurarea bazei*
2. monitorizarea per)orman%elor.
9n SG! prezint, n general, urmtoarele module "-1/$(
1. Gestionarul fiierelor, care se ocup cu a)ectarea
spa%iilor de memorie pe disc 'i cu structurile )izice
de date care ser&esc la reprezentarea in)orma%iilor
pe suport.
1. Gestionarul bazei de date )ace legtura datelor
:)izice: din baz cu aplica%iile#program de
consultare 'i actualizare.
2. Procesorul de consultare # care :traduce:
instruc%iunile limba8ului de consultare n
instruc%iuni elementare, :inteligibile: pentru
gestionarul bazei. ;ai mult, acesta optimizeaz
1
consultarea, pentru a ob%ine rezultatele ntr#un
timp c7t mai scurt.
3. Modulele DML Data Manipulation Language!
realizeaz con&ersia instruc%iunilor limba"ului de
manipulare a datelor "!;5$ inserate ntr#un
program de aplica%ie, n proceduri curente ale
limba8ului#gazd, interac%ionand cu procesorul de
consultare n &ederea producerii sec&en%elor de
cod adec&ate.
4. Modulele Limba"ului de Definire a Datelor # !!5
"!ata !e)mition 5anguage$ < care :traduc: "prin
compilare sau interpretare$ 'i e+ecut
instruc%iunile !!5, ob%in7ndu#se ansamblul de
tabele ce reprezint metadatele stocate n
dicionarul de date.
Aceste cinci module interac%ioneaz cu o serie de
componente )izice ale bazei(
#iierele de date reprezint suportul propriu#zis al
bazei.
Dicionarul de date nmagazineaz in)orma%ii relati&e la
structura bazei, )iind solicitat n toate opera%iunile de
consultare 'i actualizare.
$ndeci, ntr#un numr su)icient pentru mrirea &itezei
de acces la date.
!e remarcat c o parte din )unc%iunile SG! sunt
asigurate de sistemul de operare al calculatorului.
Sintetic, structura unui sistem de gestiune a unei baze de
date este prezentat n =igura 1.1.
2
0 alt grupare a modulelor unui SG! are n &edere tot
cinci componente, dar prezentate dup cum urmeaz(
1. ,rograme de gestiune a bazei*
1. ;odule de prelucrare a instruciunilor DDL
"limba8ului de de)inire a datelor$*
2. ;odule de prelucrare a instruciunilor DML
"limba8ului de manipulare a datelor$*
3. Module%utilitare, ce permit ntre%inerea !*
4. ;odule pentru controlul programelor#aplica%ii.
1.1.1. 5imba8e de de)inire a datelor
Ar>itectura unei baze de date este speci)icat printr#o
serie de de)ini%ii redactate sub )orm de instruc%iuni scrise ntr#
un anumit limba8 # limba"ul de definire a datelor #!!5 "!ata
!e)inition 5anguage$. ?+ecu%ia acestor de)ini%ii se
materializeaz ntr#un ansamblu de tabele care sunt memorate
ntr#un )i'ier special, denumit dic%ionar "sau repertoar$ de date.
9n dic%ionar de date con%ine deci metadatc. adic date
relati&e la alte date, )iind consultat naintea oricrei citiri sau
modi)icri a datelor din baz.
@n general, limba8ele de de)inire "sau descriere$ a datelor
au nou )unc%iuni principale(
!escrierea logic a bazei de date 'i sub#sc>emelor proprii
)iecrui grup de utilizatori.
Identi)icarea sc>emei, sub#sc>emelor 'i di&erselor
agregri de date.
3
Specificarea fiierelor de date i a leg&turilor logice
dintre acestea. ,e baza acestor speci)ica%ii se poate realiza
accesul la date c>iar 'i n condi%iile co#e+isten%ei mai multor
modele de organizare ntr#o aceea'i !.
Definirea restriciilor semantice la care sunt supuse
datele. Acestea reprezint ansamblul &alorilor permise ale
)iecrei date, e&entual )ormula de calcul a unei date pe baza
&alorilor altor date. Aespectarea acestor restric%ii asigur
coeren%a bazei.
!e)inirea c>eilor de acces rapid 'i a c>eilor con)iden%iale
"parolelor$.
Definirea metodelor de exploatare a fiierelor ce &or )i
utilizate n aplica%ii pentru selectarea nregistrrilor.
!e)inirea procedurilor speciale de criptare, n &ederea
generrii c>eilor de acces.
!e)inirea modului de inde+are sau de localizare a
entit%ilor.
Determinarea tipului unei date, n sensul de dat de baz&
sau deri'at& "calculat printr#o e+presie, pe baza &alorilor altor
date$.
!at )iind comple+itatea structurilor de memorare 'i
metodelor de acces la acestea, la ni&el elementar )i'ierele de
date 'i dic%ionarul de date sunt accesibile numai speciali'tilor.
n sc>imb, pentru descrierea sc>emei !, marea ma8oritate a
limba8elor de interogare prezint comenzi adec&ate, ce pot )i
utilizate 'i de ne#in)ormaticieni.
4
1.1.2. 5imba8e de manipulare 'i interogare a datelor
,rin manipularea datelor se n%elege e)ectuarea uneia
dintre urmtoarele opera%iuni(
1. e+tragerea unor date din baz "consultare$*
1. scrierea de noi date n baz "adugare$*
2. 'tergerea datelor perimate sau eronate "uneori
c>iar 'i a celor corecte$*
3. modi)icarea &alorii unor date.
9n limba8 de manipulare a datelor "!;5 # !ata
;anipulation 5anguage$ este utilizat pentru a prelucra datele n
)unc%ie de structura lor. 5a ni&el )izic, prin !;5 se &izeaz
identi)icarea 'i implementarea unor algoritmi per)orman%i de
acces la date, n timp ce la ni&el e+tern !;5 trebuie s
)aciliteze dialogul utilizatorului cu baza n &ederea ob%inerii
in)orma%iilor dorite.
?+ist dou tipuri de !;5( '
!;5 procedurale, pentru care utilizatorul trebuie
s precizeze 'i ce date dore'te, dar B 'i cum pot )i
ob%inute*
!;5 ne#procedurale, pentru care utilizatorul
precizeaz datele dorite f(r& a speci)ica
procedurile de acces.
Comenzile !;5 depind de tipul SG!#ului.
Ast)el, pentru un SG! cu limba8 gazd, !;5 nu este
un limba8 autonom, )iind necesar includerea comenzilor sale
n programele scrise ntr#un limba8 gazd "C, ,5CSD5,
6
asamblor etc$, comenzi care por )i aduse n )ormat e+ecutabil
utiliz7nd una din metodele(
)ompilator *+mbog&it*, n sistemul de operare sunt
incorporate 'i comenzile !;5.
Pre%compilator, programele surs ce includ comenzi
!;5 sunt mai nt7i compilate, gener7ndu#se cod ntr#un limba8
e&oluat care, n a doua etap, &a )i adus n )ormat e+ecutabil
printr#un compilator standard.
Mecanism de apelare a sub%programelor )-LL!,
comenzile !;5 sunt, de )apt, subprograme* :apelatul: unei
comenzi reprezint un sub#program adus n )ormat e+ecutabil
printr#un compilator obi'nuit.
SG!#urile autonome prezint un !;5 propriu, n care
este inclus limba8ul de consultare "interogare$. ?+ecu%ia
comenzilor !;5 pentru unui sistem autonom poate )i realizat
prin mai multe modalit%i(
$nterpretare
Generarea programelor,
)ompilare DML

1.1.3. Gestionarul bazei de date


Gestionarului bazei de date,care este un modul de
programe ce realizeaz inter)a%a dintre datele interne "de pe
suport$ con%inute n baz 'i programele "sau comenzile$ de
consultare, 'i actualizare* principalele sale sarcini pot )i grupate
ast)el(
$nteraciunea cu gestionarul de fiiere. !atele brute sunt
stocate pe disc prin intermediul sistemului de gestiune a
.
)i'ierelor, care este o component a sistemului de operare al
calculatorului. Gestionarul ! traduce instruc%iunile di&erselor
!;5 n instruc%iuni#sistem, la ni&el elementar, )iind
:responsabil: 'i de buna des)'urare a opera%iilor de
scriereCcitire a datelor nCdin baz.
.aliditatea corectitudinea! datelor. !atele stocate
trebuie s satis)ac anumite restric%ii de integritate, speci)icate
de administratorul bazei. !up implementarea mecanismului
de integritate, gestionarul &eri)ic dac toate actualizrile se
deruleaz cu respectarea restric%iilor.
Securitatea datelor. Accesul la date trebuie s )ie
selecti&, gestionarul bazei )iind cel care asigur respectarea
drepturilor de acces ale )iecrui utilizator.
Sal'are i restaurare. Ei sistemele in)ormatice sunt
supuse accidentelor( distrugerea supra)e%ei magnetice,
ntreruperi n )urnizarea energiei electrice, erori ale
programelor etc. sunt inerente c>iar 'i n %ri super#dez&oltate.
n multe cazuri, datelor ce erau n curs de prelucrare n
momentul accidentului se altereaz sau se pierd n totalitate.
Gestionarul are di)icila misiune de a detecta la timp a&ariile 'i
de restaura datele pierdute n )orma 'i con%inutul dinaintea
accidentului. Aceasta se realizeaz prin intermediul unor
programe speciale de sal&are#restaurare.
Prelucr&ri simultane concurente!. ntruc7t n acela'i
timp pot lucra cu baza doi sau mul%i utilizatori, trebuie
asigurat coeren%a datelor prin a)ectarea unor ni&ele de
prioritate la ni&el de opera%ii 'i utilizatori.
@ntr#o alt abordare "&ezi !espi -1/$, celor dou
componente, Gestionarul fiierelor 'i Gestionarul bazei, le#ar
corespunde trei clase de module.
1. ,rograme de gestiune a !, care realizeaz :numai:
accesul )izic la date, n urma unei comenzi primite dintr#o
6
aplica%ie sau a unei consultri )ormulate ntr#un limba8 de
interogare.
1. ;odule utilitare, ce reprezint suportul ntre%inerii
bazei, principalele opera%ii realizate )iind(
@ncrcarea ini%ial a bazei de date 'i e)ectuarea
unor copii ale acesteia la anumite inter&ale de
timp.
Crearea 'i actualizarea unuia sau mai multor
8urnale de tranzac%ii ce con%in o e&iden% riguroas
a modi)icrilor e)ectuate asupra bazei, prin
contabilizarea urmtoarelor in)orma%ii(
Identi)icatorii programului, utilizatorului 'i
postului de lucru care au )cut apelul la baz*
!urata apelului*
Imaginea bazei, nainte 'i dup apel*
Fatura tranzac%iei#sistem sau a aplica%iei*
Aeorganizarea ! pentru recuperarea spa%iului
&id.
Aeorganizarea structurii )izice 'i logice dup
modi)icare.
Aestabilirea bazei dup un accident, n sensul
re&enirii la starea anterioar accidentului.
Gestiunea accesului la !.
Actualizarea sc>emei 'i subsc>emelor.
Identi)icarea :nclcrilor: integrit%ii ! 'i
semnalizarea erorilor ctre utilizator.
G
2. ;odule pentru controlul datelor constituie mi8locul
prin care se pre&in 'i corecteaz erorile ce pot apare n mediile
multi#utilizator.
1.1.4. Administratorul bazei de date
Administratorul unei baze de date este persoana
responsabil de sistem n ansamblul su. Aolul acestuia este
determinant n c7te&a acti&it%i )oarte importante.
1. Definirea ar/itecturii bazei de date se realizeaz
prin scrierea de)ini%iilor care &or )i trans)ormate
de compilatorul !!5 ntr#un ansamblu de tabele
stocate permanent n dic%ionarul de date.
1. Definirea modalit&ilor +n care 'a fi structurat&
memoria extern& 'i a metodelor de acces la date.
2. ;odi)icarea ar>itecturii 'i organizrii )izice a
bazei de date poate )i realizat
3. prin intennediul instruc%iunilor !!5, ob%in7ndu#se
ast)el actualizrile corespondente ale dic%ionarului
de date.
4. -utorizarea accesului la date se acord )iecrui
utilizator al bazei de date, administratorul )iind cel
care decide asupra datelor ce pot )i consultate 'i
actualizate de )iecare utilizator sau grup de
utilizatori.
6. Specificarea restriciilor de integritate. Aceste
restric%ii sunt stocate pe disc 'i consultate de
gestionarul bazei la )iecare actualizare.
@n plus, administratorul bazei de date este cel care(
.. asigur legtura cu utilizatorii*
10
6. de)ine'te procedurile de &eri)icare a drepturilor de
acces 'i a procedunlor "de &alidare a integrit%ii
datelor*
G. de)ine'te strategia de sal&are "nregistrarea
copiilor de siguran%$Crestaurare a bazei*
10. monitorizeaz per)orman%ele bazei 'i o adapteaz
la modi)icrile ulterioare ale sistemului
in)orma%ional.
Aaportul AFSICS,AAC 1GG4 delimiteaz trei categorii de
administratori(
-dministratorul +ntreprinderii, responsabil cu e+ploatarea
'i identi)icarea global a aplica%iilor prezente 'i &iitoare
utilizate n organiza%ia respecti&*
-dministratorul aplicaiilor, responsabil cu dez&oltarea
sub#sc>emelor e+terne pentru aplica%ii 'i utilizatori*
-dministratorul datelor precizeaz necesarul 'i
disponibilitatea datelor: la ni&elul sc>emei interne.
1.1.6. 9tilizatorii bazelor de date
@n Stepan -6/ sunt prezentate patru categorii de utilizatori(
1. Administratorul de date*
1. ,rogramatorii de aplica%ii*
2. 0tilizatorii neprogramatori locali, care acceseaz
datele )olosind limba8e de interogare*
3. 0tilizatori parametrici, ce interac%ioneaz cu baza
prin aplica%ii#program.
11
,rimele dou categorii reprezint utilizatorii
programatori, iar celelalte dou pe utilizatorii neprogramatori.
@n !espi -1/ se prezint tot patru categorii de utilizatori ce
pot interac%iona cu sistemul, dar gruparea lor se )ace ast)el(
1. Programatorii de aplicaii. Sunt in)ormaticienii
care interac%ioneaz cu baza de date prin
intermediul instruc%iunilor !;5 integrate n
programe scrise ntr#un limba8#gazd "Cobol,
,ascal, C$ sau n limba8ul SG!#lui respecti&. ?i
sunt aceia care redacteaz programele de aplica%ii.
1. 0tilizatorii ocazionali.
2. 0tilizatorii cureni obinuii!.
3. 0tilizatorii specializai. Aici sunt inclu'i
speciali'tii n sisteme e+pert, proiectare asistat de
calculator, modelare etc.
!e'i nu se deosebe'te radical de precedentele
categorizri, considerm c se poate )ace o clasi)icare a
tipurilor de utilizatori ai unei ! 'i dup cum urmeaz(
Specialiti +n organizarea intern& a bazei pe suportul
)izic( ingineri de sistem, administratori de re%ele, programatori
n limba8e apropiate de ec>ipament "limba8e de asamblare, C,
motoare de baze de date$ etc.
Administratorul !.
-naliti, care particip "mpreun cu administratorul !
'i programatorii$ la proiectarea aplica%iilor ce &or e+ploata
baza.
Programatori, ce redacteaz aplica%ii#program.
0tilizatori interni "anga8a%i ai ntreprinderii$ ce
interacioneaz& cu 3D direct, prin intermediul limba8elor de
interogare "SD5, D?$.
11
0tilizatori interni ce interacioneaz& cu 3D prin
aplicaii%program. Ace'tia sunt cei autoriza%i s e+ploateze n
mod curent baza, dar pot )i ncadra%i aici 'i cei care utilizeaz
datele e+trase cu a8utorul unei aplica%ii n alte departamente 'i
ni&ele ierar>ice ale ntreprinderii dec7t cele n care s#a )cut
preluarea datelor primare.
0tilizatori externi, autorizai s acceseze anumite
in)orma%ii. !e obicei, accesul este contra cost, dar poate )i 'i
gratuit "n &irtutea unor n%elegeri sau n cazul bncilor de date
publice$.
0tilizatori indireci, care utilizeaz in)orma%iile )urnizate
de !)r un contact direct cu aceasta ")r utilizarea unui
terminal sau sta%ie de lucru$, numai prin intermediul rapoartelor
scrise, a imaginilor "gra)icelor$ etc. ?ste o categorie al crui
numr de membri s#a :sub%iat: spectaculos n ultimii ani.
4ac5er%ii. Speciali'ti >ardHare 'iCsau so)tHare, sunt
persoane care ptrund )raudulos n bncile de date, )ie din
curiozitate sau pentru distrac%ie, )ie pentru pro&ocarea unor
daune sau sustrageri de in)orma%ii. ,trunderea se poate )ace
at7t din interiorul unit%ii, c7t 'i din e+terior, dac
ntreprinderea este conectat la o re%ea public sau inter#
organiza%ii.
12
1.1... Inter)e%e ale SG!#urilor
Inter)e%ele pot )i clasi)icate n(
Inter)e%e bazate pe meniu. Aceste inter)e%e prezint
utilizatorului o list de op%iuni, numit meniu, pe baza creia
utilizatorul 'i )ormuleaz cererea.
Inter)e%e gra)ice. Aceste inter)e%e &or a)i'a o sc>em
pentru utilizator sub )orma unei diagrame. 9tilizatorul poate
speci)ica ntrebarea prin maniplularea diagramei. @n multe
cazuri , inter)a%a gra)ic poate )i combinat cu o inter)a%
bazat pr meniu.
Inter)e%e bazate pe )orme. Acestea a)i'eaz o )orm
pentru utilizator sub care se ob%in toate nregistrrile sau noi
date. ;ulte din SG!#uri au limba8e speciale, numite limba"e
de specificare a formelor, ce a8ut programatorii s#'i speci)ice
)ormele.
Inter)e%e cu limba8 natural. Acestea accept cererile scrise
n englez sau ntr#un limba8 care este n%eles. Inter)a%a )ace
re)erin% la cu&intele sc>emei, care )ac parte dintr#o mul%ime de
cu&inte standard.
Inter)e%e parametrice. 9tilizatorii parametrici, ca de pild,
)unc%ionarii de banc au la dispozi%ie o mul%ime de aplica%ii,
care sunt repetate de multe ori. Anali'tii de sistem 'i
programatorii, n mod )rec&ent, proiecteaz 'i implementeaz o
inter)a% special pentru o clas cunoscut de utilizatorii.
!eseori, se )olose'te o mul%ime unic de abre&ieri ale
comenzilor cu scopul de a minimiza numrul de taste apsate la
)iecare cerere. Ast)el de inter)e%e sunt numite uneori limba"e de
comand&.
Inter)e%e de administrare.
13
1.1 6'oluia te/nologiilor bazelor de date
1.1.1 ?tapele de e&olu%ie ale te>nologiei sistemelor de calcul
,utem identi)ica cel pu%in patru etape separate n
domeniul calculului care se bazeaz predominant
caracteristicile >ardHare ale ec>ipamentelor de calcul.
a. ?c>ipamente de calcul mainframe
,rima etap se bazeaz pe ec>ipamente mainframe. 9n
mainframe era de obicei un sistem care costa milioane de dolari
'i necesit o camer specializat cu controale complete 'i
podea )als pentru ascunde interconectrile. ,rimele pac>ete de
so)tHare de baze de date au )ost dez&oltate pentru ec>ipamente
main)rame ")olosind limba8e specializate cum ar )i )737L sau
-D-$. So)tHare#ul main)rame pentru baze de date a )ost mult
utilizat 'i a a&ut o lung perioad de e&olu%ie. ;ulte din
pac>etele so)tHare pentru baze de date disponibile pentru
main)rame erau e+trem de so)isticate 'i ndeplineau o serie
larg de )acilit%i* totu'i , nu sunt prea u'or de )olosit 'i nici nu
sunt orientate ctre uzul obi'nuit de la terminale de ctre
utilizatori.

b. ;inicomputerul ca ec>ipament de calcul
A doua etap ncepe n perioada mainframe#urilor 'i este
caracterizat de sisteme cu un cost mult mai mic dect cele
precedente( minicomputerele
9n minicomputer era adesea un sistem portabil care putea
cere sau nu condi%ii de mediu speciale 'i de obicei costa c7te&a
sute de dolari. 0 )orm special de minicomputer a )ost sta%ia
de lucru "base station$ care era )olosit ntr#un scop indi&idual
14
specializat, cum ar )i editarea de te+te "8or5perfect$ sau
caculul tabelar "Lotus 112$.
c. Calculatoare personale
A treia etap este caracterizata de utilizarea
calculatoarelor personale, prezente 'i astzi n birourile celor
mai mul%i utilizatori. ,rimele pac>ete de so)tHare de !
dez&oltate pentru calculatoare personale au )ost mai slabe 'i
mai pu%in )le+ibile 'i utilizate mai mult ca sisteme de gestiune a
)i'ierelor. @n prezent e+ist c7te&a sisteme de gestiune a bazelor
de date pre)ormante implementate pe ,C#uri "cum ar )i
#oxPro, sau Microsoft -ccess$, n general adresate
utilizatorilor de baze de date de &olum mic.

d. ;odelul client#ser&er
A patra etap, pe care )irmele au nceput s o adopte
masi&, este caracterizat de )aptul c se utilizeaz ntregul
a&anta8 al unei re%ele de calculatoare imterconectate. @n mediul
clientCser&er prelucrarile unei aplica%ii pot )i distribuite pe o
mul%ime de procesoare, )iecrei ma'ini )iindu#i atribuit un tasI
pentru care aceasta este potri&it. 9nele procesoare
)unc%ioneaz n rolul de client 'i )ac cereri de ser&icii, alte
procesoare )unc%ioneaz n rol de ser&er accept cereri de la
clien%i, le e+ecut 'i napoiaz rezultatele. Aceast etap de
calcul este asociat cu e&olu%ia sistemelor de calcul cu
ar>itectur desc>is.

1.1.1 Genera%ii ale te>nologiei so)tHare#ului bazelor de date

Cum n domeniul >ardHare#ului am distins patru mari
etape, n domeniul so)tHare#ului se disting cel pu%in 'ase
genera%ii de aplica%ii concepute special cu scopul de a gestiona
16
memoriile e+terne ale calculatorului. Cele 'ase genera%ii sunt
prezentate n )igura 1.2 'i sunt pe scurt descrise n urmtoarele
paragra)e.
a. Sisteme de gestiune al )i'ierelor
Sistem de gestiune a fiierelor, care a )ost proiectat s
u'ureze manipularea in)orma%iilor pe disc.
,rogramele au )ost organizate pe baza unui model
orientat pe prelucrri 'i realizate intr#un limba8ul de ni&el inalt,
n special C005. Aceste programe prelucrau datele din
)i'iere n concordan% cu cerin%ele din di&erse domenii.
=i'ierele erau sortate dup di&erse grupe de atribute sau
inde+ate dup c>ei logice. @n timp ce sistemele de gestiune a
)i'ierelor erau n a&anta8ul programatorilor metodele de
accesare erau nc primiti&e. Accesul aleator cerea programului
de aplica%ii s cunoasc locul )izic al datelor pe disc.
b. aze de date ierar>ice
;odelul ierar>ic a )ost primul model utlizat n
structurarea datelor pe baza unei structuri arborescente.
Acesta a corespuns unei ierar>ii ntre mai multe nregistrri
a&7nd la baz o structur arborescent, n care nodurile sunt
tipuri de nregistrri 'i un nod printe poate a&ea mai multe
noduri copil. Sc>ema are un singur nod radacin.
c. aze de date de tip re%ea

So)tHare#ul asociat unei bazei de date trebuia s permit
ca la modelarea datelor s se utilizeze o anumit structur
gra)ic. 5egturile de tip re%ea par att de comune n sistemele
economice nct so)tHare#ul bazei de date a )ost construit s
1.
suporte modele de date de tip re%ea la )el de bine ca modelele
de date ierar>ice. Constructorii au stabilit c so)tHare#ul bazei
de date poate )le+ibil dac este permis stocarea unor structuri
de re%ea mai pu%in restricti&e.
C0!ASJ5 a introdus un limba8 de manipulare al datelor
care a )ost )olosit s creeze 'i s proceseze datele stocate n
baza de date 'i un set de )unc%ii au+iliare pentru memoria
)izic, implementnd un control al securit%ii 'i concuren%ei.
d. aze de date rela%ionale
;odelul rela%ional are o )undamentare matematic
)ormal, dar n acelasi timp de)ine'te o &iziune orientat pe
tabele care este intuiti& c>iar 'i utilizatorilor nespeciali'ti.
;odelul rela%ional al bazelor de date se de)ine'te )ormal
ca o mul%ime de de operatori matematici rela%ionali, care pot )i
aplica%i datelor dintr#o baz de date. 9n aspect important al
opera%iilor rela%ionale este acela c )iecare opera%ie )olose'te
date sub )orm de tabele 'i produce la ie'ire tot date const7nd
tabelate.
Caracteristici ale modelului de date rela%ional
Independen%a datelor. !atorit modelului rela%ional,
reprezentarea n calculator e independent de inter)a%a
aplica%iei.
;anipularea declarati&. ;odelul de date rela%ional
de)ine'te o mul%ime de operatori care pot )i aplica%i datelor
rela%ionale
Aedundan%a redus. C7nd o baz de date e proiectat, un
proces de normalizare poate )i aplic7t datelor.
Aeducerea redundan%ei are dou a&anta8e asupra
sistemului(
16
# nltur posibilitatea ca por%iuni din baza de date s nu
se sincronizeze n timpul actualizarilor
# mic'oreaz de obicei cantitatea de date stocate,
reduc7nd mrimea bazei de date 'i sal&7nd spa%iu pe disc.
Simplitatea reprezentrii datelor. ;odelul rela%ional a
limitat numrul de obiecte de date 'i numrul de operatori ce
pot )i aplica%i acestor obiecte.
Simplitatea prezentrii datelor. Aezultatul tuturor
operatorilor rela%ionali este un nou tabel, care deseori este
solu%ia cerut de aplica%ie.
e. aze de date distribuite "orientate clientCser&er$
In cazul e+ploatrii distribuite intre mai mul%i utilizatori
este necesar s se e&ite situatiile con)lictuale. 0 baz& de date
distribuit& "!!$ este o mul%ime de baze de date corelate
logic, cooperante 'i distribuite pe mai multe calculatoare "sta%ii
de lucru$, interconectate printr#o re%ea de comunicatie.
Gestiunea !! are a&anta8ele urmtoare(
utilizatorii controleaz direct datele locale 'i integritatea
lor,
administrarea bazei se e)ectueaz de la o sta%ie conectat
n re%ea, ceea ce determin posibile prelucrri distribuite.
se reduce costul prelucrrii prin procesarea locala a
datelor )r a mai )i trans)erate la un calculator central*
cre'te per)ormanta 'i )iabilitatea gestiunii prin utilizarea
procesrilor paralele*
!! reprezint o solu%ie e)icient pentru datele
distribuite geogra)ic*
1G
Ca deza&anta8e putem enumera urmtoarele(
administrarea centralizat se complic, ast)el a&em baze
de date locale di)erite*
accesul utilizatorului la propria sa baz de date local este
incetinit*
aza de date situat pe un calculator di)erit de
calculatorul utilizatorului 'i accesata cu a8utorul unor comenzi
de comunica%ie se numeste baz de date la distan%.
Actualizarea se )ace centralizat 'i accesul e n general limitat la
consultarea bazei.
Aceasta constituie primul tip de !! 'i necesit mai
multe sta%ii care con%in )iecare un administrator al 3DD, care
este n general un so)tHare , un administrator al reelei de
comunicaie 'i un sistem de gestiune al bazelor de date
"SG!$ local.
Sistemul de gestiune global al unei !! se compune din
urmtoarele componente so)tHare(
SG! local propriu ce con%ine 'i un dic%ionar cu datele
locale*
so)tHare de comunica%ie ce descrie nodurile 'i legturile
din cadrul re%elei*
dictionar global de date ce cuprinde in)orma%iile despre
!!, structura, localizare, restric%ii, disponibilitate 'i modul de
utilizare.
0 baz de date distribuit poate )i omogen sau
eterogen. ?ste omogen c7nd pe toate sta%iile este acela'i
SG! 'i acela'i sistem de operare, 'i eterogen cand sta%iile nu
sunt de acela'i tip 'i nu este acela'i SG! pe toate sta%iile.
0 baz de date paralel este o !! omogen n care
sta%iile sunt multiprocesoare "calculatoare paralele$. Sta%iile
10
comunic intre ele prin mesa8eGrupul AFSICK1CS,AAC a
propus o ar>itectura pentru !! pe dou ni&ele de organizare
a datelor(
ni'el global, care permite integrarea bazei de date locale
ntr#o baz de date globala*
ni'el local, care permite tratarea unei baze de date locale
la acest ni&el desi ea este inclus n !! ca o baza
centralizat.
Fi&elul global d o descriere unitar a tuturor datelor din
!! independent de bazele de date locale 'i cuprinde
urmtoarele sc>eme(
sc/ema conceptual& global&
sc/ema externa global&
sc/ema de alocare
@ntr#o con)igura%ie tipic bazei de date clientCser&er, un
program aplica%ie acceseaz baza de date prin intermediul
so)tHare#ului client care ruleaz n sistemele de calcul local.
So)tHare#ul local al bazei de date client comunic printr#o re%ea
cu alt sistem ce ruleaz so)tHare#ul bazei de date pe ser&er,
complementar. @ntr#un sistem obi'nuit, cererile unui program
de aplica%ii pentru o baz de date, cer ser&erului bazei de date
un ser&iciu legat de o baz de date. So)tHare#ul bazei de date
client trimite cererea prin re%ea la ser&erul bazei de date.
So)tHare#ul bazei de date de pe ser&er realizeaz ser&iciul cerut
'i returneaz rezultate potri&ite so)tHare#ul bazei de date client.
,rogramul de aplica%ie local &ede doar so)tHare#ul bazei de
date client.
@ntr#o baz de date clientCser&er, baza de date poate )i
mpr%it 'i stocat pe un numr de ma'ini la distan%. !in nou
programul de aplica%ie local )olose'te so)tHare#ul bazei de date
client pentru a cere acces la date ca 'i cum toate ar )i stocate
11
local. So)tHare#ul bazei de date ser&er ce ruleaz pe un numr
de ma'ini la distan% coopereaz cu accesarea datelor cerute din
partea so)tHare#ului local client 'i cu programul aplica%ie.
Aproape orice tip de so)tHare ! poate )i adaptat s
ruleze ntr#un mediu clientCser&er, dac are un suport de date
adec&at. ?+emplele de so)tHare de ! ce se )olosesc n mediul
clientCser&er includ multe din pac>etele disponibile pentru
main)rame#uri 'i minicomputere, la )el de bine ca 'i produsele
! care sunt proiectate s ruleze pe calculatoare personale.
;ulte subsisteme so)tHare de ! pentru main)rame#uri
'i minicomputere au nceput ca sisteme ce suportau opera%ii
orientate pe terminale n care un singur calculator )ace toat
prelucrarea aplica%iei si toate prelucrrile de acces la !.
?+emple de acest tip de so)tHare sunt I;S, I!;S 'i !1
pentru main)rame#uri. C7te&a din aceste pac>ete sunt )olosite
n medii clientCser&er n care baza de date e stocat pe
main)rame, n timp ce alte calculatoare sunt ata'ate la
main)rame printr#o re%ea.
;ulte pac>ete so)tHare de baze de date pentru ,C#uri au
)ost destinate ini%ial s ruleze pe sisteme utilizator indi&iduale
'i s acceseze de obicei baze de date stocate pe aceea'i ma'in
pe care ruleaz so)tHare#ul bazei de date. Alte pac>ete
so)tHare de ! pentru calculatoare mici sunt concepute special
s )ie rulate ntr#un mediu clientCser&er n care o singur
aplica%ie ! poate cuprinde multe calculatoare. SD5 'i 0racle
intr n acest categorie. Azi, cele mai )olosite aplica%ii de baze
de date suport modelul de date rela%ional 'i cel distribuit.
). Le>nologia bazelor de date orientate pe obiecte
0 nou )orm de baz de date numit baz de date
orientat obiect ncepe s de&in important 'i p7n la urm &a
coe+ista n multe medii cu bazele de date rela%ionale sau cele
11
de tip clientCser&er. ;odelul rela%ionl care st la baza celor
mai multe baze de date rela%ionale, )ie c sunt centralizate sau
distribuite, speci)ic )aptul c baza de date trebuie s stoc>eze
date )r proceduri. 9n obiecti& ma8or al te>nologiei bazelor de
date este s )ac datele complet independente de proceduri. 0
baz de date orientat obiect stoc>eaz obiecte, ce constau 'i
din date 'i din proceduri "numite metode$ care sunt opera%ii
asupra datelor.
Le>nologia bazelor de date rela%ionale probabil &a
continua s coe+iste cu !00 'i bazele de date rela%ionale
con&en%ionale &or )i )olosite n anumite clase de aplica%ii, n
timp ce !00 &or )i )olosite pentru altele. @n timp ce !00
reprezint &iitorul unei te>nologii de baze de date a&ansate, nu
a intrat mult n curentul principal al a)acerilor din domeniile de
prelucrare a in)orma%iilor.
1.1.3 ?+tensii ale modelului rela%ional
azele de date orientate obiect nu sunt n acest moment
utilizate at7t de mult ca bazele de date rela%ionale. 0ricum, este
interesant de notat cum multe din pac>etele de baze de date
rela%ionale moderne ncep s adopte unele caracteristici ale
te>nologiei orientat pe obiecte(
Proceduri stocate. ;ulte din bazele de date rela%ionale
destinate special pentru mediile clientCser&er, permit
procedurilor stocate s )ie memorate n baze de date mpreun
cu datele. Asemenea proceduri pot )i apoi e+ecutate de
programe de aplica%ii care apeleaz baza de date.
9eguli i delcanatori triggeri!. C7te&a so)tHare#uri !
permit 'i ca procedurile s )ie e+ecutate automat printr#un
12
sistem de declan'atori. !. 9n declan'ator de)ine'te o mul%ime
de reguli ce gu&erneaz circumstan%ele n care o procedur
stocat trebuie s )ie e+ecutat.
:ncapsularea. ,rocedurile stocate si declan'atorii permit
sistemelor de so)tHare de baze de date s realizeze o )orm a
mecanismului de ncapsulare )olosit n te>nologia orientat pe
obiecte. Ideea ncapsulrii este c un obiect trebuie s con%in
proceduri, c7t 'i toate datele cu care opereaz acele proceduri.
,rin memorarea codului procedurii n baza de date ns'i,
programatorul poate crea seturi de proceduri pe care utilizatorii
bazei de date pot s le acceseze n loc de datele din baza de
date.
1.1.4 Sisteme de asistare a deciziilor 'i depozite de date
Cum am &zut, e&olu%ia te>nologic a bazelor de date
tinde spre e+tinderea sistemului de baze de date rela%ionale la
baze de date orientate obiect. @n acelasi timp, aplica%iile pentru
organiza%ii )olosesc so)tHare de baze de date care e&olueaz.
;ediilre de stocare a datelor 'i depozitele de date sunt
mpr%ite n patru clase, dup gradul de utilizare ca sisteme de
asistare a deciziilor. Conductorii de organiza%ii "directori,
patroni etc.$ au ne&oie de timp pentru a lua decizii bune. @n
general, este )oarte di)icil ca baza de date s satis)ac pe loc
cererea de in)orma%ii.
Cele patru clase sunt(
Mediu de clasa $. #iiere. @n acest mediu, so)tHare#ul
bazei de date nu e )olosit dec7t pentru a controla accesul la
baza de date. 9n a&anta8 al acestui mediu este simplitatea.
Acest mediu se caracterizeaz printr#o proli)erare a )i'ierelor
13
de date cu o redundan% mare a datelor 'i cu un cost de
ntre%inere ridicat.
Mediu de clasa $$. -plicaii pentru baze de date. @n acest
mediu, so)tHare#ul bazei de date este )olosit )r a distribui
datele ntre aplica%ii. aze de date separate sunt concepute
pentru ne&oile )iecrei aplica%ii. Acest mediu este caracterizat
de asemenea de )aptul c, costurile de ntre%inere pot )i mai
ridicate dec7t cele pentru mediul de clasa nt7i.
Mediul de clas& $$$. 3aze autonome de date. @n acest
mediu, bazele de date sunt create independent de orice
aplica%ie particular. azele de date sunt realizate 'i memorate
independent de )unc%iile speci)ice pentru care sunt )olosite.
Acest mediu cere analize de date care pot s duc la costuri de
ntre%inere mult mai mici dec7t mediile clasei nt7i 'i doi.
Acest mediu poate duce 'i la aplica%ii mai rapide 'i la
interac%iunea direct a utilizatorului cu baza de date.
Mediul de clas& $.. Sisteme de informaii. Acest mediu
este caracterizat de baze de date care sunt organizate pentru
)urnizarea de in)orma%ii mai rapid, mai de grab dec7t pentru
&olumul mare n care sunt produse. Foi elemente de date sunt
adugate n baza de date pe msur ce este ne&oie de ele. @n
ma8oritatea organiza%iilor, un mediu de clasa patru ar trebui s
coe+iste cu un mediu de clas trei, cu baze de date din )iecare
mediu organizate potri&it scopurilor propuse.
Fe&oia de a coe+ista a un mediu de clas trei cu unul de
clas patru a condus la apari%ia conceptului de depozit de date.
9n depozit de date este un mediu n care ambele baze de date,
cea orientat pe produc%ie 'i cea optimizat pentru utilizatori
ce cer date pe loc sunt ntre%inute de organiza%ie. !in
perspecti&a unui depozit de date, utilizatorii nu sunt
programatori de aplica%ii care scriu programe de acccesare a
datelor ntr#un scop particular. ci utilizatorii ultimi ce )olosesc
datele n munca de zi cu zi. Ace'ti utilizatori )olosesc o mare
14
&arietate de unelte pentru apelarea datelor de care au ne&oie.
9na din )unc%iile depozitului de date poate )i aceea de a ser&i
ca util n organizarea datelor, distribuirea lor 'i interogarea
bazelor de date.
16
Capitolul II. Introducere n 0racle
1.1 )e este 79-)L6
0racle este cel mai rsp7ndit Sistem de Gestiune a
azelor de !ate Aela%ionale "Aelational !atabase ;anagement
SMstem # A!;S$ din lume. ,ro)esioni'tii din domeniul
Le>nologiei In)orma%iei "IL$ consider c produsele 0racle
satis)ac cerin%ele de baze de date din numeroase domenii
precum cel industrial, )inanciar, )armaceutic 'i al
telecomunica%iilor din ntreaga lume. azele de date 0racle
sunt instalate pe toate tipurile de calculatoare 'i ruleaz sub
principalele sisteme de operare e+istente. ?+ist &ersiuni
0racle pentru plat)orme de la calculatoarele portabile modeste
p7n la ser&erele puternice de baze de date la care sunt
conecta%i simultan mii de utilizatori. azele de date 0racle
)unc%ioneaz ca motoare de procesare a tranzac%iilor on#line,
bnci de date, depozitare pentru aplica%ii Heb etc. .
=iind prima baz de date proiectat pentru calcul n
grid, 0racle !atabase aduce mbunt%iri semni)icati&e )a% de
predecesoarele sale printr#o per)orman% superioar,
scalabilitate, disponibilitate mrit. Grid Computing reprezint
utilizarea coordonat a mai multor ser&ere mici care ac%ioneaz
ca un singur sistem )oarte puternic. ,entru utilizatorii care
lucreaz n te>nologia GC nu mai conteaz unde sunt stocate
datele, unde sunt stocate aplica%iile, ce calculatoare proceseaz
cererea de regsire, ce resurse sunt )olosite n retea. ?nterprise
Grid Computing # ?GC nseamna procesul de punere la lucru
mpreuna a mai multor calculatoare e+istente la ni&elul unei
organiza%ii 'i )unc%ionarea ca un sistem integrat. Ar>itectura
1.
GC e&identiaz gra)ic di)eritele componente 'i legturile dintre
ele. Structurarea se )ace pe patru ni&ele "aplica%ii, ser&er de
aplica%ii, baze de date, ec>ipamente$ conectate prin mecanisme
de inter)a% de ser&icii 'i monitorizare "control$. 0racle este
prima companie care a promo&at te>nologia GC, ntr#un sistem
de gestiune a bazelor de date < 0racle 10g < pentru
intreprinderi. Ast)el, o)er o in)rastructur so)tHare complet 'i
comercial, proiectat special pentru GC lucrul cu baze de
date. 0racle 10g permite adaptarea sistemelor in)ormatice la
modelul ?GC, care )olose'te puterea de prelucrare a unui mare
numr de calculatoare, pu%in costisitoare, care ac%ioneaz ca un
tot unitar.
9tilizarea pe dispoziti&e de stocare 'i ser&ere
standardizate a de&enit mai usoar 'i la un pre% mai redus.
Scurt istoric( 0racle este produsul unei mari companii
care a a&ut parte de un succes enorm n cei mai bine de 20 de
ani de c7nd se a)l pe pia%. Lotul a nceput n anii '60, c7nd
Codd, cercettor la I..;., a studiat posibilitatea ameliorrii
modului de stocare a datelor n )i'iere, deoarece e+isten%a
in)orma%iilor redundante predispunea la erori greu de depistat.
@n 1G.0 el a publicat un articol, :A Aela%ional ;odel o) !ata
)or 5arge S>ared !atabanIs: care a sc>imbat complet
concep%iile pri&ind structura bazelor de date. 9n programator,
5arrM ?llison, sesiz7nd importan%a practic a teoriei lui Codd, a
realizat un produs so)tHare, 0racle, 'i o )irm pentru
promo&area acestuia, 0racle Coorporation. !e#a lungul anilor,
produsul )irmei 0racle a trecut prin multe sc>imbri de nume,
de la &ersion 1 la &ersion 6, apoi la 0racle ., 6, 6i, Gi, 10g 'i
c>iar 11g n anul 100. ")ig.1$.
=ig.1.1 ?&olu%ia sistemului 0racle
16
0rice sistem de gestiune a bazelor de date are cel pu%in
un limba8 de programare cu instruc%iuni pentru descrierea
datelor # !!5 'i instruc%iuni pentru manipularea datelor <
!;5. Aceste limba8e permit implementarea unui model logic
de date pentru baze de date, deci sunt speci)ice. ,e lang
acestea, ma8oritatea sistemelor de%in sau au inter)e%e cu alte
limba8e de di)erite tipuri, scopul )iind acela de a o)eri toate
)acilita%ile de programare necesare pentru dez&oltatorul de
aplica%ii cu baze de date. Acest lucru este necesar deoarece
ma8oritatea problemelor din lumea real implic, pentru
in)ormatizare, utilizarea mai multor tipuri de limba8e de
programare, deoarece )iecare o)er anumite )acilita%i 'i
a&anta8e.
0racle de%ine n nucleul sistemului mai multe limba8e
de programare( SD5 ca limba8 rela%ional pentru descrierea 'i
manipularea datelor n baza de date rela%ional, ,5CSD5 ca
limba8 procedural propriu, Na&a ca limba8 orientat obiect 'i de
comunica%ie, e+tensie de programare orientat obiect n
,5CSD5, precompilatoarele < ca inter)e%e de programare cu
limba8ele uni&ersale < =ortran, Cobol, ,ascal, C etc. Aezult
asadar c 0racle o)er dez&oltatorului posibilitatea de a scrie
cod sursa n limba8ele de programare pe care le 'tie sau de care
are ne&oie, practic n orice tip de limba8.
1G
1.1. Limba"ul PL;S<L
5imba8ul SD5 "Structured DuerM 5anguage$ este un
limba8 declarati& orientat pe ob%inerea de mul%imi de selec%ie
ntr#o aplica%ie n ar>itectura client#ser&er. ?)icien%a sa este
remarcabil, dar n cazul n care elementele unei mul%imi de
selec%ie trebuie accesate pe r7nd, nu n grup, utilizarea sa nu
mai este posibil. ,e de alta parte, SD5 nu o)er nici suportul
necesar realizrii inter)e%ei unei aplica%ii. @n contrast cu SD5,
limba8ele procedurale pot manipula linii indi&iduale dintr#o
mul%ime de selec%ie. ?le dispun de )unc%ii care permit trecerea
de la o linie la alta 'i rami)icarea codului n )unctie de
rezultatul testrii &alorilor preluate din tabelele bazei de date.
=ig. 1.2 5imba8ul ,5CSD5
5imba8ul ,5CSD5 ",rocedural 5anguage e+tensions to
SD5$ a )ost dez&oltat de compania 0racle ca e+tensie a
limba8ului declarati& SD5. ,5CSD5 este un limba8 de
programare procedural care poate )i )olosit pentru descrierea
unor prelucrri comple+e sau pentru programarea unor
sec&en%e de cod care trebuie e+ecutate automat la apari%ia unui
e&eniment "trigger$. 0 caracteristic remarcabil a limba8ului
,5CSD5 este )aptul c procedurile sau )unc%iile scrise &or )i
memorate n baza de date. Acelea'i prelucrri pot )i realizate
de regul 'i n cadrul aplica%iilor client care acceseaz datele
din baza, dar n cazul modi)icrii unei metode de calcul trebuie
re)cute aplica%iile client a)ectate 'i suportate toate costurile pe
care le implic redistribuirea unor noi &ersiuni ale aplica%iilor
client.
A&7nd n &edere )aptul c de multe ori aplica%iile din
domeniul bazelor de date sunt n ar>itectura client#ser&er 'i
20
aplica%ia client acceseaz aplica%ia ser&er prin intermediul unei
re%ele, utilizarea pe c7t posibil a procedurilor scrise n ,5CSD5
poate ameliora semni)icati& &iteza de prelucrare. @n cazul unei
proceduri care ar implica trans)erul spre aplica%ia client a unui
&olum mare de date "rezultatul unei interogri de e+emplu$,
nt7rzierile cauzate de re%eaua prin care se acceseaz ser&erul
de baze de date pot )i mari. !ac prelucrarea datelor nu
presupune a)i'area acestora n aplica%ia client, mult mai
e)icient este solu%ia prelucrrii datelor pe ser&er, ntr#o
procedur scris n ,5CSD5.
,5CSD5 este bazat pe limba8ul A!A, o parte dintre
construc%iile sale sintactice pro&enind din ,ascal.
A&anta8e ale ,5CSD5(
stuctura de bloc "programele pot )i mpr%ite
n blocuri logice, )iecare con%in7nd resursele
necesare n acel bloc. Oariabilele pot )i
declarate local n cadrul unui bloc n care
&or )i )olosite, iar tratarea erorilor "sau
?+ceptiile$ se poate )ace n blocul n care
apar$*
controlul e+ecu%iei "deciziile, buclele 'i
salturile pot )i )olosite pentru a controla
e+ecu%ia programelor, deciz7nd dac 'i c7nd
SD5 'i alte ac%iuni s )ie e+ecutate$*
portabilitatea "deoarece ,5CSD5 deri& din
0AAC5?, programele pot )i puse pe toate
ma'inile care suport 0AAC5? 'i ,5CSD5$*
per)orman%ele "utilizarea ,5CSD5 poate
a8uta la mbunt%irea per)orman%elor
aplica%iilor$.
21
1.2. 7racle #orms 3uilder
7racle #orms este un limba8 puternic, utilizat pentru
dez&oltarea aplica%iilor interacti&e. 0rice aplica%ie creat cu
7racle De'eloper este prin natura ei o aplica%ie multi#
utilizator, bazat pe te>nologia client;ser'er, independent de
plat)orma.
7racle #orms constituie coloana &ertebral a pac>etului
de programe 0racle !e&eloper )iind utilizat pentru realizarea
inter)e%elor interacti&e ale aplica%iilor. ,ermite apelarea at7t a
altor componente 0racle !e&eloper c7t 'i a programelor scrise
n C sau a altor aplica%ii.
0racle =orms este bazat pe programarea orientat pe
e&eniment, )apt ce permite scrierea de cod ,5CSD5 ata'at unui
e&eniment pentru a de)ini ac%iunea care se &a e+ecuta la
apari%ia e&enimentului respecti&. !e asemenea 0racle =orms
utilizeaz 'i conceptul de programare orientat pe obiect,
permi%and mostenirea de obiecte "mo'tenirea anumitor
caracteristici$ ncapsularea "de)inirea unor caracteristici proprii
)iecrei clase de obiecte$ polimor)ismul "rescriere unor )unc%ii$.
@n directorul destinat instrumentelor 7racle De'eloper
sunt create trei icoane pentru 7racle #orms( #orms 3uilder,
#orms )ompiler 'i #orms 9untime. !ez&oltarea unei aplica%ii
se realizeaz cu =orm uilder, care poate apela pentru
compilare 'i e+ecu%ie celelalte dou componente, ne)iind
necesar apelarea separat a acestora.
#orms 3uilder este mediul n care aplica%iile sunt
create, testate 'i depanate. ?l )urnizeaz o serie de instrumente
de design cu a8utorul crora se poate crea 'i modi)ica
)unc%ionalitatea sau aspectul unei aplica%ii.
21
0b8ect Fa&igator
?ditorul de propriet%i ",ropertM ,alette$
?ditorul de Aran8are "5aMout ?ditor$
?ditorul ,5CSD5 ",5CSD5 ?ditor$
?ditorul de meniuri ";enu ?ditor$
Loate aceste instrumente sunt disponibile n meniul
=ools ")ig. 3$.
Cea mai important componenta este 7b"ect >a'igator.
Aceasta permite accesul la di&erse componente pentru
realizarea )ormelor, meniurilor 'i biblioteciilor, precum 'i la
obiectele bazei de date cum ar )i declan'atoarele "triggers$ 'i
procedurile stocate.
7b"ect >a'igator permite na&igarea )acil ntre
elementele ce apar%in )ormelor. 9n obiect poate )i editat,
modi)icat sau creat n ntregime de ctre 7b"ect >a'igator.
=ereastra principal a 7b"ect >a'igator prezint )iecare obiect
"instan%$ sau tip de obiect, ce poate )i precedat de unul de
simbolurile P si #. Aceste semne apar atunci c7nd un obiect sau
un tip de obiecte are elemente "copii$ care i apar%in( semul <
indic )aptul c de8a obiectul este e+pandat, iar semnul P apare
atunci c7nd acesta este restr7ns, adic elementele copii sunt
ascunse.
7b"ect >a'igator utiliteaz icoane pentru a indica un
obiect care are propriet%i. 0 proprietate este un parametru care
descrie un obiect. =iecare tip de obiect are o list di)erit de
propriet%i care poate )i modi)icat utiliz7nd Propert? Pallete.
0biectele sunt create )olosind op%iunea >a'igator%)reate din
meniul principal. 0biectele pot )i create 'i 'terse select7nd
op%iuni din meniul >a'igator sau utiliz7nd bara de butoane din
)ereastra >a'igator.
22
1.@. 7biectele i tipul acestora +n #orms 3uilder
1.3.1. =orme "=orms$
0 )orm este un modul de baz creat cu 7racle #orms
'i reprezint o colec%ie de mai multe obiecte. =orma apare in
7b"ect >a'igator ca obiect printe al tuturor obiectelor care
sunt construite n cadrul ei. =i'ierele care con%in codul surs al
unei )orme au e+tensia .fmb ")orm binarM$. Acestea sunt
trans)ormate de ctre compilator n )i'iere e+ecutabile care au
e+tensia .fmx. Aceste )i'iere nu se pot e+ecuta direct, ci doar
prin intermediul modului #orms 9untime.
1.3.1. !eclan'atoare "Lriggers$
9n trigger este un bloc ,5CSD5 ce se e+ecut ca
rspuns la un e&eniment. @n 0racle =orms e+ist peste o sut de
e&enimente prede)inite care pot lansa un trigger, adic e+ecu%ia
unui bloc ,5CSD5 atunci c7nd are loc e&enimentul respecti&.
=iecare trigger este denumit dupa e&enimentul care l
declan'eaz.
?+ist 4 pre)i+e pentru trigger#ele e&enimentelor
prede)inite( 5e?%, on%, post%, pre%, si A/en%. Lrigger#ele 5e?%
sunt cele mai u'or de n%eles. =iecare trigger este decla'at ca
rspuns la apsarea logica a unei taste. Lrigger#ele on% sunt de
obicei numite declanatoare de tranzacii transaction
triggers!, multe dintre ele )iind generate automat de ctre
0racle =orms. ?+emplu( 0F#CQ?CR#!?5?L?#;ASL?A
este generat n momentul crerii unei rela%ii ntre blocuri.
Lrigger#e pre% si post% sunt acti&ate nainte respecti& dup un
e&eniment. Lrigger#ele A/en% sunt )oarte utilizate "SQ?F#
9LL0F#,A?SS?!, SQ?F#OA5I!AL?#IL?;$.
23
locul ,5CSD5 care de)ine'te declan'atorul poate )i
e+ecutat cu succes sau nu. 9n declan'ator e'ueaz c7nd blocul
,5CSD5 genereaz o e+cep%ie speci)ic( )ormTtriggerT)ailure.
1.3.2. =erestre de A&ertizare "Alerts$
0 )ereastr de a&ertizare "alert$ este n esen% o caset
de)init de utilizator, care con%ine o icoan, un mesa8 'i unul
p7n la 2 butoane. =ereastra de a&ertizare se )olose'te pentru a
)urniza in)orma%ii adi%ionale sau pentru a semnala nt7lnirea
unei erori, permi%7nd utilizatorului sa ia o anumit decizie n
)unc%ie de butoanele pe care le de%ine )ereastra.
1.3.3. locuri de date "!ata locIs$
9n bloc este o structura logic similar unei tabele. ?l
con%ine un set de elemente care sunt similare coloanelor 'i sunt
aran8ate sub )orm de nregistrri, care sunt similare r7ndurilor
dintr#o tabel. 9n bloc poate s corespund sau nu unei tabele
din baza de date.
9n bloc ce corespunde unei tabele poate )i )olosit
pentru inserare, 'tergere modi)icare tabel. locurile ce
corespund unei tabele sunt cunoscute sub numele blocuri ale
bazei de date 'i au speci)icat &aloarea Jes pentru parametrul
Database;Databse Data 3loc5 . 9n bloc bazat pe o tabel are
c7te&a )unc%ii proprii care nu cer o programare adi%ional. 9n
bloc bazat pe o tabel poate )i )olosit pentru a introduce criterii
de interogare prin plasarea )ormei n mod interogare "Buer?
mode$ . 9tilizatorul poate introduce restric%ii la r7ndurile ce
sunt returnate din tabel.
24
1.3.4. ?lemente "Items$
?lementele sunt componentele &izuale ale unei )orme.
=iecare element apar%ine unui bloc, care prin esen% e o colec%ie
de elemenete. @ntr#un bloc ,5CSD5 din cadrul unei )orme, un
element poate )i accesat )olosindu#se sinta+a ,bloc.element.
?+ist noua tipuri di)erite de elemente( text item, c/art item,
c/ec5 box, displa?Citem, image, button, radio group, list item,
'i custom item.9n text item este un c7mp )olosit pentru
introducerea, regsiea 'i editarea cu a8utorul tastaturii a te+telor
de tip 'ir de caractere, numr sau dat.
1.3.6. Aela%ii "Aelations$
0 rela%ie masterCdetail asociaz un bloc master 'i un
bloc detaliu, re)lect7nd rela%ia determinat de c>eia primar si
c>eie strin ntre tabelele pe care se bazeaz blocurile.
0biectul rela%ie coordoneaz automat rela%ia
masterCdetail dintre blocuri. Atunci c7nd o rela%ie este creat,
sunt create n mod automat 'i declan'atoarele 'i procedurile
,5CSD5 necesare pentru a )or%a coordonarea dintre cele 1
blocuri. 0 rela%ie poate )i creat automat la crearea unui bloc
)olosind )acilitatea locI Sizard, prin selectarea unui bloc
master pe care se bazeaz blocul curent. Aceast op%iune e+ist
numai dac blocul master e+ist de8a n )orm 'i c7nd rela%ia
c>eie primarCc>eie strain ntre tabele este de)init n baza de
date.
1.3... Can&as#uri "Can&ases$
)an'as#urile sunt supra)e%e &izuale pe care sunt plasate
elementele, ast)el nc7t acestea pot )i manipulate sau
&izualizate de ctre utilizatorul )inal. Can&as#urile pot )i
suprapuse, nu sunt )erestre, ele sunt &izualizate prin
intermediul )erestrelor, care sunt de)inite separat. Aela%ia dintre
)erestre si can&as#uri este aceea ca ntr#o )ereastr apar unul sau
mai multe can&as#uri.
26
1.3.6. ?ditoare "?ditors$
9n editor este un editor te+t care apre pe ecran n
cadrul unei aplica%ii 'i o)er o modalitate mai con&enabil de a
&edea sau edita un te+t lung ntr#un te+tTitem. 9n editor este
de)init prin speci)icarea unor propriet%i cum ar )i pozi%ia,
mrimea, titlul si )ontul.
1.3.G. ,arametrii ",arameters$
9n parametru este o &ariabil utilizat pentru
transmiterea datelor ntre dou )orme sau ntre o )orm 'i un
raport. Atunci c7nd o )orm este apelat dintr#o alt )orm
parametrii sunt transmi'i ca parte a unei liste de parametri.
,rin de)inirea unor parametrii pentru o )orm )olosind
0b8ect Fa&igator, )orma se &a a'tepta s primesc o &aloare
pentru )iecare dintre parametrii, iar n cazul n care &aloarea nu
&a )i transmis, parametrul &a primi o &aloare implicit. Cu alte
cu&inte parmetrii reprezint parametrii de intrare pentru o
)orm, ai cror &alori sunt transmise din )orma apelant.
1.3.10. 9nit%i de program ",rogram 9nits$
9nit%iile de program sunt de 3 tipuri( proceduri
procedures!, funcii functions!, specificaii de pac/ete
pac5age specifications! 'i corpuri de pac/ete pac5age
bodies!.
@n momentul c7nd se creeaz o unitate de program sunt
speci)icate numele 'i tipul acesteia, iar apoi &a aprea editorul
,5CSD5 care &a con%ine un cadru pentru tipul de unitate de
program selectat "numele, tipul unit%ii de program, cu&7ntul
c>eie ?GIF 'i cu&7ntul c>eie ?F! urmat de U*V$.
,rocedurile si )unc%iile sunt de)inite de ctre utilizator,
cu parametrii op%ionali de intrare si de ie'ire care pot )i apela%i
din orice alt bloc ,5CSD5 n cadrul aceluia'i modul.
2.
Apelarea unei proceduri( numeCprocedura
argumente!
iar o )unc%ie se apeleaz n )elul urmtor(
,'ariabil& ,D numeCfuncieargumente!.
1.3.11. =erestre "SindoHs$
0 )ereastr este un element esen%ial al unei inter)e%e
gra)ice. =erestrele sunt supra)e%e rectangulare care comunic
in)orma%ii utilizatorului 'i con%in in)orma%ii ce pot )i
manipulate.
1.E. 7racle1Fg, Database ; -pplication Ser'er ; De'eloper
Suite
Astzi, compania 0racle are o o)ert e+trem de
generoas 'i so)isticat, pornind de la ser&erul de baze de date
7racle1Fg Database "care constituie baza de integrare a tuturor
celorlalte$, suita de dez&oltare 7racle 1Fg De'eloper Suite
"compus n principal din 0racle10g =orms, Aeports, !esigner,
N!e&eloper, pentru dez&oltarea 'i proiectare de aplica%ii, dar 'i
Sare>ouseuilder sau !isco&erer, pentru domeniul intitulat
usiness Intelligence$, la care se adaug ser&erul de aplica%ii,
certi)icare G166, 7racle1Fg -pplication Ser'er 'i altele.
Cele trei produse, 0racle10g !atabase, 0racle10g
Application Ser&er 'i 0racle10g !e&eloper Suite, )urnizeaz
mi8loace comple+e pentru crearea aplica%iilor de baze de date
cu ni&eluri ridicate n ceea ce pri&e'te producti&itatea,
per)orman%a, disponibilitatea, )iabilitatea 'i securitatea.
1.4.1. 0racle10g !atabase
Ser&er#ul de baze de date este c>eia rezol&rii
problemelor de administrare a in)orma%iilor. 9n ast)el de ser&er
trebuie s administreze o cantitate semni)icati& de date n
26
condi%iile unui mediu multiuser, care asigur accesul
concuren%ial la acela'i set de date. !e asemenea, ser&er#ul
bazei de date trebuie s pre&in accesul neautorizat 'i s o)ere
metode e)iciente pentru recuperarea datelor, n cazul unor
de)ec%iuni )izice sau logice.
7racle1Fg Database aduce noi )unc%ionalit%i at7t
pentru aplica%iile de baze de date tradi%ionale, c7t 'i pentru
aplica%iile Internet(
gestioneaz orice tip de in)orma%ii*
o)er scalabilitate complete at7t pentru
sistemele cu un singur processor, c7t 'i pentru
sistemele comple+e cu mai multe procesoare
sau con)igura%iile cluster cu mai multe noduri*
ntrune'te condi%iile de disponibilitate
permanen% a datelor*
garanteaz securitatea in)orma%iilor*
o)er posibilit%i e)iciente de analiz a datelor*
permite implementarea rapid a solu%iilor
pentru a)aceri etc.
,entru a optimiza per)orman%ele aplica%iilor,
7racle1Fg Database o)er o serie de componente care
mbunt%esc posibilit%ile produselor( -pplication Ser'er 'i
De'eloper Suite.
azele de date 0racle10g permit integrarea de cod Na&a
n aplica%ii. A&anta8ul utilizrii Na&a, )a% de alte limba8e "de
e+emplu ,C$, const n )aptul c acesta a )ost dez&oltat ast)el
nc7t s poat pre&eni accesul neautorizat n sistemul de
operare pe care rezid codul Na&a. 9n alt a&anta8 este )aptul c
permite gestiunea automat a stocarii datelor. Ast)el, nu mai
este necesar alocarea sau dezalocarea resurselor de stocare n
mod e+plicit de ctre dez&oltatorii de aplica%ii.
2G
Instalarea sistemului 0racle10g cu op%iunea 0racle
NO; "Na&a Oirtul ;ac>ine$ permite e+ecutarea aplica%iilor care
utilizeaz proceduri stocate Na&a, SD5N, C0AAC?N
"?nterprise Na&a eans$, Ser&let, NS, 'i inter)a% N!C. ;a'ina
&itual Na&a nu interac%ioneaz direct cu sitemul de operare, ci
cu bibliotecile bazei de date.
0racle10g NO; )olose'te )acilit%ile ser&er#ului de baze
de date cu scopul de a plani)ica e+ecu%iile 8a&a pentru un numr
considerabil de utilizatori, n sistem concuren%ial. @n acest sens,
se permite mai multor utilizatori conecta%i la ser&er s e+ecute
simultan acela'i cod Na&a, ca 'i c7nd ar rula propriul cod pe
propria ma'in &irtual Na&a.
1.4.1. 0racle10g Application Ser&er
7racle1Fg -pplication Ser'er 7racle1Fg-S! o)er o
in)rastructura complet pentru dez&oltarea aplica%iilor de tip e#
business 'i Internet. !e asemenea, el asigur instalarea 'i
administrarea acestor aplica%ii. Ast)el, se poate simpli)ica
accesul la aplica%iile Internet, prin crearea de portaluri care
o)er utilizatorului un singur punct de accesare a acestor
aplica%ii, )ie din broHser#e Seb, )ie de pe dispoziti&e de tip
Sireless.
Ser&er#ul de aplica%ii 0racle10g include suport integral
pentru te>nologia Na&a "N1?? 1.2$ 'i standardele actuale pentru
ser&icii Seb "K;5, K;I, S0A,, 9!!I, SS!5, Seb!AO$.
!e asemenea, 7racle1Fg-S asigur con)iden%ialitatea
in)orma%iilor transmise prin re%ea, incluz7nd suporturi de
criptare, autenti)icare 'i autorizare si o)er un mediu de lucru
e)icient pentru dez&oltarea aplica%iilor Seb complet
independente de dispoziti&ul prin care sunt accesate. Aceast
)unc%ionalitatea este necesar pentru e#business 'i pentru
administrarea in)orma%iilor publicate pe Internet.
7racle1Fg-S este disponibil n trei &ariante(
30
Ga'a 6dition
Standard Sdition
6nterprise 6dition
7racle1Fg-S Ga'a 6dition este &arianta restr7ns, care
permite dez&oltarea rapid a aplica%iilor Na&a. ?a combin toate
produsele cu support N1?? ntr#un singur pac>et, care include(
0racle10gAS Containers )or N1ee
"0C3N$
0racle QLL, Ser&er0racle10gAS
LoplinI
0racle10g N!e&eloper
0racle ?nterprise ;anager
Componentele permit editarea, testarea 'i dez&oltarea,
ntr#un singur mediu, a aplica%iilor
Na&a 'i a celor care implic ser&icii Seb. Suportul pentru
ser&iciile Seb permite publicarea ca ser&icii Seb at7t a
claselor Na&a, c7t 'i a procedurilor stocate Na&a sau ,5CSD5 .
7racle1Fg-S suport toate tipurile de clienti de re%ea 'i
este punct central de acces ctre baza de date. Acesta include
dou e+tensii( 0racle Call Inter)ace "0CI$, pentru accesul nati&
la bazele 0racle, 'i 0racle !atabase Conecti&itM "0!C$ ,
pentru accesul la alte tipuri de baze.
,rin 7racle1Fg-S Portal se pot crea portaluri Heb
pentru a centraliza toate in)orma%iile din sistemele companiei 'i
a le redistribui ctre anumite categorii de utilizatori. Acest
mediu o)er, pentru site#urile de tip portal, un punct comun ce
permite accesul cu u'urin% la date, integrarea cu aplica%iile 'i
con%inutul multimedia din baza de date. ,ortalul asigur
utilizatorilor acces la mai multe aplica%ii, autenti)icarea
acestora realiz7ndu#se o singur data, pentru toate aplica%iile n
des)'urare.
31
7racle1Fg-S o)er ser&icii de tip director pentru
monitorizarea, gestiunea 'i securizarea sistemelor distribuite.
!up realizarea autenti)icrii ini%iale, utilizatorul este &alidat
automat pentru alte aplica%ii pe care le acceseaz, )r a )i
necesar reintroducereea in)orma%iei de conectare.
1.4.2. 0racle10g !e&eloper Suite
7racle1Fg De'eloper Suite 7racle1FgDS! e+tinde
in)rastructura )ormat din 0racle10gAS 'i 0racle10g !atabase,
permi%7nd dez&oltarea de aplica%ii Internet singure, scalabile 'i
)iabile. 7racle1FgDS reprezint un mediu integrat de
dez&oltare "Integrated !e&elopment ?n&iroment$, care asigur
ntregul process de creare a unei aplica%ii "modelare,
dez&oltare, codi)icare, depanare, optimizare, instalare$.
7racle1FgDS nglobeaz suport pentru Na&a 'i K;5.
,e l7ng standardele acceptate de 7racle1Fg-S, mediul
7racle1FgDS o)er posibilitatea modelrii 9;5 integrate.
Acest standard perminte construirea de modele &izuale,
con)orm crora se poate genera cod util n implementarea
aplica%iilor 'i a ser&iciilor Seb.
Componentele 7racle1Fg De'eloper pot )i )olosite pentru(
generarea de ser&icii Seb 'i aplica%ii per)ormante care
pot rula pe di)erite tipuri de dispoziti&e*
e+tinderea aplica%iilor tranzac%ionale cu )unc%ionalit%i
de tip business intelligence "interogri ad#>oc,
rapoarte Seb comple+e$, de publicare 'i analiz a
datelor
dez&oltarea rapid de aplica%ii )olosind te>nologia
Aapid Application !e&elopment
crearea de aplica%ii de tip e#business integrate, bazate
n totalitate pe mediul Internet etc.
31

Componente pentru crearea de aplica%ii( GDe'eloper,
Designer, #orms De'eloper, SoftAare )onfiguration
Manager .
7racle1Fg GDe'eloper asigur un cadru de dez&oltare
integrat cu Na&a, K;5 'i SD5 care permite crearea, depanarea
'i instalarea rapid a aplica%iilor de tip e#business 'i a
ser&iciilor Seb care pot rula pe orice sistem de operare. !e
asemenea, 7racle1Fg Gde'eloper introduce dou modele 9;5,
modelarea acti&it%ilor 'i a claselor. ;odelarea acti&it%ilor
o)er un mod simplu pentru de)inirea proceselor de a)aceri, iar
modelarea claselor permite dez&oltarea aplica%iilor necesare
pentru implementarea acestor procese. ;odelele 9;5 permit
generarea claselor 8a&a prin care se implementeaz ser&icii
Seb 'i se asigur publicarea, rularea 'i accesrea acestora direct
dintr#o diagram de clase 9;5.
7racle1Fg Designer este pac>etul de utilitare cu
generator integrat pentru proiectarea 'i dez&oltarea de aplica%ii
comple+e. Componentele sale permit descrierea 'i analiza
modelului, proiectarea diagramei entitateCrela%ie 'i de aplica%ii
orientate pe obiecte.
7racle1Fg #orms De'eloper este utilitar ce )olose'te
te>nologia AA!, cu a8utorul cruia se construiesc u'or 'i rapid
aplica%ii ce interac%ioneaz cu in)orma%iile bazei de date ")orme
interacti&e 'i gra)ice$. 9tilitarul este orientat pe e&enimente,
permi%7nd de)inirea prin ,5CSD5 a ac%iunii ce se &a e+ecuta la
apari%ia unui anumit e&eniment. 9tiliz7nd te>nologia Na&a,
aplica%iile pot include legturi Heb 'i butoane cu )unc%ionalit%i
comple+e.
,entru dez&oltarea de aplica%ii comple+e, sistemul o)er
precompilatoarele ,roW " CCCPP, ,5Cl, C005, A!X,
=0ALAAF 'i ,ascal$ care permit ncorporarea de instruc%iuni
32
SD5 sau blocuri ,5CSD5 n module scrise utiliz7nd alte
limba8e de programe. ,recompilarea cite'te codul surs 'i
genereaz un )i'ier ce poate )i procesat de ctre compilatorul
limba8ului respecti&.
=olosirea precompilatoarelor 0racle permite(
!ez&olatrea aplica%iilor de baze de date n
limba8ul de ni&el nalt*
9tilizarea te>nicilor de programare a&ansat*
!ez&oltarea de aplica%ii cu un grad nalt de
personalizare*
Oeri)icarea sintactic 'i semantica a
comenzilor SD5 'i a blocurilor ,5CSD5*
,recompilare separata a mai multor module de
cod 'i apoi nglobarea acestora ntr#un singur
program e+ecutabil*
Speci)icarea optiunilor de precompilare*
Accesul concurent la baze de date 0racle din
loca%ii di)erite etc.
33