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