Sunteți pe pagina 1din 6

1.

INTRODUCERE - SISTEME DE BAZE DE DATE


Sistemele de baze de date sunt o component esenial a vieii de zi cu zi n societatea
modern. n cursul unei zile, majoritatea persoanelor desfoar activiti care implic
interaciunea cu o baz de date: depunerea sau extragerea unor sume de bani din banc,
rezervarea biletelor de tren sau avion, cutarea unei referine ntr-o bibliotec computerizat,
cumprarea unor produse etc.
Bazele de date pot avea dimensiuni (numr de nregistrri) extrem de variate, de la
cteva zeci de nregistrri (de exemplu, baza de date pentru o agend cu numere de telefon)
sau pot ajunge la zeci de milioane de nregistrri (de exemplu, baza de date de plat pentru
plata taxelor i a impozitelor).
Utilizatorii unei baze de date au posibilitatea s efectueze mai multe categorii de
operaii asupra datelor memorate:
Introducerea de noi date (insert);
tergerea unora din datele existente (delete);
Actualizarea datelor memorate (update);
Interogarea bazei de date (query) pentru a regsi anumite informaii, selectate dup
un criteriu ales.
n sensul cel mai larg, o baz de date (database) este o colecie de date corelate din
punct de vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui
anumit grup de utilizatori. n acest sens, bazele de date pot fi create i meninute manual (de
exemplu, fiele de eviden a crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm)
sau computerizat, aa cum este majoritatea bazelor de date folosite n momentul de fa. O
definiie ntr-un sens mai restrns a unei baze de date este urmtoarea:
O baz de date (database) este o colecie de date creat i meninut computerizat,
care permite operaii de introducere, tergere, actualizare i interogare a datelor.
Simple colecii de fie (documente pe hrtie) sau fiiere de date, care conin
nregistrri de date, dar nu permit operaii de interogare, nu sunt considerate baze de date. De
exempu, datele memorate n fiiere pe disc de un instrument de calcul tabelar (ca Microsoft
Excel) sau documentele memorate de un editor de text (ca Microsoft Word) nu sunt
considerate baze de date.
1.1. COMPONENTELE UNUI SISTEM DE BAZE DE DATE
Un sistem de baze de date (Database System) este un sistem computerizat de
meninere a evidenei unei anumite activiti, folosind baze de date. Componentele unui
sistem de baze de date sunt: hardware, software, utilizatori, date persistente.
Hardware. Sistemele de baze de date sunt instalate, de regul, pe calculatoare de uz
general, de la calculatoare PC standard, pn la staii multiprocesor puternice. Bineneles,
performanele generale de operare ale calculatorului (numrul i viteza procesoarelor,
dimensiunea i viteza de operare a memoriei principale etc.) influeneaz n mod
corespunztor performanele sistemului de baze de date. Dar, ceea ce intereseaz n mod
deosebit n utilizarea unui calculator pentru un sistem de baze de date, este volumul
(capacitatea) memoriei secundare, utilizat pentru memorarea coleciei de date persistente ale
bazei de date.
Dat fiind c ntr-un sistem de baze de date este necesar accesul rapid la oricare din
nregistrrile de date, pentru memorarea acestora se folosesc discurile magnetice (harddiscuri). Benzile magnetice (care ofer acces secvenial la nregistrrile de date) sunt utilizate
numai pentru duplicarea (back-up) i salvarea/restaurarea datelor.
Software. ntre baza de date (colecia de date memorate fizic n fiiere pe hard-discuri) i
utilizatorii sistemului exist un nivel software, numit Sistem de Gestiune a Bazei de Date
(SGBD) - (Database Management System -DBMS) - (fig. 1).

Fig.1. Componente ale unui sistem de baze de date.


Sistemul de gestiune a bazei de date - SGBD - (Database Management System DBMS) recepioneaz cererile utilizatorilor de acces la baza de date (pentru operaii de
introducere, tergere, modificare sau interogare), le interpreteaz, execut operaiile
corespunztoare i returneaz rezultatul ctre utilizatori.
Sistemul SGBD ofer utilizatorilor o viziune (vedere - view) a bazei de date la un nivel
nalt i i elibereaz de necesitatea de a cunoate organizarea particular a sistemului
(driverele de disc, structura nregistrrilor de date, etc.).
Mai mult, sistemul de gestiune asigur protecia datelor fa de accese neautorizate sau
defecte de funcionare, asigurnd integritatea bazei de date.
Pe lng SGBD, care este cea mai important component software a unui sistem de
baze de date, mai exist i alte componente: sistemul de operare, care asigur controlul
execuiei programelor, biblioteci i instrumente software (toolset-uri) pentru proiectarea,
dezvoltarea sau exploatarea sistemelor de baze de date i a aplicaiilor de baze de date.
O aplicaie de baze de date (Database Application) este un program care ofer o
anumit utilizare a unei baze de date.
De exemplu, programul care permite meninerea i urmrirea activitii angajailor
unei ntreprinderi (ncadrare, calificare, salarizare, etc.) folosind informaiile despre angajai
memorate ntr-o baz de date reprezint o aplicaie de baze de date.
Utilizatorii unui sistem de baze de date se pot mpri n cteva categorii:
programatorii de aplicaii, utilizatorii finali i administratorul bazei de date.
Programatorii de aplicaii sunt cei care scriu (dezvolt) aplicaiile de baze de date,
folosind limbaje de programare de nivel nalt (Cobol, PL/1, Fortran, C, C++, Java, Basic) i
biblioteci care permit ncorporarea operaiilor de acces la baza de date. Aplicaiile rezultate
pot fi aplicaii cu execuie independent (batch-processing) sau pot fi aplicaii interactive (online) folosite de utilizatorii finali ai sistemului pentru a accesa (ntr-un mod mai eficient i mai
sigur) baza de date.
Utilizatorii finali sunt acei utilizatori care acceseaz baza de date prin intermediul unui
program de aplicaie care le confer drepturi limitate de acces la date pentru anumite operaii
de prelucrare. Utilizatorii finali sunt persoane cu pregtire tehnic minimal, care efectueaz
un volum mare de operaii asupra bazei de date, dar nu trebuie s cunoasc mai mult dect
posibilitile oferite de programul pe care l utilizeaz. De exemplu, utilizatorii finali ai unui
sistem de rezervare a bietelor de avion sunt agenii de vnzri, care folosesc programul
adecvat (scris de programatorii de aplicaii), fr a fi necesar s cunoasc ntreaga structur a
bazei de date.
Administratorul bazei de date (Database Administrator) este o persoan (sau un grup
de persoane) cu nalt calificare tehnic care are ca sarcin meninerea funcionalitii bazei
de date prin stabilirea drepturilor de acces ale diferitelor categorii de utilizatori, prin
efectuarea operaiilor periodice de salvare a datelor (backup), prin monitorizarea
performanelor sistemului i refacerea datelor atunci cnd este necesar.
Datele memorate ntr-o baz de date sunt date persistente, adic date care rmn
memorate pe suport magnetic, independent de execuia programelor de aplicaii. Datele

persistente ale unei baze de date se introduc, se terg sau se actualizeaz folosind date de
intrare (provenite de la tastatur, din citirea unor fiiere de date sau din recepionarea unor
mesaje). Datele de intrare sunt, n general, date nepersistente; ele sunt generate de utilizatori i
sunt memorate (devenind date persistente) numai dup ce au fost validate (acceptate) de ctre
SGBD. Datele de ieire ale unui sistem de baze de date sunt, de asemenea, date nepersistente;
ele provin din operaii de interogare a bazei de date i sunt puse la dispoziia utilizatorului
(sub form de afiri, rapoarte tiprite, etc).
Aceste tipuri de utilizatori asigur exploatarea unei baze de date dup ce aceasta a fost
proiectat i realizat. Activitatea de proiectare a unei baze de date implic i alte categorii de
personal cu nalt calificare tehnic (proiectani, programatori) sau administrativ
(administrator de date). Proiectanii bazelor de date au responsabilitatea de a analiza realitatea
reprezentat (modelat) de baza de date respectiv, de a identifica datele ce necesit s fie
memorate, pentru a asigura meninerea evidenei activitii dorite. Aspecte privind proiectarea
bazelor de date vor fi studiate n capitolele urmtoare.
Orice SGBD suport dou categorii de limbaje conceptuale: limbaje de descriere a
datelor i limbaje de manipulare a datelor.
Limbajele de descriere a datelor - LDD - (Data Description Languages - DDL)
permit definirea conceptual a datelor, fr referire la modul de memorare fizic a acestora.
Limbajele de manipulare a datelor - LMD - (Data Manipulation Languages - DML)
permit specificarea operaiilor de introducere, actualizare, tergere i interogare a datelor.

1.2 ARHITECTURA INTERN A SISTEMELOR DE BAZE DE DATE


Arhitectura intern a unui sistem de baze de date propus prin standardul
ANSI/X3/SPARC (1975) conine trei niveluri funcionale: nivelul extern, nivelul conceptual
i nivelul intern (fig. 2). Nivelul extern este o colecie de scheme externe, care sunt vederi ale
diferitelor grupuri de utilizatori, existnd cte o vedere individual a datelor pentru fiecare
grup; nivelul conceptual conine schema conceptual (logic) a bazei de date, iar nivelul
intern conine schema intern (fizic) a bazei de date.
O schem extern (vedere utilizator) (external schema, users view) conine o
subschem conceptual a bazei de date, mai precis descrierea datelor care sunt folosite de
acel grup de utilizatori.
Schema conceptual a bazei de date (conceptual schema) corespunde unei
reprezentri unice (pentru toi utilizatorii) i abstracte a datelor, descriind ce date sunt
stocate n baza de date i care sunt asocierile dintre acestea.
Schema intern (fizic) a bazei de date (internal schema) specific modul de
reprezentare a datelor pe suportul fizic.
Un sistem de baze de date suport o schem intern, o schem conceptual i mai multe
scheme externe; toate aceste scheme sunt descrieri diferite ale aceleiai colecii de date, care
exist doar n nivelul intern.

Fig. 2. Arhitectura intern a unui sistem de baze de date.


Toate aceste reprezentri ale datelor sunt gestionate de ctre SGBD care asigur, de
asemenea, i cele dou corespondene (mappings): ntre schemele externe i schema
conceptual i ntre schema conceptual i schema intern.
Unele sisteme SGBD nu separ complet cele trei niveluri funcionale ale bazelor de
date, existnd posibilitatea de a specifica detalii ale schemei interne sau ale schemelor externe
n cadrul schemei conceptuale.

1.3 AVANTAJELE OFERITE DE SISTEMELE DE BAZE DE DATE


Fa de vechile metode de nregistrare a datelor privind diferite activiti pe fie
(documente scrise) sau chiar n fiiere pe disc, sistemele de baze de date ofer avantaje
considerabile, ceea ce explic extinsa utilizare a acestora. Cteva dintre avantajele oferite sunt
prezentate n continuare.
Compactitate ridicat: volumul ocupat de sistemele de baze de date este mult mai redus
dect volumul ocupat de documente scrise sau de fiiere necorelate.
Vitez mare de regsire i actualizare a informaiilor.
Redundan sczut a datelor memorate, care se obine prin partajarea datelor ntre mai
muli utilizatori i aplicaii. n stocarea pe fie sau n fiiere a datelor, fiecare aplicaie
coninea propriile seturi de date. n sistemele de baze de date, mai multe aplicaii pot folosi
date comune, memorate o singur dat. De exemplu, o aplicaie de personal i o aplicaie
de rezultate la examene dintr-o universitate care exploateaz o singur baz de date, pot
folosi aceleai informaii referitoare la structurarea facultilor i a seciilor.
Posibilitatea de introducere a standardelor privind modul de stocare a datelor, ceea ce
permite interschimbul informaiilor ntre diferite organizaii.
Meninerea integritii datelor prin politica de securitate (drepturi de acces difereniate n
funcie de rolul utilizatorilor), prin gestionarea tranzaciilor i prin refacerea datelor n caz
de funcionare defectuoas a diferitelor componente hardware sau software.
Independena datelor fa de suportul hardware utilizat. Sistemele de gestiune a bazelor
de date ofer o vedere (view) extern a datelor, care nu se modific atunci cnd se schimb
suportul de memorare fizic, ceea ce asigur imunitatea structurii bazei de date i a
aplicaiilor la modificri ale sistemului hardware utilizat.

1.4 CLASIFICAREA SISTEMELOR DE BAZE DE DATE


Se pot lua n consideraie mai multe criterii de clasificare ale sistemelor de baze de
date.
Clasificare dup modelul de date. Majoritatea sistemelor de baze de date actuale sunt
realizate n modelul de date relaional sau n modelul de date obiect. Dezvoltarea continu a
acestor modele a condus ctre o nou categorie de baze de date, numite obiect-relaionale,
care combin caracteristicile modelului relaional cu cele ale modelului obiect. De asemenea,
mai sunt nc n funciune baze de date n modele mai vechi (modelul ierarhic sau modelul
reea). Modelele de date utilizate de sistemele SGBD vor fi prezentate n seciunea urmtoare.
Clasificare dup numrul de utilizatori. Majoritatea sistemelor de baze de date sunt
sisteme multiutilizator, adic permit accesul concurent (n acelai timp) a mai multor
utilizatori la aceeai baz de date. Un numr redus de sisteme de baze de date sunt de tip
monoutilizator, adic suport accesul doar al unui singur utilizator (la un moment dat).
Clasificare dup numrul de staii pe care este stocat baza de date. Exist dou
categorii de sisteme de baze de date: centralizate i distribuite.
Un sistem de baze de date centralizat (Centralized Database System) este un sistem de
baze de date n care datele i sistemul de gestiune sunt stocate pe o singur staie
(calculator).
Un sistem centralizat poate suporta unul sau mai muli utilizatori, dar, n orice situaie,
datele i sistemul de gestiune rezid n ntregime pe o singur staie.
Un sistem de baze de date distribuit (Distributed Database System) poate avea att
datele, ct i sistemul de gestiune, distribuite n mai multe staii interconectate printr-o reea
de comunicaie.
Sistemele de baze de date pot fi reprezentate din punct de vedere al funcionrii lor
printr-o arhitectur de tip client-server.
ntr-un sistem centralizat (fig.3) exist un singur server, care este chiar sistemul
SGBD, care rspunde cererilor unui singur client (n sistemele mono-utilizator, fig.3, a) sau
mai multor clieni (n sistemele multi-utilizator, fig.3, b), care acceseaz baza de date
respectiv. Clienii sunt programe de aplicaii oferite de furnizorul sistemului de gestiune sau
dezvoltate de programatori.
Aplicaiile client pot fi executate pe staii diferite, conectate printr-o reea de comunicaie cu
staia pe care ruleaz serverul. Aceast arhitectur permite o prelucrare distribuit a datelor i,
mai mult, o configurare a sistemului adaptat cerinelor de calcul particulare. Astfel, serverul
bazei de date poate fi un sistem puternic, echipat corespunztor (cu volum mare de memorie
secundar), n timp ce fiecare client este o staie personal, cu putere de calcul adecvat
aplicaiei executate.

Fig. 1.3. Sisteme de baze de date centralizate: a- monoutilizator; b- multiutilizator.

Sistemele de baze de date distribuite pot fi reprezentate ntr-un mod asemntor din
perspectiva structurrii client-server (fig. 4).
O baz de date distribuit este o colecie de date care aparin din punct de vedere logic
aceluiai sistem, dar care pot s fie, din punct de vedere fizic, memorate n mai multe staii de
calcul (locaii - sites) conectate printr-o reea de comunicaie. Sistemul software care
gestioneaz o astfel de baz de date se numete Sistem de Gestiune a Bazei de Date
Distribuite - SGBDD - (Distributed Database Management System - DDBMS). Aplicaiile
client ruleaz pe alte staii din reea i solicit servicii de la sistemul de gestiune distribuit.

Fig. 4. Sistem de baze de date distribuit.


Exist numeroase avantaje ale sistemelor de baze de date distribuite (creterea
capacitii de stocare i prelucrare a datelor, creterea disponibilitii i a partajrii datelor,
etc.), dar i o cretere considerabil a complexitii acestora.
Cea mai important cerin pe care trebuie s o ndeplineasc sistemele de gestiune a
bazelor de date distribuite este de a asigura administrarea transparent a datelor. Transparena
se refer la capacitatea unui sistem distribuit de a ascunde detaliile de implementare, astfel
nct utilizatorii s poat accesa datele pe baza unui model de nivel nalt, fr a fi necesar
cunoaterea exact a modului de amplasare, replicare sau comunicare a datelor.
Sistemele de gestiune a bazelor de date distribuite comerciale nu ofer n momentul de fa un
nivel suficient de transparen a localizrii datelor, dar dezvoltarea continu a acestora va
putea s asigure n viitor aceast cerin.