Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

SGBD - Obiectivele SGBD, Componentele SGBD

SGBD - descriere functionala ( I )


1.     Obiectivele SGBD

2.     Componentele SGBD


1. Obiectivele SGBD


Obiectivele unui SGBD sunt prezentate astfel:


- independenta fizica,

- independenta logica,

- manipularea datelor de catre nespecialisti,



- eficacitatea accesului la date,

- administrarea centralizata a datelor,

- neredundanta datelor,

- coerenta datelor,

- partajabilitatea datelor,

- securitatea si confidentialitatea datelor.



Independenta fizica un obiectiv esential este de a permite realizarea independentei structurilor de stocare in raport cu structurile de date din lumea reala.

Se defineste multimea de date indiferent de forma acesteia din lumea reala, tinand cont doar de a obtine un acces simplu la date si a realiza anumite performante.



Independenta logica fiecare grup de lucru care exploateaza baza de date poate sa utilizeze diferite informatii de baza (nu aceleasi), pentru a-si construi entitati si relatii.

Fiecare grup de lucru poate sa cunoasca doar o parte a semanticii datelor, sa vada doar o submultime a datelor si numai sub forma in care le doreste.

Independenta logica a datelor se refera la posibilitatea adaugirii de noi articole sau extinderea structurii conceptuale, fara ca acesta sa impuna rescrierea programelor exeistente.



Manipularea datelor de catre nespecialisti acestia vad datele independent de implementarea lor si pot manipula aceste date cu ajutorul limbajelor neprocedurale.

Utilizarea unui limbaj cat mai apropiat de limbajul de limbajul natural permite exploatarea cu usurinta a bazei de date de catre utilizatori nespecialisti.



Eficacitatea accesului la date acest obiectiv are doua aspecte.

Daca accesul la date este efectuat de specialisti (programatori) care cunosc modul de stocare a datelor, atunci sistemul trebuie sa furnizeze limbaje de manipulare a datelor care sa permita atingerea cu usurinta a acestui obiectiv.

Daca accesul la date este efectuat de nespecialisti, atunci sistemul trebuie sa furnizeze un limbaj neprocedural care sa permita utilizatorului sa descrie ceea ce vrea sa obtina fara a da modul in care poate sa obtina.


Administrarea centralizata a datelor: presupune definirea structurii datelor si a modului de stocare a acestora (se refera la controlul informatiilor din baza de date).

Administrarea este in general centralizata si permite o organizare coerenta si eficace a informatiei.



Neredundanta datelor fiecare aplicatie poseda datele sale proprii si asta conduce la numeroase dubluri.

De asemenea, organizarea nejudicioasa a relatiilor poate sa genereze redundanta de date.

Administrarea coerenta a datelor trerbuie sa asigure neduplicarea fizica a datelor.

Totusi, nu sunt expuse nici cazurile in care, pentru a realiza performante referitoare la timpul de acces la date si raspuns la solicitarile utilizatorilor, sa se accepte o anumita redundanta a datelor.

Coerenta datelor: informatia trebuie sa satisfaca constrangeri statice sau dinamice, locale sau generale.

De exemplu, pot fi considerate drept constrangeri:


- apartenenta la un anumit domeniu,

- un anumit tip de date, de o anumita lungime,

- o anumita cardinalitate a relatiilor,

- constrangeri referentiale.etc

Partajabilitatea datelor: obiectivul permite ca aplicatiile sa partajeze datele din baza in timp si simultan.

O aplicatie poate folosi date date ca si cum ar fi singura care le utilizeaza, fara a sti ca o alta aplicatie-concurent le poate modifica.


O tranzactie este o unitate logica de tratament, care, aplicata la o stare coerenta a bazei, genereaza o noua stare coerenta (modifica baza).


SGBD trebuie asigure gestiunea tranzactiilor si a acceselor concurente.

De exemplu, pentru a asigura paralelismul executiei tranzactiilor, este necesara o gestiune a acceselor concurente si trebuie asigurat ca executia paralela a tranzactiilor sa dea acelasi rezultat ca si executia secventiala a acestora.



SGBD trebuie sa detecteze si sa rezolve cazurile de interblocare, in care una sau mai multe tranzactii asteapta eliberarea datelor tinute de celelalte tranzactii.



Securitatea si confidentialitatea datelor: datele trebuie protejate de un acces neautorizat.

Exista mecanisme care permit identificarea si autentificarea utilizatorilor si exista proceduri de acces autorizat care depind de date si de utilizator.

SGBD trebuie sa asigure securitatea fizica si logica a informatiei si sa garanteze ca doar utilizatorii autorizati pot efectua operatii corecte asupra bazei de date.

Aceasta functie complexa presupune trei elemente fundamentale:


- gestiunea autorizatiilor: posibilitatea de a controla (crea, suprima, modifica) accesul utilizatorilor la informatiile din baza de date si tipurile de operatii pe care acestia le pot efectua asupra bazei;


- controlul validitatii operatiilor;


- protectia datelor impotriva accesului neautorizat (parola, criptare,..etc) si in cazul defectiunilor (aparute din cauza unor manipulari incorecte, unor incidente fizice sau logice).

Trebuie asigurat un mecanism ce permite mentinerea si repunerea bazei intr-o stare coerenta in cazul aparitiei unei avarii; operatiile de modificare a datelor sunt salvate in jurnalul tranzactiilor.

Daca exista o pana (fizica), utilizand baza de date in forma actuala si jurnalul tranzactiilor, baza poate sa poate sa fie reconstituita asa cum era inaintea avariei.


Limbaje pentru baze de date

In limbajele de programare uzuale, declaratiile si instructiunile executabile apartin aceluiasi limbaj.

In lumea bazelor de date, functiile de declarare si de manipulare a datelor sunt realizate cu ajutorul unor limbaje diferite.



Limbaje pentru definirea datelor (LDD)

Descrierea concreta a unui LDD este specifica fiecarui sistem de gestiune, dar functiile principale sunt aceleasi.

La nivel conceptual, LDD realizeaza definirea entitatilor si a atributelor acestora prin nume, forma de memorare, lungime.

Sunt precizate relatiile dintre date si strategiile de acces la ele, sunt stabilite criterii diferentiate de confidentialitate, sunt definite criterii de validare automata a datelor utilizate.


Limbaje pentru manipularea datelor (LMD)

Operatiile pe baze de date solicita un limbaj specializat, in care comenzile se exprima prin faze ce descriu actiuni asupra bazei de date.

In general, o comanda are urmatoarea sreuctura:


- operatia, care poate fi calcul aritmetic sau logic, editare, extragere,

deschidere-inchidere, manipulare (introducere, adaugare, stergere, etc);


- criterii de selectie (for, while, where, etc)


- mod de acces (secvential, indexat.etc);


- forma de editare.


Limbaje pentru controlul datelor (LCD)

Controlul unei baze de date se refera la asigurarea confidentialitatii si integritatii datelor, la salvarea informatiei in cazul unor defectiuni, la obtinerea unor performante, la rezolvarea unor probleme de concurenta.

De exemplu, realizarea unei interfete tranzactionale, intr-un context client-server, pentru un sistem de baze de date distribuite.



Limbaje universale

Un limbaj universal se utilizeaza rar pentru gestionarea unei baze de date.



Interfata dintre un utilizator si un SGBD poate fi realizata in doua moduri:


- cu ajutorul unui mecanism de apel inserat in programul aplicatie; acest mecanism poate fi un CALL sau un alt cuvant cheie, SGBD-ul care permite acest tip de mecanism se numeste SGBD cu limbaj gazda;




- cu ajutorul unor comenzi speciale, utilizate independent; in acest caz, SGBD se numeste autonom, dar exista o interfata speciala care este capabila sa interpreteze comenzile limbajului la cereri.




2. Componentele SGBD


Un SGBD are o structura de complexitate variabila, care depinde de scopul aplicatiei.

In general, SGBD trebuie sa includa cel putin cinci clase de module:


- programe de gestiune a bazei de date;

- module pentru tratamentul limbajului de definire al datelor;

- module pentru tratamentul limbajului de manipulare a datelor;

- module utilitare care permit o intretinere corecta si usoara a datelor;

- module de control, care permit controlul programelor de aplicatie ale

utilizatorilor.


Programe de gestiune ale bazei de date (PGBD)

Aceste programe realizeaza accesul fizic la date ca urmare a unei comenzi; in urma primirii comenzii sunt parcurse mai multe etape, astfel ca ordinul primit (un enunt din LMD, sub forma unui cod), care cuprinde numele datei cautate face posibila gasirea datelor respective, se extrag aceste date si sunt plasate in spatiul de memorie al utilizatorului; apoi controlul este predat aplicatiei care va utiliza aceste date corespunzator intentiei de prelucrare.



Modulele limbajului de definire a datelor (module LDD)

Aceste module permit traducerea (interpretativa sau compilativa) unui limbaj apecial care realizeaza descrierea naturii datelor si a legaturilor logice dintre acestea, fie la nivel global (schema conceptuala), fie la nivel specific al fiecarei aplicatii (schema externa sau subschema).



Modulele limbajului de manipulare a datelor

Modulele din LMD permit utilizatorilor sa manipuleze, modifice, reactualizeze sau sa suprime datele dintr-o baza de date.

Pentru un SGBD cu limbaj gazda, LMD nu este un limbaj autonom si comenzile sale trebuie incluse intr-un program scris in limbajul gazda respectiv.

Pentru un SGBD autonom exista un LMD la care se adauga un limbaj de tratare a cererilor.

Enunturile unui sistem autonom pot fi tratate:


- interpretativ - fiecare comanda LMD este interpretata si apoi executata imediat;

- compilativ - fiecare comanda LMD este compilata si apoi executata de PGBD;

- prin generare de programe - enunturile sunt traduse intr-un limbaj de programare

si apoi compilate.


LMD permite cautarea uneia sau mai multor entitati, cautarea unei entitati dependente de alta, parcurgerea tuturor entitatilor, adrea, modificarea si suprimarea entitatilor existente.



Module utilitare

Un SGBD contine programe utilitare care permit intretinerea bazei de date.

Lista acestor programe depinde de complexitatea SGBD.

Aceste programe pot executa: incarcarea bazei de date, crearea si reactualizarea jurnalelor tranzactiilor efectuate asupra bazei, reorganizarea structurii fizice si logice a bazei dupa o modificare, etc

Module de control a datelor

Intretinerea unei baze de date este un punct important si delicat mai ales intr-un cadru multi-server.

Pentru a conserva informatia trebuie sa existe posibilitatea de a corecta sau preveni anumite operatii efectuate de utilizatorii bazei: daca datele trebuie modificate de o aplicatie, atunci aceasta operatie trebuie sa nu se propage sau sa nu se interfereze cu alte aplicatii; daca mai multe aplicatii acceseaza aceeasi data pentru a efectua o operatie de reactualizare, atunci acest acces este un pericol pentru integritatea bazei de date.



Arhitectura SGBD

Exista o arhitectura SGBD care contine trei nivele:




- conceptual,

- intern,

- extern.


Nivelul central este nivelul conceptual; aceasta corespunde structurii canonice a datelor ce caracterizeaza procesul procesul de modelat, adica structura semantica a datelor fara implementarea pe calculator.

Schema conceptuala permite definirea tipurilor de date care caracterizeaza proprietatile elementare ale entitatilor, definirea tipurilor de date compuse care permit regruparea atributelor pentru a descrie entitatile modelului si legaturi intre aceste entitati, definirea regulilor pe care trebuie sa le respecte datele etc.



Nivelul intern corespunde structurii interne de stocare a datelor.


Schema interna permite descrierea datelor unei baze sub forma in care sunt stocate in memoria calculatorului.

Sunt definite fisierele care contin aceste date, articolele din fisiere, drumurile de acces la aceste articole. etc.

La nivelul conceptual sau intern, schemele descriu o baza de date.


La nivel extern, schemele descriu doar o parte din date care prezinta interes pentru un utilizator sau un grup de utilizatori.

Schema externa reprezinta o descriere a unei parti a bazei de date ce corespunde viziunii unui program sau utilizator; aceasta permite asigurarea unei securitati a datelor.



Evolutia SGBD

Un SGBD este un sistem de programe de baza dintr-un sistem informatic de gestiune care permite utilizatorilor concurenti sa manipuleze (insereze, modifice, caute) eficient datele continute in baza de date.

Istoria SGBD poate fi rezumata in trei generatii:


- modele ierarhice si retea;

- modele relationale;

- sisteme avansate: SGBD orientate obiect, SGBD deductive, SGBD

distribuite.

Pentru modele ierarhice si retea, datele sunt reprezentate la nivel de articol prin legaturi ierarhice (arbore) sau de tip graf.

Slaba independenta fizica a datelor complica administrarea si manipularea acestora.

Limbajul de manipulare a datelor impune programatorului sa specifice drumurile de acces la date.


Aparitia modelelor relationale (1970) a dus la tratarea entitatilor ca relatii.

Bazele de date actuale sunt in majoritate sisteme relationale.

Bazele relationale, concepute pentru aplicatii in contabilitate, gestiunea stocurilor,..etc, sunt caracterizate de structuri de date simple, intuitive, constrangeri de integritate, cautarea si reactualizarea datelor.

Bazele de date relationale nu folosesc obiecte complexe (grafuri, liste.) si dinamice, nu realizeaza gestiunea datelor distribuite si nici gestiunea cunostintelor.




Chestionar



1. Mentionati obiectivele SGBD.


2. In ce consta independenta fizica a datelor unui SGBD?


3. Dar independenta logica?


4. De ce trebuie asigurata neredundanta datelor?


5. De ce trebuie asigurata partajabilitatea datelor?


6. Cun sunt realizate functiile de declarare si de manipulare a datelor?


7. Cum se realizeaza interfata dintre un utilizator si un SGBD?


8. Mentionati clasele de module din componenta SGBD?


9. Care sunt nivelel arhitecturii SGBD?


10. Cum au evoluat SGBD-urile?