Funcţiile unui SGBD

1. Descrierea datelor

Un SGBD trebuie sa includă posibilitatea descrierii stucturii obiectelor care formează baza de date. În cazul bazelor de date relaţionale aceasta consta în principal în posibilitatea creerii şi modificării structurii tabelelor şi constrângerilor de integritate asociate acestora.

Limbajul prin care se realizează aceste operaţii se numește Limbaj de Descriere a Datelor (LDD) şi în cazul primelor sisteme de gestiune el era implementat sub forma unor module separate. În sistemele relaţionale bazate pe SQL aceste operaţii au fost incluse în limbaj sub forma comenzilor de tip CREATE (pentru creare) sau ALTER (modificare).

O caracteristica importanta a sistemelor relaţionale este aceea ca descrierea structurii bazei de date este stocata în același mod ca şi baza de date în sine.

Există pentru aceasta o serie de tabele gestionate direct de sistemul de gestiune numite cataloage care conțin descrierea obiectelor care formează baza de date.

Aceste tabele sunt accesate de sistem pentru a regasi informaţiile necesare executiei cererilor dar pot fi accesate şi de utilizatori pentru a obtine informaţii privind structura bazei de date.

Astfel toate informaţiile de sistem necesare unui SGBD relaţional sunt stocate în același mod, inclusiv descrierea utilizatorilor şi a drepturilor de acces ale acestora.

Aceasta abordare a fost necesara pentru a nu avea mecanisme diferite de acces la datele de sistem şi la datele stocate în baza de date.

2. Utilizarea datelor

Utilizarea datelor (2) Aceasta funcţie include operaţiile de lucru cu datele înregistrate intr-o bază de date.

Exista patru categorii de operaţii principale:

  • Inserarea de noi date. Aceasta se concretizează prin adaugarea de noi linii în tabelele care formează baza de date.
  • Stergerea de linii din tabele.
  • Actualizarea datelor, insemnând modificarea continutului unor linii existente în tabele.
  • Regasirea datelor dupa anumite criterii de cautare

Pentru implementarea acestei funcţii fiecare SGBD are un Limbaj de Manipulare a Datelor (LMD) care poate fi un modul separat sau inclus în limbajul sistemului cum este în cazul SQL.

Operaţia de regasire este esentiala, ea fiind necesara şi în cazul celorlalte trei operaţii:

1. În cazul inserarii, dacă aceeaşi informaţie nu poate fi prezenta de mai multe ori în baza de date, este necesara o cautare prealabila pentru a verifica acest lucru.

2. În cazul stergerii şi actualizarii este necesara localizarea datelor care vor fi eliminate sau modificate.

Executia unei cereri -etape

1. Consultarea cataloagelor de sistem pentru a verifica existenta obiectelor implicate şi a afla structura şi proprietaţile acestora precum şi pentru a verifica daca utilizatorul care a lansat comanda are dreptul de a efectua operaţia respectiva

2. Crearea unui plan de executie optim pentru operaţia respectiva, luând în consideraţie existenta unor eventuale structuri de cautare rapida (indecsi).

3. Executia operaţiei şi verificarea faptului ca rezultatul nu violează constrangerile de integritate existente

4. Executarea altor operaţii care pot fi declansate automat de operaţia de baza (în cazul în care sistemul suporta astfel de operaţii).

3. Integritatea datelor

Majoritatea sistemelor de gestiune permit definirea unor reguli pe care datele stocate trebuie sa le verifice numite constrangeri de integritate.

În cazul în care o operaţie are ca rezultat violarea acestor restricţii aceasta este automat rejectata şi nu are efect în baza de date.

În felul acesta este asigurata o mai mare siguranța în ceea ce privește corectitudinea datelor.

Sa consideram o bază de date conținând informaţii despre facultăţi, studenții înscriși şi notele obținute de aceștia.

Introducerea accidentala de valori incorecte în baza de date. Exemplu: restricţie privind intervalul de valori admisibil pentru note: 0- 10.

Lasarea necompletata a unor informaţii necesare. Exemplu: numele studentulu.

Alocarea accidentala a aceluiasi numar matricol pentru mai multi studenți (constrângere de unicitate a valorilor).

Introducerea accidentala a unui student cu un cod incorect al facultăţii la care acesta este inscris (constrângere referențială).

Definirea de constrângeri de integritate nu previne însa total erorile accidentale de operare: de exemplu introducerea din greșeala a unei note de 4 în loc de 5 nu va fi semnalată, ambele valori fiind în intervalul admisibil.

4. Confidențialitatea datelor

Accesul la date este permis doar utilizatorilor înregistraţi şi doar în măsura drepturilor de acces alocate.

Un utilizator este identificat printr-un nume utilizator şi o parolă.

Fiecarui utilizator i se permite accesul doar la o porțiune a bazei de date şi doar pentru a efectua anumite tipuri de operaţii.

Toate aceste informaţii relative la ce, cum şi de unde poate accesa datele un utilizator reprezintă drepturile de acces asociate acestuia

Drepturile de acces sunt stocate în cataloagele sistemului.

Prin mecanismul de drepturi de acces este asigurata funcţia de confidențialitate a datelor.

Este prevenită posibilitatea de acces la date a persoanelor care nu au acest drept.

Exemplu: în cazul sistemului informatic al unei organizaţii, acces selectiv la salariile angajaţilor, detalii ale proceselor tehnologice, datele contabile etc.

5. Accesul concurent la date

Facilităţi de blocare a unor porțiuni ale bazei de date. Aceasta înseamnă că o execuție a unui program poate căpăta un acces exclusiv la o porțiune a bazei de date, denumită şi articol, moment în care orice altă execuție trebuie să aștepte deblocarea acesteia pentru a continua.

Dacă notăm operaţiile de blocare şi deblocare cu LOCK şi UNLOCK, programul de rezervare de locuri poate fi rescris.

Blocarea articolelor rezolva o serie de probleme dar crează premisele apariției interblocajului, situaţie în care două execuții de programe așteaptă deblocarea unui articol blocat de cealaltă (deadlock ).

Execuția serializabila. În cazul mai multor execuții simultane care accesează baza de date se considera ca efectul lor este corect dacă rezultatul final este identic cu execuția lor succesiva.

Această proprietate se numește serializabilitate şi un SGBD trebuie să pună la dispoziție mecanisme de asigurare a serializabilităţii execuțiilor programelor de acces.

6. Siguranța în funcţionare

Deși nu este legată direct de cele prezentate până acum, siguranța în funcţionare este o caracteristică esențiala pentru un SGBD .

Conține acele elemente care exclud sau minimizează posibilitatea de pierdere a datelor datorată incidentelor software sau hardware.

Salvarea datelor. Implementarea operaţiilor de salvare este mult mai sofisticată

Este dificilă efectuarea unei de còpii de siguranță consistente ale bazei de date în condițiile în care aplicaţia rulează non-stop şi operarea nu poate fi oprită pentru efectuarea salvării.

Restaurarea dupa incident. La distrugerea bazei de date este necesara efectuarea operaţiei de restaurare din copie.

Multe tipuri de SGBD au posibilitatea de a înregistra toate schimbările apărute în baza de date sub forma unor fişiere jurnal.

În acest fel operaţia de restaurare după incident se face restaurând ultima copie de siguranță şi reefectuând toare prelucrările consistente înregistrate în jurnal după momentul în care a fost efectuată copia.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s