Sunteți pe pagina 1din 10

SISTEME DE GESTIUNE A BAZELOR DE DATE

O baza de date (BD) este o multime structurata de elemente de date si


de legaturi logice dintre ele ce descriu un univers real sau conceptual (o
întreprindere, o organizatie, o societate de asigurari, eveniment etc.), ce pot
fi accesate simultan de mai multi utilizatori.

Un sistem de gestiune al unei baze de date (SGBD) este un software


utilizat pentru crearea, întretinerea si exploatarea a unei baze de date si
care da posibilitatea mai multor utilizatori sa aiba acces simultan la datele
care o compun.

1.1. Istoria sistemelor de gestiune a bazelor de date

Sistemele de gestiune a bazelor de date (SGBD) au o vechime de


aproape patru decenii. În anul 1960 s-a realizat prima dezvoltare a sistemelor
de gestiune ale fisierelor (SGF) pentru memoriile secundare direct accesibile
si partajabile, care a constituit inima unui SGBD. Prima generare a unui SGBD
a fost marcata de separarea descrierii datelor de programele de aplicatii si de
aparitia limbajelor de manipulare. Aceste SGBD permit sa se caute date
grupate în articole, în structuri arborescente si au ca obiectiv optimizarea
memorarii datelor pe suport si reducerea timpului de acces. Din aceasta
generatie fac parte IMS, DBMS elaborate de IBM, SOCRATE elaborat de CII
etc.

A doua generatie de SGBD care a aparut dupa anul 1970 se bazeaza pe


modelul relational dat de E.Codd vizeaza simplificarea întelegerii, optimizarea
structurilor de date si optimizarea accesului la date pentru utilizatorii externi.
Ele ofera limbaje asertionale bazate pe logica care specifica datele pe care
dorim sa le obtinem. Acest sistem da un mod eficient de structurare bazat pe
teoria normalizarii si determina cel mai bun plan de acces la informatiile pe
care dorim sa le obtinem. La începutul deceniului al IX-lea al secolului XX,
termenii de model relational, baza relationala de date, calcul relational, au
devenit uzuali în metodologia proiectarii si utilizarii bazelor de date. Aceasta
generatie, a carei fundamentare teoretica se bazeaza pe teoria relationala a
cunoscut cea mai rapida dezvoltare. Primele sisteme din aceasta generatie au
fost comercializate dupa anul 1980. Pentru crearea modelului relational al
bazelor de date E.F.Codd a primit în anul 1981 premiul Turing pentru
informatica. La raspândirea rapida a modelului relational au contribuit factorii
urmatori ;
- omogenitatea reliefata de structurile de date si de memorare;

- bazele de date relationale pot fi imaginate independent de structura


sistemului de calcul. Multimile utilizate cel mai mult în practica sunt
tabelele bidimensionale. În acest caz cautarea si prelucrarea datelor
nu depind de modul de organizare si memorare a datelor
în calculator.

- din punct de vedere matematic, bazele relationale de date sunt


instantieri distincte de scheme de relatii definite anterior din multimi
de atribute (elemente de date).

Cu alte cuvinte, o baza relationala de date este un model finit în sensul


logicii elementare. Modelul relational permite realizarea de diferite operatii
algebrice. Teoria bazelor relationale de date devine domeniul de aplicare a
logicii matematice si al algebrei moderne, care opereaza cu un formalism
exact.

O a treia generatie care s-a preconizat dupa anul 1990 este aceea a
bazelor de date obiectuale ( orientate obiect). Sistemele de gestiune a
bazelor de date obiectuale (SGBDOO) permit administrarea datelor complexe
din domeniile: ingineria software, sisteme multimedia, gestiunea
documentelor, CAD etc. Aceste sisteme trebuie sa integreze sistemele
relationale de baze de date existente. SGBD-urile relationale au fost
dezvoltate pentru aplicatii de gestiune în care datele sunt separate de
programe. Acestea nu cuprind notiunile de obiect si clasa. Limbajele de
interogare ale SGBD-urilor furnizeaza multimi de tupluri programelor de
aplicatii care sunt apoi transformate în structuri complexe.

SGBDOO-urile din generatia a III-a au fost realizate pe doua cai. Prima


consta în extinderea modelului relational. Extensia se face prin introducerea
de noi concepte ca: obiect, clasa, operator atasat unei proceduri, integrare si
generalizare. Operatorii sunt considerati ca atribute ale unei relatii si permit
definirea de noi atribute. Operatorii pot fi continuti în cererile de interogare
exprimate prin procedurile asociate. În acest caz, majoritatea SGBDOO
concep atributele ca obiecte ne apartinând tipurilor elementare de baza, ceea
ce face ca bazele de date orientate pe obiect sa nu respecte restrictia impusa
de prima forma normala, deoarece atributele nu mai sunt atomice. Însa
dependentele multivoce permit introducerea de forme normale adecvate.
A doua abordare, se bazeaza pe modele obiectuale în care un obiect este
definit fie de o relatie, fie definit recursiv. Atributele unui obiect pot fi alte
obiecte. De exemplu, sintaxa lui Gem Stone integreaza majoritatea functiilor
SGBDR si un limbaj orientat pe obiecte pentru a putea defini schema bazei de
date, pentru a manipula obiecte si a codifica aplicatii. Legatura dintre baza
de date si limbajul de programare permite combinarea avantajelor
programarii orientata pe obiecte a BDOO, cu proprietatile de integritate si
partajare. Legaturile dintre obiecte sunt conservate la nivelul BDOO si permit
luarea în considerare a dinamicii obiectelor din lumea reala, stocând o data cu
obiectele si operatiile pe care le suporta.

1.2. Arhitectura globala a sistemelor de gestiune a bazelor de


date

Un sistem de gestiune a bazelor de date (SGBD) este compus din


module, fiecare având în cadrul sistemului sarcini specifice. Anumite functii
pentru sistemul de baze de date sunt asigurate de nucleul sau si de nucleul
sistemului de operare. Cele mai multe SGBD asigura un minim de functii de
baza cu ajutorul carora sunt dezvoltate alte functii. Astfel la conceperea unei
baze de date trebuie sa se tina seama de interfetele dintre diverse module.
Schema din figura 1.1 schiteaza structura unui SGBD.

În continuare se prezinta pe scurt functiile fiecarui modul din structura


SGBD.

- Gestionarul bazei de date realizeaza interfata dintre programele de


aplicatii sau de consultare si datele fizice ale bazei de date .

- Gestionarul de fisiere specifica alocarile de memorie pe disc


si structurile de memorare care servesc la reprezentarea informatiilor pe
disc.

- Procesorul de consultare traduce instructiunile limbajului de consultare


în instructiuni întelese de gestionarul bazei de date. Transpune interogarile
utilizatorului într-o forma echivalenta optimizata, în vederea determinarii
celor mai bune strategii de cautare.

- Definirea schemelor bazei de date (schemei conceptuale) si a


legaturilor dintre ele se efectueaza de administratorul BD, cu ajutorul
unui limbaj de definire a datelor (LDD) prevazut cu un compilator ce permite
crearea dictionarului de date. Structura de date este o multime de elemente
de date, de legaturi care exista între ele si de operatii efectuate cu ele.

- Precompilatorul LMD (limbaj pentru manipularea datelor) genereaza


coduri obiect ale programelor realizate cu ajutorul LMD. LMD permite ca
programatorii de aplicatii si neinformaticienii sa manipuleze date puse în
evidenta de scheme de orice nivel.

Dictionarul de date este dat de o multime de scheme si de legaturi


dintre schemele asociate ale bazei de date, de descrierile semnificatiilor
datelor si a restrictiilor pe care acestea trebuie sa le satisfaca. Dictionarul de
date poate fi el însusi implementat ca o baza de date. El constituie atunci o
metabaza, adica o baza care descrie o alta baza.

Fig. 1.1- Arhitectura SGBD

Utilizatorul este o persoana, care de la un terminal are acces la baza de


date folosindu-se de o multime de programe de aplicatii sau de comenzile
unui limbaj de consultare. Accesul la baza de date se realizeaza fie pornind de
la un program de aplicatii redactat într-un limbaj (C, Java ,Pascal etc.) care
accepta primitive (secvente de instructiuni de program) ce permit accesul la
baza de date, fie de la un terminal utilizând un limbaj specific LMD. Pe de alta
parte daca LMD de nivel înalt este utilizat într-o maniera interactiva
atunci acesta se numeste limbaj de interogare ( LI).

Administratorul BD raspunde pe lânga activitatea de definire a schemei


BD, de creare si manipulare. Pentru aceasta administratorul BD dispune de
un software specializat si are urmatoarele sarcini:

- concepe schema bazei de date ( o descriere prin intermediul


LDD). Schema trebuie sa fie independenta de structura de memorare
(stocarea fizica) si de limbajul în care se descriu aplicatiile. El odata cu
schema asociaza si restrictiile de integritate si ce garanteaza
consistenta datelor ce sunt înregistrate în BD;

- decide tehnicile de acces si de implementare fizica;

- stabileste legaturile SGBD-utilizator prin descrierea subschemelor care


sunt

derivate din schema BD. Subschema permite definirea autorizatiilor


de acces;

- defineste strategiile de reluare în caz de incident;

- realizeaza în consecinta modificarea structurii BD.

SGBD trebuie sa permita utilizatorului sa genereze versiuni de BD


performante tinând cont de înmultirea utilizatorilor. El dispune de un software
care îi restituie descrierea schemei BD ce este înregistrata în dictionarul BD.

1.3. Obiective

1.3.1. Abstractizarea si structurarea datelor

Prezentarea sub o forma abstracta si structurata a datelor constituie un


important obiectiv al unui S.G.B.D. Elaborarea de structuri complexe de date
înainte de memorarea lor în fisierele bazei de date este necesara pentru
marirea eficientei acesteia. Structura bazei de date este determinata de o
multime de scheme (tipuri de date), relatii, legaturi între date, restrictii pe
care datele trebuie sa le satisfaca si de semantici. Descrierea unei baze de
date trebuie judecata pe baza unei modelarii. Un model consta dintr-o
multime de concepte ce permit descrierea corecta a structurii bazei de date.
Cele mai multe din modele include si operatori specifici de cautare si
actualizare într-o baza de date. Modelele de date bazate pe tipuri de concepte
ce descriu baza se clasifica în:

 modele de date fizice sau de nivel inferior ce cuprind concepte ce


descriu datele asa cum sunt memorate (ordinea înregistrarilor etc.);

 modele logice ( conceptuale) sau de nivel înalt orientate pe


"înregistrarii" sau pe "obiecte" descriu datele pentru clase mari de
utilizatori.

Ele se caracterizeaza prin flexibilitatea descrierii si explicitarii structurilor


si restrictiilor de date. Modele de date de nivel înalt utilizeaza concepte
de: atribute, relatii, entitati si obiecte. Entitatea este un obiect fizic sau
conceptual care este reprezentat într-o baza de date. Legaturile dintre
obiecte sunt usor de reprezentat cu ajutorul modelelor de nivel înalt numite
modele orientate-obiect. Dintre modelele implementate pâna în prezent
amintim: modele ierarhice, modele retea, modele relationale, modele
orientate obiect. Primele trei reprezinta datele utilizând structura de
înregistrare, de aceea sunt frecvent numite modele bazate pe înregistrarii.

1.3.2. Independenta fizica si logica

Independenta structurilor fizice permite stocarea structurilor de


memorare dintr-un univers real sau conceptual, independent de structurile de
date cu scopul realizarii unui acces simplu la date. Independenta logica se
refera la posibilitatea de a adauga si a modifica înregistrarii si scheme fara a
rescrie programele existente.

1.3.3. Reducerea redundantei si inconsistentei

Crearea fisierelor se face în general în perioade de timp diferite. Aceasta


face ca aceleasi informatii sa fie replicate în mai multe fisiere. Aceste
redundante cresc inutil volumul global al bazei de date. Timpul de acces
creste. Creste si riscul de a avea inconsistenta în datele memorate. Faptul ca,
copiile ale acelorasi date stocate în diverse locuri nu concorda între ele,
deoarece ele nu au fost actualizate în acelasi timp determina inconsistenta.

1.3.4. Optimizarea accesului la date

SGBD-ul trebuie sa fie prevazut cu un procesor de optimizare a


operatiilor exprimate de informaticieni cu ajutorul unui limbaj de manipulare
si de neinformaticieni cu ajutorul unui limbaj neprocedural. Limbajele
neprocedurale permit utilizatorilor sa descrie ceea ce vor sa obtina fara a
indica modul cum se obtine. Posibilitatea de a manipula date cu ajutorul
unor limbaje neprocedurale si de neinformaticieni, independent de
implementarea lor constituie o generalizare a manipularii datelor.

1.3.5. Securitatea si confidentialitatea datelor

Datele trebuie protejate de accese neautorizate si rau intentionate.


SGBD-ul trebuie sa gestioneze accesul la informatii si la tipurile de operatii pe
care fiecare utilizator le poate efectua si sa valideze aceste operatii. De
asemenea se realizeaza o protejare prin parolare si criptare împotriva
accesului neautorizat.

1.3.6. Partajabilitatea datelor

Partajabilitatea datelor determina folosirea bazei simultan de mai multe


aplicatii. Asigura gestiunea tranzactiilor si a prelucrarilor concurente.
Tranzactia este o unitate de prelucrare care transforma o instanta
consistenta a bazei în alta instanta consistenta. SGBD-ul trebuie sa
paralelizeze sau sa detecteze cazurile de interblocare (când o tranzactie
asteapta date detinute de alte tranzactii).

1.4. Scheme si instantieri

În orice model este important sa se faca o distinctie între descrierea unei


BD si BD însasi. Descrierea bazei de date formeaza schema bazei de date. O
schema a BD este specificata în timpul proiectarii. Cele mai multe modele
cuprind anumite conventii si metareguli pe baza carora se construiesc
schemele bazei de date care sunt numite diagrame schema. Fiecare element
din diagrama schemei se numeste componenta constructiva (constructor de
schema ) a schemei.
Figura 1.4.1

În figura 1.4.1 se da o diagrama schema pentru o baza de date de


studenti care da schema fiecarei relatii.

O diagrama a schemei afiseaza numai anumite aspecte ale schemei ca:


numele relatiei, elementele de date si anumite tipuri de restrictii. Totusi în
diagrama schemei BD nu sunt specificate tipul fiecarui element de date si alte
tipuri de restrictii, de exemplu constructia, "un student în anul I informatica
trebuie sa urmeze cursul de Sisteme de Operare". Datele actuale dintr-o BD
pot fi schimbate relativ frecvent; de exemplu în BD din figura 1.4.1 se
adauga noi studenti sau noi note pentru un student.

Datele dintr-o BD la un anumit moment de timp formeaza o instantiere a


BD ( ocurenta sau stare), care corespunde unei scheme.

În orice moment când vom insera sau sterge valori, vom schimba o
instantiere a BD cu o alta instantiere. Distinctia între schema bazei de date
si instantierea bazei de date este foarte importanta. Când definim o noua BD
noi vom specifica schema BD. În acest moment BD este vida deoarece nu are
nici o data. Vom numi instantiere initiala a BD când datele sunt prima data
încarcate.

1.5. Interfete

SGBD-ul trebuie sa suporte interfete si limbaje apropiate pentru fiecare


categorie de utilizatori. În acest paragraf se prezinta pe scurt diverse tipuri
de interfete pentru un SGBD. În mod frecvent, exista interfete prietenoase cu
utilizatorii pentru interactionare cu baza de date. Interfetele prietenoase cu
utilizatorii pot fi împartite în urmatoarele categorii;

1.5.1. Interfete meniu

Aceste interfete prezinta utilizatorului o lista de optiuni numita meniu, pe


baza caruia utilizatorul îsi formuleaza cererea. Meniurile conduc pe de o parte
la nevoia de a memora comenzile specifice si a sintaxei limbajului, pe de alta
parte. Întrebarea este compusa pas cu pas prin precizarea optiunilor din lista
meniului care este afisata de sistem.

1.5.2. Interfete grafice

O interfata grafica va afisa o schema pentru utilizator sub forma unei


diagrame. Utilizatorul poate specifica întrebarea prin manipularea diagramei.
În multe cazuri, interfata grafica poate fi combinata cu o interfata bazata pe
meniu. Cele mai multe interfete grafice vor utiliza un dispozitiv de punctare
cum ar fi mouse-ul sau stiloul luminos, pentru a puncta anumite parti ale
afisarii diagramei schemelor.

1.5.3. Interfete bazate pe forme

O interfata bazata pe forme afiseaza o forma pentru utilizator.


Utilizatorul poate sa obtina sub o anumita forma toate înregistrarile sau noi
date. Multe din SGBD-uri au limbaje speciale numite limbaje de specificare a
formelor care ajuta programatorii sa-si specifice cererile.

1.5.4. Interfete în limbaj natural

Aceste interfete accepta cererile scrise în limba engleza sau într-un alt
limbaj care este înteles. Interfata într-un limbaj natural, în mod obisnuit are o
schema proprie care este ca o schema conceptuala a bazei de date. Interfata
face referinta la cuvintele schemei care fac parte dintr-o multime de cuvinte
standard ce compun întrebarea. Daca interpretarea este realizata, interfata
genereaza o întrebare la nivel înalt care corespunde cererii în limbaj natural
admisa de SGBD pentru prelucrare; în caz contrar dialogul este început cu
utilizatorul pentru a clarifica întrebarea.

1.5.5. Interfete pentru utilizatorii parametrici


Utilizatorii parametrici, ca de pilda functionarii de banca au la dispozitie
o multime de aplicatii care sunt repetate de multe ori. Analistii de sistem si
programatorii, în mod frecvent, proiecteaza si implementeaza o interfata
speciala pentru o clasa cunoscuta de utilizatori. Frecvent se utilizeaza o
multime mica de abrevieri ale comenzilor cu scopul de a minimiza numarul de
taste apasate la fiecare cerere. Astfel de interfete pot fi numite limbaje de
comanda.

1.5.6. Interfete pentru administratorul BD

Cele mai multe SGBD-uri au posibilitatea de a crea comenzi privilegiate


care vor fi utilizate numai de administratorul BD. Aceste interfete includ
comenzi pentru creare, setarea parametrilor sistemului; de asemenea
garanteaza autorizarea, schimba schema si organizeaza structura de
memorare a fisierelor BD.

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