Sunteți pe pagina 1din 60

SGBD

SGBD ASPECTE FUNDAMENTALE


Conceptul de SGBD
Obiectivele unui SGBD
Functiile unui SGBD
Clasificarea SGBD
Arhitecturi de SGBD

SGBD

Conceptul de sistem de baz de date (SBD) a devenit


familiar, n special n ultimii ani, tuturor categoriilor
de utilizatori din informatic.
Acest lucru a fost determinat, n principal, datorit
lucrului pe maini interactive n reele de calculatoare.
n cadrul unui SBD, sistemul de gestiune a bazelor de
date (SGBD) a devenit tot mai accesibil att
utilizatorilor finali i intensivi (prin generatoare i
utilitare specifice), ct i specialitilor n informatic
(prin limbaje procedurale i neprocedurale).

Definirea unui SGBD

SGBD este un ansamblu complex de programe care


asigur interfaa ntre o baz de date i utilizatorii
acesteia.
SGBD este componenta software a unui sistem de baz
de date care interacioneaz cu toate celelalte
componente ale acestuia, asigurnd legtura i
interdependena ntre elementele sistemului
Conceptul de Sistem de Gestiune a Bazelor de Date
(SGBD) se regsete cu aceeai denumire i
semnificaie n terminologia de informatic francez
(SGBD - Systeme de Gestion de Bases de Donnees) i
englez (DMBS - DataBase Management System).

Definirea unui SGBD


Un produs software este un SGBD dac (concomitent):

este un sistem, adic un ansamblu de programme


intercorelate ntre ele care concur la atingerea unui scop
comun (pentru atingerea unor obiective i a unor funcii);

gestioneaz date organizate n memoria extern


conform unui model de date pentru baze de date;

ndeplinete obiectivele i funciile unui SGBD.

Orice organizare a datelor n memoria extern n


colecii de date, care nu are un SGBD asociat, nu
conduce la un SBD ci la fiiere sau sisteme de fiiere
prelucrate cu programe (scrise n diferite limbaje de
programare).

Definirea unui SGBD


Un SGBD, n mod minimal (obligatoriu),
trebuie s:
implementeze un model de date
pentru baze de date;
conin cel puin un limbaj de
programare, precum i
interfee/instrumente pentru
gestionarea optim a datelor.

Rolul unui SGBD

1.
2.
3.
4.
5.

Rolul unui SGBD ntr-un context de sistem de baz de date


este de a:
defini i descrie structura bazei de date, care se realizeaz
printr-un limbaj propriu specific, conform unui anumit
model de date;
ncrca/valida datele n baza de date respectnd nite
restriciile de integritate impuse de modelul de date utilizat;
realiza accesul la date pentru diferite operaii (consultare,
interogarea, actualizare, editare situaii de ieire), utiliznd
operatorii modelului de date
ntreine baza de date cu ajutorul unor instrumente
specializate (editoare, utilitare - shells, navigatoare
browsers, convertoare etc);
asigura protecia bazei de date subaspectul securitii i
integritii datelor.

Evoluia SGBD

Evoluia SGBD-urilor este legat, n principal, de modelul


de date pe care-l implementeaz.
Pn n anii aizeci datele erau organizate doar n fiiere,
gestionate de programe scrise n diferite limbaje de
programare universale (exemple: Cobol, Fortran etc.).
La sfritul anilor aizeci a aprut modelul arborescent de
organizare a datelor i primele SGBD-uri care erau
ierarhice i implementau acest model (exemplu: IMS).
La nceputul anilor aptezeci a aprut modelul reea de
organizare a datelor i SGBD-urile reea ce implementau
acest model (exemple: IDMS, SOCRATE).
SGBD-urile arborescente i reea fac parte din prima
generaie i ele constituie pionieratul n domeniu.

Evoluia SGBD

La sfritul anilor aptezeci, nceputul anilor optzeci a


aprut modelul relaional de organizare a datelor i
ulterior s-au realizat SGBD-urile relaionale ce
implementau acest model (exemple: Oracle, Informix,
DB2, SQLServer, Visual Foxpro, Access etc.). Este
generaia a doua de SGBD, care prin simplitate,
interactivitate i neproceduralitate domin piaa
actual.
La sfritul anilor optzeci, nceputul anilor nouzeci a
aprut modelul orientat obiect de organizare a datelor
i SGBD-urile orientate obiect ce implementau acest
model (exemple: Gemstone, O2, Jasmine etc.).
Aceasta este generaia a treia de SGBD care este n
plin dezvoltare acum.

CARACTERISTICI
La trecerea de la o generaie la alta de SGBD s-au urmrit
urmtoarele aspecte:

Pstrarea aspectelor fundamentale care dau conceptul de SGBD:


obiectivele, funciile i componentele. Desigur, la fiecare generaie
apar i o serie de elemente specifice, de nuan, care ns nu
schimb fundamentele conceptului.

ncadrarea unui SGBD ntr-o generaie se face n funcie de


modelul de date implementat. Sunt luate n considerare toate cele
trei elemente care caracterizeaz modelul de date: definirea
structurii modelului (entitile i legturile dintre ele), operatorii de
prelucrare, restriciile de integritate.

mbuntirea organizrii datelor n memoria extern prin


implementarea unui model mai performant. Se urmrete
creterea independenei logice i fizice (pn la total), asigurarea
unor limbaje de descriere a datelor (LDD) ct mai performante i
automatizate, asigurarea unor limbaje de manipulare a datelor
(LMD) puternice, asigurarea unor limbaje de regsire
neprocedurale (exemplu SQL), reducerea i controlul redundanei.

CARACTERISTICI

mbuntirea accesului la date prin: acces dup mai multe


chei, acces concurent, optimizarea accesului, creterea
securitii datelor.
Oferirea unor faciliti de utilizare tot mai performante:
generatoare specializate, interfee cu alte limbaje de
programare, interactivitatea.
Diversificarea tipurilor de date ce pot fi utilizate,
diversificarea modului de lucru (local sau reea), precum i
a tipurilor de aplicaii ce pot fi dezvoltate. Acest lucru
nseamn c SGBD-urile se doresc a avea o extensibilitate
ct mai mare, care s le permit adaptarea la nou.
Utilizarea unor SGBD-uri din generaiile precedente n
paralel cu dezvoltarea unei noi generaii.
Tendina de fundamentare teoretic i standardizare a
conceptelor din fiecare nou generaie de SGBD aprut,
ceea ce ofer acestora robustee i deschidere.

Functiile unui SGBD

UTILIZARE
UTILIZARE

MANIPULARE
MANIPULARE

DESCRIERE

Baza de date

ADMINISTRARE

DESCRIEREA DATELOR

SGBD-ul, prin aceast funcie, permite definirea structurii bazei de date cu


ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi
realizat la nivel conceptual, logic i fizic. Se descriu atributele (cmpurile)
din cadrul structurii bazei de date, legturile dintre entitile bazei de date
sau dintre atributele aceleiai entiti, se definesc eventualele criterii de
validare a datelor, metodele de acces la date, aspectele referitoare la
asigurarea integritii datelor. Concretizarea acestei funcii este schema
bazei de date, memorat n cod intern. Memorarea se face ntr-un dictiona
de date, ceea ce permite afiarea i actualizarea structurii bazei de date, n
orice moment.
Aceast funcie a fost mult automatizat n timp, LDD avnd acum puine
comenzi. LDD este specific fiecrui SGBD, dar el ntotdeauna realizeaz
descrierea datelor conform elementelor modelului de date pe care l
implementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i
descrierea entitilor i a caracteristicilor lor, definirea legturilor dintre
obiecte (asocierile) i a regulilor de integritate specifice modelului de date.
Dup realizarea funciei de descriere, ntr-un SGBD, entitile bazei de date
exist create deja ca fiiere, dar nu conin datele propriu-zise, ci numai
structura bazei de date (schema bazei de date).

EXEMPLU DESCRIERE

PROMPT crearea tabelelor


DROP TABLE clienti
CASCADE CONSTRAINTS;
DROP TABLE furnizori CASCADE CONSTRAINTS;
DROP TABLE produse CASCADE CONSTRAINTS;
DROP TABLE tranzactii CASCADE CONSTRAINTS;
DROP TABLE documente
CASCADE
CONSTRAINTS;
DROP TABLE proddoc CASCADE CONSTRAINTS;

EXEMPLU DESCRIERE

CREATE TABLE clienti


(
codc
varchar2 (5),
denc
varchar2 (30),
adr
varchar2 (30),
loc
varchar2 (20),
cont
varchar2 (11),
banca
varchar2 (15),
constraint pk_codc primary key (codc)
);

EXEMPLU DESCRIERE

CREATE TABLE furnizori


(
codf
varchar2 (5),
denf
varchar2 (30),
adr
varchar2 (30),
loc
varchar2 (20),
cont
varchar2 (11),
banca
varchar2 (15),
constraint pk_codf primary key (codf)
);

EXEMPLU DESCRIERE

CREATE TABLE produse


(
codp
varchar2 (5),
denp
varchar2 (25),
um
varchar2 (5),
pret
number (10),
stoc
number (5),
termen date,
constraint pk_codp primary key (codp)
);

EXEMPLU DESCRIERE

CREATE TABLE tranzactii


(
codt
varchar2 (5),
dent
varchar2 (1)
constraint nn_dent not null
constraint ck_dent check (upper (dent) in ('L','R')),
dataora
date default sysdate,
codf
varchar2 (5),
codc
varchar2 (5),
constraint pk_codt primary key (codt),
constraint fk_codf foreign key (codf) references furnizori
(codf),
constraint fk_codc foreign key (codc) references clienti
(codc)
);

EXEMPLU DESCRIERE

CREATE TABLE documente


(
codd
number (5)
constraint ck_codd check (codd>0),
dend
varchar2 (4)
constraint nn_dend not null
constraint ck_dend check (upper (dend) in
('FACT','AVIZ','NIR','CHIT')),
data
date default sysdate,
codt
varchar2 (5),
constraint pk_codd primary key (codd),
constraint fk_codt foreign key (codt) references tranzactii
(codt)
);

EXEMPLU DESCRIERE

CREATE TABLE proddoc


(
codd
number(5),
codp
varchar2(5),
um
varchar2(5),
cant
number(5),
constraint pk_coddp primary key
(codd,codp)
);

MANIPULAREA DATELOR
Funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea
datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD).

Sunt realizate urmtoarele activiti: ncrcarea, actualizarea, prelucrarea i regsirea


datelor.
a) ncrcarea datelor n baza de date se realizeaz prin operaii automatizate sau
programate ce asigur i criteriile de validare necesare.
b) Actualizarea bazei de date const n operaii de adugare, modificare i tergere de
nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de
validare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se
realizeaz numai autorizat, prin asigurarea unei protecii corespunztoare a datelor,
pentru a se pstra coerena bazei de date.
c) Prelucrarea datelor se realizeaz prin operaii de selecie, ordonare, interclasare
(compunere) i ventilare (descompunere) efectuate asupra entitilor bazei de date.
Acestea sunt, de obicei, operaii pregtitoare activitii de regsire a datelor. Multe din
operaiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe
care l implementeaz SGBD-ul.
d) Regsirea (interogarea) datelor const n operaii de vizualizare (afiare pe ecran,
imprimare pe hrtie), rsfoire, editarea unor situaii de ieire. Situaiile de ieire pot fi
intermediare sau finale i se pot obine pe diferii supori tehnici de informaie (ecran,
hrtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale,
liste, rapoarte, grafice, imagini, sunet, video) i se pot obine dup cele mai diferite
criterii de regsire.

INCARCARE

S se adauge in tabela Pontaj datele pentru noul


angajat (cu date introduse de la tastatura )
SQL>
PROMPT S se adauge n Tabela Pontaj
datele pentru:
INSERT INTO Pontaj
(codang, luna, zilelucr, orezi,
zileco, zilecm, orelucrate)
VALUES
('&CodAngajat',&LunaPontaj','&ZileLucr','&OrePeZi',
'&ZileConOdihna','&ZileConMed',' &OreLucrEfectiv');

ACTUALIZARE

Adugai tabelei Proddoc, Restrictia de validare (cant>=50)


SQL>
PROMPT Adaugati tabelei Proddoc restrictia de validare
(Cant>=50)
ALTER TABLE proddoc ADD
(CONSTRAINT ck_cant CHECK (cant>=50));
Rezultatul este:
SQL> DESCRIBE proddoc;
Name
Null?
Type
------------------------------- -------- -------------------------------CODD
NOT NULL
NUMBER (5)
CODP
NOT NULL
VARCHAR2 (5)
UM
VARCHAR2 (5)
CANT
NUMBER (6) *
IE
NUMBER (2)
* Condiia adugat se va verifica la introducerea datelor n tabela ProdDoc,
n structura tabelei aceasta nefiind valabil. Funcia CHECK ( ) este cea
care stabilete condiia i face verificarepe cmpul trecut ca argument

PRELUCRARE

S se calculeze i afieze valoarea total pentru


fiecare document, din tabela Documente.
SQL>
UPDATE documente D
SET valoare =
(
SELECT SUM (cant*pret) valoare FROM proddoc PD,
produse P
WHERE P.codp=PD.codp AND D.codd=PD.codd
GROUP BY D.codd
);

VIZUALIZARE

SELECT codd, valoare FROM documente


WHERE valoare IS NOT NULL;

Rezultatul este:
CODD
VALOARE
------------------------20123
2.250E+09
10124
1.390E+09
20124
1.255E+09
30122
550000000
10125
550000000
30123
2.400E+09
10126
2.400E+09
10127
570000000
20125
570000000
10123
2.250E+09

n stabilirea rezultatului final s-a


luat obligatoriu n calcul
stabilirea join-ului, pe de o
parte, ntre codul produselor din
tabela Produse i ProdDoc (ca
s se identifice unic doar
produsele care au fost
tranzacionate i care
beneficiaz de documente), iar
pe de alt parte, ntre codul
documentelor existente n
tabela de baz, Documente, i
documentele care figureaz n
tabela aferent produselor
tranzacionate cu documente,
ProdDoc.

MANIPULAREA DATELOR
Note.

Funcia de manipulare a datelor este cea mai folosit n


bazele de date i este cea mai bine suportat de SGBD fa
de orice alt sistem de gestionare a datelor din memoria
extern, care exist pn acum.

SGBD-ul manipuleaz datele ntr-un mod eficient, utiliznd


n acest scop o serie de metode i tehnici de optimizare a
accesului i a alocrii spaiului de memorie n calculator.
Fiecare SGBD de la o generaie la alta i chiar de la o
versiune la alta a cutat s mbunteasc acest aspect.

Aa cum artam mai sus, funcia de manipulare este


asigurat n SGBD de un LMD. Acesta trebuie s respecte
restriciile de integritate a datelor i s implementeze
operatorii din modelul de date pe care se bazeaz SGBD-ul
cruia i aparine.

MANIPULAREA DATELOR

LMD poate fi cu limbaj gazd sau cu limbaj propriu. Cele cu


limbaj gazd sunt dezvoltate prin adaptarea unor limbaje
universale de programare (Cobol, Pascal, C etc.) la cerinele
de lucru ale SGBD-ului. Se mbin astfel puterea unui limbaj
universal cu necesitile de regsire a datelor (exemplu:
ORACLE). Cele cu limbaj propriu sunt dezvoltate printr-un
limbaj specific capabil s uneasc puterea proceduralului cu
regsirea dintr-un anumit tip de baz de date (exemplu:
Visual Foxpro).
Pentru activarea de regsire exist limbaje de interogare
specializate care pot fi incluse n LMD sau pot exista ca
atare. Ele au aprut datorit lrgirii gamei de utilizatori ai
bazelor de date, care i include i pe neinformaticieni tot mai
mult. Pentru acetia au fost necesare faciliti de regsire
simple i prietenoase, apropiate de modul de lucru i de
gndire uman. In acest sens, limbajele relaionale (exemplu
SQL) au cele mai bune performane.

UTILIZAREA BAZEI DE DATE


Funcia de utilizare asigur mulimea
interfeelor necesare pentru comunicarea
tuturor utilizatorilor cu baza de date .
Pentru a realiza aceast funcie SGBD-ul
trebuie s asigure faciliti pentru mai
multe categorii de utilizatori ai bazei de
date: neinformaicieni, specialiti
(informaticieni), administratorul.

UTILIZAREA BAZEI DE DATE

a) Utilizatorii neinformaticieni reprezint principala


categorie a beneficiarilor de informaii (utilizatori finali i
intensivi) din baza de date. SGBD-ul le ofer acestora
limbaje neprocedurale i alte faciliti de interogare
(generatoare, utilitare etc) a bazei de date ntr-o form
simpl i interactiv. Aceti utilizatori nu trebuie s
cunoasc structura bazei de date i nu trebuie s tie s
programeze, SGBD-ul ajutndu-i interactiv n utilizarea
bazei de date. n acest sens SGBD-ul ofer: meniuri cu
opiuni sugestive, ferestre, abloane pentru diferite forme,
asisteni tip Wizard, autodocumentarea (help-uri,
mesaje/ferestre explicative).

UTILIZAREA BAZEI DE DATE

b) Utilizatorii specialiti n informatic creaz structura


bazei de date i realizeaz proceduri complexe de
exploatare a bazei de date. SGBD-ul ofer acestor utilizatori
limbajul de descriere i limbajul de manipulare a datelor
precum i interfee cu limbaje universale. Acestea sunt de
complexitate i putere diferit, de la un SGBD la altul,
oferind att elemente neprocedurale ct i procedurale
specialistului n informatic. Cu aceste elemente el descrie
schema bazei de date i asigur manipularea complex a
datelor.
Pentru realizarea bazei de date SGBD-ul ofer
specialistului i elemente de CASE (Computer Aidede
Software Engineering). Acestea l ajut n diferitele activiti
care intervin n etapele de proiectare a bazei de date.

UTILIZAREA BAZEI DE DATE

Administratorul bazei de date, care


este un utilizator special i are un rol
hotrtor n ceea ce privete
funcionarea optim a ntregului
sistem. Datorit importanei acestei
categorii de utilizatori, SGBD-ul are o
funcie distinct n acest sens.

ADMINISTRAREA BD

Funcia de administrare este complex i de


competena administratorului bazei de date.
Administratorul, care are o bogat experien de
analiz, proiectare i programare, organizeaz i
administreaz baza de date n toate etapele de
realizare a acesteia.
Astfel, el organizeaz baza de date conform unei
anumite metodologii, realizeaz schema (conceptual)
bazei de date, coordoneaz proiectarea bazei de
date. Pentru toate aceste lucruri SGBD-ul ofer o
serie de elemente de CASE, precum i o serie de
utilitare specializate.

ADMINISTRAREA BD

n etapa de exploatare a bazei de date,


administratorul are rolul de a autoriza accesul la date
(acord conturi, parole etc.), de a reface baza de date
n caz de incidente (prin jurnalizare, copii), de a utiliza
eficient spaiul de memorie intern i extern (prin
organizare, rutine de optimizare), de a realiza o serie
de analize statistice din baza de date (numr i tip de
utilizatori, numr de accese, numr de actualizri
etc.). Pentru fiecare din aceste activiti SGBD-ul
ofer instrumente i tehnici de lucru

ADMINISTRAREA BD

n cazul lucrului n reea de calculatoare


cu baze de date distribuite, SGBD-ul
are dezvoltate foarte mult
componentele destinate
administratorului. Acest lucru este
determinat de faptul c baza de date
este, n acest caz, de mare
complexitate, datele sunt distribuite pe
calculatoarele din reea, iar utilizatorii
sunt de toate tipurile i n numr mare.

Database Administrator (DBA) componenta esentiala


managementul BD

Privilegiile DBA
Cont de administrator pentru sistemul
de operare
Cont de administrator BD
Rol de DBA

Modalitati de autentificare a DBA

Autentificare folosind sistemul de


operare
Autentificare folosind fisierul de parole

Administrarea bazei de date cu


ajutorul Enterprise Manager

Pentru a deschide pagina Enterpise


Manager se foloseste un browser web

Tipologia SGBD-urilor
1) Dup sistemele de calcul pe care se implementeaz

SGBD pentru calculatoare mari se folosesc pentru baze de


date complexe i foarte mari (exemple: Oracle, DB2, IMS).

SGBD pentru minicalculatoare se folosesc pentru baze de


date complexe i mari i au cunoscut o dezvoltare puternic
n anii 80 (exemplu: Oracle).

SGBD pentru microcalculatoare se folosesc pentru baze de


date de complexitate i de mrime mici i medii. Au o mare
rspndire n momentul actual (exemple: FoxPro, Oracle,
Acces).
Tendina actual este ca SGBD-ul s fie compatibil pe
ct mai multe sisteme de calcul sub ct mai multe sisteme de
operare. Acest lucru este dictat de noua tehnologie de
realizare de aplicaii tip sisteme deschise, lucru de care ine
cont i noua generaie (a treia) de SGBD-uri.

Tipologia SGBD-urilor
2) Dup limbajul de programare utilizat

SGBD-ul cu limbaj gazd este cel care are un limbaj de


manipulare a datelor bazat pe unul de nivel nalt (universal).
Limbajul gazd poate fi chiar un limbaj universal (C, Java,
Cobol, Pascal) sau o extensie (adaptare) a unui astfel de limbaj.

Avantajul acestei soluii este acela c se pot dezvolta proceduri


complexe de program, se pot realiza interfee om-main foarte
bune, se valorific experiena de programare din limbajele de
nivel nalt (toate rezult din avantajele programrii
procedurale).

Dezavantajul major este acela c formularea cererilor de


regsire se face mai greu, de multe ori ntr-un mod inaccesibil
utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte
componente specifice: generatoare, utilitare etc. (exemplu
Oracle).

Tipologia SGBD-urilor

SGBD-ul cu limbaj propriu (autonom) este cel care are un


limbaj de manipulare a datelor specific.
Acest limbaj de programare propriu este procedural i are marele
avantaj c permite implementarea tuturor facilitilor oferite de
SGBD. n el se pot programa proceduri complexe i interfee
puternice ca ntr-un limbaj universal, dar n plus se realizeaz un
acces uor i optimizat la baza de date.
Dezavantajul este c un astfel de limbaj nu poate fi utilizat dect
de specialitii n informatic (exemplu limbajul din Visual FoxPro).
Tendina actual este ca SGBD-ul s aib implementat, pe lng un
limbaj procedural, i un limbaj de regsire neprocedural, care s
permit formularea de cereri de regsire uor, de ctre toi
utilizatorii bazei de date. n acest sens, majoritatea SGBD-urile
pentru microcalculatoare au implementat, parial sau total,
limbajul SQL, care este i standardizat internaional.

Tipologia SGBD-urilor
3) Dup modelul logic de date implementat

SGBD ierarhice sunt cele care implementeaz modelul de


date arborescent (ierarhic) i au fost primele care s-au utilizat
pentru gestionarea bazelor de date. Ele au o serie de avantaje
pentru domenii precise din lumea real nconjurtoare, de
exemplu tehnologia construciei de maini, dar au limite pentru
alte domenii (exemplu: IMS).

SGBD reea sunt cele care implementeaz modelul de date


reea i care au eliminat multe din limitele celor ierarhice. Ele au
o larg aplicabilitate pentru numeroase probleme din lumea real,
dar sunt dificil de utilizat datorit complexitii ridicate (exemplu:
IDMS).

Tipologia SGBD-urilor

SGBD relaionale sunt cele care implementeaz modelul de


date relaional i au aplicabilitate n majoritatea domeniilor din
lumea real. Ele pot fi folosite de o gam larg de utilizatori datorit
facilitilor oferite (generatoare, limbaj neprocedural etc.)
(exemple: Oracle, Visual FoxPro, Paradox, Acces, Informix,
Progress).
SGBD orientate obiect sunt cele care implementeaz modelul
de date orientat obiect. Ele se preteaz bine la problemele foarte
mari, de complexitate ridicat, precum i pentru tipurile noi de
aplicaii (proiectarea asistat, multimedia, sisteme deschise)
(exemple: O2, Orion, Jasmin).

Tipologia SGBD-urilor
Note.

Majoritatea SGBD-urilor actuale au implementate, n ultimele


versiuni, faciliti de tratare a obiectelor (exemple:SQL Server,
DB2, Oracle,Access, Visual FoxPro).

Tipurile de mai sus de SGBD-uri, avnd drept criteriu modelul de


date implementat, sunt de baz (fundamentale).

Pornind de la acestea, prin extensia tehnologiei informatice,


exist i alte tipuri de SGBD-uri: deductive, distribuite,
multimedia, spaiale etc.

Exist, de asemenea, tipuri de SGBD-uri (ca de exemplu cele


funcionale) care se bazeaz pe alte modele de date dect cele de
mai sus. Acestea ns, au o rspndire mai restrns avnd
performane doar pentru domenii bine precizate.

Tipologia SGBD-urilor
4) Dup localizarea bazei de date

SGBD centralizate sunt cele care gestioneaz datele


amplasate ntr-o singur baz de date central. La acestea au acces
toi utilizatorii autorizai pentru a efectua diferite operaii de
manipulare a datelor. Toate calculatoarele care nu sunt legate n
reea i lucreaz cu baze de date au instalat un SGBD centralizat.
Tot un SGBD centralizat, dar cu faciliti de lucru n reea, trebuie
instalat i n reelele de calculatoare care au plasat baza de date
pe un singur calculator (de obicei pe server).(exemplu: Visual
FoxPro, Access)

SGBD distribuite sunt cele care gestioneaz datele amplasate


pe mai multe calculatoare dintr-o reea tratndu-le ca un tot unitar.
Complexitatea acestor SGBD-uri este ridicat, avnd componente
speciale pentru realizarea conexiunilor i tratarea distribuit a
datelor (exemplu: Oracle, DB2, Informix).

Arhitecturi de SGBD

De la apariia lor i pn n prezent, SGBD-urile au cunoscut o mare varietate.


Aa cum reiese i din clasificarea SGBD-urilor, acestea sunt de diferite tipuri
conform diferitelor criterii de grupare.
Din acest motiv este dificil de dat o arhitectur unic, valabil pentru toate
SGBD-urile, aprnd particulariti de la un sistem la altul.
Exist preocupri de standardizare a arhitecturii sistemelor de gestiune a
bazelor de date care caut s defineasc un cadru general al lor.
Dintre acestea, sunt dou arhitecturi de referin a unui SGBD propuse de
grupul de lucru CODASYL i respectiv ANSI/SPARC .

Arhitecturi de SGBD

In ultimul timp, arhitectura de SGBD a evoluat spre o configuraie cu trei


categorii de componente (nucleul, interfaa, instrumentele), situaie ntlnit la
ultimele versiuni de sisteme comerciale .
O alt tendin este dat de arhitecturile distribuite i orientate obiect de
SGBD, care sunt tot mai des utilizate n contextul de reea de calculatoare i
noile tipuri de aplicaii informatice.
Arhitectura pe componente (niveluri) reflect tendina actual de structurare a
SGBD-urilor.

Arhitectura pe componente
(niveluri) a unui SGBD (1)
SGBD
INTERFEE

NUCLEU (kernel)

INSTRUMENTE (toolkit)

Arhitectura pe componente (2)


Instrumente
Interfata
kernel

BD

Nucleul
Nucleul (motorul) conine
limbajul de descriere a datelor (LDD);
limbajul de manipulare a datelor (LMD);
componente obligatorii n kit-ul minim de
SGBD.
Componenta este destinat analitilor,
programatorilor i administratorilor BD.

Interfetele
Interfeele sunt formate din:
generatoarele de diferite tipuri (de meniuri, de videoformate, de
rapoarte etc.);
elementele de CASE (Computer Aidede Software Engeenering);
interfee cu limbaje de programare universale, interfee cu alte
sisteme etc.
Componenta este destinat tuturor categoriilor de utilizatori: finali,
intensivi, specialiti.

Instrumentele
Instrumentele sunt formate din:
editoarele;
navigatoarele (browsers),;
utilitarele (shells) de diferite tipuri.
Componenta este destinat, n principal,
administratorului bazei de date, dar i altor
categorii de urilizatori.

Concluzii
Arhitectura pe niveluri este simpl dar complet:
Arhitecturile standardizate (CODASYL i ANSI) pot fi aduse pe cele trei
niveluri;
Noile tehnologii de baze de date (de exemplu tehnologia orientat obiect) au
determinat apariia unor noi tipuri de SGBD. Arhitecturile propuse pentru
acestea, pot fi adaptate pe cele trei niveluri;
Noile tehnologii informatice (de exemplu multimedia, Internet etc.) au
interferat cu tehnologia bazelor de date rezultnd SGBD-uri derivate
corespunztoare. Pentru acestea s-au propus arhitecturi care, ns, pot fi
adaptate la structurarea pe trei niveluri.

Componentele nucleului
Comenzi de
deschidere date

Componente
LDD

Comenzi
privilegiate

Cereri de date

Procesor de
cereri

Program de
aplicatie

Precompilatorul

Componenta
DML

Procesor
runtime

Mecanismul de Gestionare de date

BD

Catalog DD

Obiect de BD

Compilator
limba gazda

Functiile componentelor

Accesul la BD (obiecte+DD) este controlat de o componenta denumita


gestionarul de date - poate utiliza functii la nivel scazut oferite de SO sau
poate utiliza propriile sale functii de gestiune a datelor.
Compilatorul LDD face posibila utilizarea unor comenzi specifice de definitie
si intretinere DD.
Procesorul run-time executa operatii de regasire, act.
Procesorul de cereri trateaza cererile interactive exprimate in LMD.
Precompilatorul prelucreaza comenzile de manipulare incluse intr-un
program de aplicatie scris in limbaj gazda. Aceste comenzi sunt transmise
compilatorului LMD in scopul generarii modului pentru accesul la BD. Restul
comenzilor din PA sunt prelucrate de compilatorul limbajului gazda. Cele
doua tipuri de componente ale PA pot forma o tranzactie asupra BD.

Functiile principale ale nucleului SGBD

organizarea fisierelor (metode de organizare, clusteri);


mecanisme de acces (indecsi simpli, indecsi drept
arbori-B);
management tranzactii (controlul concurentei si
consistentei datelor);
management DD;
management cererilor (optimizarea accesului );
protectia datelor.

Advanced Database Systems

DBA

Dezvoltatori de
aplicatii
(programatori)

Utilizatori
intensivi

Pachete de programe,
aplicatii

Limbaje de
programare
universale

Precompilatoare
Comenzi specifice pentru
administrare

Comenzi DDL

Compilator DDL

Comenzi DML

Compilator de cereri

Plan de executie a cererii

Evaluator la momentul ex

Manager de tranzactii si
de blocuri
Controleaza
accesul la
BD
Dictionar al BD, Obiecte
ale BD

Compilator limba gazda

Controleaza
accesul la BD

Functiile componentelor

DBA implementeaza schema si subschemele BD intr-un DDL care


este procesat de un compilator DDL.
Utilizatorii fac cereri fie incluse in cod procedural (proceduri/functii
stocate sau nu) care sunt compilate de compilatorul de cereri.
Cererea este analizata sintactic si lexical folosind informatii din
dictionarul de date si este optimizata pentru executie eficienta
(optimizator de cereri).
Un plan de executie este de obicei reprezentat ca un arbore de
operatii (cu informatii suplimentare) despre metodele de acces
folosite.Planul de executie a cererii este trimis in momentul
executiei la un evaluator.
Pentru cereri ad-hoc aceasta analiza si evaluare se face imediat.
Pentru cereri incluse in programe, aceasta se intampla cand
cursorul asociat cererii este deschis.

Functiile componentelor

Evaluatorul la momentul executiei este de obicei un


interpretor pentru o forma a alg. rel. (impreuna cu
metodele de acces si instr de executie a operatorilor).
In timp ce evalueaza cererea, aceasta componenta
acceseaza BD prin componente pentru controlul/accesul
concurent la datele din BD.
Se implementeaza controlul concurential, managementul
tranzactiilor, metode de acces la date, etc.

Sisteme de baze de date

Sistemul de baz dedate(SBD)=un


ansamblu de elemente
intercondiionate care contribuie la
realizarea i exploatarea unei aplicaii
cu baze de date.
Arhitectura unui SBD=prezentarea
grafic a elementelor unui SBD i a
legturilor dintre ele.

SBD arhitectura pe componente

Arhitectura pe componente d o
imagine asupra elementelor
constitutive ale unui SBD i a
interdependenei dintre ele.

SBD arhitectura pe componente


Din aceast arhitectur rezult componentele unui SBD:

1.Datele organizate ntr-o baz de date care conine:

2.Software-ul aferent realizrii i expoatrii bazei de date, care


conine:

coleciile cu date propriu-zise;


dicionarul de date;
fiierele anexe.

sistemul de gestiune a bazelor de date(SGBD);


programele de aplicaie.

3.Elementele auxiliare sunt componente care contribuie la


realizarea i funcionarea ntregului SBD:

set de proceduri automate(rutine) i manuale;


reglementri legale i administrative;
mijloace hardware utilizate;
personalul implicat pe categorii de utilizatori.