Sunteți pe pagina 1din 8

Baze de date

În condiøiile exploziei informaøionale actuale, unica soluøie de rezolvare a


necesitãøilor de informare ši prelucrare rapidã a unei cantitãøi mari de date este
folosirea calculatorului. Pentru a se putea gestiona volume mari de date sunt necesare
nu numai resurse fizice (calculatoare rapide, cu memorie internã ši externã de
capacitate mare), ci mai ales programe performante ši metode eficiente de organizare
a colecøiilor de date, care sã permitã regãsirea rapidã a informaøiilor.

Schema generalã de operare cu ajutorul calculatorului asupra datelor


presupune prelucrarea acestora prin intermediul unor algoritmi astfel încât sã se
obøina rezultatele dorite. Algoritmii pot fi conøinuøi în produse soft consacrate, în
programe concepute de utilizatori ši/sau în diverse metode de calcul precizate de
aceštia, cu ajutorul produselor soft.

Studiul bazelor de date este un domeniu al informaticii care oferã modele de


organizare a volumelor mari de date ši metode de prelucrare a acestora. Metodele
teoretice au fost implementate de cãtre informaticieni în produse soft care prelucreazã
volume mari de date - sisteme de gestiune a bazelor de date. Astfel, la dispoziøia
utilizatorilor neprofesioništi, se aflã produse soft performante ši accesibile cu care
aceštia sã îši poatã gestiona colecøiile de date cu un efort minim. În acelaši timp,
utilizatorii avizaøi sau profesioništi pot folosi mediile de gestiune a bazelor de date
pentru a realiza prelucrãri mai complexe ši chiar pentru a concepe programe proprii.

1. Noøiuni folosite în teoria bazelor de date

O datã este o valoare constantã (numãr, caracter, šir de caractere etc.).

Un identificator (atribut) este un nume de datã care diferenøiazã datele (nume


de variabilã).

Se considerã cã o informaøie este o pereche (datã, atribut de datã), adicã o datã


cãreia i-a fost asociatã o anumitã semnificaøie.

Un tip de datã se referã la o muløime de valori posibile ši la o muløime de


operaøii posibile (întreg, real, complex, datã calendaristicã etc.).

O colecøie de date conøine, relativ la un algoritm sau metodã de prelucrare,


date iniøiale, interne ši finale. Datele din asemenea colecøii pot fi organizate în
diverse forme, care influenøeazã eficienøa algoritmilor de prelucrare a datelor din
colecøiile respective.

O structurã de date este o colecøie de date cu o anumitã organizare (structurã).


Exemple de structuri de date: date elementare (numere, širuri de caractere, date logice
etc.), širuri - succes 919j94j iuni finite de date elementare, matrice, articole (formate
din câmpuri sau atribute, fiecare din acestea putând lua câte o valoare), liste, arbori,
grafuri etc.

O bazã de date conøine o colecøie de date aflate în interdependenøã,


memoratã în fišiere ši o descriere a structurilor de date folosite (memoratã în aceleaši
fišiere sau în fišiere auxiliare), de obicei sub formã tabelarã. Uzual, structura unei
baze de date se referã la atributele datelor conøinute în fišierele bazei de date
(câmpurile) ši caracteristicile acestora (tip, dimensiune etc.).

Un sistem de gestiune a bazelor de date (SGBD) este o muløime de programe


necesare pentru prelucrarea bazelor de date - uzual, aceste programe sunt încorporate
într-un produs soft performant ši cu o interfaøã de utilizare accesibilã. Exemple:
Access, FoxPro, dBase etc.

O bancã de date este un sistem de organizare, prelucrare ši teleprelucrare a


datelor format dintr-o bazã de date (sau mai multe) ši un sistem de gestiune a bazelor
de date ca mijloc operativ de prelucrare a datelor.

2. Funcøionarea unei baze de date

Exploatarea unei baze de date aflate pe un suport specific (magnetic), de cãtre


un utilizator, prin intermediul unui sistem de calcul, având la dispoziøie un SGBD,
parcurge uzual urmãtoarele etape:

1. Utilizatorul, aflat la un terminal electronic, pune o "întrebare" sau lanseazã o cerere


de date, referitoare la informaøiile din baza de date. Întrebarea se poate pune într-un
limbaj de cereri specific SGBD-ului cu care se lucreazã (dacã utilizatorul este
familiarizat cu acest limbaj - de exemplu, SQL, FoxPro, dBase) sau utilizatorul poate
fi asistat în adresarea cererii de date de cãtre SGBD (produsul soft pe care îl folosešte)
printr-un sistem de meniuri, butoane sau ferestre de dialog (obiecte de control).

2. Întrebarea este analizatã de cãtre calculator, de fapt de SGBD, iar dacã este corectã,
se încearcã (SGBD) sã i se dea rãspuns prin accesarea informaøiilor din baza de date.
Rãspunsul va fi constituit din muløimea datelor cerute de utilizator, care verificã
criteriile specificate de acesta.

Acest proces de lansare a unei cereri de date care va fi satisfãcutã prin furnizarea
datelor care satisfac proprietãøile cerute se numešte interogarea bazei de date.

3. Rãspunsul la cererea de date se va afiša pe ecran, se va tipãri la imprimantã sau se


va memora într-un fišier.

Timpul scurs dupã lansarea cererii de date ši pânã la satisfacerea acesteia se


numešte timp de rãspuns.

În contextul prelucrãrilor pentru care se proiecteazã o bazã de date, se


urmãrešte micšorarea timpului de rãspuns. Acest obiectiv se poate realiza prin:

- cãutarea unor modele cât mai performante de organizare a informaøiilor; adeseori


aceste modele necesitã memorarea unor informaøii suplimentare. De exemplu, o
ordonare eficientã a datelor dupã valorile unui atribut (câmp cheie) se poate realiza
prin atašarea unui tabel de index (vezi 4.)

- crešterea performanøei algoritmilor de prelucrare.


În general, diminuarea timpului de rãspuns sau crešterea vitezei de prelucrare
ši încercarea de a folosi un spaøiu de memorie cât mai mic sunt obiective care nu se
pot atinge simultan dincolo de o limitã rezonabilã a performanøei, în sensul cã un
algoritm mai rapid va folosi în general informaøii suplimentare (deci mai multã
memorie).

3. Câteva principii teoretice de organizare a bazelor de date

Structura ši conøinutul unei baze de date complexe pot fi privite din câteva
puncte de vedere teoretice, referitoare la aspecte de proiectare ši utilizare a ei.

Structura virtualã este totalitatea structurilor de date folosite în modelul de


organizare a bazei de date. Ea este cunoscutã de cãtre proiectantul bazei de date ši se
pãstreazã în tabele sau fišiere ale bazei de date; acestea vor fi consultate de cãtre
programele aplicative (structura nu mai trebuie descrisã în programe).

Structura logicã este partea din structura virtualã pe care trebuie sã o cunoascã
(de care are nevoie) fiecare utilizator sau program. Evident, existã mai multe structuri
fizice, care se pot intersecta în funcøie de obiectivele de exploatare a bazei de date de
cãrte fiecare utilizator. Reuniunea structurilor logice formeazã structura virtualã.

Structura fizicã este formatã din fišierele de pe suport (uzual magnetic) pe care
s-a memorat colecøia de date.

Acest punct de vedere ierarhic asupra unei baze de date introduce câteva
avantaje reflectate în exploatarea bazei de date. Acestea se concretizeazã în:

- independenøa logicã care apare între structurile logice ši structura virtualã: în urma
schimbãrii structurilor logice, structura virtualã se poate modifica fãrã ca programele
aplicative sã fie influenøate. Metodele de acces la date se pot îmbunãtãøi periodic iar
baza de date se poate dezvolta în etape.

- independenøa fizicã care apare între structura virtualã ši cea fizicã: Structura fizicã,
respectiv modul de organizare a fišierelor pe suport, se poate modifica fãrã
schimbarea structurii virtuale ši deci a programelor de aplicaøie.

Programele de aplicaøie au acces la date prin prin consultarea tabelelor sau


fišierelor care descriu structura virtualã a bazei de date ši a procedurilor de acces la
date.

4. Modelul relaøional al bazelor de date. Moduri de organizare a fišierelor

Vom introduce acest concept printr-un exemplu simplu. Presupunând cã avem


nevoie de datele personale ale unor studenøi pentru diverse prelucrãri, cea mai simplã
modalitate de a le reøine ar fi un tabel de forma:

NrMatricol Nume Prenume Oras Adresa DataNasterii


200 Georgescu George Huedin str. Mare nr. 3 8-11-72
34 Andrei Calina Cluj str. Albini nr 105 2-4-75
581 Marian Ana Dej str. Gherlei nr.2 3-5-76
7 Ionescu Ion Cluj str. Decebal nr.5 10-10-70

Un asemenea tabel este un model de fišier care sã conøinã o bazã de date.


Atributele datelor se numesc câmpuri (prima linie din tabel); acestea conøin date de
acelaši tip care apar sub forma unei coloane. Totalitatea câmpurilor (o muløime de
atribute) formeazã un articol. Fiecãrui câmp dintr-un articol îi poate corespunde o
muløime de valoari de acelaši tip; în modelul relaøional - o date elementare (conform
tabelului). Fiecare set de valori ale cîmpurilor formeazã o înregistrare (linii în tabel).

Un câmp cu rol de identificare se numešte cheie. Numele câmpurilor,


împreunã cu caracteristicile lor (tip, dimensiune etc.) alcãtuiesc structura fišierului de
tip bazã de date; ea se reøine pe suport alãturi de datele din înregistrãri (sub forma
unui antet al fišierului).

Elementaritatea datelor din asemenea baze de date simplificã stabilirea de


relaøii între tabele. De exemplu, dacã existã prelucrãri în care sunt necesare notele ši
mediile studenøilor (pentru simplificarea exemplului, vom lua în considerare doar
media), avem douã alternative de reøinere a noilor informaøii: în acelaši fišier sau
într-unul nou. Dacã numãrul de înregistrãri ši de câmpuri ale unui tabel este mare ši
noile date sunt prelucrate preponderent separat de cele deja introduse, este
recomandabilã crearea unui noi fišier pentru a-i asigura o vitezã de acces mai mare.
Studenøii sunt identificaøi prin numãrul matricol, deci nu mai este necesarã reøinerea
numelui.

NrMatricol Media
581 6.5
200 8.68
7 9.10
34 7

Se observã cã între cele douã tabele se realizeazã simplu o relaøie, fãcând o


corespondenøã între înregistrãrile care au aceeaši valoare a câmpului NrMatricol.

Modelul relaøional al bazelor de date a fost introdus de E. F: Codd în 1970 ši


dezvoltat ulterior. Prezentãm în continuare definiøia matematicã riguroasã a noøiunii
de relaøie.

Fie A1, A2, ..., An atribute iar Di - domeniul de valori pentru atributul Ai,
i=1,...,n. O relaøie R este o muløime de elemente care sunt tupluri de valori atribute,
adicã o muløime R ⊆ D1× D2× ...× Dn. Relaøia se noteazã R[A1,A2,...,An].

Elementele A1 ... Aj ... An


relaøiei R
r1 d11 ... d1j ... d1n
... ... ... ... ... ...
ri di1 ... dij ... din
... ... ... ... ... ...
rm dm1 ... dmj ... dmn
Modelul relaøional al unei baze de date constã dintr-o colecøie de relaøii ce
variazã în timp (prin operaøii de adãugare, štergere, actualizare).

Accesul la înregistrãrile unui fišier poate fi secvenøial dacã se parcurg


consecutiv toate înregistrãrile situate înaintea celei cãutate sau direct, la o anumitã
înregistrare. Operaøia de cãutare presupune gãsirea înregistrãrilor cu o anumitã
valoare a cheii (dupã care se face cãutarea).

Existã câteva moduri de organizare a fišierelor baze de date care, deši nu


sunt totdeauna evidente pentru utilizator, pot influenøa realizarea anumitor operaøii.
Organizãrile secvenøialã ši secvenøial indexatã apar frecvent în fišierele baze de date,
fãrã sã fie însã numite explicit.

Organizarea secvenøialã presupune reøinerea înregistrãrilor consecutive pe


suport.

Organizarea secvenøial-indexatã realizeazã o ordonare logicã a înregistrãrilor


– mult mai eficientã decât cea fizicã, efectivã – prin atašarea unui tabel de index
(fišier) care conøine valorile ordonate ale unei chei (câmpul dupã care se face
ordonarea) ši adresele înregistrãrilor pe suport. De exemplu, fišierul cu studenøi se
poate ordona fãrã a aplica un algoritm complex care sã schimbe înregistrãrile între ele,
prin atašarea tabelului

NrMatricol Nr.Inregistrare
7 4
34 2
200 1
581 3

Cãutarea unei persoane dupã numãrul matricol va fi mai rapidã într-o


asemenea structurã fiindcã numerele matricole sunt ordonate iar apoi se poate face un
acces direct.

Organizarea directã presupune distribuirea înregistrãrilor în clase cãrora sã le


corespundã adrese pe suport pe baza valorilor unei chei, astfel încât poziøia sã se
poatã regãsi direct în funcøie de valoarea cheii.

5. Funcøiile sistemelor de gestiune a bazelor de date

Orice SGBD, ca ansamblu de programe (proceduri) care gestioneazã colecøiile


de date, trebuie sã ofere mecanisme de realizare a urmãtoarelor operaøii:

1. definirea bazei de date se realizeazã într-un limbaj specializat de definire a datelor


ši se referã la:

• stabilirea structurii virtuale, respectiv a structurilor de date necesare în funcøie de


modelul de organizare a bazei de date ši a tehnicilor de validare a datelor
(stabilirea proprietãøilor pe care trebuie sã le aibã datele care vor fi introduse în
baza de date astfel încât sã fie interzisã încãrcarea bazei cu date incorecte)
• definirea structurii logice, adicã a modului de grupare pe structuri logice a celei
virtuale

• stabilirea datelor auxiliare, cu rol în exploatare (de exemplu, data ultimei


actualizari a bazei de date)

• informaøii necesare pentru definirea structurii fizice

2. manipularea informaøiilor din baza de date se realizeazã într-un limbaj specializat


de manipulare a datelor (comenzi specifice fiecãrui SGBD) sau sub asistenøa SGBD
(meniuri, ferestre de dialog etc.) ši se referã la operaøii de:

• regãsire a datelor (operaøii de cãutare)

• actualizare (introducere, štergere, modificare de date)

3. administrarea bazei de date se referã la controlul informaøiilor din baza de date ši


al programelor de acces de cãtre o persoanã (grup de persoane) numitã administratorul
bazei de date. Sarcinile administratorului sunt:

• organizarea bazei de date (definirea structurilor logice, virtualã ši fizicã ši


încãrcarea bazei de date)

• urmãrirea funcøionãrii corecte a bazei de date prin:

• pãstrarea informaøiilor corecte ši la zi (actualizate)

• asigurarea integritãøii ši confidenøialitãøii datelor

• urmãrirea performanøelor bazei de date

• punerea la dispoziøia utilizatorilor a unor programe de exploatare performante

• reorganizarea bazei de date prin modificarea structurilor virtualã ši fizicã în scopul


optimizarii bazei de date sau a introducerii de noi informaøii

4. protecøia bazei de date este foarte importantã mai ales dacã un numãr mare de
persoane acceseazã baza de date, care poate avea o importanøã strategicã sau
economicã (bãnci, burse etc.). Aspectele la care se referã protecøia bazelor de date
sunt:

• confidenøialitatea, adicã protecøia împotriva accesului neautorizat

• integritatea, adicã protecøia împotriva alterãrii conøinutului prin erori de


programare, defecte de echipament sau chiar rea intenøie.

Metode de acces neautorizat pot fi:

• înregistrarea comunicaøiilor dintre calculator ši terminal


• copieri ilegale de fišiere prin acces la suportul fizic

• obøinere neautorizatã de parole de acces

• folosirea unor drepturi restrânse de acces în încercarea de a pãtrunde în zone


neautorizate

încercarea de a evita programele sau metodele de control ale sistemului prin


specularea unor erori de programare, ale sistemului de operare sau prin folosirea
unor terminale ilegale la care sã continue lucrul dupã încheierea sesiunii normale.

Dintre metodele de asigurare a confidenøialitãøii amintim:

• etichetarea informaøiilor, adicã asocierea unui nume unui grup de informaøii (la
care ulterior sã se poatã adãuga un drept de acces)

• folosirea de parole ši drepturi de acces pentru diferite operaøii

• pãstrarea codificatã a datelor

• introducerea unor dialoguri specifice la începutul, sfâršitul ši eventual în timpul


sesiunii de lucru

• protecøia terminalelor ši liniilor de teletransmisie

• folosirea unor dispozitive hardware de identificare personalã

6. Evoluøia sistemelor de gestiune a bazelor de date

Într-un mod analog cu evoluøia calculatoarelor sau a sistemelor de operare, ši


evoluøia SGBD poate fi structuratã pe câteva generaøii:

Generaøia 1 Colecøiile de date au forma unor fišiere secvenøiale (pe bandã


magneticã) în care operaøiile de intrare-iešire erau programate la nivel fizic. Fiecãrei
probleme i se asociau fišierele necesare.

Generaøia 2 Apar tipurile clasice de organizare a fišierelor de date:


secvenøialã, secvenøial indexatã ši directã.

Avantaje: se separã modul în care utilizatorul privešte fišierele (nivelul logic)


de modul de memorare a lor pe suport (nivelul fizic) iar tabelele se genereazã
automat.

Dezavantaje: bazele de date nu se pot dezvolta în etape ši nu existã mecanisme


de protecøie.

Generaøia 3 Colecøiile de date iau forma unui sistem integrat de fišiere în care
o datã (informaøie) se memoreazã o singurã datã. Structura fišierelor trebuie încã sã
fie descrisã în programe (Pascal, C etc.).
Generaøia 4 este generaøia bazelor de date: se separã definirea bazei de date
(structura se pãstreazã în tabele) de utilizarea bazei de date; proiectantul bazei se
detašeazã de utilizatori. Programele nu mai definesc structurile de date pe care le
prelucreazã, ci acestea se pãstreazã în tabele speciale. Apar de independenøele fizicã
ši logicã, conform principiilor teoretice enunøate la 2. Programele vor avea acces la
date folosind o metodã de acces (program al SGBD) care face apel la structura fizicã a
fišierelor.

S-ar putea să vă placă și