Documente Academic
Documente Profesional
Documente Cultură
Material Stud I Us GB Do Racle
Material Stud I Us GB Do Racle
Autori: Prof. univ. dr. Manole Velicanu, Asist. univ. dr. Vlad Diaconia
Introducere
V felicitm pentru faptul c ai ajuns n anul 2 semestrul al doilea i v dorim succes !
Cursul SGBD Oracle se adreseaz studenilor din anul doi de la facultatea CSIE i este
continuarea disciplinei Baze de date din semestrul nti.
Obiectivul general al disciplinei SGBD Oracle este nsuirea de ctre studeni a unor noiuni
fundamentale despre: Sistemele de Gestiune a Bazelor de Date - SGBD, sistemele relaionale,
sistemul Oracle, modul de lucru cu limbajul PL/SQL, limbajul SQL avansat, interfeele Forms i
Reports din Oracle.
Obiectivele specifice principale ale acestui curs, concretizate n competenele pe care le vei
dobndi dup parcurgerea i asimilarea lui, sunt:
o familiarizarea cu posibilitile de utilizare ale unui SGBD indiferent de tipul lui;
o dobndirea abilitii de a dezvolta aplicaii cu baze de date relaionale;
o cunoaterea sistemului Oracle i utilizarea unor componente ale sale (PL-SQL, Forms,
Report) pentru a realiza baze de date relaionale.
Structurarea cursului SGBD Oracle este fcut n trei uniti de nvare (capitole), fiecare dintre
acestea cuprinznd cate un test de verificare, care va fi rezolvat de ctre student.
Evaluarea cunotinelor se va realiza sub dou forme:
o evaluarea continu testele de la sfritul fiecrei uniti de nvare, precum i un proiect
la seminar;
o evaluarea final - examenul susinut n perioada de sesiune.
Not. Structura obligatorie pentru proiect va fi:
- 1 pagina care s conin: Tema, Descrierea problemei, Schema conceptual a BD;
- programe PL-SQL care s conin: cele 3 structuri fundamentale de programare
procedural, cursorul explicit, dou tipuri de subprograme;
- o aplicaie simpl cu Oracle Forms sau Reports.
Criteriile de evaluare constau n:
1. Punctajul obinut la cele trei teste menionate mai sus.
2. Punctajul obinut la proiectul de la seminar.
3. Punctajul obinut la examenul susinut n sesiune.
Ponderile asociate fiecrui criteriu precizat sunt urmtoarele:
- criteriul 1(C1) cte 1 punct pentru fiecare dintre cele trei teste (total C1= 3 puncte);
- criteriul 2 (C2) 2 puncte pentru proiectul de la seminar;
- criteriul 3 (C3) 5 puncte pentru examenul susinut n sesiune.
Cuprinsul cursului
Unitatea de nvare 1
ASPECTE FUNDAMENTALE SGBD CU APLICARE N ORACLE
Cuprins
1.1. Conceptul de SGBD 3
1.2. Obiectivele unui SGBD 6
1.3. Funciile unui SGBD 9
1.4. Clasificarea SGBD ..11
1.5. Arhitecturi de SGBD .14
1.6. Teste de autoevaluare..............................16
Bibliografie .17
1. Doar fiiere
sfritul anilor 60
nceputul anilor 70
sfritul anilor 70
nceputul anilor 80
sfritul anilor 80
nceputul anilor 90
2. SGBD
ierarhice
generaia I
3. SGBD reea
4. SGBD
relaionale
5. SGBD
orientate obiect
generaia a II a
generaia a III a
Not. n acest moment, n lume, cea mai mare parte a bazelor de date sunt realizate cu SGBD
relaionale, o foarte mic parte cu SGBD de generaia nti i ctig tot mai mult teren cele
realizate cu SGBD orientate obiect.
Oracle este un SGBD relaional extins cu numeroase alte tehnologii informatice.
Not. La trecerea de la o generaie la alta de SGBD s-au urmrit urmtoarele aspecte:
1. Pstrarea aspectelor fundamentale care dau conceptul de SGBD: obiectivele, funciile,
componentele. Desigur, la fiecare generaie apar i o serie de elemente specifice, de nuan, care
ns nu schimb fundamentele conceptului.
2. ncadrarea unui SGBD ntr-o generaie se face n funcie de modelul de date
implementat. Sunt luate n considerare toate cele trei elemente care caracterizeaz modelul de
date: definirea structurii modelului (entitile i legturile dintre ele), operatorii de prelucrare,
restriciile de integritate.
3. mbuntirea organizrii datelor n memoria extern prin implementarea unui model
mai performant. Se urmrete creterea independenei logice i fizice (pn la total), asigurarea
unor limbaje de descriere a datelor (LDD) ct mai performante i automatizate, asigurarea unor
limbaje de manipulare a datelor (LMD) puternice, asigurarea unor limbaje de regsire neprocedurale (exemplu SQL), reducerea i controlul redundanei.
4. mbuntirea accesului la date prin: acces dup mai multe chei, acces concurent,
optimizarea accesului, creterea securitii datelor.
5. Oferirea unor faciliti de utilizare tot mai performante: generatoare specializate
(Forms, Reports etc.), interfee cu alte limbaje de programare, interactivitatea.
6. Diversificarea tipurilor de date ce pot fi utilizate (clasice, multimedia etc.),
diversificarea modului de lucru (local sau reea), precum i a tipurilor de aplicaii ce pot fi
dezvoltate (locale, distribuite, multimedia etc). Acest lucru nseamn c SGBD se doresc a avea o
extensibilitate ct mai mare, care s le permit adaptarea la nou.
7. Utilizarea unor SGBD din generaiile precedente n paralel cu dezvoltarea unei noi
generaii.
Set minim
de
obiective
Securitatea (confidenialitatea) datelor semnific faptul c accesul la date se face numai printro autorizare corespunztoare i doar controlat (sarcina administratorului BD). n acest sens,
SGBD permite: autorizarea i controlul accesului la date, utilizarea viziunilor, realizarea unor
proceduri speciale, criptarea datelor.
a) Autorizarea i controlul accesului la date este realizat de SGBD prin intermediul parolelor.
Acestea identific clasele de utilizatori, cu anumite drepturi de acces, la anumite date.
Privilegiile diferiilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator)
poate realiza anumite aciuni, asupra anumitor obiecte, n limita anumitor restricii (condiii
suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, numr
nivel de acces. Oracle deine n acest sens, pachetul OEM, dar i comenzi SQL specializate.
b) Utilizarea viziunilor (view) este asigurat de SGBD pentru reprezentarea schemelor externe
ale bazei de date. Cu ajutorul viziunilor, SGBD permite s se defineasc partiii logice ale bazei
de date, pentru diferii utilizatori, n raport cu cerinele acestora de acces la date. Securitatea
datelor este asigurat de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o
viziune (GRANT) i anularea unor drepturi pentru obiectele sale (REVOKE).
c) Realizarea unor proceduri speciale de acces asupra datelor este permis de SGBD. Aceste
proceduri sunt scrise n LMD, se pstreaz n form precompilat, iar anumitor utilizatori li se va
acorda dreptul de execuie i li se va interzice accesul direct la obiectele BD.
d) Criptarea este asigurat de SGBD prin oferirea unor rutine de criptare (codificare) a datelor,
apelate automat sau la cerere i prin existena unor instrumente care permit utilizatorului s
realizeze propriile rutine de criptare. Criptarea i decriptarea se realizeaz dup algoritmi
specifici, cu o cheie (parol) de acces la rutin (Oracle folosete mai muli algoritmi de criptare i
decriptare).
Integritatea datelor se refer la corectitudinea (coerena) datelor i este asigurat prin protejarea
acestora mpotriva unor incidente intenionate sau neintenionate.
Componentele SGBD asigur integritatea datelor tratnd separat cauzele care pot deteriora baza
de date: integritatea semantic, controlul accesului concurent, salvarea / restaurarea.
a) Integritatea semantic este asigurat prin operaii efectuate de SGBD asupra datelor i a
prelucrrilor. Aceste operaii alctuiesc un set de reguli denumit restricii de integritate. SGBD
asigur astfel de restricii implicite (rezult din modelul de date implementat Oracle
implementeaz cinci) i explicite (proceduri incluse n programele de aplicaie).
b) Accesul concurent asigur coerena datelor i este un obiectiv al SGBD care se pune cu
acuitate mai ales la baze de date distribuite. n acest sens SGBD folosete o unitate distinct de
prelucrare a datelor denumit tranzacie, care este constituit dintr-o secven de operaii care
se execut n totalitate sau deloc - marcat de puncte de nceput i sfrit. Tranzacia poate fi
controlat de SGBD implicit, cnd punctele de nceput i de sfrit sunt automat definite, sau
explicit, cnd punctele de nceput i de sfrit sunt definite prin comenzi specifice.
La execuia concurent a tranzaciilor SGBD trebuie s asigure blocarea datelor utilizate la un
moment dat. Aceasta nseamn c se interzice accesul celorlalte tranzacii concurente la aceleai
date, pn se termin tranzacia curent. Tehnica de blocare utilizat de SGBD se poate aplica la
nivelul ntregii baze de date, a unui fiier, a unei nregistrri sau chiar a unui cmp (de exemplu n
Oracle). Ea poate fi pentru citire (partajabil) sau pentru scriere (exclusiv). Cele mai multe
SGBD realizeaz blocarea la nivel de nregistrare i fiier, prin diferite metode: setarea unui bit
pentru resursa respectiv, construirea unei liste cu resursele blocate, meninerea resurselor blocate
ntr-o zon special etc.
Inter-blocarea este situaia n care dou tranzacii blocheaz anumite resurse, apoi solicit
fiecare resursele blocate de cealalt. La nivelul de SGBD trebuie s existe facilitatea de prevenire
sau rezolvare a inter-blocrii.
*Prevenirea inter-blocrii presupune c programele blocheaz toate resursele de care au nevoie
nc de la nceputul fiecrei tranzacii (greu de precizat).
*Soluionarea inter-blocrii presupune c exist nite mecanisme pentru detectarea i eliminarea
inter-blocrii (de exemplu graful dependenelor proceselor de executat).
c) Salvarea / restaurarea (backup/recovery) ca facilitate a SGBD permite refacerea consistenei
datelor care au fost deteriorate fizic din diferite motive.
Salvarea datelor este un proces de stocare prin realizarea de copii de siguran i prin
jurnalizarea tranzaciilor i a imaginilor. SGBD poate asigura salvarea automat i la cererea
administratorului bazei de date (de exemplu n Oracle).
Restaurarea pornete de la coleciile de date stocate prin salvare i reface consistena bazei de
date, minimiznd prelucrrile pierdute. Restaurarea este asigurat automat de SGBD, dar se poate
realiza i manual. Restaurarea automat a BD este realizat de SGBD cu ajutorul fiierelor
jurnal. La nivelul SGBD pot exista o serie de parametri de configurare care influeneaz procesul
de restaurare automat. Aceti parametri se refer la: intervalul de restaurare, indicatorul de
restaurare (ce informaii vor fi scrise n fiierul de erori) etc.
Restaurarea manual a BD implic intervenia administratorului pentru refacerea bazei de date
de pe un suport tehnic care a fost distrus. Cea mai recent copie de siguran efectuat pentru o
BD afectat este ncrcat i se reiau prelucrrile efectuate din momentul copierii pn la
producerea defeciunii. Restaurarea manual se face prin deconectarea tuturor utilizatorilor de la
BD, ncrcarea copiei i reluarea lucrului.
5. Partajabilitatea datelor
Partajabilitatea datelor se refer nu numai la aspectul asigurrii accesului mai multor utilizatori la
aceleai date, ci i la posibilitatea dezvoltrii unor aplicaii fr a se modifica structura bazei de
date. Problema partajabilitii se pune la un nivel superior pentru SGBD-urile care permit lucrul
n reea.
6. Legturile ntre date. Legturile ntre date corespund asocierilor care se pot realiza ntre
obiectele unei aplicaii informatice. Orice SGBD trebuie s permit definirea i descrierea
structurii de date, precum i a legturilor dintre acestea, conform unui model de date. Fiecare tip
de model de date permite anumite legturi ntre date. Un SGBD, care implementeaz un anumit
model de date, va trebui s asigure i realizarea legturilor dintre datele corespunztoare n
conformitate cu schema conceptual.
7. Performanele globale. Performanele globale ale aplicaiei sunt influenate de SGBD. Acesta
trebuie s gestioneze un volum mare de date de o complexitate ridicat, ntr-un anumit timp de
acces util pentru diferii utilizatori. Pentru toate aceste lucruri SGBD folosete diferite metode de
acces, tehnici de optimizare, tipuri de date.
utilizatori
Funciile SGBD
UTILIZARE
MANIPULARE
DESCRIERE
ADMINISTRARE
Baza de
date
Funciile unui SGBD
1. Descrierea datelor
SGBD, prin aceast funcie, permite definirea structurii bazei de date cu ajutorul limbajului de
definire a datelor - LDD. Definirea datelor poate fi realizat la nivel conceptual, logic i fizic. Se
descriu atributele (cmpurile) din cadrul structurii bazei de date, legturile dintre entitile bazei
de date sau dintre atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor,
metodele de acces la date, aspectele referitoare la asigurarea integritii datelor. Concretizarea
acestei funcii este schema bazei de date, memorat n cod intern n dicionarul BD. Aceast
funcie a fost mult automatizat n timp, LDD avnd acum puine comenzi (exemplu n SQL din
Oracle sunt toate comenzile de tip CREATE i ALTER). LDD este specific fiecrui SGBD, dar el
ntotdeauna realizeaz descrierea datelor conform elementelor modelului de date pe care l
implementeaz SGBD respectiv. Dup realizarea funciei de descriere, ntr-un SGBD, entitile
bazei de date exist create deja ca fiiere, dar nu conin datele propriu-zise, ci numai structura
bazei de date (schema bazei de date).
2. Manipularea datelor
Funcia de manipulare a datelor este cea mai complex i realizeaz actualizarea i regsirea
datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD). Sunt realizate
urmtoarele activiti referitoare la date: ncrcarea, actualizarea, prelucrarea, regsirea.
a) ncrcarea datelor n baza de date se realizeaz prin operaii automatizate (restriciile de
integritate) sau programate ce asigur criteriile de validare a datelor.
b) Actualizarea bazei de date const n operaiile de: adugare, modificare, tergere de
nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de validare
care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se realizeaz numai autorizat,
prin asigurarea unei protecii corespunztoare a datelor.
c) Prelucrarea datelor se realizeaz prin operaiile de: selecie, ordonare, inter-clasare
(compunere), ventilare (descompunere) efectuate asupra entitilor bazei de date. Acestea sunt, de
obicei, operaii pregtitoare activitii de regsire a datelor. Multe dintre operaiile de prelucrare
sunt realizate cu ajutorul operatorilor din modelul de date implementat de SGBD.
d) Regsirea (interogarea) datelor const n operaiile de: vizualizare (afiare pe ecran, imprimare
pe hrtie), rsfoire, editarea unor situaii de ieire. Situaiile de ieire pot fi intermediare sau
finale i se pot obine pe diferii supori tehnici de informaie (ecran, hrtie, mediu magnetic,
mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini,
sunet, video) i se pot obine dup cele mai diferite criterii de regsire.
Note.
- LMD pot fi cu limbaj gazd sau cu limbaj propriu. Cele cu limbaj gazd sunt dezvoltate prin
adaptarea unor limbaje universale de programare (Cobol, Pascal, C etc.) la cerinele de lucru ale
SGBD. Se mbin astfel puterea unui limbaj universal cu necesitile de regsire a datelor
(exemplu: ORACLE are limbajul PL-SQL). Cele cu limbaj propriu sunt dezvoltate printr-un
limbaj specific capabil s uneasc puterea proceduralului cu regsirea datelor dintr-un anumit tip
de baz de date (exemplu: limbajul propriu din Visual Foxpro).
3. Utilizarea datelor
Funcia de utilizare a datelor asigur mulimea interfeelor necesare pentru comunicarea tuturor
utilizatorilor cu baza de date. Pentru a realiza aceast funcie SGBD trebuie s asigure faciliti
pentru mai multe categorii de utilizatori ai BD: neinformaicieni, specialiti, administratori.
a) Utilizatorii neinformaticieni reprezint principala categorie a beneficiarilor de informaii
(utilizatorii finali i intensivi) din baza de date. Aceti utilizatori nu trebuie s cunoasc structura
bazei de date i nu trebuie s tie s programeze. n acest sens, SGBD ofer: meniuri cu opiuni
sugestive, ferestre, abloane pentru diferite forme, asisteni tip Wizard, autodocumentarea (help,
mesaje/ferestre explicative etc.).
b) Utilizatorii specialiti n informatic creeaz structura bazei de date i realizeaz proceduri
complexe de exploatare a bazei de date. SGBD ofer acestor utilizatori limbajul de descriere i
limbajul de manipulare a datelor, precum i interfee cu limbaje universale. Cu aceste elemente el
descrie schema bazei de date i asigur manipularea complex a datelor (exemplu SQL i PLSQL n Oracle). Pentru realizarea bazei de date SGBD ofer specialistului i elemente de CASE
(Computer Aidede Software Engineering). Acestea l ajut n diferitele activiti care intervin n
etapele de realizare a bazei de date (exemplu Oracle Designer).
c)Administratorul bazei de date, care este un utilizator special i are un rol hotrtor n ceea ce
privete funcionarea optim a ntregului sistem. Datorit importanei acestei categorii de
utilizatori, SGBD are o funcie distinct n acest sens (exemplu Oracle Enterprise Manager).
4. Funcia de administrare
Tipurile de mai sus de SGBD, avnd drept criteriu modelul de date implementat, sunt de baz
(fundamentale). Pornind de la acestea, prin extensia cu noi tehnologii informatice, exist i alte
tipuri de SGBD: deductive, distribuite, multimedia, spaiale etc.
4) Dup localizarea bazei de date
- SGBD centralizate sunt cele care gestioneaz datele amplasate ntr-o singur baz de date
central. La acestea au acces toi utilizatorii autorizai pentru a efectua diferite operaii de
manipulare a datelor. Toate calculatoarele care nu sunt legate n reea i lucreaz cu baze de date
au instalat un SGBD centralizat. Tot un SGBD centralizat, dar cu faciliti de lucru n reea,
trebuie instalat i n reelele de calculatoare care au plasat baza de date pe un singur calculator
(de obicei pe server).(exemplu: Visual FoxPro, Access)
- SGBD distribuite sunt cele care gestioneaz datele amplasate pe mai multe calculatoare dintr-o
reea tratndu-le ca un tot unitar. Complexitatea acestor SGBD este ridicat, avnd componente
speciale pentru realizarea conexiunilor i tratarea distribuit a datelor (exemplu: Oracle, DB2,
Informix).
NUCLEU
Baza
de date
INSTRUMENTE
Arhitectura pe componente a unui SGBD
Majoritatea arhitecturilor actuale de SGBD pot fi aduse la forma de mai sus, pe trei niveluri.
Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau mai multe propuneri de
arhitecturi) pot fi ncadrate (uneori discutabil) n unul dintre cele trei niveluri.
Nivelurile din arhitectura de mai sus, pot conine urmtoarele componente ale unui SGBD:
Nucleul (motorul) conine limbajul de descriere a datelor (LDD), limbajul de manipulare
a datelor (LMD), componente obligatorii n kit-ul minim de SGBD. Componenta este destinat
analitilor, programatorilor i administratorilor BD.
Interfeele sunt formate din: generatoarele de diferite tipuri (de meniuri, de videoformate, de rapoarte etc.), elementele de CASE (Computer Aided Software Engeenering),
interfee cu limbaje de programare universale, interfee cu alte sisteme etc. Componenta este
destinat tuturor categoriilor de utilizatori: finali, intensivi, specialiti.
Instrumentele sunt formate din: editoarele, navigatoarele (browsers), utilitarele (shells)
de diferite tipuri. Componenta este destinat, n principal, administratorului bazei de date, dar i
altor categorii de utilizatori.
Not. Arhitectura pe niveluri este simpl dar complet:
- arhitecturile standardizate (CODASYL i ANSI) pot fi aduse pe cele trei niveluri;
- noile tehnologii de baze de date (de exemplu tehnologia orientat obiect) au determinat
apariia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi adaptate pe cele trei
niveluri;
- noile tehnologii informatice (de exemplu multimedia, Internet etc.) au interferat cu
tehnologia bazelor de date rezultnd SGBD derivate corespunztoare. Pentru acestea s-au propus
arhitecturi care, ns, pot fi adaptate la structurarea pe trei niveluri.
Cuprinsul cursului
Unitatea de nvare 2
SISTEME DE GESTIUNE A BAZELOR DE DATE RELAIONALE (SGBDR) CU
EXEMPLIFICARE N ORACLE
2.1. Definirea SGBDR ..19
2.2. Limbajele relaionale .21
2.3. Mecanisme de optimizare n SGBDR ...24
2.4. Avantajele i limitele sistemelor relaionale .26
2.5. Teste de autoevaluare.27
Bibliografie..28
Caracteristic
Domeniu de valori
Atribut
Domeniu
Coloan
Domeniu
R10. Restriciile de integritate: acestea, trebuie s fie definite prin LDD i stocate n dicionarul
(catalogul) BD.
R11. Distribuirea geografic a datelor: LMD trebuie s permit ca programele de aplicaie s fie
aceleai att pentru datele distribuite ct i pentru datele centralizate (alocarea i localizarea
datelor vor fi n sarcina SGBD).
R12. Prelucrarea datelor la nivel de baz (sczut): dac SGBD posed un limbaj de nivel sczut
(prelucrarea datelor se face la nivel de nregistrare), acesta nu trebuie utilizat pentru a evita
restriciile de integritate.
Cele bazate pe algebra relaional sunt procedurale (algoritmice), deci mai greu de
nvat i utilizat (exemplu ISBL).
Cele intermediare promoveaz stilul neprocedural dar accept i elemente de control
procedural (exemplu SQL).
Cele bazate pe grafic ofer primitive grafice pentru machetarea cererilor de regsire,
deci uor de utilizat (exemplu QBE).
3. Eficacitatea utilizrii este determinat de posibilitatea optimizrii cererilor de regsire.
LMD bazate pe calculul relaional las compilatorul s aleag ordinea de execuie a
operaiilor, deci rezult o eficiena mare.
LMD bazate pe algebra relaional au o ordine impus pentru execuia operaiilor, deci
rezult o eficien mica.
Anumite date nu trebuie s apar n clar n BD i atunci ele vor fi codificate (criptate). n acest
sens, se utilizeaz un algoritm de criptare i o cheie de acces la acesta. De asemenea, exist
algoritmi pentru decriptare, cu cheie de acces.
Oracle folosete mai muli algoritmi de criptare-decriptare, cu chei de acces.
b) Mecanisme de optimizare a regsirii/interogrii
Operaia de regsire a datelor este una dintre cele mai importante i mai utilizate n aplicaiile cu
BDR. Puterea de regsire a limbajelor relaionale, n special SQL, nu a fost egalat de nici un alt
tip de limbaj de programare.
b1) Transformrile relaionale
O cerere de regsire se scrie ntr-un limbaj relaional cu ajutorul expresiilor relaionale bazate pe
calculul relaional sau pe algebra relaional. Cele dou tipuri de expresii sunt echivalente i pot
oricnd s fie rescrise n cellalt tip.
SGBDR trebuie s fie capabil s transforme o expresie scris n calculul relaional n una
echivalent n algebra relaional i invers, pentru a se putea realiza o regsire optim.
Transformarea relaional se poate realiza prin dou strategii de optimizare: generale, specifice.
o Strategiile generale: sunt independente de modul de memorare al datelor i se bazeaz pe
proprietile operaiilor din algebra relaional comutativitatea, asociativitatea,
compunerea. Astfel de strategii sunt:
selecia naintea jonciunii;
proiecia naintea jonciunii;
selecia naintea proieciei;
combinarea regsirii multiple.
o Strategiile specifice in cont de modul de memorare al datelor i sunt caracteristice unui
anumit SGBDR. Elementele care influeneaz executarea operaiilor care intervin la o
cerere de regsire sunt: accesul direct sau secvenial, reguli de ordonare a expresiilor
algebrice etc.
Oracle aplic ambele strategii de optimizare pentru transformrile relaionale.
b2) Optimizarea alocrii
Prin definiie BD sunt mari consumatoare de spaiu calculator, att n memoria intern ct i n
memoria extern. Pentru ca aceste spaii s fie ct mai eficient folosite, SGBDR folosesc diferite
mecanisme: reutilizarea, realocarea, virtualizarea, zone de memorie (buffers) cu destinaii
speciale, compactarea datelor (n binar , cu algoritmi de compactare), alocarea dinamic etc.
Toate aceste mecanisme presupun algoritmi specifici.
Oracle face o alocare optim att n memoria intern ct i n memoria extern (vezi Elementele
unei BD Oracle i Mecanismele interne Oracle).
b3) Optimizarea accesului
Cutarea datelor ntr-o BD a fost ntotdeauna o operaie care consum mult timp calculator.
Volumul mare de date din BD i complexitatea ridicat a acesteia determin consum de timp
calculator la operaia de regsire.
SGBDR au cele mai bune performane d.p.d.v. al regsirii datelor, dintre toate tipurile de SGBD,
datorit limbajelor relaionale (mai ales SQL) pe care le au implementate. Totui, dac volumul
de date este foarte mare atunci limbajele relaionale ajung la limit, datorit numrului mare de
operatori relaionali pe care trebuie s-i aplice la regsire.
Oracle implementeaz o variant extins de SQL standard cu o comand SELECT deosebit de
puternic.
Limite
1. Prea marea simplitate a modelului relaional, care pentru tipurile noi de aplicaii (Internet,
sisteme deschise etc.) conduce la:
pierderea unor informaii semantice utile (prin multiplicarea tabelelor la normalizare);
operaiile relaionale, chiar optimizate, sunt costisitoare (noile aplicaii genereaz multe
operaii relaionale) din punctul de vedere al resurselor de calcul.
2. LMD relaionale sunt prea limitate, ceea ce genereaz disfuncionaliti :
programatorul trebuie s cunoasc dou tipuri de limbaje (declarativ - relaional i
procedural - universal). De aici rezult necesitatea conversiilor, o fiabilitate sczut, necesitatea
comunicrii, productivitatea sczut;
mecanismele de optimizare privesc doar LMD relaional, deci ceea ce este scris n
limbaj procedural trebuie optimizat de ctre programator.
Cuprinsul cursului
Unitatea de nvare 3
SISTEMUL ORACLE
3.1. Elementele unei BD Oracle i mecanismele interne Oracle 30
3.2. Subprograme PL-SQL 31
3.3. Introducere n Oracle ..33
3.4. Limbajul PL/SQL compendiu .36
3.5. Teste de autoevaluare...38
Bibliografie ..39
Nivelul bazei de date se creaz explicit prin cod surs (CREATE PROCEDURE /
FUNCTION) subprogramele dorite. Acestea se stocheaz n dicionarul bazei de date i vor fi
disponibile tuturor celor care au drept de acces la baza de date.
Pachetele
Ca subprogram, pachetul (package) este un obiect tip Oracle definit la nivelul bazei de date, care
reunete un ansamblu de prelucrri efectuate asupra aceluiai domeniu sau acelorai obiecte.
n PL/SQL subprogramul de tip pachet este compus din dou pri:
PACKAGE SPECIFICATION partea public , declarativ, care poate fi cunoscut de toi
utilizatorii care au dreptul de acces.
PACKAGE BODY partea privat, corpul pachetului, care conine definiiile obiectelor
declarate anterior, accesibile doar local prin componentele pachetului.
Subprogramul de tip pachet se poate crea prin instruciunea CREATE PACKAGE i el poate
conine: proceduri, funcii, variabile, cursoare, excepii.
Necesitatea subprogramelor de tip pachete n aplicaiile cu baze de date dezvoltate n PL/SQL
este dat de avntajele acestora:
ntreinerea i dezvoltarea prelucrrilor sunt facilitate de regruparea i structurarea
prelucrrilor elementare, prin modularizare;
se permite o gestiune mai fin a drepturilor de acces la proceduri i funcii (care sunt incluse
n pachete), datorit conceptelor de structurare privat i respecxtiv public;
un pachet poate fi compilat att n ntregime, ca un tot unitar, ct i parial, ceea ce extinde
modularizarea.
Declanatorii
Subprogramele de tip declanatori (trigers) sunt blocuri PL/SQL care realizeaz o anumit
aciune, lansat automat atunci cnd apare un anumit eveniment.
Declanatorii pot fi creai i utilizai pe dou niveluri:
nivelul aplicaiei (blocuri cu nume) sub un generator (de exemplu Forms), n care se
dezvolt aplicaia, se creaz asistat declanatorul dorit (de exemplu cu DESIGNER). n acest
caz subprogramul este accesibil doar n cadrul aplicaiei n care se dezvolt. Se permite un
control sporit al intrrilor;
nivelul bazei de date se creaz explicit prin cod surs (CREATE TRIGGER) subprogramele
dorite. Acestea se stocheaz n dicionarul bazei de date i vor fi disponibile tuturor celor care
au drept de acces la baza de date. Permite s se implementeze reguli de gestiune complexe i
s se intensifice (msuri suplimentare) protecia datelor.
ntr-un subprogram de tip declanator se specific:
- tipul declanatorului, care poate fi posterior (AFTER) sau anterior (BEFOR);
- evenimentul declanator, care poate fi: execuia unei instruciuni, click de mouse, apsarea
unei taste, apariia unei erori etc.;
- tratamentul efectuat, adic aciunea care se desfoar.
Nucleul Oracle (Oracle Database) conine componentele care se regsesc n orice kit de instalare:
limbajele de programare (SQL, PL/SQL, Java, precompilatoarele), configurarea i instalarea,
instanele de baze de date generate de sistem. Varianta de lucru cu adevrata baz de date
distribuit este Oracle RAC (Real Application Clusters). Aceasta este o nou generaie de
tehnologie de clustere, bazat pe o nou arhitectur de baze de date denumit mbinare ascuns
(Cache Fusion). Acest lucru nseamn c la adugarea unui calculator ntr-o reea cu baze de date
distribuite Oracle, clusterele se adapteaz automat la noile resurse, fr s fie necesar
redistribuirea datelor sau rescrierea aplicaiilor.
Interfeele pentru dezvoltarea aplicaiilor cu baze de date Oracle (Oracle Developer Suite) permit
personalizarea aplicaiilor, ofer un mediu complet pentru dezvoltarea aplicaiilor tip afaceri
electronice (e-business) i tip Web. Cteva dintre produsele software incluse n acest pachet sunt:
Oracle Forms, Oracle Reports, Oracle Designer, Oracle JDeveloper etc.
Instrumentele pentru ntreinerea bazei de date Oracle sunt destinate, n principal,
administratorului de baze de date, dar i dezvoltatorilor. Oracle Enterprise Manager este pachetul
integrat pentru administrarea bazei de date. El conine n acest sens o mulime de instrumente
software: monitorul Grid Control pentru supravegherea ntregii activiti a sistemului de baze de
date, navigatoare pentru informare, editoare pentru actualizri, utilitare pentru ntreinere i
acordare de drepturi de utilizatori etc. n Oracle activitatea de administrare a bazelor de date este
automatizat n cea mai mare parte i procesul continu n aceeai direcie. Efectul este c
activitatea de administrare a BD este ferit de erori i accidente umane, iar costul acestei
activitii scade foarte mult. Tot n componenta de instrumente se poate ncadra i pachetul
Oracle Application Server OAS, care integreaz serviciile de Internet i permit crearea celor
mai rapide aplicaii Web din lume. Conine printre altele: Oracle E-business Suite destinat
implementrii aplicaiilor prefabricate cu baze de date pentru ntreprinderi; Oracle Portal destinat
construirii portalurilor organizaionale etc.
3.5.
Teste de autoevaluare
1. Elemente ale unei BD Oracle sunt:
A. Procesul;
B. Utilizatorul sistem;
C. Indexul;
D. Zona de lucru;
E. Arborele;
2. Mecanisme interne Oracle sunt:
A. Tabela;
B. Tabelul;
C. Cursorul;
D. Tranzacia;
E. Spaiul tabel;
3. Tipurile de subprograme suportate de PL/SQL sunt:
A. Procedurile;
B. Pachetele;
C. Funciile;
D. Declanatorii;
E. Secvenialele;
4. Care dintre urmtoarele convenii ce privesc parametrii formali i reali unui subprogram
sunt valabile n PL/SQL
A. Trebuie s fie acelai numr de parametri;
B. Parametrii trebuie s fie n aceeai ordine;
C. Numele parametrilor din cele dou categorii nu pot fi diferite;
D. Tipul pentru fiecare parametru corespunztor trebuie s fie diferit;
E. Parametrii trebuie s fie n aceeai ordine;
5. ntr-un subprogram de tip declanator se specific:
A. Subprogramul apelator;
B. Tipul declanatorului, care poate fi posterior (AFTER) sau anterior (BEFOR);
C. Evenimentul declanator;
D. Aciunea de realizat;
E. Parametrii reali ai declanatorului