Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » sql
Caracterizarea SGBDR

Caracterizarea SGBDR


Caracterizarea SGBDR

Sistemele relationale indeplinesc functiile unui SGBD cu o serie de aspecte specifice care rezulta din definirea unui SGBDR.

Caracterizarea SGBDR se poate face pe doua niveluri: global (sistemele relationale sunt privite ca o categorie distincta de SGBD) si particular (fiecare SGBDR are aspecte individuale comparativ cu altele similare).

A. Mecanismele si instrumentele care ajuta la caracterizarea globala a SGBDR-urilor sunt: limbajele relationale, protectia datelor, optimizarea cererilor de regasire, utilitarele specializate.

1) Limbajele relationale

SGBDR ofera seturi de comenzi pentru descrierea si manipularea datelor. Acestea pot fi incluse intr-un singur limbaj relational (SQL, QUEL, QBE, SQUARE, ALPHA, ISBL) sau separate in LDD si LMD. In ambele situatii, comenzile pentru definirea datelor sunt distincte de cele pentru manipularea datelor.



Limbajele relationale de definire a datelor (LDD) sunt simplificate, cu putine comenzi. Descrierea datelor este memorata in BDR, sub forma de tabele, in dictionarul (metabaza) bazei de date. Facilitati de descriere sunt prezente in SGBDR prin comenzi, care definesc anumite operatii, la nivelurile: conceptual, logic, fizic.

Limbajele relationale de manipulare a datelor (LMD) pot fi caracterizate dupa criterii generale, functionale si calitative.

a) Caracterizarea generala a LMD se face dupa modul de tratare a datelor, operatorii relationali, realizatorii si utilizatorii limbajului.

Modul de tratare a datelor. Toate LMD relationale realizeaza o tratare la nivel de ansamblu a datelor: unitatea de informative pentru lucru este tabela. Avantajele sunt date de posibilitatea gestionarii automat a tuplurilor duplicate si prelucrarea paralela a ansamblurilor.

La comunicarea unui LMD relational cu un limbaj universal, avantajele se pierd deoarece comunicarea se poate face doar tuplu cu tuplu si nu la nivel de ansamblu. Deoarece limbajele universale ofera alte avantaje legate de proceduralitate, solutia este de a integra in acestea un limbaj relational. Cursorul este solutia in SGBDR pentru a face trecerea de la tratarea la nivel de ansamblu la cea la nivel de inregistrare (tuplu).

Operatorii relationali implementati. SGBDR s-au dezvoltat, din punct de vedere relational, avand la baza calculul relational orientat pe tuplu (ALPHA, QUEL), calculul relational orientat pe domeniu (QBE), algebra relationala (ISBL), transformarea (mapping) (SQL, SQUARE). Limbajele bazate pe calculul relational sunt neprocedurale, cele bazate pe algebra relationala sunt procedurale, celelalte sunt combinatii.

Realizatorii limbajelor relationale s-au orientat pe domenii precise din teoria relationala. Astfel, au rezultat: limbaje relationale standardizate international (exemplu SQL - ANSI), limbaje cu standard de utilizare impus de constructor (exemplu QUEL), limbaje nestandardizate (celelalte limbaje relationale).

Utilizatorii limbajelor relationale sunt mult diversificati. SGBDR ofera atat elemente procedurale (pentru specialisti) cat si neprocedurale (pentru nespecialisti).

b) Caracterizarea functionala a LMD se face dupa facilitatile de interogare, actualizare a datelor, etc.

Facilitatile de interogare a datelor. Acestea sunt puternice si oferite prin comenzi pentru interogarea tabelelor de baza (exemplu SELECT) si interogarea tabelelor virtuale (exemplu SELECT).

Facilitatile de actualizare a datelor. Acestea se refera la actualizarea tabelelor de baza si a tabelelor virtuale prin comenzile: INSERT INTO (adauga randuri la sfarsitul unei tabele); UPDATE ( modifica randuri dintr-o tabela); DELETE FROM (sterge randuri dintr-o tabela). Unele SGBDR nu permit actualizarea tabelelor virtuale (exemplu Foxpro), altele permit acces lucru cu o serie de restrictii pentru ca operatia sa se propage spre tabelele de baza fara ambiguitati (exemplu DB2, Oracle).

La facilitatile relationale de mai sus, SGBDR-urile ofera si alte facilitati pe care le au toate limbajele de programare procedurale cum sunt: calculul aritmetic prin operatorii specifici (+, -, *, /, **); agregarea prin functii standard (SUM) si prin comenzi (COMPUTE OF expr ); comenzi de intrare/iesire standard (ACCEPT.PROMPT.).

c) Caracterizarea calitativa a LMD se face dupa puterea selectiva, usurinta de invatare, utilizare si eficienta limbajului.

Puterea selectiva a LMD relationale este data de posibilitatea selectarii datelor dupa criterii (filtre) complexe (exemplu comanda SELECT).

Usurinta de invatare si utilizare este nuantata in functie de tipul LMD-ului relational. Cele bazate pe calculul relational sunt neprocedurale (descriptive), deci usor de invatat si utilizat (apropiat, ca stil, de limbajul natural) (exemplu QUEL) iar cele bazate pe algebra relationala sunt procedurale (algoritmice), deci mai greu de invatat si utilizat (exemplu ISBL).

Cele intermediare promoveaza stilul neprocedural dar accepta si elemente de control procedural (exemplu SQL) iar cele bazate pe grafica ofera primitive grafice pentru machetarea cererilor de regasire, deci usor de utilizat (exemplu QBE).

Eficienta utilizarii este determinata de posibilitatea optimizarii cererilor de regasire. LMD bazate pe calculul relational lasa compilatorul sa aleaga ordinea de executie a operatiilor, deci rezulta o eficienta mare. LMD bazate pe algebra relationala au o ordine impusa pentru executia operatiilor, deci rezulta o eficienta mica.

2) Protectia datelor

Aspectele privind protectia datelor sunt foarte importante pentru un sistem de baza de date si ele trebuie implementate de catre SGBDR. Protectia bazei de date se refera la integritatea datelor (integritatea semantica, concurenta la date, salvarea/restaurarea) si securitatea datelor (autorizarea accesului, viziunile, procedurile speciale, criptarea).

a) Integritatea semantica. Definirea restrictiilor de integritate se face, conform cerintelor modelului relational, in LDD (exemplu CREATE TABLE, ALTER TABLE). Utilizarea restrictiilor de integritate se face cu ajutorul unor mecanisme care controleaza validitatea regulilor pentru fiecare noua stare a BD. Aceste mecanisme sunt metode de detectare a inconsistentei datelor (se verifica restrictiile de integritate) la sfarsitul tranzactiilor, care se realizeaza automat de SGBDR si puncte de verificare a integritatii fixate de utilizator, acolo unde doreste el in program.

b) Concurenta la date (coerenta). Unitatea de lucru pentru asigurarea coerentei datelor este tranzactia. Aceasta este un ansamblu de comenzi tratate unitar. Tranzactia se executa in totalitate sau deloc. Coerenta poate fi afectata la actualizarea concurenta sau la incidente.

Mecanismele utilizate de SGBDR pentru asigurarea coerentei datelor (controlul accesului concurent) sunt:

Blocarea la diferite niveluri: baza de date, tabela, tuplu, atribut;

Definirea unor puncte de salvare in interiorul tranzactiilor (exemplu comanda SAVEPOINT);

Tranzactii explicite (BEGIN si END TRANSACTION) si implicite (comenzile de actualizare);

Fisiere jurnal.

3) Optimizarea regasirii

Cererile de regasire se exprima in SGBDR in diferite limbaje relationale. Pentru a se obtine un rezultat optim, se utilizeaza interfete automate de rescriere a cererilor de regasire, prin parcurgerea a doi pasi:

Exprimarea cererilor de regasire sub forma unor expresii algebrice relationale, care are la baza echivalenta dintre calculul si algebra relationala .

Aplicarea unor transformari algebrice relationale asupra expresiilor construite in pasul anterior, pentru a se obtine expresii relationale echivalente si eficiente.

Transformarea se poate realiza prin doua strategii de optimizare: generale, specifice.

Strategiile generale sunt independente de modul de memorare a datelor. Ele se bazeaza pe proprietatile operatiilor din algebra relationala (comutativitatea, asociativitatea, compunerea ). Astfel de strategii sunt: selectia inaintea jonctiunii, proiectia inaintea jonctiunii, selectia inaintea proiectiei, combinarea selectiei multiple.

Strategiile specifice tin cont de modul de memorare a datelor si ele sunt caracteristice unui SGBDR. Elementele care influenteaza executarea operatiilor ce intervin la o cerere de regasire sunt: accesul direct, reguli de ordonare a expresiilor algebrice specifice unui SGBDR.

4) Utilitarele specializate

Posibilitatile de utilizare ale unui SGBDR sunt influentate de utilitarele specializate pe care le are, pentru diferitele categorii de utilizatori (in Oracle: Developer pentru dezvoltatori, Designer pentru analisti, Administration Tools si Utilities pentru administrator etc.).

B. Pentru a face o caracterizare particulara, pentru un anumit SGBDR vom lua in considerare o serie de criterii de comparatie. Aceste criterii se vor urmari, grupate pe anumite categorii, pentru cateva SGBDR-uri care ne intereseaza.

Gruparea caracteristicilor particulare de comparatie a SGBDR-urilor o vom face in functie de facilitatile de descriere, manipulare, utilizare si administrare a datelor.

Caracteristicile in functie de facilitatile de descriere sunt: modul de implementare a modelului relational; conceptul de baza de date utilizat in schema; definirea metadatelor; definirea relatiilor virtuale; actualizarea schemei relatiei; restrictiile de integritate ce pot fi declarate.

Caracteristicile in functie de facilitatile de manipulare sunt: LMD relational implementat; functiile de calcul aritmetic si functiile agregate; modurile de acces la date; programarea orientata-obiect; tratarea valorii NULL; optimizarea cererilor de regasire; actualizarea relatiilor de baza si virtuale.

Caracteristicile in functie de facilitatile de utilizare si administrare sunt: instrumentele de dezvoltare; instrumentele CASE; instrumentele analize statistice; software-ul pentru acces de la distanta; utilitarele de intretinere; mecanismele pentru autorizarea accesului la date.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.