Sunteți pe pagina 1din 8

BAZE DE DATE

CURS nr. 5

1.3. SISTEME DE GESTIUNE A BAZELOR DE DATE


Baza de date reprezint una sau mai multe colecii de date aflate n interdependen mpreun cu
descrierea datelor i a relaiilor dintre ele.
Colecia de date reprezint un ansamblu de date organizat dup anumite criterii i este format din
componentele:
a) o familie de caracteristici alctuit din atribute ce definesc aspecte ale obiectelor din lumea real;
b) un predicat aplicat familiei de caracteristici ce conduce la o submulime ce definete o relaie de
ordine ntre caracteristici;
c) o suit temporal T = {t0, t1, ..., tj, ...} ce definete un decalaj al timpului n intervale discrete;
d) afectarea la fiecare moment tj a unei relaii asociat predicatului.
Bazele de date sunt gestionate cu ajutorul unui program numit sistem de gestiune al bazelor de date.
Sistemul de gestiune a bazelor de date (SGBD) este un sistem de programe ce permite definirea,
crearea i ntreinerea bazei de date precum i accesul controlat la acesta.
Din punct de vedere conceptual, gestiunea bazelor de date se bazeaz pe ideea separrii structurii
bazei de date de coninutul acesteia. n sistemele de baze de date definirea datelor se separ de
programele aplicaie, astfel nct utilizatorii vd doar definiia extern a unui obiect fr a cunoate
modul n care e definit acesta i cum funcioneaz. n acest mod, definiia intern a obiectului poate
fi modificat fr a afecta utilizatorii acestuia dac nu se modific definiia extern. De exemplu,
dac sunt adugate noi structuri de date sau sunt modificate cele existente, atunci programele
aplicaie nu sunt afectate dac nu depind direct de ceea ce se modific.
Structura bazei de date reprezint o colecie de descrieri statice ale tipurilor de entiti mpreun
cu relaiile logice stabilite ntre ele.
Relaiile logice reprezint asociaiile dintre mai multe entiti.
O entitate este un obiect distinct ce trebuie reprezentat n baza de date.
Un atribut este o proprietate ce descrie un anumit aspect al obiectului ce se nregistreaz n baza de
date.
Scopul unui sistem de gestiune al unei baze de date este acela de a oferi un mediu care s fie i
convenabil, dar i eficient pentru a putea fi folosit la:
- extragerea informaiilor din baza de date;
- nmagazinarea datelor n baza de date.
Bazele de date sunt de obicei folosite la gestionarea unei mari cantiti de date, ceea ce presupune
existena urmtoarelor caracteristici:
- definirea structurilor (modelarea datelor);
- utilizarea unor mecanisme de manipulare a datelor;
- asigurarea securitii datelor n baza de date;
- asigurarea controlului concurenei n cazul utilizrii sistemului de ctre mai muli utilizatori
Orice sistem de gestiune al bazelor de date are urmtoarele componente:
Limbajul de definire a datelor
Cu ajutorul acestui limbaj se specific tipurile de date i structurile precum i constrngerile asupra
datelor. Instruciunile limbajului sunt compilate i transformate ntr-un set de tabele nmagazinate
ntr-un fiier special numit dicionar de date sau catalogul sistemului (descrierea datelor se
ntlnete sub denumirile de catalog de sistem, dicionar de date sau meta-date ceea ce nseamn
date despre date). Structura de nmagazinare a datelor precum i metodele de acces utilizate de
sistemul bazei de date sunt specificate cu ajutorul unui set de definiii folosit cu scopul ascunderii
detaliilor de implementare a schemelor bazei de date

BAZE DE DATE

CURS nr. 5

Un limbaj de manipulare a datelor


Acest limbaj este folosit pentru a ajuta utilizatorul s acceseze i s foloseasc datele aflate n baza
de date ntr-un mod interactiv. Cu ajutorul acestui limbaj se pot:
- extrage date din baza de date;
- introduce date n baza de date;
- elimina date din baza de date;
- actualiza date din baza de date.
Administratorul bazei de date
Administratorul bazei de date este un program ce asigur interfaa dintre datele nmagazinate,
aplicaiile care folosesc aceste date i ntrebrile adresate sistemului cu ajutorul crora se extrag
datele necesare. De obicei, bazele de date necesit un spaiu mare de nmagazinare pe mediul de
stocare ales, ce poate ajunge de ordinul gigabytes-ilor. Pentru a putea fi prelucrate datele se
transfer din memoria extern n memoria intern a sistemului. Scopul sistemului bazei de date este
acela de a uura accesul la date, iar administratorul bazei de date este rspunztor de urmtoarele:
- asigur interaciunea cu administratorul de fiiere (trebuie s transfere instruciunile limbajului
de manipulare a datelor n comenzi de nivel sczut recunoscute de sistemul de fiiere);
- asigur integritatea datelor prin verificrile pe care le efectueaz n momentul actualizrii
datelor astfel nct acestea s nu ncalce constrngerile impuse i s fie consistente;
- asigur securitatea datelor prin accesul controlat la date pe care l ofer utilizatorilor (acetia nu
pot accesa orice fel de date dac nu le este permis acest lucru);
- creeaz copiile de siguran i asigur refacerea datelor, n cazul apariiei unei erori sau
defeciuni n baza de date, la starea la care acestea se aflau nainte de apariia erorii sau
defeciunii;
- asigur controlul concurenei pstrnd consistena datelor atunci cnd acestea sunt accesate n
acelai timp de mai muli utilizatori.
1.3.1. Componentele unui sistem de gestiune al bazelor de date
Acestea sunt:
1. Hardware
2. Software
3. Date
4. Proceduri
5. Resurse umane
1.3.1.1. Componenta hardware
Aceast component poate fi reprezentat de un singur calculator personal, un singur calculator
mainframe sau o reea de calculatoare.
De obicei, ntr-o reea de calculatoare, se aplic urmtoarea schem:
Se folosete un calculator principal pe care se afl programele back-end - adic partea din sistemul
de gestiune al bazei de date care administreaz i controleaz accesul la baza de date i mai multe
calculatoare aflate n diferite locaii pe care se afl programele front-end adic partea din sistemul
de gestiune al bazei de date ce constituie interfaa cu utilizatorul.
n aceast schem, numit client-server, programele back-end reprezint serverul iar cele front-end
reprezint clienii.
1.3.1.2. Componenta software
Aceast component este alctuit din:
- programele sistemului de gestiune al bazei de date;

BAZE DE DATE

CURS nr. 5

programele aplicaie scrise de obicei n limbaje de programare de generaia a III-a (C, Pascal,
Cobol) sau SQL ncorporat ntr-un limbaj de generaia a III-a;
- sistemul de operare;
- programe de reea.
Sistemul de gestiune al bazei de date poate avea ncorporate instrumente din generaia a IV-a, cum
ar fi SQL ce permit:
dezvoltarea rapid de aplicaii;
mbuntirea semnificativ a productivitii;
realizarea unor programe uor de ntreinut.
1.3.1.3. Date
Datele acioneaz ca o punte de legtur ntre componentele main (hardware i software) i
componenta uman. Baza de date conine att datele operaionale (setul de nregistrri pe care se
lucreaz) ct i metadatele. Structura bazei de date este numit schem.
1.3.1.4. Proceduri
Procedurile reprezint instruciunile i regulile aplicate n proiectarea i utilizarea bazei de date.
Acestea pot fi:
- deschiderea unei sesiuni de lucru n sistemul de gestiune al bazei de date;
- pornirea sau oprirea sistemului de gestiune al bazei de date;
- utilizarea unui program de aplicaie sau a unei funcii a sistemului de gestiune al bazei de date;
- efectuarea de copii de siguran;
- tratarea defeciunilor hardware i software;
- modificarea structurii unui tabel, reorganizarea bazei de date, mbuntirea performanelor,
arhivarea datelor.
1.3.1.5. Resursele umane
Resursele umane sunt reprezentate de:
1. Administratorul de date este responsabil de gestionarea resurselor de date i proiectarea
conceptual / logic a bazei de date.
2. Administratorul bazei de date este responsabil de realizarea fizic a bazei de date ce implic
proiectarea i implementarea acesteia. Administratorul bazei de date este o persoan care are n
rspundere controlul centralizat al datelor i al aplicaiilor ce folosesc aceste date. ndatoririle
administratorului bazei de date cuprind:
- definete schema bazei de date, ceea ce presupune scrierea unui set de definiii n limbajul de
definire a datelor care apoi s poat fi compilate de ctre un compilator DDL i transformate
ntr-un set de tabele pstrate n catalogul sistemului;
- definete structura de stocare i a metodele de acces prin scrierea unui set de definiii transferate
compilatorului;
- modific schema i organizarea fizic prin scrierea unui set de definiii utilizate de ctre
compilatorul DDL pentru a face modificrile cerute n tabele;
- asigur securitatea prin acordarea drepturilor de acces utilizatorilor pe baza unor conturi de
utilizator create n acest scop;
- verific respectarea constrngerilor de integritate ori de cte ori se introduc date n baza de date;
- monitorizeaz toate activitile utilizatorilor;
- monitorizeaz creterea dimensiunilor bazei de date;
- i formeaz o imagine de ansamblu asupra sistemului, urmrind prile tari i slabe ale acestuia;
- asigur controlul concurenei prin alegerea tipului de blocare ce va fi folosit atunci cnd aceleai
date sunt folosite de mai muli utilizatori n acelai timp;
- asigur fiabilitatea sistemului n cazul apariiei unor erori.

BAZE DE DATE

CURS nr. 5

3.
a)
b)
4.
-

Proiectanii de baze de date care pot fi:


Proiectant de baze de date logice:
identific datele (entiti i atribute);
identific relaiile dintre date;
identific constrngerile;
identific regulile ce descriu principalele caracteristici ale datelor;
implic utilizatori n realizarea modelului de date.
Proiectant de baze de date fizice:
transpune modelul logic ntr-un set de tabele i constrngeri;
selecteaz structuri de stocare i metode de acces specific;
asigur securitatea datelor.
Utilizatorii finali care pot fi de urmtoarele categorii:
Programatorii de aplicaii. Acetia sunt profesionitii ce interacioneaz cu sistemul folosind
instruciuni scrise n limbajul de manipulare a datelor pe care le ncorporeaz n cadrul unor
interfee create n alte limbaje de programare. Precompilatorul DML convertete apelurile
scrise n limbajul de manipulare a datelor n proceduri specifice limbajului gazd. Compilatorul
limbajului gazd genereaz apoi codul obiect.
- Utilizatori cu pregtire special. Acetia interacioneaz cu sistemul fr a scrie programe, dar
ei formuleaz cereri pentru a extrage date din baza de date cu ajutorul instruciunilor specifice
limbajului de manipulare a datelor. Aceste cereri sunt transmise procesorului de interogare care
desparte o instruciune specific limbajului de manipulare a datelor n instruciuni specifice
modulului de administrare a bazei de date.
- Utilizatori specializai. Acetia sunt utilizatori cu pregtire special care scriu programe
aplicaie specializate pentru diverse zone de interes (sisteme CAD, sisteme expert etc.).
- Utilizatori obinuii. Acetia sunt utilizatori care interacioneaz cu sistemul folosind interfeele
create de programatorii de aplicaii.

1.3.2. Componentele unui sistem de gestiune a bazelor de date


Sistemele de gestiune a bazelor de date sunt alctuite dintr-o serie de module ce ndeplinesc diverse
funcionaliti. Anumite funcionaliti sunt ndeplinite mpreun cu sistemul de operare pe care este
folosit sistemul respectiv. Principalele componente ale unui sisteme de gestiune al bazelor de date
sunt:
Administratorul de fiiere gestioneaz alocarea spaiului pe disc precum i structurile de date
utilizate la reprezentarea datelor pe disc. Acesta transmite cererea ctre metoda de acces
corespunztoare care fie citete datele din buffer-ul sistemului, fie le scrie n acesta.
Administratorul bazei de date accept interogrile i examineaz schemele externe i conceptuale
pentru a determina ce nregistrri sunt necesare pentru a satisface o anumit cerere, dup care
apeleaz administratorul de fiiere pentru a efectua cererea.
Procesorul de interogare transform interogrile ntr-o serie de instruciuni de nivel jos adresate
administratorului de baze de date.

BAZE DE DATE

CURS nr. 5

Preprocesorul DML convertete instruciunile DML dintr-un program aplicaie n apeluri de funcii
standard ale limbajului gazd i interacioneaz cu procesorul de interogare pentru a genera codul
corespunztor.
Programatori
Programe
aplicaie

Preprocesorul
DML

Codul programului
obiect

Metode de
acces

Buffer

Utilizatori

Administratorul
bazei de date

Interogri

Schema bazei
de date

SGBD
Procesor de
interogare

Administrator
baza de date

Compilator
DDL

Administrator catalog

Administrator de
fiiere

Catalogul
sistemului
Baza de date

Figura 1.3. Componentele bazei de date


Compilatorul DDL transform instruciunile DDL ntr-un set de tabele ce conin meta-datele.
Tabelele sunt stocate n catalogul sistemului.
Administratorul de catalog gestioneaz accesul i ntreinerea catalogului sistem. Catalogul
sistemului este accesat de majoritatea componentelor sistemului de gestiune al bazei de date.
Una dintre cele mai importante funcii din cadrul sistemului de gestiune al bazelor de date o are
administratorul bazei de date. Acesta pstreaz interfaa cu programele aplicaie i interogrile
lansate de utilizatori.

BAZE DE DATE

CURS nr. 5

Codul
programului obiect

Procesorul de
interogare

Controlul de autorizare

Verificatorul de
integritate

Procesorul
de comand

Administratorul
de tranzacii

Administratorul
de date

Metode de
acces

Buffer

Administratorul
de buffer

Administratorul de
catalog

Administratorul
bazei de date

Optimizatorul
de interogare

Planificatorul

Administratorul
de reconstituire

Administratorul
de fiiere

Catalogul
sistemului

Baza de date

Figura 1.4. Componentele administratorului bazei de date


Administratorul bazei de date are una dintre cele mai importante funcii n cadrul unui sistem de
gestiune al bazelor de date. Principalele componente ale acestuia sunt prezentate n figura 1.4.
Aceste componente pot fi urmtoarele:
- Procesorul de interogare este utilizat pentru a simplifica i uura accesul la date. Acesta
conine Evaluatorul de interogare care execut fiecare interogare pe baza unui plan.
- Administratorul de date este utilizat pentru a minimiza resursele necesare transferului de date
dintre memoria intern i cea extern. Administratorul de date este un program care ofer o
interfa ntre datele nmagazinate n baza de date i interogrile formulate prin intermediul
aplicaiilor. Conine urmtoarele componente:

BAZE DE DATE

CURS nr. 5

Controlul de autorizare care verific dac utilizatorul are dreptul de a efectua operaia
cerut.
- Administratorul de fiiere.
- Administratorul de buffer care rspunde de transferul datelor dintre memoria principal
i dispozitivele de stocare secundare.
Administratorul de tranzacii este utilizat pentru a controla atomicitatea i concurena
tranzaciilor n scopul pstrrii consistenei i durabilitii bazei de date. O tranzacie
reprezint o colecie de operaii aplicate bazei de date care sunt efectuate toate deodat sub
forma unei singure uniti logice. Aceast component este alctuit din:
- Administratorul de tranzacii.
- Administratorul de blocare.
- Administratorul de reconstituire care garanteaz c baza de date rmne ntr-o stare
coerent dup ce n baza de date a aprut o eroare. Acesta este responsabil de reluarea
sau abandonarea unei tranzacii.

1.3.3. Funciile sistemelor de gestiune a bazelor de date


1. Stocarea, regsirea i reactualizarea datelor.
Este funcia fundamental a unui sistem de gestiune a bazelor de date. Sistemul trebuie s
ascund fa de utilizatori detaliile privind implementarea fizic intern.
2. Asigurarea unui catalog accesibil utilizatorului
Catalogul sistemului conine date despre scheme, utilizatori, aplicaii. Acesta trebuie s
stocheze:
a. denumirile, tipurile i dimensiunile articolelor de date;
b. denumirile relaiilor;
c. constrngerile de integritate asupra datelor;
d. numele utilizatorilor autorizai care au acces la date;
e. schemele externe, conceptuale, interne precum i transpunerile lor;
f. statistica utilizrii (de exemplu: frecvena tranzaciilor, contorizarea numrului de
accesri ale obiectelor din baza de date).
Utilizarea unui astfel de catalog de sistem asigur o serie de avantaje care sunt prezentate n
continuare:
- contribuie la controlul datelor ca resurse;
- se poate defini n sensul datelor;
- simplific comunicarea;
- identific utilizatorii;
- identific cu uurin redundana i incoerena;
- nregistreaz modificrile din baza de date;
- impactul unei modificri poate fi determinat nainte de implementare;
- mbuntete securitatea;
- mbuntete integritatea;
- monitorizeaz operaiile efectuate asupra bazei de date.
3. Asigurarea tranzaciilor
Tranzacia reprezint un set de aciuni prin care se acceseaz sau se modific coninuturile
bazei de date. Dac tranzacia eueaz (nu s-au efectuat toate modificrile, sau modificrile
nu s-au efectuat n toate cazurile) baza de date devine incoerent i, ca urmare, trebuie avut
n vedere un mecanism care s anuleze toate modificrile efectuate n cadrul tranzaciei i s
aduc baza de date n ultima stare coerent anterioar nceperii tranzaciei.
4. Asigurarea serviciilor de control concurente
Sistemul de gestiune al bazei de date trebuie s garanteze c nu vor avea loc interferene
atunci cnd mai muli utilizatori acceseaz baza de date.

BAZE DE DATE

CURS nr. 5

5. Asigurarea serviciilor de reconstituire


n cazul n care n timpul funcionrii sistemului au avut loc defeciuni de natur hardware
sau software, acesta trebuie readus ntr-o stare coerent.
6. Asigurarea serviciilor de autorizare
n cazul n care n timpul funcionrii utilizatorii ncearc intenionat sau accidental s
acceseze date pe care nu au dreptul s le prelucreze, sistemul de gestiune al bazei de date
trebuie s intervin.
7. Asigurarea unui suport pentru comunicarea datelor
Utilizatorii trebuie s poat accesa o baz de date centralizat de la locaii aflate la distan.
8. Asigurarea serviciilor de integritate
Integritatea bazei de date se refer la corectitudinea i coerena datelor stocate i se exprim
sub forma unor constrngeri care reprezint regulile de coeren pe care baza de date nu are
voie s le ncalce.
9. Asigurarea serviciilor pentru promovarea independenei de date
Independena de date este obinut printr-un mecanism de vedere sau subschem. Completa
independen logic de date este dificil de obinut. De obicei se pot aduga entiti, atribute,
relaii, dar eliminarea lor nu este ntotdeauna posibil.
10. Asigurarea de servicii utilitare
Serviciile utilitare ajut la administrarea bazei de date. Cteva astfel de exemple sunt
urmtoarele:
- faciliti de import;
- faciliti de monitorizare, pentru urmrirea utilizrii;
- programe de analiz statistic;
- faciliti de reorganizare a indecilor;
- compactarea i realocarea spaiului eliberat prin ndeprtarea unor nregistrri din
dispozitivele de stocare.