Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
Sistemul de gestiune a bazelor de date



Sistemul de gestiune a bazelor de date




1 Scurta descriere


Sistemele de gestiune a bazelor de date (in limba engleza 'database management system' - SGDB) reprezinta totalitatea programelor utilizate pentru crearea, interogarea si intretinerea unei baze de date.

Include doua categorii de module: module care sunt comune cu cele ale sistemelor de operare ale calculatoarelor si module cu functii specifice bazei de date. Subsistemele monitor contin programele de control al perifericelor si sistemul de gestiune a fisierelor. Subsistemele externe sunt alcatuite din procesorul de definitie si programul de administrare. Alaturi de acestea exista programe de descriere a bazei de date si cereri de prelucrare.Intre utilizator si sistem exista doua interfete: definirea bazei de date si utilizarea bazei de date.

Definirea unei baze de date se executa sub controlul procesorului de definitie (PD), capabil sa prelucreze programe de descriere, formulate folosind limbaje specializate cunoscute sub denumirea de limbaje de definitie a datelor (LDD).




Continut


Orice sistem de gestionare a bazelor de date contine:

- limbajul de descriere a datelor (LDD), care permite descrierea structurii bazei de date, a componentei, a relatiilor dintre componente, a drepturilor de acces al utilizatorilor la baze de date (BD)

- limbajul de cereri (LC) este limbajul in care se scriu programele pentru realizarea prelucrarii datelor

- limbajul de prelucrare a datelor (LPD), care permite operatii asupra BD, cum ar fi incarcarea BD, inserarea, stergerea, cautarea sau modificarea unui element, realizarea de statistici.


Functiile sistemului de gestiune a bazelor de date



Principalele sarcini ale gestionarului bazei de date sunt:

- reducerea redundantei prin identificarea informatiilor comune si alcatuirea corespunzatoare a aplicatiilor;

- eliminarea inconsistentelor ce rezulta din reducerea redundantei;

- utilizarea simultana a datelor de mai multi utilizatori;

- standardizarea informatiilor;


Administratorul bazei de date este cel care stabileste structura initiala a bazei de date si modul de memorare a datelor la nivel fizic, acorda utilizatorilor dreptul de acces la baza de date sau parti ale ei, stabileste conditiile pentru asigurarea securitatii si integritatii datelor, modifica structura BD daca este nevoie, asigura intretinerea BD facand copii periodice si reconstituind BD in cazul in care au aparut erori si raspunde de modul de utilizare a bazei de date.


Administratorul sistemului de baze de date, care stabileste bazele de date de pe un sistem de calcul, aloca spatii de memorare si asigura drepturi de acees.

Cele mai multe SGBD-uri contin si o colectie de utilitare folosite in diferitele aplicatii, cum sunt:

procesoare de limbaje de cereri;

editoare de rapoarte;

subsisteme de reprezentari grafice;

posibilitati de lucru tabelat;

procesoare de limbaje naturale;

programe statistice;

generatoare de aplicatii



Sistemul de gestiune a bazelor de date distribuite



1 Definitie



Am vazut in (( ca un SGBDD este, de fapt, software-ul care permite gestionarea unei BDD si face distribuirea transparenta pentru utilizatori. BD este divizata intr-un numar de fragmente, fiecare fragment fiind memorat pe unul sau mai multe calculatoare din retea.

SGBDD are urmatoarele componente software:

componenta de comunicatie (CC);

sistemul de gestiune a bazei de date locale (SGBDL);

dictionarul de date global (DDG);

sistemul de gestiune al bazei de date distribuite (SGBDD).

Componenta de comunicatie este cea care realizeaza legaturile in cadrul retelei. Cuprinde descrierea completa a nodurilor (statiilor) si legaturilor din cadrul retelei.

Sistemul de gestiune a bazei de date locale este un sistem standard de gestiune a bazelor de date.

Dictionarul de date global cuprinde informatii despre BDD: localizarea, structura, disponibilitatea si modul de utilizare a datelor.

SGBDD propriu-zis cuprinde un sistem complex de programe care asigura interfata intre BDD si utilizatorii acesteia.


Functiile unui SGBDD


Pentru realizarea obiectivelor de mai sus, SGBD, in general, dispun de o serie de componente ce permit efectuarea a numeroase operatii. In functie de natura lor si scopul urmarit, operatiile pot fi grupate pe activitati. Activitatile accepta si ele o grupare pe functii (una sau mai multe activitati, relativ omogene, vor realiza o anumita functie). Tinand seama de multitudinea sarcinilor ce revin unui SGBD si grupand aceste sarcini pe activitati si apoi pe functii, in final pot fi deduse functiile sistemului de gestiune.

In continuare ne propunem sa enumeram unele dintre functiile unui SGBDD:

functia de definire a datelor: la nivelul acestei functii, cu ajutorul limbajului de definire a datelor, se descriu multitudinea atributelor din cadrul structurii BD, legaturile dintre entitatile BD, se definesc eventuale criterii de validare a datelor, metode de acces la date, aspecte referitoare la asigurarea integritatii si confidentialitatii datelor. Tot in cadrul acestei functii se descriu detaliile privitoare la distribuirea datelor si la fragmentarea acestora. Rezultatul celor expuse in cadrul acestei functii este catalogul BDD.

functia de manipulare a datelor: realizeaza urmatoarele activitati: crearea BD, actualizarea si interogarea/extragerea datelor;

functia de utilizare asigura multimea interfetelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date;

functia de administrare a BD este de competenta administratorului BD;

functia de transport: realizeaza accesarea statiilor indepartate, transmiterea datelor prin retea;

functia de optimizare a cererilor distribuite: optimizarea se face pe baza informatiilor continute in catalogul BDD.

4 Arhitectura de referinta a unui  SGBDD


Spre deosebire de cazul SGBD centralizate unde exista o arhitectura general acceptata, in cazul SGBD distribuite este mai dificil de prezentat o asemenea arhitectura data fiind diversitatea SGBDD.

Arhitectura propusa de raportul ANSI/SPARC este cea mai larg raspandita. Aceasta arhitectura este una multinivel pentru a realiza unul din principalele obiective ale SGBDD, si anume transparenta distributiei.

Aceasta arhitectura nu este implementata explicit in toate SGBDD dar nivelele ei prezentate conceptual ne ajuta sa intelegem modul de organizare a BDD.

Nivelul global permite integrarea BDL intr-o BD globala prin intermediul schemei globale, schemei fragmentarii si schemei de alocare.

Schema globala este o descriere a BDD, descrierea fiind asemanatoare cu cea a unei BD centralizate.

Pentru a putea intelege mai bine semnificatia celorlalte doua scheme din cadrul acestui nivel vom utiliza in continuare modelul relational, cel mai utilizat model in domeniul bazelor de date.

In cadrul modelului relational, schema globala este descrisa de un set de relatii globale.

Fiecare relatie globala poate fi impartita in mai multe parti disjuncte numite fragmente. Corespondenta intre o relatie globala si fragmente este definita de schema de fragmentare. Aceasta corespondenta este de tipul “unul la multi” (mai multe fragmente corespund unei relatii globale dar numai o relatie globala corespunde unui fragment).

Fragmentele sunt portiuni logice ale relatiilor globale care pot fi alocate fizic pe una sau mai multe statii ale retelei. Schema de alocare defineste statia sau statiile unde sunt alocate fragmentele. Maniera de definire a schemei de alocare determina daca BDD este redundanta sau neredundanta. Toate fragmentele care corespund aceleiasi relatii globale si sunt situate pe aceeasi statie constituie imaginea fizica a relatiei la statia respectiva, fiecare fragment fiind o copie a fragmentului definit in schema de fragmentare.

Doua imagini fizice ale unei relatii globale la statii diferite pot fi identice.


Schema

globala

Schema

fragmentarii                 nivelul global

Schema

de alocare

Schema                       Schema . . .

locala 1                       locala 2 alte statii


SGBD 1                     SGBD 2

nivelul local





BD 1                           BD2


Fig. 1. Arhitectura SGBDD.


Nivelul local permite tratarea fiecarei BDL ca o baza de date centralizata. La acest nivel este necesara realizarea corespondentei intre imaginea fizica si obiectele manipulate de SGBD locale. Acest lucru este realizat de schema locala de reprezentare a datelor care depinde de tipul de SGBD local.

Referitor la transparenta distributiei si la alte aspecte privind transparenta in cazul SGBDD vom discuta mai pe larg intr-unul din capitolele urmatoare


5 SGBDD omogene si heterogene


O caracteristica importanta a SGBDD este omogenitatea sau eterogenitatea acestora. SGBDD este omogen atunci cand toate SGBDD locale sunt de acelasi fel. Un SGBDD eterogen implica existenta a cel putin doua SGBDD locale diferite.

Sistemele omogene sunt mai usor de proiectat si au unele avantaje, cum ar fi: adaugarea de noi statii sistemului se poate face usor, se mareste performanta exploatand posibilitatea procesarii paralele pe mai multe statii.

Sistemele eterogene rezulta, de obicei, cand statii individuale isi implementeaza propriile BD, de abia mai tarziu punandu-se problema integrarii lor intr-un singur sistem. Comunicarea intre SGBD-uri este esentiala. Sistemele eterogene trebuie sa asigure transparenta SGBD, aceasta echivaland cu faptul ca un utilizator poate face cereri in limbajul SGBD local. Dupa ce o cerere este facuta sistemul are sarcina localizarii datelor si a efectuarii tuturor translatiilor necesare. Datele necesare satisfacerii cererii pot fi localizate la o statie care poate avea:

hardware diferit;

aplicatii diferite ale SGBD;

si una si alta.

Daca difera hardware-ul dar SGBD sunt identice atunci translatiile implica schimbari de coduri si lungimi de cuvinte. Daca hardware-ul este identic dar SGBD difera atunci translatiile sunt mai complicate, implicand transformarea logica a unui model de date intr-un alt model de date (de exemplu, relatiile din modelul relational devin inregistrari si realizari in modelul relational). Poate fi necesara chiar si traducerea cererilor dintr-un limbaj in altul.

Solutia folosita de SGBDD eterogene este o multitudine de porti (gateways) care traduc limbaje si transforma modele.


6 Transparente in cadrul SGBDD


Definitia SGBDD prezentata in II.1. afirma ca sistemul trebuie sa faca distributia transparenta pentru utilizator. Transparenta ascunde detaliile implementarii. De exemplu, in cazul SGBD centralizate independenta datelor este o forma a transparentei – ascunde schimbarile intervenite in definirea si organizarea datelor.

Un sistem distribuit poate oferi diferite nivele de transparenta. In orice caz, toate aceste nivele au ca obiectiv “centralizarea” BDD (pentru utilizator).

Se pot identifica patru tipuri de transparenta in cazul sistemelor distribuite:

transparenta distributiei;

transparenta tranzactiilor;

transparenta performantei;

transparenta SGBD.

Transparenta distributiei

Transparenta distributiei permite utilizatorului sa perceapa BD ca o entitate logic independenta. Daca SGBDD ofera aceasta transparenta utilizatorul nu are nevoie sa cunoasca detalii despre fragmentarea (transparenta fragmentarii) sau despre localizarea datelor (transparenta localizarii).

Transparenta fragmentarii este cel mai inalt grad de transparenta si se refera la faptul ca utilizatorii sau programatorii aplicatiilor lucreaza pe relatiile globale.

Transparenta localizarii este un nivel de transparenta mai scazut si presupune ca utilizatorii cunosc detalii despre fragmentare dar nu cunosc unde sunt localizate datele. Principalul avantaj al transparentei localizarii este acela ca BDD poate fi fizic reorganizata fara a afecta programele de aplicatie care o acceseaza. Separarea conceptului de fragmentare de conceptul de alocare (localizare) este util in proiectarea BDD pentru ca in acest fel determinarea fragmentelor relevante este delimitata de problema alocarii optime a datelor. Un alt tip de transparenta legat de transparenta localizarii este transparenta replicarii, care se refera la faptul ca utilizatorii nu au informatii despre replicarea fragmentelor, sistemul fiind cel responsabil cu mentinerea consistentei BD.

Pentru a oferi transparenta denumirii (denumirea diferitelor parti din BD de pe diferite statii sa fie diferite) una din statiile sistemului trebuie sa-si asume rolul de server de nume, a carui responsabilitate este sa asigure unicitatea numelor in sistem. Daca sistemul ofera aceasta transparenta apar cateva dezavantaje, cum ar fi:

scaderea autonomiei locale;

scaderea performantei daca serverul de nume este inundat cu cereri;

reducerea disponibilitatii daca serverul de nume cade, statiile ramase active nu pot crea noi parti ale BD.

O alternativa la serverul de nume ar fi ca fiecare statie sa numeasca partile BD stocate acolo cu un prefix propriu (de exemplu, adresa statiei).

Transparenta tranzactiilor

Transparenta tranzactiilor intr-un SGBDD asigura mentinerea integritatii si consistentei BDD in cazul tranzactiilor distribuite. O tranzactie distribuita acceseaza date localizate pe mai multe statii. Fiecare tranzactie este impartita intr-un numar de sub-tranzactii, cate una pentru fiecare statie care trebuie accesata. SGBDD trebuie sa asigure sincronizarea sub-tranzactiilor cu tranzactiile locale de la o anumita statie precum si sincronizarea sub-tranzactiilor cu alte sub-tranzactii. Transparenta tranzactiilor este complicata de fragmentare, alocare si duplicare. Vom prezenta doua aspecte ale transparentei tranzactiilor: transparenta concurentei si transparenta caderilor de sistem.


Transparenta concurentei

Daca rezultatele tuturor tranzactiilor concurente (distribuite sau nedistribuite) coincid cu rezultatul acelorasi tranzactii executate insa serial, intr-o oarecare ordine, spunem ca sistemul ofera transparenta concurentei. Asigurarea acestei transparente este ingreunata de faptul ca tranzactiile locale sau globale nu trebuie sa interfereze unele cu celelalte. In acelasi timp SGBDD trebuie sa asigure consistenta tuturor sub-tranzactiilor tranzactiilor globale.

Duplicarea face problema concurentei una si mai grea. Daca o data care este duplicata este actualizata atunci actualizarea trebuie facuta tuturor copiilor. Cu cat sunt mai multe copii probabilitatea ca tranzactia sa se incheie cu succes scade exponential. Daca unele statii care contin copii ale datelor ce trebuie actualizate nu sunt accesibile atunci in momentul in care devin accesibile trebuie sa-si actualizeze propriile copii.

Transparenta caderilor de sistem

SGBDD trebuie sa asigure un mecanism de regasire (recuperare) a datelor in caz ca apar unele defectiuni in sistem. Pentru aceasta tranzactiile sunt considerate atomice (sau toate operatiile presupuse de acea tranzactie sunt executate sau nici una dintre ele). In consecinta, daca o tranzactie s-a realizat atunci schimbarile sunt permanente. Iata cateva din defectiunile ce pot surveni: erori de programare, dezastre naturale, sabotaje, pierderi de mesaje, caderi ale unor linii de comunicatie, caderea unei statii, partitionarea retelei etc.

Transparenta performantei

Transparenta performantei solicita din partea SGBDD ca acesta sa lucreze ca un sistem centralizat. Intr-un mediu distribuit performanta unui sistem nu trebuie sa scada din cauza arhitecturii distribuite. Transparenta performantei inseamna, totodata, ca SGBDD trebuie sa determine strategia cea mai buna (din punct de vedere al costurilor) pentru a executa o cerere distribuita.

Transparenta SGBDD

Transparenta SGBDD ascunde fata de utilizator faptul ca SGBDD locale pot fi diferite. In consecinta, aceasta transparenta poate fi oferita doar de sistemele eterogene.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright