You are on page 1of 4

Informatica – Curs II – 27.02.

2007

Obiectivele unei baze de date/ Sistem de gestiune a bazelor de date

In momentul aparitiei conceptului de baza de date, existau aplicatii a caror


principala deficienta era aflarea datelor in stransa legatura cu codul sursa al programului ce le
manipula.Acest aspect conducea la mai multe neajunsuri:
1. Un program scris de un anume programator nu putea fi prelucrat cu ajutorul
unui alt program scris de alt programator pentru ca organizarea interna a
datelor este independenta de viziunea programatorului.
2. Cand programatorul care a realizat o asemenea aplicatie parasea firma,
accesarea datelor de catre cei care ii preluau sarcinile era mult ingreunata,
fiecare programator avea propriul stil de programare si algoritmi diferiti din
punct de vedere al consultarii datelor, de unde rezulta imposibilitatea
transferului prelucrarii datelor intre doi sau mai multi programatori.
3. Securizarea datelor era implementata dupa metode empirice, aflate la
indemana programatorului care scria aplicatia respective.
4. Accesarea datelor se realiza intr-o maniera unilaterala, putini fiind
programatorii care utilizau in scopul recuperarii datelor algoritmi de sortare si
recuperare de tipul arborilor binari, arborilor echilibrati sau indecsi.Pornind de
la astfel de neajunsuri, a aparut conceptul de baza de date, lansat la intrunirea
Codasyl din 1969.

Obiectivele Bazelor de date

I. Asigurarea independentei datelor. Obaza de date asigura independenta datelor


prin utilizarea unui limbaj specializat de descriere a datelor. Aceste limbaj permite
programatorului sa-si modeleze datele fara ca acestia sa aiba o contributie directa
cu privire la reprezentarea fizica a datelor pe suportul magnetic. Reprezentarea
interna este o problema intern ape care sitemele de gestiune a bazelor de date o
rezlova intern, independent de destinatia bazei de date sau aplicatia care va accesa
respectiva baza de date. Independenta e asigurata prin introducerea a trei nivele
conceptuale:

a) Nivelul intern (fizic)


b) Nivelul conceptual
c) Nivelul extern (utilizator)

a) Nivelul intern este specific fiecarui sistem de gestiune a bazelor de date.


Acesta isi implementeaza propriile metode de acces la date si expune aceste
date prin intermediuluni limbaj standardizat(SQL).
b) Nivelul conceptual e un nivel specific proiectantului bazei de date. La acest
nivel se modeleaza structura bazei de date. Pentru a asigura o viziune unitara
asupra acestei modelari, orice sistem de gestiune a bazelor de date trebuie sa
puna la dispozitie un limbaj de definire a datelor. Acest limbaj isi gaseste
corespondentul in SQL.
c) Nivelul extern e un nivel specific utilizatorului. Conceptul de utilizator poate fi
privit ca utilizator final (destinatar al informatiei din baza de date) sau ca
programator, care extrage datele, le prelucreaza automatizat prin intermediul
unui program si prezinta utilizatorului final produsul. Atunci cand vorbim de
independenta datelor, ea trebuie privita ca:

 Independenta logica
 Independenta fizica

Independenta logica permite modificarea in timp a structurii bazei de date.


Independenta fizica asigura aceeasi reprezentare a datelor pe suportul magnetic,
indifferent de programator.

II. Asigurarea accesibilitatii datelor .

Problema accesibilitatii deriva din diferite tehnici de reprezentare interna a


datelor utilizate de diferiti programatori. Accesul la date este strict dependent de
modul de organizare fizica a acestora: daca un programator nu avea suficiente
cunostiinte cu privire la optimizarea accesului la date este foarte posibil ca baza de
date realizata de acesta sa nu permita accesul concurrent. Problema concurentei in
cazul bazelor de date este foarte spinoasa, fiind in esenta si unul dintre criteriile de
evaluare a performantelor unui sistem de gestiune a bazelor de date.
Concurenta reprezinta procesul in cadrul caruia aceeasi resursa este
accesata simultan de mai multi consumatori ai serviciilor.
In cazul bazelor de date concurenta ia nastere in momentul in care mai
multi utilizatori incearca sa acceseze aceeasi informatie stocata in baza de date.
Accesarea poate fi facuta fie in mod citire fie in mod scriere. Accesarea in modul
citire poate deservi simultan mai multi utilizatori. Accesarea in modul scriere nu
poate la un moment dat sa deserveasca dacat un singur utilizator.
Asigurarea accesului concurent la date este realizat in sistemele moderne
de gestiune a bazelor de date prin mecanismul tranzactiilor. Acest mecanism este
foarte util in momentul accesarii in modul scriere.
Mecanismul tanzactiilor are la baza proprietatile ACID.
A – Atomicitate. Presupune faptul ca fiecare tranzactie sa deruleaza in mod atomic
 daca respective tranzactie se compune din mai multe operatiuni, tranzactia se
considera incheiata cu success doar daca toate operatiunile sunt incheiate cu
succes. Esecul unei singure operatiuni din tranzactiile respective atrage dupa sine
esuarea tuturor celorlate operatiuni.
C – Consistenta. O tranzactie reprezinta in esenta o tranzitie a bazei de date din
starea de consistenta S1 in starea de consistenta S2. Baza de date se afla intr-o
stare de consistenta daca TOATE datele stocate in aceasta respecta atat restrictiile
semantice cat si sintactice.
I – Independenta. Date fiind “ţ” tranzactii care realizeaza trecerea bazei de date din
S1 in S2 fiind aplicate succesiv s-ar obtine aceeasi stare finala a bazei de date daca
cele “ţ” tranzactii s-ar derula simultan.
D – Durabilitate. O baza de date nu-si poate modifica starea S1 in S2 decat prin
intermediul unei tranzactii. Starea rezultanta a unei tranzactii e durabila la nivelul
respectivei baze de date, ea neputand fi alterata decat printr-o noua tranzactie
inceiata cu succes.

Metode de optimizare a accesului la date.

Pana la aparitia conceptului de baza de date, accesul la datele stocate pe suportul


fizic se realiza unilateral. Odata cu evolutia tehnologiei bazelor de date, aceleasi
date pot fi accesate dupa mai multe criterii. Accesarea multilaterala a datelor a fost
posibila datorita utilizarii indecsilor. Index-ul reprezinta o informatie aditionala ce
se stocheaza intr-o baza de date cu scopul optimizarii accesului la respectivele
date. Optimizarea este realizata prin utilizarea unor algoritmi performanti de
regasire a datelor ( sortari binare, arbori de tip B, arbori rosu- negru).

Index

2 6

1 3 5 7

1
0

Utilizarea indecsilor intr-o baza de date asigura o regasire optima a informatiillor.


Indecsii pot fi simpli sau compusi in functie de numarul campurilor pe care se
realizeaza respectivul index.
Clauzele instructiunilor SQL de cautare (clauza WHERE) trebuie sa
specifice campurile conditiei in aceeasi ordine cu ordinea campurilor definite in
index. In caz contrar, indexul nu va fi utilizat.
III. Partajarea datelor. Obiectivul este in stransa legatura cu accesibilitatea si
aspecte privitoare la partajarea unei resurse sunt rezolvate prin intermediul
conceptului de LOCKING (blocare). Mecanismul blocarii asigura faptul ca la un
moment dat un singur utilizator are acces la scrierea informatiilor in respectiva
baza de date in timp ce toti ceilalti sunt blocati. Blocarea poete fi realizata pe mai
multe nivele, in functie de performantele sistemului de gestiune a bazelor de date:
 blocare la nivel de tabela
 blocare la nivel de linie in tabela
 blocare la nivel de camp in cadrul liniei

IV. Asigurarea securitatii si integritatii datelor. Anterior tehnologiei bazelor de


date existau foarte multe pierderi de date precum si modificari neautorizate ale
acestor date. Un sitem de gestiune a bazelor de date are ca principal obiectiv sa
impiedice pierderea accidentala a datelor sau modificarea/ alterarea respectivelor
date de catre utilizatori neautorizati. Cele doua aspecte sunt rezolvate prin
mecanisme diferite ale sistemelor de gestiune a bazelor de date. Integritatea fizica
a datelor se realizeaza prin intermediul unui mecanism de back-up.

You might also like