Sunteți pe pagina 1din 54

Utilizarea Access pentru proiectarea unei aplicatii

CAPITOLUL 1

ELEMENTE DE TEORIA BAZELOR DE DATE

Activitaile i obiectivele organizrii datelor

Organizarea datelor ocup un loc important n proiectarea sistemelor informatice. De


modul n care sunt organizate datele depinde eficiena sistemului informatic.
Organizarea datelor presupune:
definirea, structurarea, ordonarea i gruparea datelor n colecii de date omogene;
stabilirea legturilor (relaiilor) ntre date, ntre elementele unei colecii, ntre
coleciile de date;
reprezentarea (stocarea) lor pe suport informaional, prelucrabil ntr-un sistem de
calcul.
Scopul organizarii datelor l constituie regsirea automat a datelor dup diverse
criterii i forme.
Obiectivele urmrite n organizarea datelor sunt:
timpul de acces la datele organizate pe diferite suporturi de date s fie minim
spailul de memorie intern i extern ocupat de date s fie ct mai redus. Se
urmarete ca pe un spaiu de memorie ct mai mic s se introduc un volum ct mai mare de
date;
datele s apar o singur dat n sistem. Totui, uneori, pentru realizarea unui acces
mai rapid la date, se impune acceptarea unei redundane minime de date;
n sistemul de organizare a detelor s se reflecte, pe ct posibil, toate legturile dintre
obiecte, fenomenele, procesele economice pe care aceste date le reprezint;

Pagina 1 din 54

s permit scgimbarea structurii datelor i a relaiilor dintre ele fr a modifica


programele ce le gestioneaz.

Concepte utilizate n organizarea datelor

Cele trei concepte de baz utilizate sunt: entitate, atribut, valoare. Ele au fost
introduse n literatura de specialitate odat cu apariia bazelor de date. Aceste concepte sunt
legate ntre ele: o entitate are mai multe atribute, iar atributelor li se asociaz o mulime de
valori.
Prin entitate se nelege un obiect concret sau abstract reprezentat prin proprietile
sale.
Orice proprietate a unui obiect poate fi exprimat printr-o pereche (ATRIBUT,
VALOARE). Exemplu: masa X are culoarea alb, unde culoare reprezint atributul, iar
alb valoarea.
Aadar, o entitate se poate exprima prin mai multe proprieti, deci mai multe perechi
de forma (ATRIBUT, VALOARE).
De exemplu o persoan X poate fi rerezentat prin mulimea de perechi: (NUME,
POPESCU);

(VRSTA,

25);

(SEX,

MASCULIN);

(PROFESIE,

ECONOMIST);

(SALARIU, 90000).
n realitate, mulimea atributelor NUME, VRST, SEX, PROFESIE, SALARIU
poate fi asociat mai multor PERSOANE. Rezult c atributul nu caracterizeaz doar o
entitate, ci poate caracteriza o clas de entiti numit entitate grup. n exemplul de mai sus,
entitatea grup se caracterizeaz prin aceeai mulime de atribute, se poate spune c entitile
din cadrul unei entiti grup sunt de acelai tip. n acest sens, se utilizeaz termenul de tip de
entitate pentru o clas de entiti.
Noiunea de atribut este cunoscut i sub denumirea de cmp, caracteristic.
Fiecare atribut e caracterizat de natura valorilor pe care le poate lua. Astfel, un atribut
este de tip numeric dac valorile sale sunt numerice, alfanumeric dac valorile sale sunt iruri
de caractere, etc. n general, un atribut are valori elementare, dar pot exista i situaii de
atribute compuse (formate prin concatenarea mai multor atribute). Pot exista atribute ce
identific n mod unic o entitate, ele numindu-se atribute cheie sau pot exista atribute ce nu
identific unic o entitate i se numesc atribute non-cheie.
Pagina 2 din 54

Un alt concept utilizat este cel de dat. Data este un model de reprezentare a
informaiei. Accesibil unui anumit procesor (om, program, calculator); cu acest model se
operez pentru a obine noi informaii despre fenomenele i procesele lumii reale.
O dat care este indivizibil n raport cu informaia pe care o reprezint, dar i n
raport cu modul de prelucrare se numete dat elementar sau scalar. Mai multe date
elementare formeaz o dat compus.
Din punct de vedere logic, o dat se definete prin: identificator, atribut i valoare.

Exemplu: PROF -identificator


PROFESIA -atribut

ECONOMIST

-valoare
Din punct de vedere fizic, unei date i corespunde o zon de memorie de o
anumit mrime, situat la o adres absolut.

Relaii ntre date

ntre date exist diverse legturi, relaii. ntre datele ce aparin unor tipuri de entiti
pot exista dou categorii de legturi:
prima se definete prin nsi apartenena detelor la entiate;
a doua categorie o constituie legturile dintre entitile de acelai tip sau de tipuri
diferite.
Exemple:
Fie A mulimea persoanelor ce lucreaz ntr-o societate comercial. ntre datele acestei
mulimi se pot stabili relaii de tipul:
x are aceeai profesie cu y;
x este soia lui y;
x are salariul mai mare sau egal cu al persoanei y;
x este mai n vrst dect y;
x a absolvit aceeai coal ca i y; etc.
Fie B mulimea judeelor rii. ntre datele acestei mulimi pot exista relaii de tipul:
x este vecin cu y i y este vecin cu x;
Pagina 3 din 54

x are suprafaa mai mare dect y;


x are mai multe orae dect y etc.
Fie C mulimea produselor finite ale unei societi. ntre datele ce caracterizeaz
aceste produse exist relaia de tipul:
x intr n componena lui y;
x este mai ieftin dect y;
x este mai util dect y etc.
Fie dou clase de entiti: PRODUSE i BENEFICIARI. ntre datele acestor dou
clase de entiti pot exista urmtoarele relaii:
o mulime de legturi R1 ntre entitile clase PRODUSE, date de faptul c un produs
poate intra n alctuirea altui produs;
o mulime de legturi R2 ntre clasele de entiti PRODUSE i BENEFICIARI, date
de faptul c un produs poate fi livrat la unul sau mai muli beneficiari iar un beneficiar poate
primi unul sau mai multe produse.

Structuri de date

Tipurile de structuri de date ntlnite n sistemele informatice se difereniaz n funcie


de sistemul informaional i de tehnologiile de prelucrare a datelor utilizate.
Definiie Structura de date este definit ca o colecie de date ntre care s-au stabilit o
serie de relaii care conduc la un anumit mecanism de selecie i identificare a componentelor.
Mulimea de date asociat structurii poate fi alctuit din datele unui tip sau mai
multor tipuri de entiti. Componentele structurii pot fi individualizate i identificate prin
nume (identificator) sau prin poziia pe care o ocup n structur (n raport cu ordinea
specificat).
Dac localizarea unei componente se face prin parcurgerea tuturor componentelor se
face prin parcurgerea tuturor componentelor care se afl naintea sa n ordinea specificat,
atunci structura are un acces secvenial.
Dac o component din structur poate fi selectat fr a ine seama de celelalte
componente, atunci structura are un acces direct.
Componentele unei structuri de date pot fi date elementare sau pot fi ele nsele
structuri de date.
Pagina 4 din 54

Asupra unei structuri de date se pot efectua o multitudine de operaii care se refer la
valori i/sau la structur. Dintre acestea, cele mai frecvente sunt:
crearea (memorarea datelor n forma iniial pe suport de memorie);
consultarea (accesul la componentele structurii n vederea prelucrrii valorilor);
actualizarea (schimbarea strii structurii prin adugarea, tergerea unor elemente,
modificarea valorii unor elemente, modificarea relaiilor dintre elemente);
sortarea (aranjarea elementelor unei structuri dup anumite criterii);
ventilarea (spargerea structurii n dou sau mai multe structuri);
fuzionarea (formarea unei noi structuri din dou sau mai multe structuri);
copierea;
interclasarea etc.
Operaiile la care poate fi supus o structur de date i eficiena cu care acestea pot fi
realizate, depind n mare msur de relaiile ntre datele materializate pe suport de memorie.
Toate structurile de date care au acceai organizare i sunt supuse acelorai operaii
formeaz un anumit tip de structur de date.
Definiie Un tip de structur de date este o mulime ordonat de date ntre care s-au
stabilit anumite releii i pentru realizarea operaiilor se folosete un grup de operatori de baz
cu o anumit semantic.

Clasificarea structurilor de date

Dup tipul componentelor, structurile se clasific n:


structuri omogene, n care componentele sunt de acelai tip;
structuri eterogene, n care componentele aparin unor tipuri diferite.
Dac o structur se poate descompune n structuri de acelai tip, atunci structura este
recursiv.
Dup posibilitatea de modificare a valorilor i/sau structurii, avem:
structuri statice, care pe tot parcursul existenei lor au acelai numr de componente n
aceeai ordine;
structuri dinamice, care permit modificarea valorilor i/sau structurii prin aplicarea
operatorilor. Aceste structuri pot avea, teoretic, un numr nelimitat de componente i de aceea
se mai numesc structuri cu cardinalitate infinit.
Pagina 5 din 54

Structura static se consider, similar cu cardinalitatea finit.


Din punct de vedere al nivelului de structurare al datelor avem:
structur logic, ce se refer la modul de ordonare al datelor, operatorii de tratare a
detelor;
structura fizic, ce se refer la modul de implementare, de reprezentare efectiv pe
suporii informaionali.
Clasificarea n structuri fizice i dinamice se refer, n principal la structurile fizice de
date. Din acest punct de vedere, alocarea memoriei pentru o structur static este o alocare
static, att pentru componente ct i pentru structur. Pentru o structur dinamic, alocarea
este dinamic att la nivelul ntregii structuri ct i la nivelul componentelor.
O structur logic poate fi implementat i ca structur static i ca structur
dinamic. Exist structuri logice care nu pot fi implementate static.
n organizarea datelor trebuie definit att structura logic ct i structura fizic, cele
dou nivele condiionndu-se reciproc.
Tipuri de structuri de date
Principalele tipuri de structuri (logice) de date sunt:
structura punctual;
structura liniar;
structura arborescent;
structura reea;
structura relaional.
Dintre acestea, structurile de baz sunt: cea liniar i arborescent. Prin combinarea
lor se pot construi structuri orict de complexe.
Structura punctual este reprezentat de o entitate grup izolat. De exemplu, tipul de
entitate PERSOANA. Considernd c nu exist relaii explicite ntre realizrile de entitate,
acest tip de entitate luat singur reprezint structura punctual.
Structura liniar. Dac ntre elementele unei colecii de date exist o relaie de ordine
total, spunem c structura definit este liniar.

Pagina 6 din 54

Structura punctual este reprezentat de o entitate grup izolat. De exemplu, tipul de


entitate PERSOANA. Considernd c nu exist relaii explicite ntre realizrile de entitate,
acest tip de entitate luat singur reprezint structura punctual.
Structura liniar. Dac ntre elementele unei colecii de date exist o relaie de ordine
total, spunem c structura definit este liniar.
Acest tip de structur are urmtoarele proprieti (fig.1.1.a):
Cardinalul mulimii elementelor iniiale (maximale) este egal cu 1.
Cardinalul mulimii elementelor terminale (minimale) este egal cu 1.
Card (m(D))=1;
Orice element neterminal are un succesor imediat unic;
Primul element nu are predecesor;
Ultimul element nu are succesor;
Dac exist un cuplu n relaie(u,p) format din ultimul element u i primul element p,
structura liniar este inelar sau circular (fig.1.1.b).
Relaiile stabilite ntre date sunt de tipul 1 la 1;
Dac componentele unei structuri liniare sunt la rndul lor, structuri arborescente,
spunem c avem structur liniar cu elemente structurate arborescent;
Dac componentele unei structuri liniare sunt structuri reea, atunci spunem c avem
structur liniar cu elemente structurate reea.

a1

a2

a3

a4

a2

a3

a4)

structura liniar simpl

a1
b) structura inelar

Pagina 7 din 54

Fig.1.1. Exemplu de structur liniar

Structura arborescent (ierarhic sau descendent). Dac ntre elementele unei colecii
de date exist o relaie de ordine, spunem c structura acestei colecii de date este o structur
arborescent.
Acest tip de structur are urmtoarele proprieti:
Exist un element unic, numit rdcina arborelui.
Orice nod diferit de rdcin are un predecesor imediat unic.
Orice nod neterminal are un numr finit de succesori imediai.
Relaiile stabilite ntre noduri sunt de tipul 1 la m.
O succesiune de noduri (ai1,ai2,,ain) n care pentru orice aik, kn, ai,k+1
Este un succesor imediat al lui aik, se numete drum de lungime n-1 de la nodul ai1 la
nodul ain.
Drumul de lungime maxim constituie nlimea arborelui. Un arbore ordonat de
gradul 2 se numete arbore binar (fig.1.2.a). Un arbore care are ordinul superior lui 2 se
numete multici (fig.1.2.b). Un arbore este echilibrat dac diferena dintre drumurile de la
rdcin la orice nod terminal este cel mult 1.
O structur arborescent care are elemente structurale arborescent formeaz o
structur arborescent cu elementele structurate arborescent. O structur arborescent care are
elementele structurate n reea formeaz o structur (list) arborescent cu elementele
structurate n reea. Exist i o structur arborescent cu elementele structurate liniar.

arbore binar

arbore multici stratificat


Pagina 8 din 54

Fig.1.2. Exemple de arbori de date

Structura reea. Dac ntre elementele unei colecii da date exist o relaie de
preordine, atunci spunem c structura acestei colecii de date este o structur reea. Aceasta
are urmtoarele proprieti:
O reea este un graf n care ntre dou noduri exist legturi bidirecionale;
Un nod are mai muli predecesori i el nsui poate fi predecesor pentru
propriul su predecesor. Apar astfel n reea cicluri. Un ciclu este un drum n care
nodul iniial este acelai cu nodul final.
Cardinalul mulimii elementelor (nodurilor) iniiale este mai mare sau egal cu 1.
Card(M(D)) 1;
Cardinalul mulimii elementelor (nodurilor) finale este mai mare sau egal cu 1.
Card(m(D)) 1;
ntre elementele reelei se stabilesc relaii de tipul m la n.
O reea este denumit simpl dac pentru orice cuplu (a,b) R (b,a) R (fig.
1.3.a.). n caz contrar, reeaua este complex (fig.1.3.b.). ntr-o reea simpl nu exist cicluri.

reea simpl cu intrare i ieire

reea complex
Fig.1.3. Exemple de reele de date
Structura relaional

Pagina 9 din 54

Structura relaional este format din mai multe tabele (relaii, tablouri) de date
elementare, fr o legtur aparent ntre ele, componentele unei tabele fiind aduse ntr-una
din cele cinci forme normale (fig.1.4.). O form naomal este starea n care se afl structura
tabelului n funcie de diferite cerine impuse. Operaiile pe aceste structuri sunt realizate cu
operatori relaionali ai algebrei relaionale sau ai calculului relaional.
PERSOANE
MARC

NUME

PRENUME

SEX

VRST

PROFESIE

Fig.1.4. Tabel de date

Modele de date

Pentru cunoaterea realitii nconjurtoare i prelucrarea datelor cu ajutorul


calculatorului este necesar modelarea acestei realiti.
Definirea unui model de date presupune precizarea, identificarea urmtoarelor trei
elemente:
structura modelului;
operatorii care acioneaz asupra structurilor de date;
restriciile pentru meninerea corectitudinii datelor, numite i reguli de integrare.
Descrierea structurii modelului presupune:
Definirea obiectelor (entitilor) i a caracteristicilor asociate. Acesta se realizeaz
utiliznd urmtoarele elemente generice: cmpul (ca fiind cel mai mic element al structurii
care poate fi identificat n scopul prelucrrii), grupul simplu sau compus (este un set format
din mai multe cmpuri i/sau grupuri) i nregistrarea (este un amsamblu de cmpuri i
grupuri, constituind totodat i elementul generic al structurii).

Pagina 10 din 54

Stabilirea relaiilor ntre obiecte. Relaia ntre nregistrri aparinnd unui singur
obiect independent sau la dou sau mai multe obiecte independente se materializeaz ntr-o
legtur ntre o realizare a nregistrrii printe i una sau mai multe relizri ale nregistrrii
fiu. Realizrile nregistrrilor de tip fiu formeaz o clas de echivalen
Domenii
Lucrri

Clasa de echivalen

Fig.1.5. Exemplu de legturi ntre nregistrri


Formalizarea relaiilor ntre nregistrri n cadrul unui model de date are ca scop
reduceread redundanei datelor. Relaia ntre nregistrri poate pune n eviden dou tipuri de
legturi:
legturi orizontale care permit localizarea claselor de echivalen (liste nlnuite);
legturi verticale care permit localizarea nregistrrii printe.

D1

L1

D2

L2

L3

L4

D3

L5

L6

L7

Legtutra dintre obiecte (entiti) poart denumirea de asociere. Legturile dintre dou
entiti pot fi de trei tipuri:
Legturi unu la unu (1 1). De exemplu, relaia dintre apartamentele nchiriate din
fondul locativ de stat i chiriai poate beneficia de un singur apartament cu chirie (fig. 1.6.).

Apartament

Pagina 11 din 54

Fig. 1.6. Exemplu de legtur de tipul unu la unu

Chiriai

Legtura unu la mai muli (1 n). De exemplu, un elev poate face parte dintr-o
singur clas, o clas poate avea mai muli elevi. Aceast structur este de tip arborescent
Clasa
(fig. 1.7.).
Fig. 1.7. Exemplu de legturi de tipul unu la muli

Elev 1

Elev 2

Elev n

Legtur de tipul muli la muli (m n). De exemplu, un produs este achiziionat


de mai muli clieni i un client poate achiziiona mai multe produse. Aceast structur este de
tip reea (fig. 1.8.).
Produsul 1

Produsul 2

Client 1

Client 2

Produsul m

Client n

Fig. 1.8. Exemplu de legtur de tip reea


2. Operatorii care acioneaz asupra structurilor de date reprezint cel de al doilea
element al unui model de date. Aceti operatori pot fi de citire, memorare, modificare,
jonciune etc.

Pagina 12 din 54

3. Regulile de integritate, cel de-al treilea element al unui model de date sunt restricii
menite s asigure meninerea corectitudinii datelor.
Exemple de astfel de restricii:
s nu se accepte memorarea valorilor asociate caracteristicilor unui produs dac nu se
cunoate valoarea cheii lui (CODP pentru entitatea PRODUS i CODC pentru entitatea
CLIENI);
s nu se permit tergerea valorilor atributelor unui client dac acesta nu a achitat
integral factura pentru cumprarea unui produs x, etc.
n funcie de modul n care de definesc elementele amintite, modelele de date se
mpart n: modele ierarhice sau arborescente; modele reea; medele relaionale; modele
orientate obiect.

Modelul ierarhic
Modelul ierarhic are ca structur de baz tipuri de nregistrri care grupeaz toate
atributele unei entiti. Pentru realizarea asocierilor (relaiilor, legturilor) dintre tipuri de
nregistrri, acest model introduce un nou tip de structur: ierarhia.
O ierarhie are un tip de nregistrare definit ca rdcin i mai multe tipuri de
nregistrri subordonate, legate sub form de arbore (fig. 1.9.).
Fiecare nod din arbore care nu e rdcin sau nod final are un singur nod superior i
unul sau mai multe noduri inferioare. Legtura de la un nod superior la unul inferior este de
tipul 1 m, iar legtura de la un nod inferior la unul superior este de tipul 1 1.

Furnizor
Fig. 1.9. Exemplu de ierarhie de date
Deci modelul ierarhic pune la dispoziie dou structuri: tipuri de nregistrri i
Unitatea
Unitatea
Unitatea
ierarhia.1Datorit existenei celor
operatori separai i anume:
2 dou structuri, modelul ofer
n
operatori de citiri pentru tipuri de nregistrare;
Secia
1

operatori de citiri pentru ierarhie;


Secia

Secia

Secia

Secia

Secia

operatori
de memorare
pentru
tipuri
2
3
1
2 de nregistrare;
1
operatori de memorare pentru ierarhie.
Pagina 13 din 54

Secia

Secia

Secia

La acest model, n cazul operaiei de actualizare apar o serie de anomalii precum:


la inserare nu se pot introduce noi realizri ale unei nregistrri subordonate dac nu
sunt cunoscui superiorii;
la tergere, dac se terge o realizare rdcin a unei nregistrri, atunci se terg
automat toate nregistrrile subordonate.
Modelul reea
n acest model, datele sunt reprezentate asemntor cu modelul ierarhic, cu deosebire
c fiecare inferior poate avea mai muli superiori. Toate structurile de date, inclusiv legturile
de tipul m la n sunt definite natural, fr a recurge la artificii. n cadrul acestui model,
ntlnim dou structuri:
tipul de nregistrri (care asigur atributele unei entiti);
tipul de set (care asigur legturile ntre tipurile de nregistrare).
Actualizrile n acest caz sunt cele obinuite (adugare, modificare, tergere)
i se pot opera att n tipurile nregistrrilor logice ct i n legturi.

n ceea ce privete interogarea bazei de date, pot apare cereri de genul: atributele unui
singur tip de nregistrri logice, legturi dintre dou tipuri de nregistrri, legturi dintre mai
multe tipuri de nregistrri.

Modelul relaional
Acest model are la baz teoria matematic a relaiilor. Are o singur structur de date:
relaia (tabelul), o submulime a produsului cartezian al unor domenii (un domeniu este o
mulime de valori ale entitilor).
n concluzie, un astfel de model poate fi privit ca o mulime de tabele obinute prin
metoda normalizrii. Normalizarea pleac de la o mulime de atribute (cmpuri de date) i o
mulime de dependene funcionale dintre atribute i conduce la o schem conceptual a
modelului relaional ntr-o form normalizat n care se vor elimina anomalii de actualizri.
La aceste trei modele, se mai adaug modelul orientat obiect, modelul distribuit.
Modelul distribuit de bazeaz pe primele trei modele, dar cu particularitile legate de
Pagina 14 din 54

distribuirea geografic a datelor.ordinea modelelor de date prezentate este i cea istoric, n


ultimii ani utilizndu-se practic numai modelul relaional sau distribuit, datorit avantajelor
fa de celelalte modele.
1.7 Baze de date
Evoluia metodelor i tehnicilor de organizare a datelor a fost determinat de
necesitatea de a avea un acces ct mai rapid i uor la un volum din ce n ce mai mare de
informaiiprecum i de perfecionarea echipamentelor de culegere, memorare, transmitere i
prelucrare a datelor.
Conceptul de baz de dat a aprut n 1969 cu ocazia prezentrii primului raport
CODASYL (n cadrul unei conferine pe probleme de limbaje de gestiune a datelor). Ideea
principal n organizarea datelor se baza pe existena unui fiier de descriere global a datelor
prin care realiza independena programelor fa de date i a datelor fa de programe
(fig.1.10.).
Accesul oricrui utilizator la baza de date se realiza prin intermediul fiierului de
descriere global a datelor. Fiierul da date coninea coleciile da date i legturile dintre ele.
Ulterior, acest concept a fost dezvoltat lund forma de baze de date reea, baze de date
relaionale sau baze de date orientate obiect.
n esen, conceptul de baz de date poate fi definit ca fiind una sau mai multe colecii
de date (K1) aflate n interdependen, mpreun cu descrierea datelor i a relaiilor dintr ele,
(B = {K1, K2, }).

Fig. 1.10. Baz de date n concepia CODASYL

Bazele de date astfel definit trebuie s ndeplineasc urmtoarele condiii:

s asigure o independen sporit a datelor fa de programe i invers;


structura bazei de date trebuie astfel conceput nct s asigure informaiile necesare
i suficiente pentru cerinele de informare i decizie;
s se asigure o redundan minim i controlat a datelor;
Pagina 15 din 54

s permit accesul rapid la informaiile stocate n baz.

Pe plan internaional exist mai multe grupuri specializate n standardizarea


conceptelor ce apar n dezvoltarea bazelor de date, cele mai importante fiind DBTG,
CODASYL, ANSI/X3/SPARC, grupul IBM.
Bazele de date sunt extrem de variate n funcie de criteriile luate n considerare.

Fiier de date
Fiier de descriere
global a datelor

Colecie
de date

Aplicaia 1

Aplicaia 2

Prezentm cteva criterii:


dup orientare: generalizate, specializate;
dup modelul de date: ierarhice, reele, relaionale, orientate obiect;
dup amploarea geografic: locale, distribuite;
dup limbajele utilizate: autonome (limbaje proprii), cu limbaj gazd, mixte.
Arhitectura bazelor de date evideniaz componentele acestora i a fost standardizat
internaional. O astfel de arhitectur general cuprinde urmtoarele componente:
baza de date propriu-zis n care memoreaz colecia de date;
sistemul de gestiune al bazei de date, care este un asamblu de programe (soft) care
realizeaz gestiunea i prelucrarea complex a detelor;
un set de proceduri manuale i automate, precum i reglementrile administrative,
destinate bunei funcionri a ntregului sistem;

Pagina 16 din 54

un dicionar al bazei de date (metabaze de date), ce conine informaii despre date,


structura acestora, elemente de descriere a semanticii, statistici, documentaiei etc.
mijloace hard utilizate (comune, specializate etc.);
personalul implicat: (categorii de utilizatori: finali (neinformaticieni); de specialitate
(administrator), analiti programatori, gestionari, operatori).
Arhitectura bazei de date d o imagine despre modul general de organizare i
funcionare a ei.
Componentele bazei de date pot fi structurate pe trei nivele, n funcie de clasa
utizatorilor implicai;
nivelul logic. Este dat de viziunea programatorului de aplicaii, care realizeaz
programele de aplicaii pentru manipularea datelor i structura logic (subschema)
corespunztoare descrierii datelor aplicaiei;
nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care
realizeaz structura conceptual (schema) corescunztoare descrierii bazei de date i
administreaz componentele bazei de date pentru manipularea datelor;
nivelul fizic. Este dat de viziunea inginerului de sistem care realizeaz structura fizic
corespunztoare descrierii datelor pe suportul fizic.

1.8 Sisteme de gestiune a bazelor de date

1.8.1 Definirea sistemului de gestiune a bazei de date

O baz de date apare ca o colecie de date stocate pe memorii externe adresabile,


folosite de o multitudine de utilizatori. ns o baz de date care nu are asociat un sistem de
gestiune al acesteia, nu are sens, ea nu i atinge obiectivele pentru care a fost creat.
Sistemul de gestiune al bazei de date reprezint software-ul propriu-zis al acesteia
care asigur realizarea urmtoarelor activiti:
definirea structurii bazei de date;
ncrcarea datelor n baza de date;
accesul la date (interogarea, actualizarea);
Pagina 17 din 54

ntreinerea bazei de date (colectarea i refolosirea spaiilor goale, refacerea bazei de


date n cazul unui incident);
reorganizarea bazei de date (restructurarea i modificarea strategiei de acces);
securitatea datelor.
Aadar, sistemul de gestiune al bazei de date apare ca un sistem complex de programe
care asigur interfaa ntre o baz de date i utilizatorii acestuia.
n sens mai larg, sistemul de gestiune a bazei de date este o component activ a
bncilor de date, ce interacioneaz cu toate celelalte componente, cu toate categoriile de
personal implicat n funcionarea bncii de date.

Obiectivele unui sistem de gestiune a bezelor de date

Dup cum este cunoscut, obiectivul informaticii il constituie culegerea, verificarea,


transmiterea, stocarea i prelucrarea automat a datelor cu ajutorul mijloacelor electronice de
calcul, n scopul satisfacerii diferitelor nivele de conducere cu informaii necesare lurii
deciziilor, n condiii de eficien economic sporit.
n aceste condiii, necesitatea acut de informare trebuie satisfcut tinnd seama de o
serie de cerine prin care s se asigure: minimizarea costului procesului de prelucrare a
datelor; creterea vitezei de rspuns la ntrebrile solicitate de utilizatori; adaptarea facil a
sistemului informatic la evoluia n timp a sistemului de informare dispunnd de un minim de
cunotine despre modul de
organizare a lui n general i informatic n special; integritatea i securitatea datelor
etc.
n acest context, sistemul de gestiune al bazei de date i revine o serie de obiective,
cum sunt:
1. Asigurarea independenei datelor. O aplicaie, n general, este dependent de date n
sensul c modificarea structurii de memorare a datelor sau a strategiei de acces la date
afecteaz i aplicaia. Independena datelor fa de aplicaie au nevoie de viziuni diferite ale
acelorai date; administrarea bazei de date trebuie s aib libertatea de a schimba structura de
memorare sau strategia de aceces, ca rspuns la cerinele (schimbri de standarde, prioritile
aplicaiilor, uniti de memorare etc.), fr a modifica aplicaiile existente; baza de date
Pagina 18 din 54

existen, precum i programele de exploatare a ei, care au fost folosite o perioad de timp,
reprezint o investiie major la care nu trebuie s se renune prea uor.
De accea, se impune ca atunci cnd cnd apar noi cerine n cadrul sistemului
informaional, sistemele informatice s poat funciona cu programele i procedurile
existente, iar datele existente s poat fi convertite. Deci, modificrile care se fac la nivel de
structur de date nu trebuie s modifice programele de aplicaie.
Independena datelor trebuie privit din dou puncte de vedere: independena fizic;
independena logic a datelor.
Independena fizic a datelor face ca memoria datelor i tehnicile fizice de memorare
s poat fi modificate fr a determina rescrierea programelor de aplicaie.
Independena logic a datelor se refer la posibilitatea adugrii de noi articole de
date sau extinderea structurii conceptuale (globale), fr ca aceasta s impune rescrierea
programelor existente.

2. Asigurarea unei redundenei minime i controlate a datelor din baza de date. Spre
deosebire de sistemele clasice de prelucrare automat a datelor, stocarea datelor n cazul
bazelor de date se face astfel nct fiecare dat s apar o singur dat. Totui, nu sunt excluse
nici cazurile n care, pentru a realiza performane sporite, referitoare la timpul de acces la
date i rspuns la solicitrile utilizatorilor, s se accepte o anumit redunda a datelor, nc n
acest caz se va institui un control automat asupra ei n vederea asigurrii coerenei datelor din
baz.

3. Asigurarea unor faciliti sporite de utilizare a datelor. Acesta presupune:


folosirea datelor de ctre mai muli utilizatori n diferite scopuri (aplicaii);
accesul ct mai simplu al utilizatorilor la date, fr ca acetia s fie nevoii s
cunoasc structura ntregii baze de date, acest lucru rmnnd n sarcina administratorului
bazei de date;
existena unor limbaje performate de regsire a datelor, care permit exprimarea sub
forma unei conversii, a unor criterii de selecie a datelor i indicarea unor reguli ct mai
generale pentru editarea informaiilor solicitate;

Pagina 19 din 54

spre deosebire de sistemul clasic de prelucrare pe fiiere, unde exist un singur


criteriu de adresare (cel care a stat la baza organizrii fiierului) n cazul bazelor de date,
sistemul de gestiune trebuie s ofere posibilitatea unei acces multicriterial, fr sortri
suplimentare, n timp ce modificarea criteriului la fiierele clasice implic reorganizarea lor;
utilizarea unui limbaj ct mai apropiat de limbajul natural, cu posibilitatea exploatrii
bazei de date n regim conversaional. Acesta ar oferi posibilitatea exploatrii n mod facil a
bazei de date i ctre utilizatorii neinformaticieni.

4. Sporirea gradului de securitate a datelor mpotriva accesului neautorizat


la ele. n condiiile bazei de date, administratorul bazei de date poate prevedea ca
accesul la baza de date s se fac numai prin canale corespunztoare, i poate, totodat,
defini, verificri de autorizare relizate oricnd se ncearc accesul la anumite date;

5. Asigurarea integritii datelor mpotriva unor tergeri intenionate sau


neintenionate, prin intermediul unor proceduri de validare, a unor protocoale de
control concurent i a unor proceduri de refacere a bazei de date dup incidente.
6. Asigurarea partajabilitii datelor. Partajabilitatea datelor trebuie
neleas nu numai sub aspectul asigurrii accesului mai multor utilizatori la aceleai
date, ci i acela al posibilitii dezvoltrii unor aplicaii fr a se modifica structura bazei de
date.

1.8.3 Funciile unui sistem de gestiune a bazei de dat

Pentru realizarea obiectivelor enumerate mai sus, sistemele de gestiune a bazelor de


date dispun de o serie de componente ce permit efectuarea nimeroaselor operaii. n funcie
de natura lor i scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele
o grupare pe funcii (una sau mai multe activiti, relativ omogene, vor realiza o anumit
funcie).
innd seama de multitudinea sarcinilor ce revin unui sistem de gestiune a bazelor de
date i grupnd aceste sarcini pe activiti i apoi pe funcii, se deduc, n final, funciile
Pagina 20 din 54

sistemului de gestiune. innd seama de complexitatea sistemului de gestiune, de facilitile


propuse a fi oferite de acesta, de limbajele utilizate i tipul bazei de date ce urmeaz a fi
gestionate de SGBD, gruparea activitilor pe funcii are un oarecare caracter relativ. n
situaia sistemelor de gestiune ce utilizeaz limbaje gazd de nivel nalt, identificarea i
delimitarea funciilor nu este att de evident. n ciuda acestor particulariti, totui, se pot
deduce cteva funcii cu caracter de generalitate pentru toate sistemele de gestiune a bazei de
date.
Prezentm n continuare cteva astfel de funcii (fig. 1.11.).

DESCRIERE

Fig. 1.11. Funciile unui SGBD

BAZA DE
DATE
DATE

U
TI
LI
Z
A
R
E

DESCRIEREA
Funcia de descriere a datelor permite definirea structurii bazei
de date cu ajutorul
STRUCTURII
SGBD
limbajului de definire. Definirea datelor poate fi realizat la nivel logic,
conceptual
BAZEI
DE DATEi fizic.
MANIPULARE
La nivelul acestei funcii se descriu multitudinea
atributelor (cmpurilor) din cadrul structurii
BIBLIOTECILE
bazei de date, legturile dintre entitile bazei de date sau dintre atributele
aceleai entiti, se
UTILIZATORILOR
definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele
referitoare la asigurarea integritii i confidenialitii datelor, etc. Rezultatul acestei funcii
se va concretiza n schema bazei de date, memorate n cod intern.
Funcia de manipulare a datelor este cea mai complex funcie i
realizeaz urmtoarele activiti:
crearea (ncrcarea) bazei de date;
adugarea de noi nregistrri (tupluri);
suprimarea unor nregistrri;
modificarea valorilor corespunztoare unor cmpuri;
cutarea, sortarea i editarea parial sau total a unei nregistrri virtuale etc.
Funcia de manipulare a datelor se realizeaz prin intermediul limbajului de
manipulare a datelor.
Funcia de utilizare asigur mulimea interfeelor necesare pentru

Pagina 21 din 54

comunicarea tuturor utilizatorilor cu baza de date. n cadrul realizrii acestei funcii,


apar mai multe categorii de utilizatori:
utilizatori liberi sau conversaionali. Acetia reprezint categoria beneficiarilor de
informaii (utilizatori finali) care utilizeaz limbajele de interogare a bazei de date ntr-o
form simplist. Ei apar ca utilizatori neinformaticieni;

utilizatori programatori, care utilizeaz limbajele de manipulare, realiznd proceduri


complexe de exploatare a bazei de date;
administratorul bazei de date apare ca un utilizator special i are rolul hotrtor n
ceea ce privete funcionarea optim a ntregului ansamblu.
Funcia de administrare a bazei de date apare ca o funcie complex i
este de competena administratorului bazei de date.

1.8.4 Clasificarea sistemelor de gestiune a bazelor de date

Clasificarea SGBD se poate realiza din mai multe puncte de vedere.


Din punctul de vedere al sistemelor de calcul pe care se implementeaz pot fi: sisteme
de gestiune pentru calculatoarele mari; sisteme de gestiune pentru minicalculatoare; sisteme
de gestiune pentru microcalculatoare.
n prezent se manifest tendina ca majoritate a sistemelor de gestiune a bazei de date
s fie compatibile pe platforme ct mai largi de sisteme de calcul.
Din punct de vedere al limbajului pe care l utilizeaz, sunt: sisteme cu limbaj gazd;
sisteme cu limbaj autonom.
Sistemele cu limbaj gazd readlizeaz activitile de creare, actualizare i interogare a
bazei de date, utiliznd limbajele de nivel nalt sau extensii ale acestora, proprii sistemului de
calcul pe care se implementeaz baza de date. Avantajul acestor sisteme const n
posibilitile sporite ce le ofer limbajele de nivel nalt n elaborarea unor proceduri
complexe. Ele reprezint dezavantajul c formularea cerinelor nu este att de simplificat ca
n cazul sistemelor cu limbaj autonom.

Pagina 22 din 54

Din punct de vedere al concepiei de organizare a datelor pe care le gestioneaz:


sisteme de gestiune a bazei de date cu structuri ierarhice i reea; sisteme de gestiune a bazei
de date releionale;sisteme de gestiune a bazelor de date orientate obiect.
Din punct de vedere al modului de localizare a bazei de date: sisteme de gestiune a
bazei de date centralizate; sisteme de gestiune a bazei de date distribuite.
Marea majoritate a sistemelor de gestiune aprute n ultima perioad dispun i de o
component de gestiune distribuit a datelor.

1.9. Maini baze de date. Arhitectura mainilor baze de date

Calculatoarele baze de date i mainile baze de date au aprut ca soluii de


mbuntire a lucrului cu bazele de date, de ameliorare a performanelor sistemelor de
gestiune a bazei de date. Ideea de baz o constituie descentralizarea prelucrrii datelor, n
scopul evitrii saturrii memoriei i a procesoarelor calculatorului central. Aceast
descentralizare nseamn transferarea unei pri importante din funciile unui SGBD unui
calculator periferic (unui aa numit calculator backend), realizndu-se astfel deplasarea
algoritmilor de cutare i a celor de actualizare a datelor mai aproape de memoria secundar,
deci de locul unde sunt memorate datele (fig. 1.14.).

Baza de date
Fig.1.14. Calculatorul backen
Calculator
Calculator
general
backend
(master)
(slave)
Calculatorul backend poate fi
un calculator clasic, dar cu un soft specific (de SGBD),
caz n care poart numele de calculator de baz de date sau poate fi o main cu hard
specializat n gestiunea bazelor de date (n efectuarea operaiilor pe o baz de date), situaie n
care este denumit main baze de date.
Prin introducerea unui backend se obin urtoarele avantaje n lucrul cu baze de date:
se transfer n memoria calculatorului central numai datele utile, evitndu-se astfel
saturarea acesteia;
specializarea backend-ului n prelucrri pe baze de date determin performane sporite
n gestionarea bazelor de date, n raport cu ale unui calculator general (cental);
Pagina 23 din 54

posibilitatea unor tehnologii speciale, de nalt performan n realizarea hardului


specializat n lucrul cu baze de date;
utilizarea unor tehnici avansate de prelucrare sau acces la date, precum prelucrarea
paralel.
Exist mai multe variante de utilizare a calculatoarelor backend, dintre care:
utilizarea unui singur calculator baz de date; utilizarea mai multor calculatoare baz
de date; utilizarea unei maini baz de date.

1.Utilizarea unui singur calculator baz de date. n aceast variant, se


recurge la utilizarea unui singur hard convenional (calculatorul baz de date)
drept calculator backend. Acest hard poate fi, de exemplu, un minicalculator. Softul
pentru realizarea funciilor de gestiune a bazei de date este plasat pe calculatorul baz de date.
Softul de interfa (inclusiv cel de comunicaii date) se afl plasat att pe calculatorul central,
ct i pe backend. La nivelul calculatorului central, interfaa programelor de aplicaii cu baza
de date apar n acelai mod ca la lucrul convenional cu baza de date (cu sistemul de gestiune
a bazelor de date opernd pe calculatorul central). Cu ajutorul softului de interfa, se
transmit ctre calculatorul baz de date toate cererile de lucru pe baza de date.
Utlizarea mai multor calculatoare baze de date. Funciile calculatorului
central sunt similare celor pe care la are acesta n varianta anterioar. Deosebirea
dintre aceste dou variante const n faptu c drept calculatorul
backend figureaz mai multe harduri convenionale, ataate la un controler.
Aceast variant de lucru ofer posibilitatea de paralelism n prelucrarea datelor i/sau
accesul la date. Fiecare calculator baz de date poate dispune de software-ul complet pentru
realizarea funciilor de gestiune a bazei de date, avnd ns dreptul s lucreze numai pe
anumite partiii ale bazei de date sau poate deine o parte din software-ul de gestiune a bazei
de date (specializare n realizarea anumitor funcii), caz n care are dreptul s lucreze pe
ntreaga baz de date.

Utilizarea unei maini baz de date. Calculatorul backend este realizat


special pentru efectuarea de operaii pe baza de date. Software-ul mainilor baze de
date conin proceduri de control a modului de efectuare a acestor operaii.
Pagina 24 din 54

Este posibil ca o parte din funciile de gestiune a bazei de date (n special de


nivel nalt, precum: interfaa cu utilizatorul, optimizarea cerinelor de date) s fie
realizate de calculatorul central, mainii baz de date fiindu-I transferate, n acest caz, numai
operaiile de nivel sczut (accesul la date).
Cel mai adesea, o main baz de date realizeaz n totalitate funciile de gestionare a
bazei de date.
Avantajul utilizrii mainilor baz de date rezid n faptul c n acest caz, nu se
manifest nici un fel de restricii n realizarea unor performane sporite de lucru cu baze de
date (mainile baz de date permit utilizarea unor tehnologii mai avansate, a unor arhitecturi
mai bine adaptate cerinelor lucrului cu baze da date, n special pentru prelucrarea i accesul
paralel la date).
Arhitectura mainilor baz de date
n cadrul acestei arhitecturi, pot fi puse n eviden urmtoarele componente de mai
mare importan; gestionarul de comunicaii; gestionarul de cereri; gestionarul memoriei
asociative.
Comunicarea ntre calculatorul central i maina baz de date se realizeaz cu ajutorul
gestionarului de comunicaii, care este localizat att la nivelul mainii baz de date ct i la
nivelul calculatorului central. La nivelul calculatorului central se mai afl plasat i gestionarul
interfeei care are sarcina de a lua n considerare, de a analiza i de a codifica cererile de lucru
cu baza de date.
Ansamblu de mesaje prin care se realizeaz dialogul dintre calculatorul central i
maina baz de date poart numele de protocol de manipulare a datelor.
Gestionarul de cereri reprezint o component important a mainii baz de date, i
are rolul de a descompune cererile de lucru cu baza de date (d cutare i de actualizare a
datelor), n operaii mai simple, pe care apoi, n scopul executrii lor, le ordoneaz ntr-o
secven convenabil. Totodat, gestionarul de cereri execut o serie de sortri i/saz calcule
aritmetice. Tot gestionarul de cereri este i cel care determin care sunt cile de acces cele
mai scumpe ctre date.
Avnd n vedere funciile realizate, gestionarul de cereri poate fi considerat drept
optimizatorul de cereri al mainii bazei de date.

Pagina 25 din 54

CAPITOLUL 2

PROIECTAREA BAZELOR DE DATE

2.1 Etapele de realizare a bazelor de date


Realizarea unei BD presupune parcurgerea urmtoarelor etape:
analiza sistemului (domeniului) economic pentru care se realizeaz BD i a cerinelor
informaionale asociate;
proiectarea structurii BD (schema conceptual, extern i intern);
ncrcarea datelor n BD;
exploatarea i ntreinerea BD.
Coninutul acestor etape, respectiv activitile implicate i modul lor de desfurare
depind, n general, de tipul BD precum i de domeniul pentru care se construiete BD. Exist
ns i o serie de aspecte cu caracter general care nu sunt influenate de specificul unui anumit
domeniu economic-social sau de caracteristicile unui anumit tip de BD.
Realizarea BD presupune utilizarea unor metode i tehnici de analiz (tehnica
normalizrii relaiilor, a diagramelor de dependen riguroas etc.), de programare precum i
a unor instrumente de lucru (limbaje de descriere a datelor LDD, limbaje de manipulare a
datelor LMD etc.

2.2 Analiza sistemului (domeniului) economic i a cerinelor


informainale

Activitatea de analiz presupune:


analiza componentelor i a legturilor (asocierilor) dintre acestea, activitate cunoscut
sub denumirea de analiz structural sau static, n urma creia se obine modelul structural
(static) al sistemului;

Pagina 26 din 54

analiza strilor sistemului i a tranziiilor posibile ntre aceste stri, n raport de


anumite evenimente. Este aa numita analiz temporal (comportamental), prin care se
obine modelul dinamic (sau temporal) al sistemului;
analiza cerinelor informaionale asociate domeniului economic. n urma acestei
activiti se obine modelul funcional (transformaional) al sistemului economic;
integrarea modelelor sistemului economic (structural, dinamic i funcional) n scopul
corelrii i completrii lor.
Pe baza rezultatelor obinute n aceast etap se trece la urmtoarea etap de realizare
a BD i anume la definirea structurii BD.
Pentru BD prerelaionale (ierarhice, reea) i relaionale este deosebit de important
analiza structural a sistemului ntruct aceste tipuri de BD reflect preponderent aspectele
structurale ale sistemului i mai puin cele de dinamic (de comportament) i respectiv de
semantic (de semnificaie) a datelor. Aceste din urm elemente sunt extrem de importante n
cazul BD postrelaionale, n special BDOO, ceea ce face ca analiza temporal i funcional
s fie, pentru BDOO tot att de importante ca i analiza structural.
Analiza sistemului (domeniului) economic se finalizeaz prin integrarea rezultatelor
obinute n cadrul analizei structurale, dinamice i funcionale, mai precis prin integrarea
modelului structural, dinamic i a velui funcional.
Modelul structural i cel dinamic sunt obinute printr-o investigare a sistemului real, a
proprietilor intrinseci, statice i dinamice ale componentelor acestui sistem, proprieti care
sunt independente de aplicaiile care opereaz asupra lor. Modelul funcional este rezultatul
analizei cerinelor informaionale ale utilizatorilor, mai precis a tranzaciilor (aplicaiilor) prin
care pot fi satisfcute aceste cerine.
Perspectiva diferit din care este realizat, analiza explic de ce rezultatele obinute
pot s difere fiind necesar o coordonare, deci o integrare a acestor rezultate.
n cadrul etapei de integrare a modelelor sistemului economic se stabilete n
ce msur modelul structural i cel dinamic satisfac necesitile diferitelor aplicaii,
verificndu-se

completitudinea

(existena

elementelor

informaionale

solocitate)

consistena lor (n ce msur componentele modelelor sunt


necesare i suficiente n raport cu procesele de prelucrare). Se verific dac relaiile
dintre compenentele sistemului sunt stabilite n mod corespunztor, pentru a face posibil
regsirea informaiilor din mai multe entiti. Se determin, de asemenea dac legturile

Pagina 27 din 54

dintre entiti asigur coerena informaiilor, posibilitatea efecturii de actualizri


concomitente asupra datelor redundante.
Se urmrete ca toate elementele informaionale participante la diferitele tranzacii s
fie asignate, ca atribute ale diverselor entiti.
Pe baza acestei analize integrate se efectueaz adugrile i/sau corelrile necesare
ntre modelele sistemului.
n final, se ajunge ca modelul structural i cel dinamic s nu mai fie complet
independent fa de aplicaii, iar modelul funcional s nu mai fie orientat exclusiv pe
aplicaii. Modelarea orientat exclusiv pe aplicaii are dezavantajul nglobrii unor cerine
eterogene, care complic artificial modelul i ofer posibiliti sczute de adaptare a
modelului la noi cerine informaionale. Pe de alt parte, modelarea complet independent de
aplicaii presupune o analiz costisitoare, complex care solicit resurse considerabile,
dezvoltarea aplicaiilor reclamnd, de asemenea, un effort substanial. Integrarea analizei
structurale dinamice i a celei funcionale elimin aceste dezavantaje.

2.3 Proiectarea structurii bazei de date

Modelele obinute n urma analizei sistemului economic sunt modele informaionale,


adic modele ale datelor despre sistem.
O caracteristic esenial a acestor modele (numite i modele conceptuale sau
semantice) este faptul c sunt independente de instrumentul, respectiv SGBD-ul care le face
s devin opereionale.
Este extrem de important ca n etapa de analiz a sistemului economic i a cerinelor
informaionale asociate, activitatea de modelare a datelor s se realizeze independent de un
SGBD. Orientarea pe conceptele proprii unui anumit SGBD prezint numeroase dezavantaze,
dintre care se pot meniona:
schimbarea SGBD-ului impune reproiactarea BD;
conceptele tehnice ale SGBD-ului pot influena negativ activitatea de analiz (i deci
de modelare), prin rectricii impuse de acestea, cate pot ncuraja sau descuraja anumite
reprezentri;
fixnd ca punct de plecare facilitile unui SGBD utilizatorul neinformatician care nu
stpnete acest SGBD nu i poate exprima cerinele n deplin cunotin de cauz.
Pagina 28 din 54

Trecerea la proiectarea structurii BD impune luarea n considerare a SGBD-ului cu


ajutorul cruia va fi implementat i exploatat BD.
Structura BD reprezint, de fapt un model al datelor, exprimat n conceptele specifice
unui anumit SGBD, cea ce face ca proiectarea structurii BD s reprezinte transpunerea
modelelor conceptuale n termenii unui model al datelor suportat de un anumit SGBD (model
ierarhic, reea, relaional, funcional, orientat obiect).
Tendina care se manifest n prezent, de nuanare i mbogire a modelelor da date
cu care opereaz SGBD-urile, face ca trecerea de la etapa de analiz la etapa de proiectare a
structurii BD s fie din ce n ce mai simpl i mai facil de realizat.
Etapa de proiectare a structurii BD const din urmtoarele activiti:
alegera SGBD-ului care s fie utilizat pentru implementarea i exploatarea BD;
proiectarea schemei conceptuale a BD;
proiectarea schemei externe (subschemei) BD;
proiectarea schemei interne (de memorare) a BD.
Aceste activiti sunt puternic influenate de tipul BD care se proiecteaz. n
continuare, vor fi reprezentate numai aspectele generale ale acestor activiti, urmnd ca
elementele specifice s fie prezentate n capitolele dedicate diferitelor tipuri de BD.

2.3.1 Alegerea sistemului de gestiune a bazei de date


Procesul de alegere a unui SGBD presupune realizarea urmtoarelor activiti:
Stabilirea cerinelor utilizatorilor, sub aspectul:
tipurilor de aplicaii;
timpului de rspuns;
confidenialitii datelor;
securitatea datelor;
uurina de utilizare i altele.
Stabilirea cerinelor de ordin tehnic privind realizarea BD, precum:
portabilitatea SGBD (utilizarea SGBD-ului pe diferite sisteme de calcul);
portabilitatea coleciilor de date i a programelor;
facilitile de ncrcare, exploatare i ntreinere a BD ce trebuiesc asigurate
(modalitile de descriere a datelor, tehnicile de organizare i regsire a datelor etc.) i altele.
Stabilirea cerinelor de ordin economic, privind:
Pagina 29 din 54

ncrcarea n bugetul alocat pentru realizarea BD;


timpul necesar pentru pregtirea utilizatorilor i trecerea la exploatarea curent a BD
etc.
Ierarhizarea cerinelor n funcie de importana (prioritatea) acordat fiecrei cerine n
parte.
Analiza comparativ a SGBD-ului disponibile i/sau posibil de achiziionat, n funcie
de caracteristicile pe care le reprezint aceste SGBD-uri.
Stabilirea corespondenei ntre cerinele formulate i caracteristicile diferitelor SGBDuri analizate, pentru a se determina msura n care diferitele SGBD-uri analizate permit
satisfacerea cerinelor formulate.
Alegerea propriu-zis a SGBD-ului care s fie utilizat la realizarea BD.

2.3.2 Proiectarea schemei conceptuale

Proiectarea schemei conceptuale a BD presupune:


stabilirea coleciilor de date i definirea detaliat a coninutului acestora;
determinarea legturilor dintre coleciile da date i a modului de reprezentare a
acestora n cadrul schemei conceptuale;
testarea schemei obinute i revizuirea acesteia, dac este cazul;
descrierea schemei conceptuale n limbajul de descriere a datelor de care dispune
SGBD-ul i ncrcarea acestei descrieri n BD.
n realizarea acestor activiti sunt utilizate, n principal modelul structural i cel
dinamic al sistemului economic.

2.3.3. Proiectarea schemei externe


Schema extern a BD reprezint forma sub care apare schema
conceptual pentru un utilizator oarecare. Programele de aplicaie opereaz asupra
elementelor schemei conceptuale prin intermediul schemei externe, avnd acces doar la acele
elemente care sunt incluse n schema extern.
n general, elementele care compun schema extern sunt similare celor care
Pagina 30 din 54

compun schema conceptual, depinznd totui de SGBD utilizat.


n concepia CODASYL, schema extern reprezint o parte a schemei
conceptuale. Articolele care compun grupurile i nregistrrile din schema
conceptual.
n cazul BDR, schema extern este realizat, n principal cu ajutorul viziunilor
(view-urilor) i al mecanismelor de acordare a drepturilor de acces la BD.

2.3.4. Proiectarea schemei interne


Este cunoscut faptul c schema conceptual ncarc diferitele forme de
structurare a datelor: liniar, arborescent, reea, relaional. Memorarea datelor pe
suportul fizic mbrac numai forma unei structuri liniare. De aceea, la proiectarea schemei
interne a BD se pune problema modului n care s fie liniarizat schema conceptual. Metoda
de liniarizare a schemei conceptuale este specific SGBD-ului utilizat. O serie de SGBD-uri,
de exemplu INGRES fac apel la metodele de memorare a datelor pe suportul de informaie pe
care le folosesc sistemele de operare gazd. Alte SGBD-uri utilizeaz metode proprii de
stocare a datelor pe suportul fizic. Aceste SGBD-uri depind mai puin de sistemele de operare
gazd, ceea ce le imprim o portabilitate sporit, comparativ cu SGBD-urile din prima
categorie.

2.4 ncrcarea datelor n baza de date

Este etape n care se realizeaz popularea masiv cu date a BD. Dei coninutul
acestei etape este relativ simplu, activitatea putnd fi considerat drept o activitate de rutin,
fr dificultatea i creativitatea reclamate de activitile de analiz i proiectare, ncrcarea
datelor n BD reprezint totui o activitate dificil de realizat datorit volumului mare de date
care se transfer n BD de la diferite surse de date.
Popularea cu date a BD trebuie s garanteze ncrcarea numai a datelor corecte i
acesta cu un minim de effort, respestiv cu un minim de parcurgeri ale ciclului: validarecorectare.
Sursele de alimentare cu date a bazei pot fi (fig.2.41.):
Pagina 31 din 54

documente primare;
colecii de date, gestionate prin diverse instrumente informatice, de exemplu sisteme
de gestiune a fiierelor.
Indiferent de sursa datelor, se recomand ca n scopul ncrcrii BD s se constituie
colecii temporare de date (fiiere). n situaia n care datele se preiau din documente este
necesar utilizarea unor colecii temporare pentru a se deplasa activitatea de validare a datelor
ct mai devreme n procesul de ncrcare a datelor n BD. Programele de ncrcare a bazei de
date, scrise n limbajul de manipulare a datelor de care dispune SGBD-ul trebuie s conin
ct mai puine validri ntruct aceste validri ncetinesc mult execuia programelor i
determin apatiia unor puncte albe n BD, de exemplu, legturi neconstituite datorit
inexistenei datelor.
Pe la alt parte, n situaia n care datele se preiau din colecii gestionate prin alte
instrumente informatice este necesar utilizarea coleciilor temporare pentru a se putea adapta
ct mai bine structura acestora colecii la modul de organizare a datelor n BD. Programele de
ncrcare vor fi n acest caz mai simple i mai robuste, asigurnd un transfer mai rapid al
datelor n cadrul BD.

Fig.2.41. ncrcarea datelor n BD

culegere bazei de date


2.5 Exploatarea i ntreinerea

Fis1

Fis2

date
Validare
Corectare
Exploatarea BD de ctre diferii utilizatori finali este realizat n scopul satisfacerii
Conversi
cerinelor de informare ale acestora. SGBD sprijin utilizatorii finali i n exploatarea BD,
oferind o derie de mecanisme i instrumente cum ar fi de exemplu, limbajele de manipulare a
Colecie
datelor care servesc la descrierea
cerinelor de date.
Colecie
temporar
ntreinerea BD reprezint o activitate complex, care se refer la temporar
actualizarea datelor
din cadrul BD i la reproiectarea structurii BD. Activitatea este realizat n principal de ctre
administratorul BD. ntreinerea BD este facilitat, ca i exploatarea BD de ctre SGBD
Programe
de ncrcare
date n BDa (LMD)
utilizat, de exemplu prin intermediul
limbajelor
de manipulatre
datelor, utilitarelor pentru
generarea de ststistici privind activitatea BD etc.
Pagina 32 din 54

Baza de date

Baza de date

n momentul n care efortul de ntrinere a BD este foarte ridicat se poate lua decizia
abandonrii BD i realizrii unei noi BD, care s o nlocuiasc pe cea veche.

Pagina 33 din 54

CAPITOLUL 3
MODELELE BAZEI DE DATE

3.1 Modelul ierarhic i baze de date ierarhice

Simplitatea conceptului de ierarhie i larga sa aplicabilitate n modelarea realitii


nconjurtoare, au fcut ca modelul ierarhic s fie primul model utilizat pentru organizarea
datelor n baze de date. El a fost acceptat cu uurin de programatori, datorit structurii
familiare pe care o utilizeaz.
Modelul ierarhic are ca structur de baz structura arborescent (ierarhia).
Proprietile acestei structuri de date determin caracteristicile i restriciile modelului
ierarhic. n modelul ierarhic fiecrui nod al arborelui i corespunde un tip de nregistrare,
format din unul sau mai multe cmpuri, reprezentnd atribute ce descriu entiti. Descrierea
acestei structuri poate fi fcut utiliznd diagrame de structur (fig.3.1).
Din figur se observ c un nod printe poate avea subordonate mai multe noduri
copil, n timp ce un nod copil poate avea un singur printe, ceea ce
nseamn c relaia printe-copil ntre tipurile de nregistrri va fi 1 la M (unu la
muli) i cea copil-printe va fi de tipul 1 la 1 (unu la unu).
Unui tip de ntegistrare din diagrame de structur a modelului ierarhic i corespunde
n baza de date un anumit numr de realizri. Relaiile ntre realizrile unui cuplu printecopil sunt indicate de arcele care leag cele dou componente ale diagramei. Astfel arcul ce
leag TIP_NREG_1 de TIP_NREG_2 indic faptul c unei realizri a tipului printe
(TIP_NREG_1) I se pot asocia n realizri ale tipului copil (TIP_NREG_2) i c o
realizare a tipului copil e asociat cu o singur realizare a tipului printe. ntre TIP_NREG
_3 i TIP_NREG _4, relaia de 1 la 1 este reciproc. Acestea sunt singurele tipuri de relaii
TIP_NREG_1
permise ntre realizrile tipurilor de nregistrri ale modelului ierarhic.

TIP_NREG_2
TIP_NREG_3
Fig.3.1. Diargam de structur ierarhic

Pagina 34 din 54

TIP_NREG_4

TIP_NREG_4

O baz de date ierarhic poate fi definit ca fiind o mulime ordonat de realizri ale
unui singur tip arbore.
Noiunea de tip de arbore
Un tip arbore const dintr-un singur tip de nregistrare rdcin, la care se adaug o
mulime ordonat alctuit din unul sau mai multe tipuri de subarbori dependeni. Un tip
subarbore const dintr-un tip de nregistrare rdcin i o mulime ordonat alctuit din unul
sau mai multe tipuri de subarbori dependeni. Deci, un tip arbore const dintr-o ierarhie a
tipurilor de nregistrri.

3.2 Modelul reea i baze de date reea

Modelul reea utilizeaz structura reea ca structura da date da baz. Reeaua este un
graf orientat alctuit din noduri conectate prin arce. Nodurile corespund tipurilor de
nregistrare i arcele pointerilor. Modelul reea folosete nregistrrile pentru a reprezanta
entitile i pointerii ntre nregistrri pentru a reprezenta relaii dintre entiti.
Structura de reea (fig.3.2.) seamn cu structura de date arborescent, cu diferena
c un nod dependent (copil) poate avea mai mult dect un singur printe.
A

D
C
Fig.3.2. Structur reea

E
O baz de date reea const dintr-un numr oarecare de tipuri de nregistrri. O
nregistrare e constituit dintr-un numr oarecare de cmpuri (elemente sau agregate). Un

G
Pagina 35 din 54

cmp este cea mai mic unitate de date care are nume. Fiecare cmp are un tip de dat
asociat. Cmpul corespunde unui atribut i nregistrarea unei entiti.

3.3 Modelul relaional al datelor

Modelul relaional al datelor a fost primit cu entuziasm i acceptat aproape fr


rezerve att de specialitii din domeniul bazelor de date ct i de utilizatori, nc de la apariia
primelor articole ale lui Codd E. F., n 1970, prin care erau puse bazele acestui model. Ideea
unui model asamblist al datelor a fost lansat n 1968 de ctre Childs D.F. care a subliniat
faptul c orice structur de date poate fi reprezentat printr-una sau mai multe tabele de date,
n cadrul crora este necesar s existe i informaii de legtur, pentru asigurarea legturilor
ntre tabele. Codd are meritul de a fi articulat i dezvoltat idei cu privire la utilizarea teoriei
apartenenei la ansambluri sub forma unui model coerent de structurare a datelor modelul
relaional. Despre acest model s-a scris mult, astfel nct n prezent, lucrrile consacrate
modelului relaional sunt cu mult mai numeroase dect cele dedicate altor tipuri de modele i
sisteme. Totodat i numrul sistemelor care apar sub eticheta de relaional sau care sunt
prezentate cu ajutorul conceptelor relaionale este foarte mare.
Componentele modelului relaional sunt:
Structura relaional a datelor. n cadrul bazelor de date relaionale,datele sunt
organizate sub forma unor tablouri bidimensionate (tabele) de date, numite relaii. Asocierile
dintre relaii se reprezint explicit prin atribute de legturi. Aceste atribute figureaz ntr-una
din relaiile implicate n asociere (de regul, n cazul legturilor de tip unu la muli) sau
sunt plasate ntr-o relaie distinct, construit special pentru exprimarea legturilor ntre
relaii (n cazul legturilor de tip muli la muli). O baz de date relaional (BDR)
reprezint un ansamblu de relaii, prin care se reprezint att datele ct i legturile dintre
date.
Operatorii modelului relaional. Definesc operaiile care se pot efectua asupra
relaiilor, n scopul realizrii funciilor de prelucrare asupra bazei de date, respectiv
consultarea, inserarea, modificarea i tergerea datelor.
Restriciile de integrare ale modelului relaional. Permit definirea strilor coerente ale
bazei da date.

Pagina 36 din 54

Modelul de date orientat pe obiecte

Bazele de date orientate pe obiecte permit crearea de obiecte complexe, din


componente mai simple, fiecare avnd propriile atribute i propriul comportament. S
considerm, de exemplu, desenarea unui mecanism complex. Acesta este compus din diverse
tipuri de piese. Roile dinate pot fi un exemplu.

Fiecare roat dinat va ti s se deseneze. Mecanismul n ansamblu se va autodesena


cernd tuturor componentelor sale s se autodeseneze i s rezolve i problemele de
vizibilitate. Cam n acelai fel se poate obine i o simulare animat a funcionrii, toate
piesele componente interacionnd.
Obiectivele principale ale sistemelor de gestiune orientate pe obiecte sunt:
Puterea de modelare superioar a datelor. Acesta se realizeaz prin:
deschiderea ctre noi aplicaii: CAO, FAO, cartografie, gestiune de documente,
birotic;
facilitatea sarcinilor de concepie: economie n expansiune, posibilitatea de
generalizare i agregare a relaiilor, flexibilitate n modelare;
evoluie ctre multimedia (sunet, imagini, texte);
Posibilitatea de deducie superioar (ierarhie de clase, motenire);
Ameliorarea interfeei cu utilizatorul;
Luarea n considerare a aspectelor dinamice, integrarea descrierii structurale i
comportamentale.
Un model de date orientat pe obiecte are la baz noiunea de entitate conceptual i
definete un obiect ca o colecie de proprieti care descriu entitatea.
Nu exist un model orientat pe obiecte propriu-zis, care s descrie n mod coerent
structura i funcionarea unei baze de date orientate obiect. Lipsa acestuia s-ar putea datora
mai multor motive. Unul ar putea fi imaturitatea tehnologiei. Altul, mai plauzibil, l constituie
naturaleea dezarmant a tehnologiei orientate pe obiecte.

3.5 Modelul funcional al datelor


Pagina 37 din 54

Baze de date funcionale (BDF) au aprut n 1979 odat cu definirea modelului


funcional al datelor i cu utilizarea unor limbaje fundamentate pe principiile programrii
funcionale ca limbaje de descriere i manipulare a datelor pentru bazele de date. Modelul
fucional al datelor a fost introdus de Shipman avnd la baz noiunea de entitate i funcie.
Pentru fiecare entitate (obiect) de un anumit tip exist o colecie de funcii care sunt
aplicate acelui obiect. Unele funcii ofer o valoare simpl, altele ofer valori multiple. Spre
deosebire de modelul relaional, modelul funcional permite exprimarea proprietilor unor
obiecte att sub forma inor valori explicite ct i ca pointeri spre alte obiecte. n general,
proprietile pot fi obinute prin aplicarea funciilor. Dac rezultatul unei funcii puncteaz
spre alte entiti, atunci se pot aplica asupra acestora din urm alte funcii, rezultnd o
compunere de funcii.
Noiunea de funcie este esenial n cadrul modelului funcioanal al datelor. O BDF
este definit drept un ansamblu de funcii memorate. Funciile sunt utilizate att pentru
definirea atributelor de entitate, deci pentru descrierea entitilor, ct i pentru exprimarea
asocierilor dintre entiti.
ntr-o BDF, atributele de entitate sunt sconsiderate drept funcii care iau valori din
anumite domenii. Legturile dintre entiti sunt reprezentate tot cu ajutorul noiunii
matematice de funcie. Funciile nu trebuie s mapeze ntr-o singur direcie, impunndu-se
prezena unui mecanism explicit de inversare a finciilor. n plus, este necesar i un mecanism
pentru compunerea funciilor prin care s se asigure navigarea n cadrul modelului funcional.
Descrierea datelor i a relaiilor dintre acestea cu ajutorul noiunii de funcie face ca
manipularea datelor s se poat realiza pe baza programrii funcionale, s fie de ci o
manipulare funcional.

Modelul bazei de date deductive

Anii optzeci au marcat apariia i consolidarea unui nou concept n cadrul tehnologiei
bazelor de date: bazele de date inteligente (BDI). Dintre realizrile extrem de convingtoare
din domeniul bazelor de date inteligente pot fi menionate bazele de date deductive (BDDe).

Pagina 38 din 54

BDI trebuie s permit tratarea unei mari cantiti de date, provenind din diferite
surse, sub diferite forme de prezentare (text, imagine, sunet, etc). BDI reclam, deci utilizarea
tehnologiilor multimedia. Trebuie subliniat faptul c diferite medii, precum imaginile sau
sunetele, atunci cnd sunt aduse n form digitizat, consum o mare cantitate de suport de
memorie. De exemplu, o pagin obinuit de caractere memorat sub form de text ASCII
reclam n jur de 2KB de memorie, n timp ce reprezentarea pictural (de tip imagine) a
aceleiai pagini reclam 500KB memorie. n situaia n care o persoan vorbete timp de
dou minute, pentru a citi aceeai pagin, digitizarea vocii reclam, pentru memorare 1MB.
Pe lng suport de memorare, tehnologiile multimedia reclam dispozitive speciale pentru
introducerea-extragerea datelor (cititor optic de caractere, scanner, plotter, sintetizator de
voce etc).
O mare cantitate de date poate fi cu adevrat util numai n condiiile utilizrii unor
metode adecvate de organizare i regsire. Modelul datelor utilizat n cadrul unei BDI irebuie
s ofere datelor o structur flexibil care s permit ncorporarea n BD att a caracteristicilor
structurale, ct i a celor comportamentale ale realitii reflectate informaional. Totodat,
BDI trebuie s poat ncorpora ct mai mult din semantica datelor n scopul transformrii BD
dintr-un ansamblu de date amorf, greu de tratat, ntr-un ansamblu posibil de interpretat drept
rspunsuri la potenialele ntrebri ale utilizatorilor. Transferarea semanticii datelor din cadrul
programelor de aplicaie, evitndu-se duplicarea programelor cu funcionalitatea apropiat.
innd seama de aceste cerine, BDI recurg adesea la utilizarea modelelor orientate obiect
pentru organizarea datelor.
A ti unde se gsete o anumit dat i cum trebuie accesat, reprezint n cadrul BDI
de multe ori o sarcin extrem de dificil.Se tie c n cadrul BD tradiionale pentru regsire se
utilizeaz modelul datelor, un sistem de indexare i un limbaj de cereri, toate avnd un
caracter static, astfel nct actualizarea lor nu se poate realiza dect prin procese externe, la
anumite intervale de timp. n cadrul BDI se utilizeaz frecvent procese de cutare inteligente,
bazate pe inferene care permite determinarea nevoilor informaionale ale utilizatorilor i a
modului n care aceste nevoi pot fi satisfcute. Este posibil ca informaiile necesare unui
anumit utilizator nici s nu fie memorate explicit n BDI, fiind necesar inferenierea,
derivarea lor de ctre SGBDI prin procese de raionament.
Nu numai procesul de cutare a datelor n cadrul BDI poate fi prezentat drept un
proces inteligent, ci i procesele de asigurare a calitii datelor din BDI, de gestionarea
inteligent, ci i procesele de asigurare a calitii datelor din BDI, de gestionare a tranzaciilor
etc. BDI presupun, deci nglobarea n cadrul SGBDI a unor puternice faciliti de raionament
Pagina 39 din 54

automat. Aceste faciliti de infereniere fac ca BDI s dobndeasc un caracter dinamic. BDI
sunt n mod necesar BD active, cu un comportament relativ autonom, care iniiaz aciuni
fr intervenii externe asupra ei.
n sfrit, SGBDI trebuie s ncorporeze o serie de faciliti de asistare a procesului de
modeloare a datelor, precum i faciliti de interaciune cu utilizatorii, att n ceea ce privete
formularea cererilor de date, ct i n explicarea structurii BD i a comportamentului acesteia.
Aceste caracteristici ale BDI le fac extrem de utile n aplicaii de o mare complexitate
n care volumul, structura i dinamica datelor ridic probleme deosebite n utilizarea bazelor
de date convenionale. Caracterul activ al BDI, precum i facilitile de modelare i de
interaciune cu utilizatorii fac ca efortul de realizare i intreinere a BDI s se distribuie mai
echilibrat ntre om i main, dect la BD convenionale.

Modelul bazei de date distribuite

n ultimii ani, bazele de date distribuite (BDD) au devenit un sector important al


prelucrrii informaiei i se poate anticipa c importana lor va crete rapid. Aceast tendin
este motivat att organizarea ct i tehnologic ntruct BDD elimin multe din neajunsurile
BD centralizate i sunt bine venite pentru descentralizarea structurilor organizatorice.
O BDD poate fi definit ca o colecie de date integrate din punct de vedere logic dar
fizic distribuite pe staiile unei reele de calculatoare.
Aceast definiie pune n eviden dou aspecte importante ale BDD:
1. Integrarea logic a coleciilor de date. Din punct de vedere al utilizatorului exist o
singur baz de date cu care utilizatorul interacioneaz la fel ca i n cazul bazelor de date
centralizate (BDC).
2. Distribuirea fizic se refer la partiionarea fizic a bazei de date pe staii ale unei
reele de calculatoare.
Ambele aspecte sunt destul de vagi pentru a realiza deosebirile ntre BDD i un set de
BD locale.

Pagina 40 din 54

CAPITOLUL 4
PROTECIA BAZELOR DE DATE

Protecia bazelor de date const ntr-un set de msuri umane i faciliti oferite de
SGBD prin care se urmrete asigurarea integritii datelor, definit simplu prin corctitudinea
datelor introduse i manipulate, i a securitii datelor, ce vizeaz interzicerea accesului la
date pentru persoanele ce nu au competene n folosirea lor. Aceasta capt o importan
deosebit n contextul extinderii folosirii configuraiilor cu numr mare de utilizatori i cu un
volum mare de date de prelucrat.
n cea ce privete sfera de aciune a metodelor utilizate pentru protecia datelor, pot fi
puse n eviden dou tendine: protecia mpotriva unor defecte sau erori accidentale i
protecia complet care realizeaz n plus fa de prima i protecia contra unor aciuni
violente. Teoretic, toate sistemele ar trbui s asigure protecia complet a datelor. n practic
ns, costul proteciei care crete pe msur ce sunt reduse posibilitile de apariie a unor
erori i de violare a confidenialitii datelor, este cel care dicteaz complexitatea metodelor
de protecie care vor fi utilizate.
Aspectele proteciei bazelor de date ce vor fi prezentate n continuare se bazeaz pe
presupunerea c protecia informaiei la nivelul sistemului de operare este asigurat.

Integritatea datelor

Corespunztor situaiilor care pot genera apariia unor date incorecte n baza de date,
se disting trei aspecte ale asigurrii integritii datelor:
Asigurarea integritii semantice a datelor presupune prevenirea
introducerii unor date incorecte i a efecturii unor prelucrri greite. Dac acest lucru
nu va fi mpiedicat sau semnalat imediat, datele vor fi utilizate n alte prelucrri, declannduse astfel un proces necontrolat de alterare a bazei de date.
Cu ct sesizarea unei erori are loc dup o perioad mai mare, cu att efectele ei vor fi
mai greu sau chiar imposibil de nlturat.
Controlul accesului concurent la date presupune prevenirea obinerii
Pagina 41 din 54

unor rezultate incorecte din execuia concurent a unor prelucrri n regim


multiutilizator. De exemolu, n cazul a dou prelucrri concurente care constau n calcularea
salariului mediu lunar al angajailor unei firme i respectiv, aplicarea unui procent de cretere
de 10% salariilor angajailor, exist riscul ca n calculul salariului mediu s intervin valori
actualizate i valori vechi ale cmpului salariu, rezultatul fiind evident fr semnificaie.
Salvarea i restaurarea bazei de date presupun refacerea bazei de
date afectat de funcionarea anormal sau cderea SGBD sau SO sau ca urmare a
unor defecte hardware.
Securitatea bazei de date

Asigurarea securitii bazei de date presupune interzicerea accesului neautorizat la


date. Acesta se realizeaz cu ajutorul unui set de msuri de protecie umane, software i
hardware.
O prim astfel de msur o poate constitui izolarea sistemului de calcul n ncperi n
care accesul persoanelor s fie permis pe baz de legitimaii sau a altor forme de identificare.
Un alt nivel de protecie l poate constitui stabilirea de parole pe baza crora s fie
permis accesul la resursele sistemului de calcul.
n contextul lucrului efectiv cu baza de date se va verifica dac utilizatorul are dreptul
de a executa un tip de operaie asupra anumitor date SGBD poate ine i un jurnal pentru
urmrirea accesului la baza da date, pe baza cruia pot fi depistate ncercrile de acces
neautorizat la baza da date.
Pentru cererile de I/O transmise sistemului de operare de ctre SGBD sunt posibile
verificrile suplimentare referitoare la utilizarea corect a fiierelor sau a funciilor sistemului
de operare.
Hardware-ul poate s ofere o protecie suplimentar, ca de exemplu transferarea
datelor numai n zona de memorie controlat de SGBD. De asemenea, datele pot fi memorate
pe suportul extern ntr-o form criptat.
n cele ce urmeaz vor fi prezentate urmtoarele mecanisme de asigurare a securitii
bazei de date:
autorizarea i controlul accesului la date;
definirea i utilizarea viziunilor;
Pagina 42 din 54

relizarea de proceduri speciale;


criptarea datelor.
Autorizarea i controlul accesului la date presupune identifivcarea utilizatorilor,
restricionarea accesului la date precum i restricionarea operaiilor ce pot fi executate asupra
datelor accesate.
Cea mai mare parte a SGBD actuale folosesc pentru identificarea utilizatorilor parole.
Fiecare parol va fi asociat cu anumite drepturi de acces la date, ea nefiind deci dect un
prim obstacol pentru cei care ncearc s violeze securitatea bazei de date.
Astfel, pentru fiecare utilizator identificat prin parol, SGBD menine o list a
privilegiilor acestuia. De asemenea, utilizatorii pot fi asociai unor grupuri de utilizatori, la
drepturile fiecruia adugndu-se drepturi stabilite pentru grupul respectiv.
Privilegiile unui utilizator depind de clasa de utilzatori creia i aparine. Astfel,
administratorul bazei de date i de asemenea dreptul de a stabili sau revoca privilegii pentru
ceilali utilizatori. O alt clas de utilizatori, n anumite SGBD, o constituie proprietatea celui
care-l creaz.Implicit, proprietarul unui obiect are toate privilegiile asupra acestuia, putnd s
le transmit sau revoce celorlali utilizatori. Utilizatirii obinuii sunt cei care nu au n
proprietate obiecte i nu au alte privilegii dect cele motenite ca membrii ai unui grup sau
menionate explicit de administratorul bazei de date sau proprietarii de obiecte.
Subiectul n general, este reprezentat de un utilizator sau un grup de utilizatori
identificat printr-o parabol dar poate fi i un terminal, o tranzacie sau o aplicaie. De
asemenea, poate fi o combinaie a acestora, ca de exemplu o anumit persoan care execut o
tranzacie particular la un anumit terminal.
Obiectul este reprezentat de date ce trebuie protejate (nregistrare, relaii, cmpuri,
programe, baze de date). Nivelul la care se asigur protecia este specific fiecrui SGBD.
Restriciile reprezint condiii suplimentare ca trebuie respectate cnd un subiect
execut o aciune asupra unui anumit obiect.
Majoritatea SGBD implementeaz versiuni simplificate ale acestui model. O variant
o constituie meninerea pentru fiecare subiect a unei tabele n care sunt
specificate obiectele i drepturile stabilite pentru subiect asupra lor. O alt posibilitate
const n asocierea pentru fiecare obiect a unei tabele n care pentru fiecare subiect sunt
specificate privilegiile sale n raport cu obiectul respectiv.
Aceste informaii sunt stocate n dicionarul datelor i pentru ele trebuie prevzute
mecanisme de securitate speciale.
Pagina 43 din 54

n general, SGBD permit specificarea privilegiilor prin comenzi speciale ale


limbajului.
Viziunile (schemele externe) sunt partiii logice ale bazei de date. Ele sunt definite
pentru diferii utilizatori n raport cu necesitile acestora de a avea acces la date, putnd fi
utilizate pentru a restriciona accesul la date.
Privilegiile pentru o viziune sunt specificate independent de cele pentru obiecte pe
baza creia este definit. Securitatea datelor este asigurat prin definirea tuturor drepturilor
necesare unui utilizator pentru o viziune i revocarea drepturilor pentru obiectele iniiale.
Aceast modalitate este suficient n cazul n care asupra datelor viziunii este permis
doar operaia de citire. Pentru operaia de modificare trebuie avute n vedere efectele laterale
pe care aceasta la poate produce asupra viziunii acele operaii care pot afecta obiectele
iniiale. n caz contrar, pot s apar erori sau inconsistene n baza de date.
Unele SGBD ofer facilitatea definirii unor proceduri ce vor fi pstrate la nivelul
sistemului ntr-o form precompilat.
n cadrul acestor proceduri vor fi specificate explicit operaiile ce trbuie efectuate
asupra datelor. Utilizatorului i se va acorda dreptul de execuie a cestor proceduri i I se va
interzice accesul la obiectele bazei de date gestionate de procedur.
Criptarea este operaia de codificare a datelor pe timpul stocrii sau al transportului,
astfel nct descifrarea lor s poat fi fcut numai de posesorii de cod.
La nivelul SGBD aceast facilitate poate mbrca dou forme:
existena unor rutine speciale care realizeaz criptarea datelor la cerere sau automat;
existena unor instrumente care permit utilizatorului s-i realizaze propriile rutine de
criptare.
Procesul efectiv de criptare presupune utilizarea unui sistem de cifrare, ale crui
componente sunt:
Algoritmul de criptare realizeaz trnsformarea datelor din forma iniial n forma
criptat (cifrat).
Cheia de criptare valoare ce constituie o intrare a algoritmului de criptare, aleas
dintr-o mulime de chei posibile.
Algoritmul de decriptare realizeaz trnsformarea datelor din forma criptat n forma
iniial.
Cheia de decriptare valoare ce constituie o intrare a algoritmului de decriptare.

Pagina 44 din 54

Un astfel de sistem de cifrare, frecvent utilizat, este Data Encryption Standard (DES)
eliberat de Biroul Naional de Standarde. Acesta are la baz un algoritm de criptare public,
care ns utilizeaz o cheie de criptare privat. Cheia de decriptare este aceeai cu cea de
criptare i algoritmul este standard, este posibil implementarea sa hardware pe un singur
chip, ca o consecin, criptarea i decriptarea pot fi realizate foarte rapid i cu un cost sczut,
n comparaie cu soluia implementrii software a algoritmului.
Algoritmul DES folosete o cheie pe 64 bii pentru un bloc de 64 bii de text iniial,
furniznd ca rezultat un bloc de 64 bii text cifrat. n cadrul unui bloc, caracterele sunt
substituite i rearanjate corespunztor valorii cheii.
Problema securitii datelor se rezum la asigurarea securitii cheii de criptare.
Aceasta trebuie pstrat n condiii de siguran, iar n cazul transmiterii ei pentru a fi utilizat
la decriptarea trebuie utilizate linii speciale, punndu-se recurge chiar la utilizarea potei sau
mesagerilor.
Un alt sistem de cifrare larg rspndit este sistemul de criptare cu cheie public. Cheia
privat va fi reprezentat de o pereche de numere prime foarte mari, produsul acestora
formnd cheia public. Transformarea textului iniial n text cifrat va fi realizat pe baza cheii
publice. Astfel, oricine dorete s transmit un mesaj, va folosi cheia public a utilizatorului
cruia i este adresat mesajul. Decriptarea acestuia va fi posibil doar prin furnizarea cheii
private.
Cunoscnd cheia public a unui utilizator bineneles, c teoretic nu este imposibil
determinarea celor dou numere prime (cheia privat). Practic ns, durata foarte mare a
procesului de determinare a factorilor primi pentru un numr foarte mare, face ca aceast
metod s poat fi utilizat n asigurarea securitii datelor.

CAPITOLUL 5
DESCRIEREA APLICAIEI
5.1 Etapele de realizare a unei aplicaii

Etapele realizrii aplicaiei ce nsoesc lucrarea de fa sunt urmtoarele :

Pagina 45 din 54

Se studiaz problema ce trebuie rezolvat;


Se stabilesc intrrile i ieirile aplicaiei;
datele care trebuiesc introduse de ctre utilizator;
cerinele utilizatorului (ceea ce dorete s obin ca rezultat al aplicaiei);
Se stabilete modul de memorare a acestor date, n memorie (temporare) sau pe disc
n baza de date care se stabilesc structurile.
Se atabilete structura meniului principal al aplicaiei, aceasta trebuind s conin
opiuni pentru toate funciunile sistemului informatic accesibil utilizatorului.
Se stabilete algoritmul general de rezolvare al problemei.
Se mparte pe programe aplicaia, fiecare program al aplicaiei urmnd s rezolve o
parte a problemei.
Se testeaz programul n ct mai multe condiii, incluznd i situaii extreme i se
inltur eventualele erori.
Se elaboreaz documentaia.

5.2 Enunul problemei

Aplicaia care nsoete aceast lucrare rezolv o problem de gestiune a mrfurilor


ntr-un abator, realiznd o eviden a intrrilor i ieirilor, a furnizrilor i clienilor. Aplicaia
este realizat n Access.

5.3. Structura bazei de date

Informaiile necesare acestei aplicaii sunt memorate n baza de date Licenta.mdb care
conine urtoarele tabele: tblActivitate, tblCategoria, tblChitante, tblClienti, tblData,
tblDetFact, tblRap, tblRec, tblFac, tblFurnizor, tblProduse, tblRaport, tblRec, tblSoldFinal,
tblStocInitial.

Relaiile ntre tabelele definite sunt prezentate n figura urmtoare:


Pagina 46 din 54

Tabelul tblFurnizor conine urtoarele cmpuri:

Nr
1
2
3
4
5
6
7
8

Nume cmp
Tip cmp
IDFurniz
Cheie primar
furniz
Text
adresa
Text
locfurn
Text
codpostal
Number
tara
text
telefon
text
fax
text
Tabelul tblFact conine urmtoarele cmpuri:

Semnificaie
Codul fiscal
Nume furnizor
Adresa furnizor
localitate
Codul potal
ara
Numr telefon
Numr fax

Nr
1
2
3

Nume cmp
IDFact
datafact
IDClient

Tip cmp
Cheie primar
data
Number

Semnificaie
Numrul facturii
Codul fiscal
Acelasi nume ca cel din tabelul

4
5
6
7

numdel
serbul
numbul
locelib

text
text
Number
text

tblFurnizor
Nume delegat
Serie buletin
Numr buletin
Localitatea

Pagina 47 din 54

8
9

mijloctrans
text
Mijloc transport
nrmij
text
Numr main
Tabelul tblProduse conine urmtoarele cmpuri:

Nr
1
2
3

Nume cmp
IDProduse
DenProd
IDCateg

4
5
6
7
8

um
tva
pretunitar
Stoc
cantitmin

Tip cmp
Cheie primar
Text
Number

Semnificaie
Cod produs
Denumire produs
Aceiasi intrare ca si in tabelul

Text
Number
Number
Number
Number

tblCAtegorie
Unitate de msur
tva
Pret unitar
Stoc
Cantitate minima ce trebuie sa
existe in stoc

Tabelul tblStocinit conine urmtoarele cmpuri:

Nr
1
2
3
4

Nume cmp
Tip cmp
Semnificaie
IDStocInit
Auto Number
luna
Number
luna
IDProdus
Number
Denumire din tabelul tblProdus
stocinit
Number
Stoc la nceput de lun
Tabelul tblSoldFinal conine urmtoarele cmpuri:

Nr
1
2
3
4

Nume cmp
Tip cmp
IDSoldFinal
Auto Number
luna
Number
IDProdus
Number
soldfinal
Number
Tabelul tblClienti conine urtoarele cmpuri:

Nr
1
2
3
4

Nume cmp
IDClient
client
adresa
locfurn

Semnificaie
luna
Denumire din tabelul tblProdus
Sold la sfrit de lun

Tip cmp
Cheie primar

Semnificaie
Cod fiscal beneficiar format din 7

Text
Text
Text

sau 8 cifre
Nume client
Adresa
localitate

Pagina 48 din 54

5
6
7
8

codpostal
Number
Codul potal
tara
text
ara
telefon
text
Numr telefon
fax
text
Numr fax
Tabelul tblChitante conine urmtoarele cmpuri:

Nr
1
2

Nume cmp
IDChit
IDClient

Tip cmp
Auto number
Number

Semnificaie
Numrul chitanei
Denumire client, aceiasi cu cele

3
4

dataachit
IDFact

Date
Number

din tabelul tblClienti


Data
Numarul facturii care se

Nr
1
2
3

incaseaza,luat din tabelul tblFact


sumachit
Number
Suma achitata
Tabelul tblCategorie conine urmtoarele cmpuri:

Nume cmp
IDCategorie
Categ
desriere

Tip cmp
Number
Text
Memo

Semnificaie
Numar categorie
Denumirea categoriei de produse
Enumerarea produselor care fac

parte din aceasta categorie


Tabelul tblActivitate conine urmtoarele cmpuri:

Nr
1
2

Nr
1
2
3

Nume cmp
Tip cmp
IDActiv
Number
DenActiv
Text
Tabelul tblRaport conine urmtoarele cmpuri:

Nume cmp
IDRaport
DenRaport
IDActiv

Tip cmp
Number
Data
Number

Semnificaie
Numar activitate de productie
Denumire activitate de productie

Semnificaie
Numar raport
Denumire raport
Numar activitate, luat din tabelul
tblActivitate

Tabelul tblRec conine urtoarele cmpuri:

Pagina 49 din 54

Nr
1
2
3
4
5
6
7

Nr
1
2
3

Nr
1
2
3
4

Nr
1
2
3
4

Nume cmp
IDRec
DataRec
nrfact
IDFurniz
nrCVS
dataCVS

Tip cmp
Cheie primar
Data
Number

Semnificaie
Numr recepie
Data recepiei
Acelasi nume ca cel din tabelul

Number

tblFact
Acelasi nume ca cel din tabelul

Number
Data

tblFurnizor
Numar certificat sanitaro-vet
Data certificatului sanitaro-

sursa
text
Tabelul tblData conine urmtoarele cmpuri:

veterinar
Populatie sau alta firma

Nume cmp
Tip cmp
luna
Number
an
Number
data
Text
Tabelul tblDetFact conine urmtoarele cmpuri:

Nume cmp
IDDetFact
IDFact
IDProd

Tip cmp
Auto Number
Number

Semnificaie
Identidicator factur
Acelasi numar ca cel din tabelul

Number

tblFact
Acelasi numar ca cel din tabelul

catitiesita
Number
Tabelul tblDetRec conine urmtoarele cmpuri:

Nume cmp
IDDetRec
IDRec
IDProd
catitintrata
Formulare(Forms)

Semnificaie
Luna
An
Data

tblProdus
Cantitatea ieit

Tip cmp
Auto Number
Number

Semnificaie
Identificator recepie
Acelasi numar ca cel din tabelul

Number

tblRec
Acelasi numar ca cel din tabelul

Number

tblProdus
Cantitatea intrat

Pagina 50 din 54

O baz de date folosete multe procese, iar stocarea datelor este doar unul dintre ele.
O dat ce tabelele exist, este nevoie de o modalitate de a introduce i de le modifica. Cea
mai eficient modalitate de a lucra cu datele este prin formulare. Acestea ofer o interfa
atractiv pentru vizualizarea sau introducerea datelor din tabele. Prin faptul c urmresc
introducerea sau modificarea datelor din tabele dup anumite reguli stricte,impuse de
programator, formularele permit eliminarea erorilor provocate de utilizatori la manipularea
datelor. Un formular conceput n mod corespunztor ajut la introducerea datelor mai rapid i
mai exact.
Aplicaia folosete urmtoarele formulare:

Principalul formular este formularul Switchboard.

Pagina 51 din 54

Din acest meniu se pot introduce date, modifica prin butoanele FORMULARE i
FORMULARE (CONTINUARE). Pot fi introduse activiti, categorii, produse, clieni,
furnizori, produse vndute, chitane, facturi. De exemplu introducerea sau modificarea
produselor se poate realiza folosind urmtorul formular:

Butonul RAPOARTE ne permite obinerea a trei categorii de rapoarte i anume:


RAPOARTE GENERALE, RAPOARTE PE DATA i RAPOARTE PE FIRME; acestea
permit realizarea urmtoarelor situaii: Chitane, Centralizator recepii, Centralizator facturi,
Centralizator facturi pe clieni, Centralizator recepii pe furnizori, Situaii chitane, Furnizori
i Clieni. Toate aceste situaii pot fi vizualizate pe ecran sau pot fi tiprite la imprimant. De

Pagina 52 din 54

asemenea se pot obine diverse raporte pe baza unor criterii de dat (de exemplu, Afiarea
chitanelor dintr-o anumit zi sau pe o anumit perioad, Afiarea centralizatorului de facturi
i de recepii.

Raportul rezultat este de forma:

Pagina 53 din 54

O alt categorie de rapoarte ce se poate obine este pe baza codului fiscal o constituie
Situaia facturilor clienilor i Situaia recepiilor. Urmtorul raport exemplific aceast
funciune.

Pagina 54 din 54

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