Sunteți pe pagina 1din 18

INFORMATIC*I*

IF.01. Introducere n baze de date

Capitolul IF.01. Introducere n baze de date


Cuvinte-cheie:
Baz de date, server de baze de date, sistem de gestiune
de baze de date, DBMS, Oracle Database Express
Edition, Microsoft SQL Server, MySQL, DB2, tabel,
cmp, schem, cheie primar, cheie strin, integritate
referenial

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*

IF.01. Introducere n baze de date

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

software-ul necesar este gratuit;

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*

IF.01. Introducere n baze de date

IA.01.2 Noiuni fundamentale


ntr-o baz de date relaional datele sunt pstrate n fiiere de date. Un fiier de date conine
articole avnd fiecare aceeai structur, definit la crearea sa.
Fiier

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

Un sistem de gestiune de baze de date Oracle XE opereaz cu o singur baz de date.


Administratorul aplicaiei creaz pentru utilizatorii 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 ncepnd, desigur, cu tabelele care vor conine datele aplicaiei sale.
Domeniile diferitilor utilizatori sunt n principiu complet separate, un utilizator avnd ns
posibilitatea de a da i altor utilizatori drepturi de acces la componente ale domeniului su.
Dimensiunea bazei de date administrate de Oracle XE este limitat la 4 GO (4 gigaoctei).
Un utilizator poate accesa SGBD Oracle XE de pe calculatorul pe care acesta este instalat sau prin
reea (reea local sau Internet).

-6-

INFORMATIC*I*

IF.01. Introducere n baze de date

IA.01.3 Instalarea Oracle XE pe un calculator funcionnd sub Windows


Pentru instalare se iniiaz o sesiune de lucru folosind un cont de utilizator care are drepturi
de administrare i se descarc kitul de instalare pentru Oracle Database XE, versiunea pentru
Windows, de la adresa:
http://www.oracle.com/technetwork/products/express-edition/overview/index.html

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:

Pentru demararea instalrii selectai OracleXE.exe (dublu clic).


Instalarea decurge apoi n mai multi pai, astfel:

n fereastra Licence Agreement se selecteaz I accept i apoi Next;

In fereastra Choose Destination Location se indic unde se va instala aplicaia Locaia implicit este
C:.
-7-

INFORMATIC*I*

IF.01. Introducere n baze de date

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!

O ultim feresatr afieaz o recapitulare a opiunilor introduse. Se apas Install pentru a


se realiza instalarea.

-8-

INFORMATIC*I*

IF.01. Introducere n baze de date

IA.01.4 Pornirea aplicaiei Oracle XE


Dup instalare sau dup repornirea calculatorului, cteva procese legate de Oracle XE vor
fi automat pornite i vor figura deja n lista de procese din Windows. Dac pornirea automat a
acestora a fost oprit (Control Panel ->Administrative Tools->Services), acestea pot fi pornit
manual folosind comanda (Start -> Programs ->Oracle database 11g Express Edition -> Start
Database).

Tot aceeai cale va fi folosit pentru a afia n browser-ul implicit fereastra ORACLE
Database XE 11.2:
-9-

INFORMATIC*I*

IF.01. Introducere n baze de date

(Start -> Programs ->Oracle database 11g Express Edition -> Get Started)
Aceast fereastr va fi punctul de plecare n crearea aplicaiilor folosind Oracle
Application Express.

IA.01.5 Crearea unui cont de utilizator


n urma instalrii aplicaiei 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 aplicaiei Oracle XE.
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.
Pentru iniierea unei sesiuni n mod command care va permite crearea utilizatorului dorit se
va selecta n Windows Start / Oracle Database 11g Express Edition / Run SQL Command Line :

- 10 -

INFORMATIC*I*

IF.01. Introducere n baze de date

n fereastra afiat se tasteaz comanda connect i se realizeaz o conexiune folosind


contul system, ca n figur. Apoi se creaz noul cont (personal) cu parola tot personal.
n final se tasteaz comanda grant, care permite atribuirea unor drepturi specifice noului
utilizator.

Pentru ncheierea sesiunii de lucru se va tasta comanda exit :


SQL> exit
Un utilizator al aplicaiei Oracle XE este identificat prin nume (Username:), parol
(Password:) i are un ansamblu de drepturi, conferite la crearea sa. Pentru unele dintre exemplele
care vor urma, utilizatorul creat se numete personal (creat anterior) i are toate drepturile uzuale
dar nu are drepturi de administrare a serverului (nu poate de exemplu opri serverul Oracle XE i nu
poate creea noi utilizatori).
Demersul logic dup crearea unui utilizator este conectarea la serverul Oracle XE folosind
numele i parola acestuia i crearea unui ansamblu de tabele destinate memorrii unor informaii.
Deoarece continuarea lucrului folosind modul linie de comand utilizat anterior este puin
productiv, va trebui instalat o aplicaie complementar, Oracle SQL Developper. Aceasta se
descarc de la adresa:
http://www.oracle.com/technetwork/developer-tools/sql-developer/
Dac pe calculator nu exist kitul pentru dezvoltarea aplicaiilor Java (JDK, Java
Development Kit), se va alege i instala varianta care include JDK.
Dup instalare i lansare n execuie se va selecta n arborele afiat la pornirea aplicaiei
Connections / New Connection (clic cu butonul drept al mouse-ului).

- 11 -

INFORMATIC*I*

IF.01. Introducere n baze de date

Cmpurile din fereastra afiat vor fi apoi completate ca n imaginea urmtoare:

Dup completarea cmpurilor se va apsa butonul Test i dac rezultatul este pozitiv se va
apsa butonul Connect.
Rezultat:

- 12 -

INFORMATIC*I*

IF.01. Introducere n baze de date

Observaie: Accesul la contul de administrator (system) nu necesit crearea unei conexiuni.


Pentru a realiza o conexiune ca administrator se va selecta intrarea Auto-Generated Local
Connections:

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*

IF.01. Introducere n baze de date

IA.01.6 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.

n tabelul ANGAJATI fiecrui angajat i 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 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:
- 14 -

INFORMATIC*I*

IF.01. Introducere n baze de date

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.

Dei verificarea integritii refereniale complic semnificativ

realizarea unui server de baze de date, toate aplicaiile majore suport aceast caracteristic.

- 15 -

INFORMATIC*I*

IF.01. Introducere n baze de date

a. Crearea tabelului ANGAJATI

- 16 -

INFORMATIC*I*

IF.01. Introducere n baze de date

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*

IF.01. Introducere n baze de date

Observaie: Comportamentul serverului la tergerea articolului corespondent din tabelul Angajai se


poate impune din fereastra de editare a tabelului Copii.

- 18 -

INFORMATIC*I*

IF.01. Introducere n baze de date

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.

IA.01.7 Adugarea datelor n tabele

- 19 -

INFORMATIC*I*

IF.01. Introducere n baze de date

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)

cheie primara : cod_aut

Obs. cele trei cmpuri nu pot fi nule, deci fiecare linie din tabel va conine n aceste cmpuri
informaii.
Tabelul edituri :
- 20 -

INFORMATIC*I*

IF.01. Introducere n baze de date

cod_edit
nume

edituri
number (4, 0)
varchar2 (100)

cheie primara : cod_edit

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

4. Adugai n tabelele create urmtoarele nregistrri:


autori
1 || Marcel Proust
2 || Steinbeck John
3 || Steinhardt Nicolae
4 || Puskin Alexandr

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

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