Professional Documents
Culture Documents
IA.01.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 de informaii memorate ntr-un set de tabele
interconectate.
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;
o
bazele de date ale bncilor care permit realizarea a mii de tranzacii zilnic;
o
bazele de date ale supermagazinelor care sunt accesate att de la casele de marcaj ct i de la
echipamentele de inventariere;
o
bazele de date ale bibliotecilor care pstraz milioane de titluri i permit localizarea unei
lucrri folosind diferite criterii (cuvinte cheie, titlu, autori, domeniu).
Pentru realizarea unei aplicaii care folosete baze de date se utilizeaz o aplicaie specializat
denumit sistem de gestiune de baze de date (DBMS Database Management System). O astfel
de aplicaie permite realizarea unor funcii specifice bazelor de date: crearea unei baze de date,
adugarea de informaii, extragerea informaiilor, modificarea i tergerea acestora.
Pentru realizarea interfeei utilizator a aplicaiei se poate face apel la un limbaj de programare
general (C++, Java, Visual Basic etc.) sau se pot folosi instrumente de dezvoltare adaptate, integrate
sistemului de gestiune de baze de date folosit.
Cele mai utilizate sisteme de baze de date sunt astzi ORACLE, produs de Oracle Co., Microsoft
SQL Server MySQL (dezvoltat tot de Oracle Co.) i DB2, dezvoltat de IBM.
Oracle Database Express Edition (prescurtat Oracle XE) este o versiune gratuit a serverului
Oracle destinat instruirii dar i crerii unor baze de date de dimensiuni mici sau medii. Ca i
versiunea normal, Oracle XE integreaz aplicaia destinat dezvoltrii unei interfee sub forma
unui ansamblu de pagini .html denumit Oracle Application Express, ca alternativ la dezvoltarea
interfeei utilizator folosind limbajele menionate.
-4-
INFORMATIC*I*
n cadrul cursului se va folosi de altfel n special aceast aplicaie, spre final prezentndu-se ns
succint i soluia MySQL. Pentru realizarea aplicaiilor se vor folosi Oracle Application Express,
respectiv limbajele Java sau PHP. Aplicaiile astfel construite prezint trei avantaje majore:
o
o
aplicaia astfel realizat poate fi folosit pe diferite platforme: Windows, Linux, Unix,
Solaris etc.
o
decupleaz partea aplicaiei destinat stocrii datelor (server de b.d.) de partea care le
acceseaz (interfaa).
-5-
INFORMATIC*I*
Articol 1
Articol 2
Articol 3
....
Structura articolelor unui fiier de date dintr-o baz de date este fix i este definit la crearea sa,
prin precizarea cmpurilor pe care le va conine.
Un cmp conine o informaie elementar i se caracterizeaz prin nume, tipul informaiei coninute,
lungime i numrul de zecimale (pentru cmpuri numerice).
Datorit faptului c, n domeniul bazelor de date formatul articolului este fix, fiierele sunt
reprezentate tabelar i n locul denumirii generale de fiier de date se folosetea denumirea de tabel.
Articole
-6-
INFORMATIC*I*
Dac pe calculator a mai fost instalat Oracle XE sau orice alt versiune, aceasta trebuie
dezinstalt n prealabil i trebuie tears variabila de mediu ORACLE_HOME, dac aceasta exist.
Pentru aceasta se va accesa intrarea System n Control Panel:
In fereastra Choose Destination Location se indic unde se va instala aplicaia Locaia implicit este
C:.
-7-
INFORMATIC*I*
o Daca se afieaz o fereastr prin care se solicit introducerea adreselor porturilor care vor fi
folosite nseamn c unul dintre porturile implicite:
o 1521 alocat implicit serverului Oracle XE i
o 8080 alocat implicit serverului HTTP prin care se realizeaz conectarea la
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 Oracle XE pentru a realiza
activiti specifice: creare/tergere de utilizatori, salvri de siguran .a. Este bine s fie
pstrat undeva pentru c fr ea aplicaia Oracle XE va fi inutilizabil!
-8-
INFORMATIC*I*
Tot aceeai cale va fi folosit pentru a afia n browser-ul implicit fereastra ORACLE
Database XE 11.2:
-9-
INFORMATIC*I*
(Start -> Programs ->Oracle database 11g Express Edition -> Get Started)
Aceast fereastr va fi punctul de plecare n crearea aplicaiilor folosind Oracle
Application Express.
- 10 -
INFORMATIC*I*
- 11 -
INFORMATIC*I*
Dup completarea cmpurilor se va apsa butonul Test i dac rezultatul este pozitiv se va
apsa butonul Connect.
Rezultat:
- 12 -
INFORMATIC*I*
Conectarea ca administrator este necesar de exemplu pentru a suprima, bloca, debloca sau
aduga conturi. De exemplu, dup instalarea serverului, utilizatorul HR existent deja n sistem este
implicit blocat (Locked). pentru a putea folosi contul HR acesta trebuie deblocat. Ca urmare se
selecteaz utilizatorul folosind contul system, (din Other Users, ca n figur) i apoi, n fereastra cu
proprieti se impune Unlocked.
- 13 -
INFORMATIC*I*
INFORMATIC*I*
o lista copiilor,
o lista copiilor unui angajat,
o lista angajailor care au copii,
o 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. Un tabel 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 e-mail. 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.
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 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.
realizarea unui server de baze de date, toate aplicaiile majore suport aceast caracteristic.
- 15 -
INFORMATIC*I*
- 16 -
INFORMATIC*I*
Dup adugarea tabelului Angajati, interfaa expus la adugarea unui nou tabel este schimbat.
Continuarea definirii cmpurilor tabelelor se va iniia selectnd opiunea corespunztoare din lista
Actions:
Tot folosind lista Actions pot fi adugate cheile (cheia privat i cea strin):
- 17 -
INFORMATIC*I*
- 18 -
INFORMATIC*I*
n exemplul dat s-a ales varianta CASCADE, ceea ce va impune tergerea din tabelul Copii a
articolelor corespunztoare unui articol ters dein tabelul Angajai. Practic, dac un angajat
prsete instituia, copii si vor fi automat teri din tabelul Copii.
Alte variante ar fi fost RESTRICT (tergerea angajatului nu este posibil dect dup tergerea
copiilor acestuia din tabelul Copii) sau SET NULL (la tergerea angajatului, n articolele
corespondente din tabelul Copii cmpul ID_PARINTE primete valoarea null.
- 19 -
INFORMATIC*I*
Rezultate:
IA.01.8 Aplicaii
1. Pornii Oracle SQL Developer, conectai-v ca administrator (system) i modificai
starea contului HR (blocat / deblocat).
2. Creai un cont nou de numit biblio avnd parola tot biblio.
3. Creai n schema biblio urmtoarele tabele :
Tabelul autori :
cod_aut
nume
prenume
autori
number (4, 0)
varchar2 (30)
varchar2 (30)
Obs. cele trei cmpuri nu pot fi nule, deci fiecare linie din tabel va conine n aceste cmpuri
informaii.
Tabelul edituri :
- 20 -
INFORMATIC*I*
cod_edit
nume
edituri
number (4, 0)
varchar2 (100)
Tabelul carti:
carti
cod_carte
number (4, 0)
titlu
varchar2 (100)
cod_edit
number (4, 0)
an_apar
number (4, 0)
cheie primar : cod_carte
cheie strin : cod_edit
carti:
1 || In cautarea timpului pierdut || 1
|| 1987
2 || Iarna vrajbei noastre || 2 ||
1993
3 || Jurnalul fericirii || 3 || 1991
4 || Dama de pica || 1 || 1972
- 21 -
edituri:
1 || Univers
2 ||
Orizonturi
3 || Dacia