Sunteți pe pagina 1din 14

1

Introducere
Calculatoarele au fost folosite nc din anii '50 pentru stocarea i procesarea cantitilor mari de date. Pentru gestionarea informaiilor specifice unei activiti se face de regul apel la sisteme informatice. Produsele software din componena acestora localizeaz i prelucreaz datele coninute ntr-un ansamblu de fiiere aflate pe diferite suporturi fizice. O baz de date este constituit dintr-un ansamblu structurat de date evolutive, organizate pentru a fi exploatate de diferite programe (aplicaii). Dei orice ntreprindere face apel la baze de date pentru pstrarea i gestionarea informaiilor, cteva dintre aplicaiile acestora sunt deosebit de spectaculoase: o bazele de date ale liniilor aeriene care sunt accesate simultan din sute de agenii pentru a realiza rezervri i vnzri de locuri pentru date i zboruri diferite; bazele de date ale bncilor care permit realizarea a mii de tranzacii zilnic; bazele de date ale supermagazinelor care sunt accesate att de la casele de marcaj ct i de la echipamentele de inventariere; bazele de date ale bibliotecilor care pstraz milioane de titluri i permit localizarea unei lucrri folosind diferite criterii (cuvinte cheie, titlu, autori, domeniu).

o o o

Pentru realizarea unei aplicaii care folosete baze de date se poate proceda n dou moduri: Se creaz baza de date cu ajutorul unei aplicaii de tip server de baze de date i se scriu apoi aplicaiile care acceseaz baza de date ntr-un limbaj care posed funciile necesare accesrii serverului (frecvent se folosesc limbajele C++, Java, C# sau Visual Basic); Se folosete o aplicaie de tip sistem de gestiune de baze de date (S.G.B.D. sau D.B.M.S. - database management system). Un astfel de sistem ofer un ansamblu de instrumente software cu ajutorul crora se creaz att baza de date ct i aplicaiile prin care aceasta este exploatat. Pentru utilizatorii sistemului de operare Windows cele mai cunoscute sisteme de acest fel sunt Access i Visual FoxPro. Oracle Database Express Edition (prescurtat Oracle XE) este n esen o aplicaie din familia serverelor de baze de date. Sesiznd ns dificultile realizrii interfeei utilizator-server dintr-o aplicaie, firma Oracle Co. furnizeaz mpreun cu serverul i aplicaia destinat dezvoltrii unei interfee sub forma unui ansamblu de pagini .html denumit Oracle Application Express. De altfel la fel procedeaz i alte companii care dezvolt servere pentru baze de date. n cele ce urmeaz se va folosi ca server de baze de date Oracle XE, soluie gratuit oferit de Oracle Co. iar pentru realizarea interfeei se va face apel la limbajul Java. Aplicaiile astfel construite prezint trei avantaje majore:

2
o o o software-ul necesar este gratuit; aplicaia astfel realizat poate fi folosit pe diferite platforme: Windows, Linux, Unix, Solaris etc. decupleaz partea aplicaiei destinat stocrii datelor (server de b.d.) de partea care le acceseaz (interfaa).

Capitolul I Oracle XE. Operaii elementare


Generaliti
Oracle Database Express Edition este un server de baze de date relaionale. ntr-o baz de date relaional datele sunt pstrate n fiiere de date. Un fiier conine articole avnd fiecare aceeai structur, definit la crearea sa.

Fiier

Articol 1

Articol 2

Articol 3

....

Structura articolelor unui fiier de date este definit la crearea sa, prin precizarea cmpurilor pe care le va conine. Un cmp se caracterizeaz prin nume, tipul informaiei coninute, lungime i numrul de zecimale (pentru cmpuri numerice). Datorit faptului c formatul articolului este fix, frecvent se folosete pentru fiier o reprezentare tabelar i chiar se folosete pentru fiierele de date denumirea de "tabele".

Articole

Un server Oracle XE opereaz cu o singur baz de date. Administratorul bazei de date creaz conturi ale utilizatorilor crora le atribuie drepturile necesare operrii n interiorul bazei Oracle XE. Un astfel de utilizator devine astfel proprietarul unui subdomeniu inclus n baza Oracle XE denumit de ctre autorii aplicaiei "schem" (engl. schema). Dup nregistrarea contului, beneficiarul acestuia poate realiza infrastructura pe care se va baza aplicaia sa : tabele, interogri, vederi, proceduri, etc.. Domeniile diferitilor utilizatori sunt n principiu complet separate, un utilizator avnd ns posibilitatea de a da i altor utilizatori drepturi de acces la componentele domeniului su. Dimensiunea bazei de date administrate de Oracle XE este limitat la 4 GO (4 gigaoctei). Un utilizator poate accesa un server Oracle XE de pe calculatorul pe care acesta este instalat sau prin reea (reea local sau Internet).

Instalarea serverului Oracle XE pe un calculator funcionnd sub Windows XP


Pentru instalare demarai o sesiune de lucru folosind un cont de utilizator care are drepturi de administrare i descrcai kitul pentru Oracle Database XE, versiunea pentru Windows, de la adresa:
http://www.oracle.com/technology/products/database/xe

Dac pe calculator a mai fost instalat Oracle XE sau orice alt versiune, dezinstalai-o n prealabil i tergei variabila de mediu ORACLE_HOME, dac aceasta exist. Pentru aceasta accesai intrarea System n Control Panel:

Pentru demararea instalrii selectai OracleXE.exe (dublu clic). Instalarea decurge apoi n mai multi pai, astfel:

5
o o n fereastra Licence Agreement selectai I accept i apoi Next; In fereastra Choose Destination Location indicai unde se va instala aplicaia Locaia implicit este C:.

Daca suntei solicitai s introducei adresele porturilor care vor fi folosite nseamn c unul dintre porturile implicite: o o 1521 alocat implicit serverului Oracle XE i 8080 alocat implicit serverului HTTP prin care se realizeaz conectarea la serverul Oracle XE folosind interfaa grafic i protocolul HTTP

este folosit de o alt aplicaie. De exemplu portul 8080 ar putea fi folosit de exemplu de serverul Apache Tomcat. o n fereastra Specify Database Passwords se introduce parola pentru conturile SYSTEM i SYS. Acestea vor putea fi folosite de ctre administratorul serverului pentru a realiza activiti specifice: creare/tergere de utilizatori, salvri de siguran .a. Este bine s fie pstrat undeva pentru c fr ea serverul va fi inutilizabil!

6
O ultim feresatr afieaz o recapitulare a opiunilor introduse. Se apas Install pentru a se realiza instalarea.

Pornirea serverului Oracle XE


Dup instalare sau dup repornirea calculatorului, serverul Oracle XE va fi n mod normal pornit. Dac pornirea automat a acestuia a fost oprit (Control Panel ->Administrative Tools->Services), acesta poate fi pornit manual folosind comanda (Start -> Programs ->Oracle database 10g Express Edition -> Start Database).

Tot aceeai cale va fi folosit pentru a afia fereastra Aplication Express Login: (Start -> Programs ->Oracle database 10g Express Edition -> Go To Database Home Page)

7
Aceast fereastr va fi punctul de plecare n activitile de administrare a serverului.

Crearea unui utilizator


n urma instalrii serverului Oracle XE exist trei utilizatori ai serverului, respectiv SYS i SYSTEM cu drept de administrare i HR (parola hr), utilizator obinuit. Utilizatorul HR a fost creat pentru a se putea testa aplicaiile incluse n documentaia serverului. Pentru crearea unui nou utilizator se recomand conectarea folosind contul SYSYEM. Contul SYS d acces la fiiere interne ale serverului a cror modificare este interzis.

8
Un utilizator este identificat prin nume (Username:), parol (Password:) i are un ansamblu de drepturi. Pentru exemplele care vor urma, utilizatorul creat se numete biblio i are toate drepturile (selectai Check All) dar nu are drepturi de administrare a serverului (nu se selecteaz caseta DBA - DataBase Administrator). Dup crearea noului utilizator, lista de utilizatori arat ca n figur.

Se observa ca numele utilizatorului apare cu majuscule. Similar se va intmpla i la crearea tabelelor, numele acestora vor aprea scrise cu majuscule. Observaie: Dup instalarea serverului, utilizatorul HR este implicit blocat (Locked). pentru a putea folosi contul HR acesta trebuie deblocat. Ca urmare se selecteaz utilizatorul (operaia necesit conectare ca ca administrator, SYSTEM) i apoi, n fereastra cu proprieti se impune Unlocked.

Crearea unui ansamblu de tabele


Pentru pstrarea informaiilor, modelul relaional presupune folosirea unui ansamblu de tabele, fiecare coninnd informaii de o anumit natur. ntre tabele exist legturi realizate prin perechi de valori ale unor cmpuri. Exemplu fundamental : Tabel cu numele angajailor + tabel cu numele copiilor acestora.

tabelul

ANGAJAI

fiecrui

angajat

se

nregistreaz

numele,

prenumele i un identificator unic, ID_angajat.

Identificatorul servete la

regsirea unui angajat, dar i la diferenierea eventualilor angajai care au acelai nume i acelai prenume. n tabelul COPII se pstreaz numele i prenumele copiilor. Pe lng cele dou cmpuri necesare pstrrii acestor informaii principale mai sunt dou

9
cmpuri: ID_copil care asociaz fiecrui copil un numr unic i ID_ang. Cmpul ID_ang asociaz fiecrui copil un articol din tabelul de angajai. Folosind aceast structur se pot afia mai multe rapoarte: o o o o lista copiilor, lista copiilor unui angajat, lista angajailor care au copii, numrul de copii pe care i are fiecare angajat i probabil i altele.

Cheia primar, cheie strin


n tabele ANGAJATI i COPII exist cte un cmp care are valori distincte pentru toate articolele: ID_angajat i ID_copil. Cnd un tabel posed un cmp care are rolul de a diferenia articolele, cmpul va fi declarat ca fiind cheie primar iar serverul de baze de date va verifica unicitatea valorilor adugate. Concret, la fiecare adugare a unui nou articol serverul de baze de date va verifica dac valoarea cheii din noul articol nu apare ntr-o nregistrare deja prezent. Dac aceeai valoare mai apare, adugarea este refuzat. poate avea o singur cheie primar. n fiierul COPII mai exist ns un cmp, ID_ang. Acesta primete valori din coloana ID_angajat din tabelul corespondent ANGAJAI. Primete deci valori ale cheii primare dintr-un tabel corespondent. Din acest motiv el poart numele de cheie strin, deoarece valorile sunt ale unei chei primare, dar din alt tabel. ntr-un tabel al unei baze de date unele valori pot lipsi. De exemplu n tabelul pentru angajai am putea avea un cmp destinat memorrii adresei de email. Dar nu toi angajaii au o adres de e-mail. La declararea caracteristicilor unui cmp se poate preciza dac se accept valori nule (lipsa valorii) sau dimpotriv. Evident c valorile din cmpurile declarate chei primare sau strine nu pot lipsi. Un tabel

Integritatea referenial
Un server de date are pe lng rolul de a pstra date i rolul de a menine coerena acestora. Dac n exemplul dat angajatul Ionescu Valer

(ID_angajat=2) ar pleca din firm, deci linia corespunztoare din fierul ANGAJAI ar fi tears, ce se ntmpl cu nregistrrile din tabelul COPII pentru care ID_ang=2 ? Dac serverul de baze de date verific validitatea referinelor

10
va trebui s suprime n mod automat i liniile corespunztoare din tabelul COPII. n termeni specifici domeniului bazelor de date relaionale spunem c serverul verific i asigur integritatea referenial a bazei de date. Dei verificarea

integritii refereniale complic semnificativ realizarea unui server de baze de date, toate aplicaiile majore suport aceast caracteristic.

Crearea tabelelor
a. Crearea tabelului ANGAJATI

11

Rezultat:

b. Crearea tabelului COPII:

12

Comportamentul serverului Oracle XE n momentul tergerii unui articol din tabelul corespondent poate fi impus prin selectarea uneia dintre opiunile urmtoare:
-

Disallow Delete - mpiedic tergerea articolelor din tabelul corespondent care contin referine spre articolele din tabelul curent;

Cascade Delete - impune tergerea tergerea articolelor din tabelul curent la tergerea articolului corespondent din tabelul referit ;

13
-

Set to Null on Delete impune pstrarea articolelor din fiierul curent la tergerea articolului corespondent din tabelul referit. Valorile cheii strine n aceste articole va fi null (va lipsi!).

Rezultat:

Adugarea datelor n tabelele

Rezultat:

14

Articolele adugate pot fi editate dac se selecteaz butonul EDIT.

Suprimarea unui articol

Ca urmare a tergerii angajatului avnd ID_angajat = 2, din tabelul corespondent COPII s-au ters liniile pentru care cheia strin ID_ang avea valoarea 2.

S-ar putea să vă placă și