Sunteți pe pagina 1din 23

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: a. 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); b. 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. schemas). Dup nregistrarea contului, beneficiarul acestuia poate creea 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 elementele 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. acelai nume i acelai prenume.

Identificatorul servete la

regsirea unui angajat, dar i la diferenierea eventualilor angajai care au

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. date, toate aplicaiile majore suport aceast caracteristic. Dei verificarea integritii refereniale complic semnificativ realizarea unui server de baze de

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;

13
-

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

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

14

Rezultat:

Articolele adugate pot fi editate dac se selecteaz butonul EDIT.

15 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.

Navigarea n Oracle XE
Fereastra afiat dup conectare conine un ansamblu de butoane, fiecare avnd n dreapta o sgeat care permite afiarea unui meniu derulant. Meniul derulant afiaeaz o serie de instrumente accesibile utilizatorului n momentul respectiv. Acestea sunt afiate tot ca pagini web.

16

Revenirea la o pagin web anterioar se poate realiza prin selectarea acesteia din lista de legturi afiat pe bara dispus n partea de sus a paginii.

Bar pentru lista de legturi

n exemplul din figur se poate reveni la pagina principal selectnd legtura Home.

Salvarea/restaurarea tabelelor n Oracle XE


Salvarea bazei de date XE se realizeaz periodic de ctre administratorul serverului folosind o procedur care va fi prezentat la sfritul cursului, n capitolul destinat administrrii serverului. Deoarece pentru realizarea aplicaiilor din laborator pe calculatorul propriu este necesar preluarea structurii de tabele create la laborator, n cele ce urmeaz va fi prezentat procedura de salvare a tabelelor.

17 Salvarea tabelelor
Refacerea tabelelor unei baze de date se va realiza folosind un ansamblu de comenzi SQL salvate ntr-un fiier ASCII. Pentru crearea fiierului cu comenzi se selecteaz n fereastra Home opiunea Object Browser / Tables:

Apoi se selecteaz succesiv tabelele ale cror comenzi de creare trebuie salvate i pentru fiecare tabel selectat se afieaz comanda de creare corespunztoare selectnd legtura SQL.

Aplicaia va afia comanda CREATE corespunztoare iar dac tabelul selectat este indexat, dup fraza CREATE sunt afiate frazele care realizeaz refacerea indecilor.

18
Frazele SQL afiate vor fi selectate cu mouse-ul i copiate n Clipboard (Ctrl + C) i apoi inserate ntr-un fiier ASCII (.txt). deschide aplicaia Notepad. Procedeul se va repeta pentru fiecare tabel n parte, comenzile SQL corespunztoare fiind inserate una dup alta, n acelai fiier .txt, care apoi va fi salvat n directorul propriu. Pentru aceasta se poate

Salvarea datelor
Pentru a putea reface ulterior coninutul tabelelor, Oracle XE permite copierea acestora n fiiere .txt. Deoarece un astfel de fiier poate conine date provenind dintr-un singur tabel, da rezulta un numr de fiiere egal cu numrul de tabele salvate. Pentru a iniia copierea datelor unui tabel se selecteaz n fereastra Home opiunea Utilities / Data Load/Unload / Unload:

In fereastra care se afieaz se selecteaz Unload to Text:

Se indic schema (implicit schema curent)

c. Se indic tabelul (CITITORI)

19

d. Se precizeaz cmpurile (se selecteaz toate cmpurile)

e. Se indic separatorul (n mod normal tab, \t) i se valideaz Include Column Names.

Se apas apoi Unload Data. n fereastra care se afieaz se selecteaz Save i apoi se indic locul pe disc i numele fiierului. Numele propus de aplicaie va fi cititori.txt. Este bine ca numele fiierului n care sunt memorate datele s coincid cu numele tabelului din care provin.

20 Refacerea tabelelor bazei de date


Refacerea tabelelor bazei de date se realizeaz n dou etape: 1. Se refac tabelele i 2. Se insereaz datele. Refacerea tabelelor se poate realiza folosind comenzile CREATE salvate anterior ntr-un fiier .txt. Comenzile pot fi introduse una cte una copiindu-le n fereastra destinat introducerii comenzilor SQL sau toate odat, folosind posibilitatea aplicaiei de creare i execuie a scripturilor SQL. A doua variant fiind mai productiv va fi prezentat n continuare. Se afieaz fereastra n care pot fi introduse comenzile unui script (Home / SQL / SQL Scripts / Create).

Se deschide n Notepad fiierul care conine comenzile SQL de creare i se copiaz coninutul su n fereastra Script Editor, ca mai jos. Se d de asemenea un nume scriptului deoarece el va fi salvat n baza de date.

In continuare se execut scriptul (Run).

21

Inserarea datelor n tabele


Dup refacerea tabelelor bazei de date se poate trece la refacerea coninutului acestora folosind fiierele .txt care conin datele. Pentru aceasta se poate proceda astfel: a. Se selecteaz n fereastra Home opiunea Utilities / Data Load/Unload / Load:

b. n fereastra care se afieaz se selecteaz Load Text Data:

c. Se indic faptul c tabelul n care vor fi adugate datele exist (se selecteaz opiunea Existing table):

22

c. Se indic schema (Biblio):

d. Se selecteaz tabelul care urmeaz s fie repopulat cu date:

e. Se indic numele fiierului (Browse) i separatorul (tab, \t);

e. Se indic numele fiierului i separatorul folosit:

f. Aplicaia afieaz n continuare informaiile recuperate. acestora n tabelul indicat se va apsa butonul Load data.

Pentru ncrcarea

23

Observaie.

La refacerea tabelelor i a coninuturilor acestora folosind metoda

expus anterior, serverul Oracle XE face toate verificrile privind integritatea datelor. Implicaiile acestui fapt sunt urmtoarele: 1. Salvarea comenzilor de creare a tabelelor trebuie s urmeze ordinea creerii iniiale a acestora. Astfel un tabel care conine chei strine va fi creat dup crearea tabelelor de care acesta depinde. 2. Restaurarea datelor trebuie s urmeze aceeai logic. Datele dintr-un

tabel care conine o cheie strin vor fi ncrcate dup ncrcarea datelor din tabelul principal, ale crui nregistrri sunt referite prin valorile cheii strine. Astfel de exemplu tabelul Edituri trebuie creat naintea tabelului Carti. Datele din tabelul Carti nu pot fi incrcate naintea ncrcrii datelor din tabelul Edituri.

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

  • Or Curs9 10
    Or Curs9 10
    Document41 pagini
    Or Curs9 10
    225701
    Încă nu există evaluări
  • Oracle Curs5 6
    Oracle Curs5 6
    Document35 pagini
    Oracle Curs5 6
    225701
    Încă nu există evaluări
  • Oracle Curs3 4
    Oracle Curs3 4
    Document39 pagini
    Oracle Curs3 4
    225701
    Încă nu există evaluări
  • Or Curs9 10
    Or Curs9 10
    Document41 pagini
    Or Curs9 10
    225701
    Încă nu există evaluări
  • Or Curs5 6
    Or Curs5 6
    Document37 pagini
    Or Curs5 6
    Andrei
    Încă nu există evaluări
  • Oracle 2
    Oracle 2
    Document21 pagini
    Oracle 2
    225701
    Încă nu există evaluări
  • Oracle 2
    Oracle 2
    Document21 pagini
    Oracle 2
    225701
    Încă nu există evaluări