Sunteți pe pagina 1din 5

BAZE DE DATE

CURS nr. 2

1.1. Evoluia organizrii datelor


Societatea contemporan, caracterizat prin afluxul fr precedent de informaie de diferite tipuri i
pe diverse canale, necesit strategii i instrumente din ce in ce mai complexe pentru stocare,
procesare i, mai ales, interpretare. In acest context, se pune problema transformrii informaiei n
date i organizarea acestora ntr-o asemenea manier nct n orice moment s poat fi extrase, cu
promptitudine i exactitate, datele favorabile realizrii unui scop specific.
Datele sunt fapte culese din lumea real. Ele sunt preluate din msurtori i observaii i constituie
orice mesaj primit de un receptor sub o anumit form. O percepie a lumii reale poate fi privit ca o
serie de obiecte sau fenomene distincte sau interdependente.
Datele n sine nu au nici un fel de semnificaie. Mai mult dect att, nefiind altceva dect o niruire
de litere i cifre, ele pot primi diverse interpretri, cele mai multe dintre ele fiind, de obicei, greite.
Datele se refera la numere, fapte, diferite documente etc. Informaiile se refer la date organizate,
date care au fost filtrate i ordonate dup anumite criterii. Dorina oricrui utilizator este obinerea
de informaie i nu manipularea unor date seci. Un model de date corect alctuit ofer posibilitatea
transformrii informaiilor n date i a acestora napoi n informaii fr a denatura sensul lor iniial.
A obine informaie nseamn, de fapt, a introduce datele disponibile ntr-un anumit context
conferindu-le n acest fel o anume semnificaie. Ceea ce se nmagazineaz ntr-o baz de date, aa
cum am artat, sunt datele care au o natur static n sensul c ele rmn n aceeai stare pn n
momentul modificrii lor de ctre administratorul bazei de date prin intermediul unui proces manual
sau automat. Pentru ca datele s poat fi transformate n informaie ele trebuie organizate astfel
nct s poat fi prelucrate efectiv. Pentru a determina n cazul unei aplicaii modul de organizare a
datelor, trebuie determinate acele caracteristici ale datelor care permit extragerea esenei nelesului
lor.
O mulime formal i consistent de reguli definete un model de date.
Pentru o aplicaie particular a unui model de date, numele obiectelor bazei de date mpreun cu
proprietile lor i asocierile dintre ele se numete schem.
Un ansamblu de date organizat dup anumite criterii reprezint o colecie de date.
O colecie de obiecte care au identitate proprie i sunt caracterizate de o condiie de apartenen se
numete mulime.
Procesul de definire i structurare a datelor n colecii, gruparea lor precum i stabilirea elementelor
de legtur dintre componentele coleciei i ntre colecii reprezint organizarea datelor.
Fiierul este o colecie de date organizate pe criterii calitative, de prelucrare i de scop. Un fiier
reprezint o colecie de date aflate n asociere ce are o denumire i care este reprezentat, de obicei,
cu ajutorul unei secvene de bytes sub forma celor dou vederi:
Vederea logic: reprezint felul n care utilizatorul vede fiierul;
Vederea fizic: reprezint felul n care fiierul este stocat n memoria extern a
calculatorului.
Aceste dou vederi pot fi, evident, foarte diferite ntre ele.
O baz de date reprezint o colecie integrat i structurat de date operaionale nmagazinate pe un
mediu de stocare. Elsmari i Navathe definesc o baz de date sub forma unei colecii de date aflate
n asociere. Scopul unei baze de date este acela de a nmagazina datele n aa fel nct s se poat
obine informaia dorit n orice moment. Informaiile, spre deosebire de date, au un caracter
dinamic n sensul c ele se modific n funcie de datele nmagazinate n baza de date, dar i n
sensul c ele pot fi procesate i prezentate n diverse feluri.

BAZE DE DATE

CURS nr. 2

Pentru a face diferena dintre date i informaii, Hernandez propune urmtoarea axiom:
Datele reprezint ceea ce se nmagazineaz; informaia reprezint ceea ce se extrage.
Cu alte cuvinte, datele trebuie extrase n aa fel din baza de date nct s capete semnificaie.
Evoluia n timp a metodelor de organizare a datelor e legat de soluiile tehnice de nmagazinare a
acestora i cuprinde nivelele:
1. Nivelul I - organizarea datelor n fiiere clasice;
2. Nivelul II - organizarea mixt n fiiere;
3. Nivelul III - organizarea datelor n bazele de date clasice;
4. Nivelul IV - organizarea datelor n bazele de date relaionale;
5. Nivelul V - organizarea datelor n baze de date distribuite.
n cadrul acestei evoluii se disting etapele:
Etapa I - este perioada caracterizat de nregistrarea datelor pe benzi magnetice. Aceast etap se
apropie mult de sistemul manual de organizare a datelor (ndosariere - datele sunt
organizate, n principal, sub form de fiiere secveniale datorit suportului magnetic
(benzi)). Programatorii erau nevoii s efectueze o serie de operaii de gestiune a
datelor, datorit puternicei legturi dintre aplicaii i date.
n aceast etap se remarc urmtoarele caracteristici:
- structura logic coincide cu cea fizic i, prin urmare, programatorul trebuie s
descrie i organizarea fizic a datelor pe suport, lucru incomod, la schimbarea
suportului;
- prelucrarea se face pe loturi;
- dependena aplicaiilor fa de date (o modificare n structura datelor sau a
dispozitivului de memorare implic modificri ale programelor de aplicaie i
recompilarea lor i, ca urmare, trebuie ca datele s fie redefinite n cadrul aplicaiei
ori de cte ori apare o modificare n structura bazei de date);
- redundan mare n memorarea datelor datorit faptului c aceleai date sunt
memorate separat pentru fiecare aplicaie ce are nevoie de ele;
- legturile dintre fiiere trebuie specificate n cadrul programelor aplicaie;
- fiecare aplicaie are propriile date i este singura care le poate folosi;
- programele realizeaz numai operaii simple de intrare/ieire.
Etapa a II-a - este caracterizat de nregistrarea datelor pe discul magnetic. Datele se pot organiza
acum att n fiiere secvenial-indexate ct i n fiiere cu acces direct. Anterior
acestei etape datele erau nmagazinate n fiiere obinuite, fie n format ISAM
(Indexed Sequential Access Method) fie n format VSAM (Virtual Storage Access
Method). Datele sunt nmagazinate i extrase acum n uniti numite blocuri sau
pagini. Spre deosebire de nmagazinarea n memoria RAM, timpul necesar
extragerii unei pagini difer n funcie de localizarea acesteia pe disc.
Caracteristicile corespunztoare acestei etape sunt:
- structura logic nu mai coincide cu cea fizic, ceea ce face ca programatorul s nu
mai fie nevoit s descrie i organizarea fizic a datelor pe suport, acest lucru fiind
fcut de ctre componentele specializate ale sistemului de operare;
- prelucrarea se face online sau n timp real;
- schimbarea unitii de memorare nu implic modificarea programelor;
- se menine redundan mare deoarece, de multe ori, aceleai date sunt pstrate n
mai multe fiiere;
- datele sunt nestructurate;
- mentenana bazei de date are un cost foarte ridicat;

BAZE DE DATE
-

CURS nr. 2

se menine dependena aplicaiilor fa de date, accesul la date fiind foarte dificil;


datorit acestei dependene, aplicaiile noi sunt greu de proiectat;
se ofer o interfa de programare, numit API (Application Programming
Interface);
accesul se face la nivel de nregistrare i nu de cmp n cadrul nregistrrii;
nu se realizeaz accesul dup chei multiple;
controlul concurenei este limitat;
legturile ntre fiiere trebuie programate, ceea ce presupune definirea i
deschiderea fiecrui fiier, accesarea datelor din primul fiier, prin intermediul cii
de acces ce trebuie s apar n cadrul programului, dup care se acceseaz cel de-al
doilea fiier, .a.m.d.; deoarece aceste fiiere au un format fix, modificarea
structurii unui astfel de fiier reprezint un proces extrem de lent (mai nti se
transform datele, apoi fiierul trebuie redefinit n cadrul fiecrei aplicaii care l
acceseaz, fiind posibil chiar schimbarea cii de acces spre acesta n cadrul
fiecrei aplicaii).

Etapa a III-a - este caracterizat de apariia bazelor de date. Datele se pot organiza acum sub forma
unor fiiere integrate. Acestea permit realizarea mai multor fiiere logice pe baza
acelorai date fizice.
Caracteristici corespunztoare acestei etape sunt:
- organizarea fizic a datelor e independent de programele de aplicaii;
- se pot constitui fiiere logice n funcie de baza de date;
- se remarc un control integrat al datelor prin:
- reducerea redundanei datelor fiind posibil folosirea n comun a acelorai date
fizice de ctre mai multe aplicaii;
- accesul la date la nivel de cmp;
- eliminarea inconsistenelor;
- asigurarea controlului concurenei;
- asigurarea integritii datelor;
- gestiunea datelor;
- introducerea standardelor de disponibilitate a sistemelor;
- mbuntirea securitii datelor;
- asigurarea accesului la date dup chei multiple;
- organizarea datelor e realizat de o component software (data management);
- creterea independenei datelor, prin asigurarea transparenei detaliilor referitoare
la organizarea conceptual, structurile de stocare i strategiile de acces ale
utilizatorilor la:
- nivel logic:
- transparena organizrii conceptuale;
- transparena strategiilor logice de acces;
- nivel fizic:
- transparena organizrii nmagazinrii fizice;
- transparena cilor fizice de acces.
Etapa a IV-a - se caracterizeaz prin asigurarea independenei logice i fizice a datelor fa de
programele de aplicaie. Aceasta se realizeaz prin intermediul administratorului
de baze de date cu ajutorul descrierii datelor la un nivel logic global.
Caracteristicile specifice acestei etape sunt:
- datele sunt descrise la nivel logic global;
- existena unor fiiere inverse ce permit rspunsul rapid la ntrebri formulate de
utilizatori;
- mrirea gradului de protecie i securitate a datelor;

BAZE DE DATE

CURS nr. 2

- n afara independenei fizice a datelor apare i independena logic prin


posibilitatea existenei unor modificri n structura logic fr a afecta aplicaiile;
- creterea controlului concurenei, prin existena mai multor vederi asupra datelor
oferite utilizatorilor;
- posibilitatea introducerii standardizrii prin centralizarea gestiunii datelor cu
ajutorul definiiilor n cadrul cataloagelor;
- creterea calitii datelor prin introducerea constrngerilor suplimentare n cadrul
bazei de date;
- redundana datelor este redus la minim.
1.1.1. Organizarea nregistrrilor n fiiere
Cea mai eficient i rapid cale de a lucra cu datele existente ntr-o baz de date ar fi aceea de
pstrare a tuturor acestor date n memoria intern a sistemului. Pstrarea tuturor datelor din baza de
date n memoria intern a sistemului nu se poate face datorit faptului c, pe de o parte memoria
intern este foarte scump, iar pe de alt parte aceasta este volatil, motiv pentru care datele trebuie
pstrate pe un suport magnetic extern. Prin urmare se impune stabilirea unei strategii de lucru cu
datele aflate n baza de date, dup cum urmeaz:
- datele utilizate n mod curent se pstreaz n memoria RAM a sistemului;
- restul datelor se pstreaz n memoria extern a sistemului (nmagazinare secundar);
- copiile de siguran a datelor se pstreaz pe benzi magnetice (nmagazinare teriar).
Pentru a organiza nregistrrile unei baze de date n cadrul fiierelor se pot folosi mai multe
modaliti:
- organizare n fiiere heap; n acest caz, orice nregistrare poate fi plasat oriunde se gsete loc
n cadrul fiierului, nefiind impus o anumit ordine;
- organizare secvenial; n acest caz nregistrrile sunt stocate ntr-o anumit ordine impus de
valoarea cheii de cutare a fiecrei nregistrri;
- organizare n fiiere hash; n acest caz se folosete o funcie hash care se aplic atributelor
fiecrei nregistrri; rezultatele obinute arat blocul din cadrul fiierului n care trebuie s se
afle o anumit nregistrare, fiind strns legate de structura de indexare folosit;
- organizarea fiierelor n grupuri; nregistrrile ce provin din mai multe tabele pot fi pstrate n
acelai fiier; nregistrrile asociate din tabele diferite sunt pstrate n acelai bloc astfel nct
operaiile de intrare/ieire pot parcurge nregistrrile asociate din toate tabelele.
n continuare se vor prezenta cteva caracteristici suplimentare ale fiierelor secveniale i ale celor
organizate n grupuri.
Organizarea secvenial a fiierelor
Un fiier secvenial este foarte util la prelucrarea nregistrrilor aflate ntr-o ordine predefinit pe
baza unei chei de cutare.
nregistrrile din cadrul unui astfel de fiier sunt asociate pe baza unor pointeri ce permit extragerea
rapid a datelor pe baza cheii de cutare. nregistrrile sunt nmagazinate fizic n ordinea stabilit pe
baza cheii de cutare, ceea ce duce la minimizarea numrului de blocuri ce trebuie accesate, ns
este dificil de pstrat aceast ordine pe msur ce se fac introduceri sau tergeri de nregistrri.
tergerile pot fi gestionate cu ajutorul lanului de pointeri, dar inserrile pun probleme dac nu
exist spaiu n locul n care trebuie plasate nregistrrile. n cazul n care spaiul necesar plasrii
unei noi nregistrri este disponibil n locul indicat, nregistrarea poate fi plasat n acel loc, altfel ea
trebuie plasat n alt loc, iar pointerii trebuie reorganizai. n aceast situaie anumite nregistrri nu
se vor afla n ordinea fizic specificat. Dac numrul de nregistrri care nu se afl n ordinea fizic
specificat este mic, nu vor exista probleme deosebite, dar dac acest numr crete prea mult

BAZE DE DATE

CURS nr. 2

pointerii trebuie reorganizai, ceea ce presupune un mare consum de resurse i, prin urmare, astfel
de operaii trebuie efectuate numai atunci cnd sistemul nu este deloc sau este slab solicitat. Dac
inserrile se fac rar, fiierul poate fi pstrat n ordinea fizic stabilit iniial, reorganizarea
pointerilor fcndu-se la apariia oricrei noi inserri, caz n care nu mai sunt necesare cmpurile de
pointeri.
Organizarea fiierelor n grupuri
O situaie foarte bun se ntlnete atunci cnd, n bazele de date de mici dimensiuni, fiecare tabel
se afl ntr-un fiier separat, iar nregistrrile au o lungime fix, ceea ce va conduce la reducerea
dimensiunii programelor. Multe dintre sistemele de baze de date utilizate pe scar larg nu folosesc
n mod direct sistemul de operare pentru gestiunea fiierelor. n aceast situaie, bazei de date i este
alocat un singur fiier de mari dimensiuni, toate tabelele fiind pstrate n cadrul unui singur fiier. O
astfel de structur pune la un loc nregistrri din mai multe tabele, permind prelucrarea eficient a
jonciunilor. Dac nregistrrile nu pot fi plasate toate ntr-un singur bloc, cele rmase vor apare n
blocurile adiacente. Structura, cunoscut sub numele de grup, permite citirea celor mai multe dintre
nregistrri cu ajutorul unui singur bloc.
Utilizarea grupurilor este foarte util n cazul prelucrrii particulare a unui anumit tip de jonciuni,
dar poate conduce la scderea performanelor n cazul altor tipuri de interogri.
nmagazinarea metadatelor n catalog
Informaiile referitoare la obiectele bazei de date sunt pstrate n alte tabele cunoscute sub numele
de catalogul bazei de date, care conine:
- denumirile tabelelor;
- denumirile cmpurilor tabelelor;
- domeniile de valori i lungimea cmpurilor;
- denumirile u definiiile vederilor;
- constrngerile de integritate (informaii despre cheile primar i extern).
Catalogul mai conine date despre utilizatorii sistemului (numele i condiiile de acces ale
acestora), precum i (posibil) date descriptive i statistice, cum ar fi:
- numrul de nregistrri din fiecare tabel;
- metoda de stocare folosit n cazul fiecrui tabel (de exemplu, n grup).
De asemenea mai trebuie pstrate date referitoare indecii folosii n cadrul fiecrui tabel
(denumirea indexului, denumirea tabelului pe care se aplic indexul respectiv, tipul indexului,
cmpurile pe care se aplic indexul). Se poate spune c, de fapt, toate aceste date formeaz o alt
baz de date n miniatur. Baza de date poate fi folosit pentru a nmagazina date despre propria
structur, ceea ce va conduce la o structur mai complex a sistemului, permind utilizarea la
maxim a puterii bazei de date prin asigurarea accesului rapid la datele sistemului.
Modalitatea optim de reprezentare a datelor sistemului poate fi aleas de ctre proiectantul
sistemului, o posibil reprezentare fiind urmtoarea:
Schema catalogului sistemului = (nume tabel, numr de atribute).
Schema atributelor = (nume atribut, nume tabel, tip de dat, poziie, dimensiune).
Schema utilizatorului = (nume utilizator, cont de utilizator, cheia de criptare, grup).
Schema de indexare = (numele indexului, numele tabelului, tipul indexului, atributul indexului).
Schema vederii = (numele vederii, definirea vederii).