You are on page 1of 151

UNIVERSITATEA PETROL-GAZE DIN PLOIETI DEPARTAMENTUL D.I.D.F.R.

Specializarea CONTABILITATE i INFORMATIC DE GESTIUNE

DUMNESCU DOREL

BAZE DE DATE

PLOIETI 2013

CUPRINS
Pagina

Unitatea de nvare nr. 1. ELEMENTE DE TEORIA BAZELOR DE DATE Organizarea datelor. Structuri de date. Relaii ntre date Obiectivele unitii de nvare nr. 1 1.1. Organizarea datelor 1.2. Relaii ntre date 1.3. Structuri de date 1.4. Modele de date 1.5. Rspunsuri i comentarii la testele de autoevaluare 1.6. Lucrare de verificare a cunotinelor

5 5 9 11 17 21 24

Unitatea de nvare nr. 2. ELEMENTE DE TEORIA BAZELOR DE DATE Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD Obiectivele unitii de nvare nr. 2 2.1. Baze de date 2.2. Sisteme de gestiune a bazelor de date 2.3. Funciile unui sistem de gestiune a bazelor de date 2.4. Rspunsuri i comentarii la testele de autoevaluare 2.5. Lucrare de verificare a cunotinelor

27 27 30 33 35 36

Unitatea de nvare nr. 3. PROIECTAREA BAZELOR DE DATE Analiza sistemului informaional existent

Obiectivele unitii de nvare nr. 3 3.1. Etapele de realizare a bazelor de date

39 39

3.2. Analiza sistemului informaional 3.2.1. Analiza structural a sistemului informaional Tehnica diagramelor entitate-asociere 3.2.2. Analiza dinamic (de comportament) a sistemului informaional 3.2.3. Analiza cerinelor informaionale (analiza funcional a sistemului) 3.2.4. Integrarea modelelor sistemului informatic analizat 3.3. Rspunsuri i comentarii la testele de autoevaluare 3.4. Lucrare de verificare a cunotinelor

8 41 49 51 52 53 55

Unitatea de nvare nr. 4. PROIECTAREA BAZELOR DE DATE Proiectarea structurii bazei de date. Implementarea i exploatarea BD Obiectivele unitii de nvare nr. 4 4.1. Proiectarea structurii bazei de date 4.1.1. Alegerea sistemului de gestiune al bazei de date 4.1.2. Proiectarea schemei conceptuale 4.1.3. Proiectarea schemei externe 4.2. n crcarea datelor n baza de date 4.3. Exploatarea i ntreinerea bazei de date 4.4. Rspunsuri i comentarii la testele de autoevaluare 4.5. Lucrare de verificare a cunotinelor

58 58 59 61 66 67 68 70 71

Unitatea de nvare nr. 5. BAZE DE DATE RELAIONALE Modelul relaional al datelor Obiectivele unitii de nvare nr. 5 5.1. Modelul relaional al datelor 5.2. Structura relaional a datelor 5.2.1. Domeniu

75 75 78 78

ii

5.2.2. Relaie 5.2.3. Atribut 5.2.4. Schema unei relaii 5.3. Operatorii modelului relaional 5.4. Restriciile de integritate ale modelului relaional 5.5. Rspunsuri i comentarii la testele de autoevaluare 5.6. Lucrare de verificare a cunotinelor

78 79 81 82 89 93 94

Unitatea de nvare nr. 6. BAZE DE DATE RELAIONALE Proiectarea Bazelor de Date relaionale Obiectivele unitii de nvare nr. 1 6.1. Proiectarea bazelor de date relaionale 6.1.1. Proiectarea schemei conceptuale 6.1.2. Proiectarea schemei externe 6.2. Sisteme de gestiune a bazelor de date relaionale 6.3. Rspunsuri i comentarii la testele de autoevaluare 6.4. Lucrare de verificare a cunotinelor Unitatea de nvare nr. 7 Noiuni introductive privind Bazele de Date Orientate pe Obiecte Obiectivele unitii de nvare nr. 7 7.1. Modelul de date orientat pe obiecte. Concepte de baz 7.2. Baze de date orientate pe obiecte 7.3. Rspunsuri i comentarii la testele de autoevaluare 7.4. Lucrare de verificare a cunotinelor 118 122 123

97 97 97 101 103 105 108

111 112

iii

Unitatea de nvare nr. 8. Noiuni introductive privind Bazele de Date Distribuite Obiectivele unitii de nvare nr. 8 8.1. Baze de date distribuite 8.2. Sistemul de gestiune a bazelor de date distribuite 8.3. Rspunsuri i comentarii la testele de autoevaluare 8.4. Lucrare de verificare a cunotinelor Unitatea de nvare nr. 9. Protecia i securitatea bazelor de date Obiectivele unitii de nvare nr. 9 9.1. Protecia baze de date 9.1.1. Integritatea datelor 9.2. Securitatea bazei de date 9.3. Rspunsuri i comentarii la testele de autoevaluare 9.4. Lucrare de verificare a cunotinelor

125 125 129 132 133

135 135 136 139 143 145

Bibliografie

iv

I. Introducere
I.1. Locul cursului n cadrul programului de studiu Cursul de Baze de Date urmrete formarea la studeni a deprinderilor fundamentale pentru proiectarea de baze de date integrate n sisteme informatice. Ca mediu de dezvoltare de aplicaii a fost ales Sistemul de Gestiune a Bazelor de Date relaionale, MS-Access deoarece este un SGBD simplu, uor de asimilat de ctre studeni, i care include toate mecanismele fundamentale pentru crearea bazelor de date. Toate acestea permit dezvoltarea de aplicaii puternice, profesionale. Un alt aspect avut n vedere a fost dat de accesibilitatea uoar a SGDB-ului MS-Access, acesta fiind parte a pachetului MS-Office. Cursul introduce concepte de informatic de gestiune noi, alturi de cele achiziionate deja de ctre studeni i permite formarea unui mod de gndire algoritmic, util pentru nelegerea disciplinelor informatice ulterioare (Proiectarea Sistemelor Informatice, Sisteme informatice pentru asistarea deciziei sau Auditul sistemelor informatice).

I.2. Obiectivele cursului Obiectivele cursului de Baze de Date sunt urmtoarele: a. competene generale: nelegerea analizei sistemelor informaionale i a identificrii structurilor de date asociate acestora; nelegerea modului de organizare a datelor n colecii de date; nelegerea modelelor de date i a conceptului de baz de date; b. competene specifice: nelegerea modului de proiectare a unei baze de date; nsuirea cunotinelor necesare pentru utilizarea SGBD-ului relaional MS-Access; nsuirea etapelor de proiectare i realizare a aplicaiilor cu baze de date;

nsuirea principiilor de proiectare a interfeei aplicaiilor cu MS-Access (fromulare); nelegerea i implementarea interogrilor; dezvoltarea capacitii de analiz a problemelor i de elaborare de soluii funcionale; deprinderea lucrului n echip.

I.3. Structura cursului

Structura cursului, exprimat sub forma unitilor de nvare, este prezentat mai jos: 1. ELEMENTE DE TEORIA BAZELOR DE DATE. Organizarea datelor. Structuri de date. Relaii ntre date 2. Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD 3. Analiza sistemului informaional existent 4. Proiectarea structurii bazei de date. Implementarea i exploatarea BD 5. Modelul relaional al datelor 6. Proiectarea Bazelor de Date relaionale 7. Noiuni introductive privind bazele de date orientate pe obiecte 8. Noiuni introductive privind bazele de date distribuite 9. Protecia i securitatea bazelor de date

I.4. Resursele complementare n afar de suportul de curs se poate utiliza orice carte care prezint conceptele bazelor de date i informaii privind aplicaia MS-Access. I.5. Evaluarea Evaluarea studenilor se va realiza printr-o apreciere a activitii acestora desfurat la laborator (prezen, activitate, rezultate test de verificare), i printr-un examen oral care include o prob practic, la calculator.

Evaluarea la laborator se va realiza la sfritul perioadei destinate acestei activiti, iar examenul final va avea loc n sesiunea de var. Promovarea examenului este condiionat de asigurarea unei prezene bune la laborator i de cunoaterea SGBD-ului MS-Access astfel nct studentul s poat dezvolta o aplicaie simpl, care s fie funcional. Ponderea celor dou note, n nota final a examenului, este de 40% nota de la laborator i 60% nota la proba de examen final.

Organizarea datelor. Structuri de date. Relaii ntre date

Unitatea de nvare nr. 1.

ELEMENTE DE TEORIA BAZELOR DE DATE


Organizarea datelor. Structuri de date. Relaii ntre date
Cuprins Obiectivele unitii de nvare nr. 1 Pagina

1.1. Organizarea datelor 1.2. Relaii ntre date

1.3. Structuri de date

11

1.4. Modele de date 1.5. Rspunsuri i comentarii la testele de autoevaluare 1.6. Lucrare de verificare a cunotinelor

17

21

24

Rezumat

24

Bibliografie

24

Organizarea datelor. Structuri de date. Relaii ntre date

OBIECTIVELE unitii de nvare nr. 1


Principalele obiective ale unitii de nvare numrul 1 sunt urmtoarele:

Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: conceptul de dat; conceptul de informaie; modalitile de organizare a datelor simple n structuri complexe; relaiile care pot apare ntre date; conceptul de model de date.

1.1. Organizarea datelor


Activitatea uman include o mulime de activiti desfurate pentru a satisface diverse necesiti, fie ele de natur material sau spiritual. Pentru desfurarea acestor activiti s-au dezvoltat societi comerciale i organizaii speciale care, n vederea ndeplinirii scopului propus, necesit manevrarea unui volum ridicat de informaii. Au aprut i s-au dezvoltat sisteme informaionale care ocup astzi un loc important n funcionarea complexului mecanism reprezentat de societatea modern. Un sistem informaional reprezint un ansamblu de tehnici i metode de organizare i manevrare a informaiilor specifice unui anumit domeniu de activita te (ex. circuitul informaiilor ntr-o firm, evidena populaiei, evidena

Organizarea datelor. Structuri de date. Relaii ntre date

crilor ntr-o bibliotec etc.), de la generarea acestora i pn la tergerea sau stocarea lor. Apariia calculatorului electronic a permis automatizarea acestor activiti conducnd la apariia sistemelor informatice. Sistemele informatice sunt sisteme de organizare, culegere, stocare, manevrare i exploatare a informaiilor (respectiv a datelor), specifice unui anumit domeniu de activitate, cu ajutorul calculatorului. Pentru a rezolva problemele legate de manevrarea informaiilor, reprezentate prin intermediul datelor, apare ca o necesitate existena unor modele i mecanisme de organizare a datelor deoarece, de modul n care sunt organizate datele depinde eficiena sistemului informatic. Bazele de date, ca principale componente ale sistemelor informatice, ofer tocmai aceste modele i mecanisme de organizare a datelor. Pentru nceput trebuiesc clarificate noiunile de informaie i date. Datele sunt reprezentri simbolice ale unor fenomene, procese, obiecte etc. susceptibile a fi stocate pe un suport de memorie extern, i care pot fi manevrate folosind diverse mijloace tehnice (exemple de date: cifre, iruri de caractere, imagini, culori etc.). Informaia reprezint sensul pe care oamenii l acord datelor (astfel c aceeai dat poate reprezenta diverse informaii, funcie de cei care o folosesc i de contextul n care este folosit). Organizarea datelor presupune efectuarea urmtoarele activiti: definirea, structurarea, ordonarea i gruparea datelor; stabilirea legturilor (relaiilor) ntre date, ntre elementele unei colecii de date i ntre colecii de date; stocarea datelor pe un suport de stocare electronic, accesibil unui sistem de calcul. Organizarea datelor se realizeaz pentru a permite regsirea lor automat dup anumite criterii i forme.

Organizarea datelor. Structuri de date. Relaii ntre date

Obiectivele urmrite la organizarea datelor sunt: realizarea unui acces rapid la date stocate pe diferite suporturi de memorie; spaiul de memorie intern i extern ocupat s fie ct mai mic (economie de memorie); datele s apar o singur dat n sistem (unicitatea datelor); modul de organizare a datelor s reflecte, pe ct posibil, toate legturile dintre obiectele, fenomenele sau procesele pe care acestea le reprezint; schimbarea structurii datelor i a relaiilor dintre ele s se fac fr a fi necesar modificarea programelor ce le gestioneaz (flexibilitatea datelor). Conceptele de baz utilizate n activitatea de organizare a datelor sunt: entitate, atribut, valoare. Entitatea reprezint un obiect concret sau abstract, caracterizat de proprietile sale. O proprietate a unui obiect poate fi exprimat printr -o pereche (ATRIBUT, VALOARE). Spre exemplu: studentul X este n anul de studii II, unde anul de studii reprezint atributul, iar II reprezint valoarea. Deoarece o entitate este caracterizat de proprietile sale nseamn c ea se poate reprezenta prin mai multe perechi (ATRIBUT, VALOARE). De exemplu, o persoan X poate fi reprezentat prin mulimea de perechi: (NUME, IONESCU), (VRSTA, 25), (SEX, MASCULIN), (PROFESIE, INGINER). Se observ ns c mulimea atributelor NUME, VRSTA, SEX, PROFESIE poate fi asociat cu mai multe persoane care se individualizeaz prin valorile acestor atribute. Rezult c un atribut nu caracterizeaz doar o entitate, ci poate caracteriza o clas de entiti numit entitate grup. Atributele mai sunt cunoscute i sub numele de cmpuri sau caracteristici.

Organizarea datelor. Structuri de date. Relaii ntre date

Un atribut este caracterizat de mulimea valorilor pe care le poate lua. Aceste valori pot fi numerice, alfanumerice (iruri de caractere) etc. n general atributele au valori elementare, dar pot exista i situaii de atribute compuse (formate prin nlnuirea mai multor atribute elementare). Atributele care identific n mod unic o anumit entitate se numesc atribute cheie, celelalte atribute numindu-se atribute non-cheie.

Test de autoevaluare nr. 1


1. Care este diferena ntre date i informaii ? 2. Care sunt obiectivele activitii de organizare a datelor ? 3. Ce activiti presupune organizarea datelor ? 4. Definii conceptele de entitate, atribut, valoare ? 5. Ce caracteristici are atributul cheie ?

Organizarea datelor. Structuri de date. Relaii ntre date

1.2. Relaii ntre date


Datele folosite pentru a descrie diverse procese, fenomene sau obiecte se gsesc n legtur una cu alta. ntre datele care aparin unor tipuri de entiti pot exista dou categorii de legturi: o categorie de legturi definit de nsi apartenena datelor la o anumit entitate; o a doua categorie constituit de legturile dintre entitile de acelai tip sau de tipuri diferite. Exemplu: Fie A mulimea datelor despre salariaii unei societi comerciale. ntre datele acestei mulimi se pot stabili relaii de tipul: - x are aceeai profesie cu y; - x este eful lui y; - x este mai n vrst dect y; - x are salariul mai mare sau egal cu al persoanei y etc. Relaia binar Dac lum exemplul anterior putem spune c relaia are aceeai profesie cu asociaz fiecrui salariat din mulimea A pe toi cei care au aceeai profesie, cu condiia s fac parte tot din A. Astfel, se pune n eviden o mulime de perechi ordonate (x,y) cu proprietatea c elementelor x li se asociaz elementele y prin relaia are aceeai profesie cu. Aceasta se poate reprezenta astfel:
R x, y A A / x, y A si " x

are aceeasi profesie cu

y"

Definiie. Fie A o colecie oarecare de date, nevid. Se numete relaie binar pe A o submulime R a produsului cartezian A x A care ndeplinete o proprietate (o legtur). Numim elemente asociate prin relaia R acele elemente x, y pentru care x, y

R.

Organizarea datelor. Structuri de date. Relaii ntre date

Dac x, y

R spunem c x este asociat lui y prin relaia R sau c

x este n relaia R cu y, fapt care se mai simbolizeaz prin x R y. Proprietile relaiei binare dintre date sunt: 1. Reflexivitate. Spunem c o relaie R, definit pe o mulime de date A, este reflexiv dac pentru Exemplu: x

R , avem x R x.

x, x

R.

2. Simetrie. O relaie R definit pe mulimea de date A spunem c este simetric dac pentru
x, y A, xRy implica yRx .

Exemplu: Fie A mulimea judeelor rii. Dac x este vecin cu y rezult c y este vecin cu x. 3. Asimetrie. Spunem c o relaie R definit pe o mulime de date A este antisimetric dac pentru i y R x, avem x=y. Exemplu: x
y i y x implic x y.

x, y

A cu proprietatea c x R y

4. Tranzitivitate. Fie A o mulime de date. Spunem c o relaie R pe mulimea A este tranzitiv dac pentru proprietatea c x R y i y R z, atunci x R z. Exemplu: Dac produsul x intr n componena lui y i y intr n componena lui z, atunci x intr n componena lui z. Definiie. O relaie binar R, definit pe mulimea de date A se numete relaie de echivalen dac este reflexiv, simetric i tranzitiv. Definiie. Fie A o colecie de date. Dac
x, y A , exist relaia

x, y, z

cu

x R y sau y R x, spunem c relaia dintre elementele coleciei este de ordine total. Definiie. O relaie binar R, definit pe o mulime de date A, care este reflexiv, asimetric i tranzitiv se numete relaie de ordine. Definiie. Relaia binar R, definit pe o mulime de date A, care este reflexiv i tranzitiv se numete relaie de preordine.

10

Organizarea datelor. Structuri de date. Relaii ntre date

1.3. Structuri de date


Prelucrarea i manevrarea eficient a datelor impune folosirea unor structuri de date complexe. Tipurile de structuri de date folosite n sistemele informatice depind de sistemul informaional automatizat i de tehnologiile de prelucrare a datelor folosite. Structura de date este definit ca o colecie de date ntre care sau 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 unei structuri de date pot fi individualizate i identificate prin nume (identificator) sau prin poziia pe care o ocup n structur (n raport cu ordinea specificat). Dup modul de localizare al unei componente, o structur de date poate avea acces direct sau secvenial. Accesul secvenial presupune parcurgerea tuturor componentelor structurii, aflate naintea componentei cutate, n timp ce accesul direct permite localizarea unei componente fr a ine seama de celelalte componente. Elementele care formeaz o structur de date pot fi date elementare sau pot fi ele nsele structuri de date. Operaiile care se pot efectua asupra structurilor de date se refer la valori i/sau la structur. Dintre acestea, cele mai frecvente sunt: crearea datelor (memorarea datelor n forma iniial pe suportul de memorie); consultarea datelor (accesul la componentele structurii n vederea prelucrrii valorilor); actualizarea adugarea, datelor (schimbarea unor strii structurii prin tergerea elemente componente,

modificarea valorii unor elemente, modificarea relaiilor dintre elemente);

11

Organizarea datelor. Structuri de date. Relaii ntre date

sortarea datelor (aranjarea elementelor unei structuri dup anumite criterii); ventilarea structurii (spargerea structurii n dou sau mai multe structuri); fuzionarea (formarea unei noi structuri din dou sau mai multe structuri); copierea; interclasarea etc. Structurile de date care au aceeai organizare i sunt supuse acelorai operaii formeaz un tip de structur de date. Un tip de structur de date este o mulime ordonat de date n tre care s-au stabilit anumite relaii i n care, pentru realizarea operaiilor specifice, se folosete un grup de operatori de baz cu o anumit semantic.

Clasificarea structurilor de date Clasificarea structurilor de date se poate realiza dup mai mul te criterii. Dup tipul componentelor, structurile de date se clasific n: structuri omogene, n care componentele sunt toate de acelai tip; structuri eterogene, n care componentele sunt de tipuri diferite. Dac o structur se poate descompune n structuri de acelai tip atunci avem o structur recursiv. Dup posibilitatea de modificare a structurii, avem: structuri statice, care pe tot parcursul existenei lor au acelai numr de componente n aceeai ordine; structuri dinamice, care permit modificarea numrului de componente sau a poziiei acestora n structur, prin aplicarea operatorilor specifici structurii. Aceste structuri pot avea, teoretic, un numr nelimitat de componente i de aceea se mai numesc structuri cu cardinalitate infinit.

12

Organizarea datelor. Structuri de date. Relaii ntre date

Asemntor, structurile statice se consider c sunt structuri cu cardinalitate finit. Din punct de vedere al nivelului de structurare al datelor avem: structura logic, care se refer la modul de ordonare al datelor i la operatorii folosii pentru tratarea datelor; structura fizic, ce se refer la modul de implementare, de reprezentare efectiv pe un suport de memorie; Principalele tipuri de structuri logice de date sunt: structura punctual; structura liniar; structura arborescent; structura reea; structura relaional. Structura punctual este reprezentat de o entitate grup izolat, care nu are legturi (relaii) cu alte entiti. Structura liniar (lista) este o structur care definete o relaie de ordine total ntre elementele unei colecii de date. Dup cum am vzut mai nainte, o relaie de ordine total este o relaie care exist ntre oricare dou elemente ale unei colecii de date. Structura liniar presupune c fiecare element al structurii conine, pe lng informaiile care trebuiesc manevrate, informaiile necesare pentru a realiza o legtur (relaie) cu alt element al aceleiai structuri. a1 a2 a3 aN

a1

a2

a3

aN

Fig. 1.1. Structuri de date liniare

13

Organizarea datelor. Structuri de date. Relaii ntre date

Acest tip de structur are urmtoarele caracteristici: are un singur element iniial i un singur element terminal; orice element care nu este iniial i nici terminal are un singur succesor imediat; primul element nu are predecesori; ultimul element nu are succesori; dac exist o relaie ntre ultimul i primul element atunci structura este inelar sau circular; relaiile stabilite ntre date sunt de tipul 1 la 1. O structur este arborescent sau ierarhic (descendent) dac ntre elementele sale exist o relaie de ordine. Aceasta nseamn c fiecare element (cu o singur excepie) provine din alt element aflat pe un nivel ierarhic superior.

Fig. 1.2. Structur de date arborescent Structura de date arborescent are urmtoarele caracterisitci: elementele structurii se numesc noduri; exist un element unic, numit rdcina arborelui, care nu are un predecesor; orice nod diferit de rdcin are un predecesor imediat unic; orice nod neterminal are un numr finit de succesori imediai;

14

Organizarea datelor. Structuri de date. Relaii ntre date

relaiile stabilite ntre noduri sunt de tipul 1 la m.

Se numete drum de lungime n-1 de la nodul ai1 la nodul ain succesiunea de


1

noduri

(ai1,

ai2,

...,

ain)

care

pentru

ai , k , k

n, ai ,k

este un succesor imediat al lui aik. Drumul de

lungime maxim constituie nlimea arborelui. Un arbore n care fiecare nod are strict numai doi succesori se numete arbore binar. Structura de tip reea este o structur n care ntre elementele componente exist o relaie de preordine. n acest caz elementele sunt legate unele de altele prin legturi multiple. Caracteristicile acestui tip de structur de date sunt: 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, caz n care apar cicluri n reea. Un ciclu este un drum n care nodul iniial este acelai cu nodul final. ntre elementele reelei se stabilesc legturi de tipul m la n. O reea n care exist doar legturi univoce ntre elemente se numete reea simpl. n caz contrar reeaua spunem c este o reea complex. ntr-o reea simpl nu exist cicluri. Exemple de reele simpl i complex sunt date n figura urmtoare.

b a

c e

e c

Fig. 1.3. Exemple de reele de date

15

Organizarea datelor. Structuri de date. Relaii ntre date

Structura relaional a datelor consider c acestea sunt organizate la nivel logic sub form de tabele (relaii, tablouri) de d ate elementare, ntre care nu sunt legturi explicite. Fiecare linie dintr -un asemenea tabel se numete nregistrare i fiecare element al unei nregistrri ce corespunde unei anumte coloane se numete cmp. Legturile ntre date sunt introduse indirect prin intermediul coloanelor comune la mai multe tabele de date (vezi figura).

NUME Popescu Ionescu Vasilescu

PRENUME Ion Amalia Sergiu

GRUPA 4175 5412 5321

NR. MATRICOL 1245 1452 1385

FACULTATE Popescu Ionescu Vasilescu

SPECIALIZARE NR. MATRICOL Ion 1245 Amalia 1452 Sergiu 1385

Fig. 1.4. Structura relaional a datelor

Test de autoevaluare nr. 2


1. Ce se nelege prin structur de date ? 2. De cte feluri pot fi structurile de date ? 3. Ce fel de operaii se pot efectua asupra unei structuri de date ?

16

Organizarea datelor. Structuri de date. Relaii ntre date

1.4. Modele de date


Prelucrarea datelor cu ajutorul calculatorului presupune folosirea unor modele de date, care modeleaz diferite obiecte i/sau procese reale sau abstracte. Pentru a putea defini un model de date trebuiesc precizate urmtoarele elemente: structura modelului; operatorii care acioneaz asupra structurilor de date folosite; restriciile care se impun pentru meninerea corectitudinii datelor, restricii numite i reguli de integritate. Precizarea structurii modelului presupune descrierea tuturor obiectelor (entitilor) i a caracteristicilor asociate acestora. Acest lucru se realizeaz folosind urmtoarele elemente generice: cmpul; este cel mai mic element al structurii care poate fi accesat pentru prelucrare; grupul simplu sau compus; este un set format din mai multe cmpuri i/sau grupuri; nregistrarea, care este un ansamblu de grupuri i cmpuri, constituind totodat i elementul generic al structurii. Stabilirea relaiilor ntre obiecte se face prin stabilirea relaiilor care exist ntre nregistrrile structurilor folosite la definirea modelului de date respectiv. Structura unui model de date fr valori reprezint un obiect generic. O colecie de date cu valori bine precizate i care respect un model definit reprezint o realizare sau o instan a tipului de obiect precizat. Legturile dintre obiecte (entiti) poart denumirea de asociere. Legturile dintre dou entiti pot fi de trei tipuri: legturi unu la unu . Aceasta nseamn c fiecare obiect are o legtur cu un alt obiect i numai cu unul. De exemplu,

17

Organizarea datelor. Structuri de date. Relaii ntre date

relaia dintre locurile existente ntr-un cmin studenesc i studeni. Un loc poate fi ocupat de un singur student, iar un student are dreptul la un singur loc n cmin. legturi unu la muli. n acest caz un obiect poate avea legturi (relaii) cu mai multe obiecte. De exemplu, un student poate face parte dintr-o singur grup dar o grup poate avea mai muli studeni. legturi de tipul muli la muli. Acest tip de legtur presupune c fiecare obiect poate avea multiple legturi (relaii) cu alte obiecte. Spre exemplu, un produs este cumprat de mai muli clieni i un client poate achiziiona mai multe produse. Operatorii care acioneaz asupra structurilor de date constituie cel de-al doilea element al unui model de date. Aceti operatori pot fi de citire, memorare, modificare, jonciune etc. Regulile de integritate sunt restricii menite s asigure meninerea corectitudinii datelor. Ca exemple de astfel de restricii putem meniona: s nu se permit tergerea valorilor atributelor unui client dac acesta nu a achitat integral factura pentru cumprarea unui produs anume; s nu se permit memorarea valorilor asociate unui produs dac nu se cunoate valoarea unui anumit atribut caracteristic, numit atribut cheie etc. Modelele de date se mpart, n funcie de modul n care se definesc elementele amintite mai sus, n: modele ierarhice sau arborescente, modele reea, modele relaionale, modele orientate obiect etc.

18

Organizarea datelor. Structuri de date. Relaii ntre date

Modelul ierarhic Folosete tipuri de nregistrri care grupeaz toate atributele unei entiti. Pentru a realiza asocierile dintre tipuri de nregistrri acest model folosete o structur de date arborescent (o ierarhie).

Fig. 1.5. Ierarhie de date O ierarhie are un tip de nregistrare definit ca rdcin i mai multe tipuri de nregistrri subordonate, legate sub form de arbore. Fiecare nod din arbore care nu este 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 unu la muli, iar legtura de la un nod inferior la unul superior este de tipul unu la unu. Modelul reea n acest model, datele sunt reprezentate asemntor cu modelul ierarhic, cu deosebirea 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 tipuri de structuri: -tipul de nregistrare ( care asigur atributele unei entiti); -tipul de set (care asigur legturile ntre tipurile de nregistrri). 19

Organizarea datelor. Structuri de date. Relaii ntre date

Modelul relaional Modelul relaional are la baz teoria matematic a relaiilor. El folosete o singur structur de date: relaia (tabelul) care este o submulime a produsului cartezian al unor domenii (un domeniu este reprezentat de o mulime de valori ale entitilor). Modelul relaional 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 anomaliile de actualizri. La cele trei modele de date prezentate mai sus se adaug modelele orientat obiect, distribuit i modelul funcional.

Test de autoevaluare nr. 3


1. Caracterizai modelul arborescent al datelor? 2. Caracterizai modelul relaional al datelor ?

20

Organizarea datelor. Structuri de date. Relaii ntre date

1.5. Rspunsuri la testele de autoevaluare


Test de autoevaluare nr. 1
1. Datele sunt reprezentri simbolice ale unor entiti, procese, fenomene, care au o existen fizic i pot fi pstrate o perioad indefinit de lung, pe un suport de memorie, n timp ce informaia reprezint sensul pe care l acord oamenii anumitor date. Informaia depinde de contextul n care este declarat i utilizat. 2. Obiectivele activitii de organizare a datelor sunt : minimizarea spaiului ocupat de date pe suportul de memorie; asigurarea unui acces ct mai rapid la date ; asigurarea unicitii datelor, astfel nct valorile datelor s fie pstrate o singur dat n colecia de date; modelarea datelor s reflecte relaiile existente n via real ntre entitile unui sistem economic ; asigurarea unei flexibiliti ct mai ridicate a datelor (modificarea structurii datelor i a componenei acestora s nu necesite recompilarea programelor). 3. Organizarea datelor presupune efectuarea urmtoarelor activiti: definirea, structurarea, ordonarea i gruparea datelor; stabilirea legturilor (relaiilor) care se formeaz ntre date simple, ntre elementele unei colecii de date i ntre coleciile de date; stocarea datelor pe un suport de memorie extern, accesibil unui sistem de calcul. 4. Entitatea reprezint un obiect sau un concept abstract, care poate fi definit prin proprietile sale. O proprietate a unui

21

Organizarea datelor. Structuri de date. Relaii ntre date

obiect este dat de o pereche atribut-valoare. Un atribut este o proprietate abstract a unei entiti, care, pentru a fi complet, trebuie s primeasc o valoare. 5. Atributul cheie este atributul, sau combinaia minim de atribute, care identific n mod unic o entitate. Rezult c, atributul cheie trebuie s conin numai valori distincte i trebuie s aib totdeauna o valoare (nu poate fi NULL).

Test de autoevaluare nr. 2


1. O structur de date este o colecie de date ntre care s -au stabilit o serie de relaii ce 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. 2. Structurile de date se pot clasifica astfel: A. Dup tipul datelor care compun structura, avem : structuri omogene, cu date de acelai tip ; eterogene, cu date de tipuri diferite;

B. Dup comportarea n timpul funcionrii programului care le utilizeaz: structuri statice, a cror mrime i compunere nu se pot modifica n timpul executrii programului; structuri dinamice, care pot s i schimbe legturile interne ntre datele structurii, precum i numrul de componente ale structurii. 3. Operaiile care se pot efectua asupra structurilor de date se refer la valori i/sau la structur. Dintre acestea, cele mai frecvente sunt: crearea datelor (memorarea datelor n forma iniial pe suportul de memorie);

22

Organizarea datelor. Structuri de date. Relaii ntre date

consultarea datelor (accesul la componentele structurii n vederea prelucrrii valorilor); actualizarea datelor (schimbarea strii structurii prin adugarea, tergerea unor elemente componente, modificarea valorii unor elemente, modificarea relaiilor dintre elemente); sortarea datelor (aranjarea elementelor unei structuri dup anumite criterii); ventilarea structurii (spargerea structurii n dou sau mai multe structuri); fuzionarea (formarea unei noi structuri din dou sau mai multe structuri); copierea; interclasarea etc.

Test de autoevaluare nr. 3


1. Modelul arborescent al datelor este format din noduri i legturi ntre acestea, organizate toate ntr-o ierarhie. Nodurile conin informaii privind diferite entiti, iar legturile sunt de tipul printe-fiu, de subordonare. Modelul arborescent permite implementarea natural a relaiilor de ordine ierarhice. Fiecare nod din arbore care nu este rdcin sau nod final are un singur nod superior i unul sau mai multe noduri inferioare. 2. Modelul relaional al datelor folosete ca structur de date relaia sau tabelul. Legturile ntre aceste colecii de date se realizeaz implicit, prin intermediul cmpurilor comune la mai multe tabele.

23

Organizarea datelor. Structuri de date. Relaii ntre date

1.6. Lucrare de verificare


Rspundei la urmtoarele ntrebri: Precizai diferenele existente ntre conceptul de dat i cel de informaie. 2. Definii conceptele de sistem informaional i sistem informatic. Ce asemnri i ce diferene exist ntre acestea? 3. 4. 5. Clasificai atributele care pot descrie o entitate. Definii conceptul de structur de date. Exemplificai. Definii conceptul de model de date. Caracteristicile unui model de date.

1.

Rezumat
n aceast unitate de nvare au fost prezentate o serie de concepte privind sistemele informationale i sistemele informatice, aspecte caracteristice acestora i diferene existente ntre ele. Au fost prezentate conceptele de dat i informaie, precum i structurile de date utilizate frecvent n aplicaiile informatice i, n particular, n cele de baze de date. Au mai fost prezentate caracteristicile modelelor de date i o clasificare a acestora.

Bibliografie
1. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005

24

Organizarea datelor. Structuri de date. Relaii ntre date

2. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 4. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 5. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 6. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

25

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

Unitatea de nvare nr. 2

ELEMENTE DE TEORIA BAZELOR DE DATE


Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD
Cuprins Obiectivele unitii de nvare nr. 2 Pagina

27

2.1. Baze de date

27

2.2. Sisteme de gestiune a bazelor de date 2.3. Funciile unui sistem de gestiune a bazelor de date 2.4. Rspunsuri i comentarii la testele de autoevaluare 2.5. Lucrare de verificare a cunotinelor

30

33

35

36

Rezumat

37

Bibliografie

37

26

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

OBIECTIVELE unitii de nvare nr. 2


Principalele obiective ale unitii de nvare numrul 1 sunt urmtoarele:

Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: conceptul de model de date; conceptul de baz de date; rolul i funciile sistemului de gestiune a bazelor de date.

2.1. Baze de date


Conceptul de baz de date a aprut n 1969 cu ocazia prezentrii primului raport CODASYL n cadrul unei conferine pe probleme de limbaje de gestiune a datelor. 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 informaii precum i de perfecionarea echipamentelor de culegere, memorare, transmitere i prelucrare a datelor. Ideea principal a organizrii datelor n baze de date se bazeaz pe existena unei descrieri globale a datelor (metadate), stocat separat de coleciile de date. Prin intermediul acestei descrieri se asigur independena programelor fa de date i a datelor fa de programe. Accesul oricrui utilizator la baza de date se va realiza prin intermediul acestei descrieri globale a datelor.

27

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

n esen, conceptul de baz de date poate fi definit ca fiind una sau mai multe colecii de date (Ki), aflate n interdependen, mpreun cu descrierea datelor i a relaiilor dintre ele, (B={K 1, K2, ...}) O baz de date astfel definit trebuie s ndeplineasc urmtoarele condiii: s asigure o independen complet a datelor fa de programe i invers; structura bazei de date trebuie astfel conceput nct s asigure informaiile necesare i suficiente pentru a satisface cerinele informaionale i de decizie ale utilizatorului; s asigure o redundan minim i controlat a datelor; s permit accesul rapid la informaiile stocate n baz.

Arhitectura general a bazelor de date a fost standardizat internaional i cuprinde urmtoarele elemente componente: baza de date propriu-zis n care se memoreaz colecia de date; sistemul de gestiune al bazei de date, care este un ansamblu de programe ce realizeaz gestiunea i prelucrarea complex a datelor; un set de proceduri manuale i automate, precum i reglementrile administrative, destinate bunei funcionri a ntregului sistem; un dicionar al bazei de date (metabaza de date), ce conine informaii despre date, structura acestora, elemente de descriere a semanticii, statistici, documentaie etc. echipamentele de calcul (hardware) utilizate (comune sau specializate); personalul implicat (categorii de utilizatori: finali sau de specialitate, analiti-programatori, gestionari, operatori).

28

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

Bazele de date sunt extrem de variate, n funcie de criteriile de apreciere considerate. n continuare sunt prezentate cteva criterii de clasificare: dup orientare: generalizate, specializate; dup modelul de date folosit: ierarhice, n reea, relaionale, orientate obiect; dup amploarea geografic: locale, distribuite; dup limbajele utilizate: autonome (cu limbaje proprii), cu limbaj gazd, mixte. Componentele bazei de date pot fi structurate pe trei nivele, n funcie de clasa utilizatorilor implicai: nivelul logic. Este dat de viziunea programatorului de aplicaii, care realizeaz programele de aplicaii pentru manipularea datelor i structura logic (subschema) corespunzroare descrierii datelor aplicaiei; nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care realizeaz structura conceptual (schema) corespunztoare descrierii bazei de date i administreaz componentele bazei de date pentru manipularea datelor; nivelul fizic. Este date de viziunea inginerului de sistem care realizeaz structura fizic corespunzroare descrierii datelor pe suportul fizic.

Testul de autoevaluare nr. 1


1. Care sunt nivelele de structurare ale unei baze de date?

29

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

2.2. Sisteme de gestiune a bazelor de date


O baz de date poate fi privit ca o colecie de date stocate pe supori de memorie extern, adresabile de ctre mai muli utilizatori i care satisface cerinele de informare ale acestora. Sistemul de gestiune al bazei de date reprezint ansamblul de programe (software) care permite ndeplinirea scopului pentru care a fost creat baza de date. El trebuie s asigure realizarea urmtoarelor activiti: definirea structurii bazei de date; ncrcarea bazei de date; accesul la date (interogare, actualizare); 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); protejarea datelor.

ntr-un alt sens, sistemul de gestiune al bazei de date se constituie ntr-o interfa ntre utilizator i baza de date, reprezentnd mecanismul prin intermediul cruia acesta are acces la date. Pentru a-i putea ndeplini funciunile prevzute, unui sistem de gestiune al bazei de date modern i revin o serie de obiective de ndeplinit, cum sunt: 1. Asigurarea independenei datelor. Aceasta presupune c modificarea strategiei de memorare a datelor sau a strategiei de acces la date nu trebuie s afecteze aplicaia care prelucreaz aceste date. Independena datelor fa de aplicaie este necesar deoarece diferite aplicaii au nevoie de viziuni diferite ale acelorai date; administratorul bazei de date trebuie s aib libertatea de a schimba structura de memorare sau strategia de acces, ca rspuns la cerine (schimbri de standarde, prioritile aplicaiilor, schimbarea

30

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

unitilor fizice de memorare etc.), fr a modifica aplicaiile existente; iar baza de date existent, precum i programele de exploatare a ei reprezint o investiie important la care nu trebuie s se renune prea uor. Independena datelor trebuie privit din dou puncte de vedere: independena fizic i independena logic a datelor. Independena fizic a datelor implic modificarea tehnicilor fizice de memorare a datelor fr a necesita 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 impun rescrierea programelor existente. 2. Asigurarea unei redundane minime i controlate a datelor din baza de date. Redundana se refer la numrul de apariii n baza de date a unei date. n general, stocarea datelor n baze de date ar trebui s se fac astfel nct fiecare dat s apar o singur dat. Totui, exist cazuri n care, pentru a reduce timpul de cutare al unei date i implicit timpul de rspuns la solicitrile utilizatorilor, se accept o anumit redundan a datelor. Aceast redundan trebuie controlat automat, prin program, pentru a se asigura coerena datelor din baz. 3. Asigurarea unor faciliti sporite de utilizare a datelor. Aceasta presupune: folosirea datelor de ctre mai muli utilizatori n diferite 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 performante de regsire a datelor, care permit exprimarea sub forma unei conversaii, a unor criterii de selecie a datelor i indicarea unor reguli ct mai generale pentru editarea informaiilor solicitate;

31

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

utilizarea unui limbaj ct mai apropiat de limbajul natural, cu posibilitatea exploatrii bazei de date n regim conversaional, lucru care ar oferi posibilitatea exploatrii bazei de date i de ctre utilizatori neinformaticieni.

4. Sporirea gradului de securitate a datelor mpotriva accesului neautorizat la ele. n condiiile bazelor de date, administratorul bazei de date poate prevedea ca acesul la baza de date s se fac numai prin canalele corespunztoare, i poate, totodat, defini verificri de autorizare, realizate oricnd se ncearc accesul neautorizat 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, cii acela al posibilitii dezvoltrii unor aplicaii fr a se modifica structura bazei de date.

Testul de autoevaluare nr. 2


1. Ce presupune asigurarea independenei datelor?

32

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

2.3. Funciile unui sistem de gestiune a bazelor de date


Sistemele de gestiune a bazelor de date au o multitudine de sarcini de ndeplinit. Grupnd aceste sarcini se obin activitile i apoi funciile sistemului de gestiune al bazei de date. innd seama de complexitatea sistemului de gestiune, de facilitile oferite, de limbajele utilizate i tipul bazei de date ce urmeaz a fi gestionat gruparea activitilor pe funcii poate avea un caracter relativ. n continuare sunt prezentate cteva funcii mai importante ale sistemelor de gestiune a bazelor de date, funcii cu caracter de generalitate, valabile pentru toate tipurile de sisteme de gestiune a bazelor de date. 1. Funcia de descriere a datelor, care permite definirea structurii bazei de date cu ajutorul unui limbaj de definire. Definirea datelor poate fi realizat la nivel logic, conceptual i fizic. La nivelul acestei funcii se descriu multitudinea atributelor (cmpurilor) din cadrul structurii bazei de date, legturile dintre entitile bazei de date sau dintre atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritii i confidenialitii datelor etc. 2. Funcia de manipulare a datelor este cea mai complex funcie i realizeaz urmtoarele activiti: - crearea bazei de date; - ncrcarea bazei de date; - adugarea de noi nregistrri (tupluri); - tergerea unor nregistrri; - modificarea valorilor corespunztoare unor cmpuri; - cutarea, sortarea i editarea parial sau total a unei nregistrri virtuale etc.

33

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

3. Funcia de utilizare asigur mulimea interfeelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date. n cadrul realizrii acestei funcii apar mai multe categorii de utilizatori: utilizatori liberi sau conversaionali. Acetia reprezint categoriea 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 limbaje de manipulare, realiznd proceduri complexe de exploatare a bazei de date; administratorul bazei de date, care este un utilizator special avnd un rol hotrtor n ceea ce privete funcionarea optim a ntregului ansamblu. 4. Funcia de administrare a bazei de date. Aceasta apare ca o funcie complex i este de competena administratorului bazei de date. Prin intermediul acestei funcii, SGBD-ul ofer administratorului bazei de date instrumentele necesare pentru asigurarea accesului controlat la date (pe baz de user i parol), pentru realizarea operaiilor de back-up, diverse statistici privind utilizarea bazei de date i altele.

Testul de autoevaluare nr. 3


1. Ce presupune funcia SGBD-ului de descriere a datelor ?

34

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

2.4. Rspunsuri i comentarii la testele de autoevaluare


Testul de autoevaluare nr. 1 Nivelele de structurare ale unei baze de date , n funcie de clasa utilizatorilor implicai, sunt urmtoarele: nivelul logic. Este dat de viziunea programatorului de aplicaii, care realizeaz programele de aplicaii pentru manipularea datelor i structura logic (subschema) corespunzroare descrierii datelor aplicaiei; nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care realizeaz structura conceptual (schema) corespunztoare descrierii bazei de date i administreaz componentele bazei de date pentru manipularea datelor; nivelul fizic. Este date de viziunea inginerului de sistem care realizeaz structura fizic corespunzroare descrierii datelor pe suportul fizic.

Testul de autoevaluare nr. 2 Asigurarea independenei datelor presupune c modificarea strategiei de memorare a datelor sau a strategiei de acces la date nu trebuie s afecteze aplicaia care prelucreaz aceste date. Independena datelor fa de aplicaie este necesar deoarece diferite aplicaii au nevoie de viziuni diferite ale acelorai date; administratorul bazei de date trebuie s aib libertatea de a schimba structura de memorare sau strategia de acces, ca rspuns la cerine (schimbri de standarde, prioritile aplicaiilor, schimbarea unitilor fizice de memorare etc.), fr a modifica aplicaiile existente; iar baza

35

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

de date existent, precum i programele de exploatare a ei reprezint o investiie important la care nu trebuie s se renune prea uor. Independena datelor trebuie privit din dou puncte de vedere: independena fizic i independena logic a datelor. Independena fizic a datelor implic modificarea tehnicilor fizice de memorare a datelor fr a necesita 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 impun rescrierea programelor existente.

Testul de autoevaluare nr. 3 Funcia de descriere a datelor permite definirea structurii bazei de date cu ajutorul unui limbaj de definire. La nivelul acestei funcii se descriu multitudinea atributelor (cmpurilor) din cadrul structurii bazei de date, legturile dintre entitile bazei de date sau dintre atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritii i confidenialitii datelor etc.

2.5. Lucrare de verificare a cunotinelor


1. Care sunt componentele unui model de date ? 2. De cte tipuri pot fi legturile ntre entiti ? 3. Care este structura unei baze de date ? 4. Care sunt obiectivele pe care trebuie s le ndeplineasc un SGBD ? 5. Caracterizai funcia de manevrare a datelor!

36

Baze de date. Sistem de Gestiune a Bazelor de Date. Funciile unui SGBD

Rezumat
n cadrul acestei uniti de nvare a fost definit conceptul de baz de date, mpreun cu cel de Sistem de Gestiune a Bazelor de Date, ca aplicaie software care permite crearea i exploatarea bazelor de date. Au fost prezentate principalele activiti pe care trebuie s le execute un SGBD precum i funciile de baz ale unui SGBD.

Bibliografie
1. Crstoiu, Dorin, Baze de date relaionale, Editura Printech, Bucureti, 1999 2. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 3. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 5. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 6. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

37

Analiza sistemului informaional existent

Unitatea de nvare nr. 3

PROIECTAREA BAZELOR DE DATE Analiza sistemului informaional existent

Cuprins

Pagina

Obiectivele unitii de nvare nr. 1 3.1. Etapele de realizare a bazelor de date 3.2. Analiza sistemului informaional 3.2.1. Analiza structural a sistemului informaional Tehnica diagramelor entitate-asociere 3.2.2. Analiza dinamic (de comportament) a sistemului informaional 3.2.3. Analiza cerinelor informaionale (analiza funcional a sistemului) 3.2.4. Integrarea modelelor sistemului informatic analizat 3.3. Rspunsuri i comentarii la testele de autoevaluare 3.4. Lucrare de verificare a cunotinelor Rezumat Bibliografie

39 39 8 41

49

51

52

53 55 55 55

38

Analiza sistemului informaional existent

OBIECTIVELE unitii de nvare nr. 3


Principalele obiective ale unitii de nvare numrul 3 sunt urmtoarele: Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: modul de analiz a sistemului informaional, pentru determinarea cerinelor necesare proiectrii bazei de date; etapele realizrii unei baze de date; tehnica diagramelor entitate-asociere pentru modelarea structurii coleciilor de date.

3.1. Etapele de realizare a bazelor de date


Pentru a realiza o baz de date este necesar parcurgerea unor etape care nu depind de tipul bazei de date create. Aceste etape sunt: analiza sistemului informatic pentru care se realizeaz baza de date i a cerinelor informaionale solicitate de acest sistem; proiectarea structurii bazei de date (schema conceptual, extern i intern); ncrcarea datelor n baza de date; exploatarea i ntreinerea bazei de date.

Coninutul acestor etape, respectiv activitile implicate i modul lor de desfurare depind, n general, de tipul bazei de date precum i de domeniul de activitate pentru care se construiete baza de date. Exist ns o serie de aspecte cu caracter general care nu sunt

39

Analiza sistemului informaional existent

influenate de specificul unui anumit domeniu de activitate sau de caracteristicile unui anumit tip de baze de date. n continuare vor fi prezentate aceste aspecte generale, aspectele specifice urmnd a fi tratate atunci cnd vor fi tratate diferite tipuri de baze de date. Realizarea unei baze de date presupune i folosirea 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.) specifice.

3.2. Analiza sistemului informaional


Bazele de date sunt componente importante ale sistemelor informatice. Sistemul informatic este o component a unui sistem economic/social care folosete tehnica de calcul pentru culegerea, stocarea, prelucrarea i transmiterea informaiilor care se folosesc n cadrul sistemului economic/social respectiv. Un sistem informatic implementeaz un sistem informaional, care exist la nivelul unui sistem economic/social. Sistemul informaional realizeaz legtura ntre subsistemul conductor i subsistemul executant, existente n cadrul unui sistem economic/social. Analiza sistemului informatic are ca scop elaborarea unuia sau mai multor modele ale acestui sistem, modele care s permit ulterior elaborarea structurii bazei de date. Aceast analiz presupune urmtoarele etape: analiza componentelor sistemului i a legturilor (asocierilor) dintre acestea, activitate cunoscut i sub numele de analiz static sau structural, n urma cruia se obine modelul structural (static) al sistemului; analiza strilor sistemului i a tranziiilor posibile ntre aceste stri, n raport de anumite evenimente. Aceasta este aa

40

Analiza sistemului informaional existent

numita analiz temporal (comportamental), prin care se obine modelul dinamic (sau temporal) al sistemului; analiza cerinelor informaionale, respectiv a transformrilor de date (a tranzaciilor) din cadrul sistemului prin care sunt satisfcute cerinele informaionale asociate sistemului. n urma acestei activiti se obine modelul funcional al sistemului informatic analizat; integrarea modelelor sistemului informatic (structural, dinamic i funcional) n scopul corelrii i completrii lor.

Testul de autoevaluare nr. 1 1. Care sunt etapele realizrii unei baze de date? 2. Care sunt obiectivele analizei structurale?

3.2.1. Analiza structural a sistemului informaional. Tehnica diagramelor entitate-asociere Analiza structural a sistemului informatic are ca obiectiv evidenierea componentelor (obiectelor) din cadrul sistemului, pentru care urmeaz s se colecteze i s se memoreze date n cadrul bazei de date, precum i evidenierea legturilor dintre aceste componente. Exist astzi mai multe tehnici de analiz structural, cea mai utilizat dintre acestea fiind tehnica entitate -asociere. Aceast

41

Analiza sistemului informaional existent

tehnic permite constituirea modelului structural sub forma unei diagrame entitate-asociere prin parcurgerea urmtorilor pai: - identificarea componentelor (entitilor) din cadrul sistemului informatic analizat; - identificarea asocierilor dintre entiti i calificarea acestora; - identificarea atributelor aferente entitilor i asocierilor dintre entiti; - stabilirea atributelor de identificare a entitilor. Tehnica diagramelor entitate-asociere a cunoscut ma multe forme de reprezentare. n continuare vom prezenta diagramele DER n forma definit de Chen. Aceasta este mai sugestiv n ceea ce privete nelegerea structurii entitilor care compun un sistem dar este mai greu de utilizat practic. Ulterior se va prezenta o form a diagramelor entitate-relaie care sunt mai uor de folosit n aplicaii practice dar pentru nelegerea crora trebuie ceva mai mult efort.

Identificarea componentelor sistemului informatic Componentele sistemului informatic sunt entiti (obiecte ) care au anumite proprieti i care fac schimb de informaii cu alte entiti ale sistemului. Ele sunt reprezentate n cadrul diagramei entitateasociere prin blocuri dreptunghiulare. Considernd activitatea dintr-o instituie de nvmnt superior se pot identifica urmtoarele entiti: - cadre didactice - studeni - personal didactic auxiliar - personal administrativ - serviciul administrativ - serviciul personal - serviciul contabilitate - serviciul social (CADRE_DIDACTICE); (STUDENI); (PERS.DID.AUX.); (PERS.ADMIN.); (SERV.ADMIN.); (SERV.PERS.); (SERV.CONTAB.); (SERV.SOCIAL).

42

Analiza sistemului informaional existent

Fiecare entitate poate prezenta n cadrul sistemului mai multe instane (realizri). n urma acestei etape se elaboreaz o prim form a diagramei entitate-asociere, form prezentat n figura urmtoare.

Fig. 3.1. Reprezentarea entitilor n diagrama entitate-asociere Identificarea asocierilor dintre entiti i calificarea acestora

Componentele unui sistem nu sunt dect arareori izolate, ntre acestea stabilindu-se legturi (asocieri). Spre exemplu, ntre entitile STUDENI i SERV.SOCIAL exist o asociere, n sensul c serviciul social pune la dispoziia studenilor locuri de cazare n cmin. Legturile dintre entiti sunt reprezentate prin arce neorientate, care fac legtura ntre nodurile ce reprezint entitile participante la asociere. Semnificaia legturii se exprim printr-un nume acordat legturii i se reprezint cu ajutorul unui nod etichet n form de romb, plasat ca nod intermediar ntre entiti. Tipul (forma) legturii se exprim cu ajutorul cardinalitii. Cardinalitatea unei legturi reprezint numrul minim i numrul maxim de realizri (instane) de entitate care pot fi asoci ate cu o realizare a partenerului de asociere. Cardinalitatea se exprim prin

43

Analiza sistemului informaional existent

perechi de numere, cte o pereche pentru fiecare entitate din cadrul legturii.

Fig. 3.2. Reprezentarea unei legturi (asocieri) ntre dou entiti cu menionarea semnificaiei i a cardinalitii

n figura de mai sus este prezentat modul de reprezentare al unei legturi cu menionarea semnificaiei legturii i a cardinalitii acesteia. Cardinalitatea legturii de mai sus se poate interpreta astfel: Serviciul social este obligat s asigure, n limita locurilor disponibile n cmine, locuri de cazare pentru toi studenii care solicit acest lucru chiar dac este vorba doar de un singur student; Pot solicita locuri de cazare n cmine un numr de studeni pn la numrul maxim de studeni care locuiesc n alte localiti, fiind posibil i situaia n care nici un student nu solicit cazare n cmin. Legturile (asocierile) ntre entiti pot fi de mai multe tipuri i anume: 1. Dup cardinalitatea asocierii putem avea dou situaii, funcie de gradul asocierii, respectiv obligativitatea participrii entitilor la asociere. Dup gradul asocierii (valorile maxime ale cardinaliti) avem: asocieri de tipul unu la unu. Aceasta nseamn c cel puin o realizare a fiecrei entiti trebuie s participe la asociere.

44

Analiza sistemului informaional existent

asocieri de tipul unu la muli. n acest caz o realizare a unei entiti are legturi cu mai multe realizri ale celeilalte entiti care particip la asociere. asocieri de tipul muli la muli, caz n care mai multe realizri ale unei entiti participante la legtur se asociez cu mai multe realizri ale celeilalte entiti.

Dup obligativitatea participrii entitilor la asociere (minimele cardinalitii) avem: asocieri pariale; la care entitile nu sunt obligate s participe (deci pot avea valoarea minim a cardinalitii zero); asocieri totale sau complete; cnd cel puin o realizare a fiecrei entiti trebuie s participe la sociere. 2. Dup numrul de entiti distincte care particip la asociere avem: asocieri binare; care se realizeaz ntre dou entiti distincte; asocieri recursive; asocieri ale entitilor cu ele nsele; asocieri complexe; asocieri realizate ntre mai mult de dou entiti distincte. 3. Dup semnificaia lor asocierile se pot clasifica ntr-o multitudine de categorii datorit semnificaiilor extrem de variate n cadrul unui anumit sistem informatic. n cadrul analizei structurale este necesar s fie identificate i analizate asocierile dintre entitile aflate pe nivele de abstractizare diferite, mai precis asocierile de tipul este un i este coninut n. Asocierile de tipul este un Entitile puse n eviden n cadrul primei etape de analiz structural pot prezenta diferite grade de abstractizare, deci se pot plasa pe diferite nivele n cadrul schemei de clasificare a entitilor. n acest sens exist entiti generice (clase), obinute printr-un

45

Analiza sistemului informaional existent

proces de generalizare a entitilor cu anumite caracteristici comune, numite subclase. De exemplu, membrii unei universiti reprezint o entitate clas, care genereaz entitile STUDENI i ANGAJAI, ultima genernd, la rndul ei, entitile CADRE DIDACTICE, PERS.DID.AUXILIAR i PERS.ADMINISTRATIV. Asocierea de tip este un se prezint ntotdeauna ca o asociere parial de tip unu la unu. Asocierile de tipul este coninut n Asocierile de tipul este coninut n exprim un proces de agregare, de grupare a mai multor entiti ntr-o entitate de nivel superior. Spre deosebire de tipul este un, asocierea este coninut n este calificat, dup cardinalitate drept asociere de tip unu la muli sau muli la muli, total sau parial. Identificarea atributelor aferente entitilor i asocierilor dintre entiti Atributele exprim caracteristici, proprieti ale compo nentelor sistemului informatic analizat sau ale asocierilor (legturilor) dintre aceste componente. n cadrul diagramei entitate-asociere, atributele sunt figurate prin blocuri ovale, legate de entitatea, respectiv asocierea pe care o descriu ntr-un mod specific, n funcie de tipul atributelor. Ex.:

Atributele pot fi de mai multe tipuri, dup cum urmeaz:

46

Analiza sistemului informaional existent

1.

Atribut compus (bloc). Acesta este un atribut format din cel puin dou alte atribute. Valoarea sa este reprezentat de valorile atributelor componente. Ex.:

2. Atribut calculat (dedus). Acesta reprezint un atribut a crui valoare nu este cunoscut direct, ci se calculeaz pe baza valorilor altor atribute (de exemplu, atributul VALOARE, calculat ca produs ntre CANTITATE i PRE). 3. Atribut simplu; atribut care nu este nici compus i nici calculat. Valorile sale sunt valori atomice, adic nu mai pot fi descompuse n elemente componente. 4. Atribut repetitiv multivaloare. Acesta este un atribut format din mai multe valori care se repet de mai multe ori pentru aceeai entitate. De exemplu : entitatea STUDENT poate fi caracterizat de atributele simple NUME i GRUP precum i de atributul repetitiv DISCIPLIN, NOT care este identic pentru toate disciplinele audiate de un student. 5. Atribut de identificare (cheie). Reprezint un atribut care se caracterizeaz prin unicitatea valorii sale pentru fiecare instan a entitii creia i aparine. Atributele de identificare au un rol aparte n organizarea i manipularea informaiilor din baza de date. Stabilirea atributelor de identificare pentru entitile din cadrul sistemului informatic analizat

47

Analiza sistemului informaional existent

necesit examinarea mai nti a capacitii fiecrui atribut de a se constitui drept atribut de identificare (cheie). Un atribut poate fi atribut de identificare dac ndeplinete o serie de cerine i anume: ofer o identificare unic a realizrilor (instanelor) de entitate; posed o semnificaie clar; este uor de utilizat; este scurt.

Pentru o aceeai entitate pot exista mai multe atribute care pot servi drept atribute de identificare, adic pot exista mai multe chei candidate. Selectarea unuia dintre candidaii cheie drept atribut de identificare a entitii (cheie) se realizeaz astfel: 1. Se determin atributele care potenial pot constitui atribute de identificare a entitii, deci care respect cerinele menionate anterior i care poart numele de candidai cheie. Dac nu exist astfel de atribute se introduce un nou atribut (sau grup de atribute) drept candidat cheie. 2. Dac exist un singur candidat cheie, se va selecta acesta drept atribut de identificare a entitii. 3. Dac exist mai muli candidai cheie, se selecteaz unul, cu ajutorul unor euristici, precum: - se prefer atributele ale cror valori sunt mai puin volatile; - se prefer atributele ale cror valori sunt mai scurte.

Testul de autoevaluare nr. 2 Precizai principalele tipuri de atribute existente.

48

Analiza sistemului informaional existent

3.2.2. Analiza dinamic (de comportament) a sistemului informaional Analiza dinamic are drept scop explicarea comportamentului elementelor componente ale sistemului informatic analizat. n urma acestei analize se obine modelul dinamic al sistemului analizat. Construirea modelului dinamic presupune urmtoarele etape: identificarea strilor n care se pot afla componentele sistemului; identificarea evenimentelor care determin trecerea unei componente dintr-o stare n alta; stabilirea succesiunii (fluxului) de evenimente i construirea unei diagrame care s reflecte tranziiile de stare pentru componentele sistemului (diagram de flux a evenimentelor). La realizare diagramei de flux a evenimentelor este necesar s se in cont de restriciile dinamice ale sistemului care servesc la identificarea tranziiilor admisibile ntre dou stri.

Fig. 3.3. Strile unei resurse de producie (utilaj, secie etc.) i tranziiile ntre aceste stri n figura de mai sus sunt prezentate strile posibile ale unei resurse de producie generice. Particularizarea acestui model pentru un depozit de materii prime este prezentat n figura urmtoare.

49

Analiza sistemului informaional existent

Fig. 3.4. Modelul dinamic al unui depozit de materii prime privit ca resurs de producie

Testul de autoevaluare nr. 3 1. Care este obiectivul analizei dinamice ?

3.2.3. Analiza cerinelor informaionale (analiza funcional a sistemului) Analiza cerinelor informaionale are drept scop determinarea transformrilor de date care se produc n cadrul sistemului informatic analizat, n scopul satisfacerii cerinelor informaionale aferente acestuia. Transformrile de date (tranzaciile) se vor reprezenta sub

50

Analiza sistemului informaional existent

forme unei diagrame de flux a prelucrrilor (modelul funcional), n care nodurile reflect procesele de prelucrare informaional, iar arcele reflect fluxurile informaionale. n cadrul analizei funcionale accentul se deplaseaz de la realitatea analizat ctre cerinele informaionale ale utilizatorilor, cerine a cror satisfacere constituie obiectivul realizrii bazei de date. Construirea modelului funcional presupune parcurgerea urmtoarelor etape: identificarea datelor de intrare i a datelor de ieire din sistem; construirea diagramelor de flux, prin care sunt reflectate legturile procedurale dintre intrri i ieiri; identificarea restriciilor;

precizarea criteriilor de optimizare. n figura urmtoare sunt prezentate dou modele funcionale pariale, primul se refer la cutarea preului unui articol dintr -un nomenclator de articole, iar al doilea la tranzaciile (transformrile de date) care se fac pentru a opera o modificare ntr-un cont bancar al unui client.

Fig. 3.5. Modele funcionale pariale

51

Analiza sistemului informaional existent

Testul de autoevaluare nr. 4 1. Care este obiectivul analizei funcionale ?

3.2.4. Integrarea modelelor sistemului informaional analizat Analiza sistemului informatic se finalizeaz prin integrarea modelelor structural, dinamic i a celui funcional. Modelul structural i cel dinamic sunt obinute prin investigarea 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 lor. n cadrul etapei de integrare a modelelor sistemului se stabilete n ce msur modelul structural i cel dinamic satisfac necesitile diferitelor aplicaii, verificndu-se completitudinea (existena

52

Analiza sistemului informaional existent

elementelor informaionale solicitate) i consistena lor (n ce msur componentele modelelor sunt necesare i suficiente n raport cu procesele de prelucrare). Se verific dac relaiile dintre componentele sistemului sunt stabilite n mod corespunztor, pentru a face posibil regsirea informaiilor din mai multe entiti. Se determin, de asemenea, dac legturile 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 diferitelor 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 independente de aplicaii, iar modelul funcional s nu mai fie orientat exclusiv pe aplicaii.

3.3. Rspunsuri i comentarii la testele de autoevaluare


Testul de autoevaluare nr. 1 1. Etapele realizrii unei baze de date sunt: analiza sistemului informatic pentru care se realizeaz baza de date i a cerinelor informaionale solicitate de acest sistem; proiectarea structurii bazei de date (schema conceptual, extern i intern); ncrcarea datelor n baza de date; exploatarea i ntreinerea bazei de date. Obiectivul analizei structurale const n identificarea

2.

componentelor sistemului i a legturilor (asocierilor) dintre acestea,

53

Analiza sistemului informaional existent

activitate n urma creia se obine modelul structural (static) al sistemului;

Testul de autoevaluare nr. 2 Atributele pot fi : 1. Atribut compus (bloc). Acesta este un atribut format din cel puin dou alte atribute. Valoarea sa este reprezentat de valorile atributelor componente. Ex.: 2. Atribut calculat (dedus). Acesta reprezint un atribut a crui valoare nu este cunoscut direct, ci se calculeaz pe baza valorilor altor atribute (de exemplu, atributul VALOARE, calculat ca produs ntre CANTITATE i PRE). 3. Atribut simplu; atribut care nu este nici compus i nici calculat. Valorile sale sunt valori atomice, adic nu mai pot fi descompuse n elemente componente. 4. Atribut repetitiv multivaloare. Acesta este un atribut format din mai multe valori care se repet de mai multe ori pentru aceeai entitate. De exemplu : entitatea STUDENT poate fi caracterizat de atributele simple NUME i GRUP precum i de atributul repetitiv DISCIPLIN, NOT care este identic pentru toate disciplinele audiate de un student. 5. Atribut de identificare (cheie). Reprezint un atribut care se caracterizeaz prin unicitatea valorii sale pentru fiecare instan a entitii creia i aparine.

Testul de autoevaluare nr. 3 Analiza dinamic are drept scop explicarea comportamentului elementelor componente ale sistemului informatic analizat. n urma acestei analize se obine modelul dinamic al sistemului analizat.

54

Analiza sistemului informaional existent

Testul de autoevaluare nr. 4 Analiza funcional are drept scop determinarea transformrilor de date care se produc n cadrul sistemului informatic analizat, n scopul satisfacerii cerinelor informaionale aferente acestuia. Transformrile de date (tranzaciile) se vor reprezenta sub forme unei diagrame de flux a prelucrrilor (modelul funcional), n care nodurile reflect procesele de prelucrare informaional, iar arcele reflect fluxurile informaionale.

3.4. Lucrare de verificare a cunotinelor


1. Explicai tehnica diagramelor entitate-asociere. 2. Definii cardinalitatea unei legturi. 3. Precizai tipurile de legturi posibile ntre entiti. 4. Cum se clasific atributele unei entiti ? 5. Prin ce se caracterizeaz atributul cheie ?

Rezumat
n aceast unitate de nvare au fost prezentate etapele de analiz a sistemelor informaionale mpreun cu tehnica diagramelor entitate-asociere.

Bibliografie
1. Crstoiu, Dorin, Baze de date relaionale, Editura Printech, Bucureti, 1999 2. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005

55

Analiza sistemului informaional existent

3. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 5. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 6. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

56

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Unitatea de nvare nr. 4

PROIECTAREA BAZELOR DE DATE Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Cuprins Obiectivele unitii de nvare nr. 4

Pagina

58

4.1. Proiectarea structurii bazei de date

58

4.1.1. Alegerea sistemului de gestiune al bazei de date 59

4.1.2. Proiectarea schemei conceptuale

61

4.1.3. Proiectarea schemei externe 4.2. n crcarea datelor n baza de date 4.3. Exploatarea i ntreinerea bazei de date 4.4. Rspunsuri i comentarii la testele de autoevaluare 4.5. Lucrare de verificare a cunotinelor

66

67

68

70

71

Rezumat

72

Bibliografie

73

57

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

OBIECTIVELE unitii de nvare nr. 4


Principalele obiective ale unitii de nvare numrul 4 sunt urmtoarele:

Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: modul de proiectare a structurii unei baze de date; un set minim de principii care se folosesc la proiectarea unei baze de date.

4.1. Proiectarea structurii bazei de date


Modelele obinute n urma analizei sistemului informaional sunt modele ale datelor despre sistem. O caracteristic esenial a acestor modele (denumite i modele conceptuale sau semantice) este faptul c sunt independente de instrumentul, respectiv SGBD-ul prin intermediul cruia devin operaionale. Etapa de analiz a sistemului informatic este important s se realizeze independent de un SGBD specificat. Orientarea pe conceptele proprii unui anumit SGBD prezint numeroase

dezavantaje cum sunt: schimbarea SGBD-ului impune reproiectarea Bazei de Date; conceptele tehnice ale SGBD-ului pot influena negativ activitatea de analiz i modelare, prin restricii impuse de acesta, care pot ncuraja sau descuraja anumite reprezentri;

58

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

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. Trecerea la proiectarea structurii bazei de date impune luarea n considerare a SGBD-ului cu ajutorul cruia va fi implementat i exploatat baza de date. Acesta deoarece baza de date reprezint un model al datelor exprimat cu ajutorul conceptelor specifice unui anumit SGBD, ceea ce face ca proiectarea structurii bazei de date s reprezinte transpunerea modelelor conceptuale n termenii unui model al datelor suportat de un anumit tip de SGBD (model ierarhic, reea, relaional, orientat obiect etc.). Etapa de proiectare a structurii bazei de date const n urmtoarele activiti: alegerea SGBD-ului care va fi utilizat pentru implementarea i exploatarea bazei de date; proiectarea schemei conceptuale a bazei de date; proiectarea schemei externe (subschemei) a bazei de date; proiectarea schemei interne (de memorare) a bazei de date. Deoarece aceste activiti sunt puternic influenate de tipul bazei de date care se proiecteaz, n continuare sunt prezentate aspectele generale, valabile indiferent de tipul bazei de date proiectate. Aspectele particulare urmeaz a fi prezentate atunci cnd vor fi prezentate diferite tipuri de baze de date.

4.1.1. Alegerea sistemului de gestiune al bazei de date Alegerea unui SGBD presupune realizarea urmtoarelor activiti: 1. Stabilirea cerinelor utilizatorilor, sub aspectul: tipurilor de aplicaii dorite; timpului de rspuns; confidenialitii datelor;

59

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

securitii datelor; uurinei de utilizare i altele. 2. Stabilirea cerinelor de ordin tehnic privind realizarea bazei de date, cum sunt: portabilitatea SGBD-ului, adic posibilitatea folosirii SGBD-ului pe diferite sisteme de calcul; portabilitatea coleciilor de date i a programelor. Aceasta nseamn c datele pregtite cu ajutorul unui calculator s poat fi transferate direct pe alt tip de calculator, mpreun cu programele aferente, fr alte operaii auxiliare; facilitile de ncrcare, exploatare i ntreinere a bazei de date care trebuiesc asigurate (modalitile de descriere a datelor, tehnicile de organizare i regsire a datelor etc.) i altele. 3. Stabilirea cerinelor de ordin economic, privind: ncadrarea n bugetul alocat pentru realizarea bazei de date; timpul necesar pentru pregtire utilizatorilor i trecerea la exploatarea curent a bazei de date. 4. Ierarhizarea cerinelor de la punctele anterioare, n funcie de importana (prioritatea) acordat fiecrei cerine n parte. 5. Analiza comparativ a SGBD-urilor disponibile i/sau posibil de achiziionat, n funcie de caracteristicile pe care le prezint aceste SGBD-uri. 6. Stabilirea corespondenei ntre cerinele formulate la punctele 13 i caracteristicile diferitelor SGBD-uri analizate, pentru a determina msura n care diferitele SGBD-uri analizate permit satisfacerea cerinelor formulate. 7. Alegerea propriu-zis a SGBD-ului care va fi folosit la realizarea bazei de date.

60

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Test de autoevaluare nr. 1


Ce presupune alegerea sistemului de gestiune a bazelor de date utilizat?

4.1.2. Proiectarea schemei conceptuale

Proiectarea schemei conceptuale a bazei de date presupune urmtoarele activiti: stabilirea coleciilor de date i definirea detaliat a coninutului acestora; determinarea legturilor dintre coleciile de 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 baza de date. La realizarea acestor activiti sunt utilizate, n principal, modelul structural i cel dinamic al sistemului analizat.

61

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Stabilirea coleciilor de date i a coninutului acestora La stabilirea coleciilor de date (a componentelor schemei conceptuale) se pleac de la entitile identificate n etapa de analiz a sistemului. Fiecrei entiti i corespunde, de obicei, o colecie de date n cadrul schemei conceptuale. n aceste colecii vor figu ra atributele specifice entitilor plus eventual o serie de atribute pentru exprimarea legturilor cu celelalte componente ale sistemului real, atribute cunoscute sub numele de chei externe. Deoarece nu ntotdeauna exist o coresponden strict ntre entitile din modele semantice i coleciile de date din schema conceptual a bazei de date i din considerente de ameliorare a lucrului pe aceste colecii de date se poate decide <spargerea> unei entiti n dou sau mai multe colecii de date. Acest lucru duce la o cretere a flexibilitii de operare cu coleciile de date respective. Spargerea unei entiti n dou sau mai multe colecii de date se realizeaz innd seama de cerinele informaionale ale sistemului i de durata de existen a datelor n cadrul sistemului. Astfel, datele care sunt solicitate mai des de ctre utilizatori, cele care se modific la intervale reduse de timp sau cele care, dei nu se modific prea des, sunt solicitate frecvent de ctre programe pentru a genera alte date (prin calcul sau n alt mod), pot constitui colecii separate de date pentru a reduce timpul necesar regsirii informaiilor cutate. De exemplu, s considerm entitatea UTILAJE aparinnd unui model al unei uniti de producie. Un utilaj este caracterizat de urmtoarele: denumire, tip, numr de inventar, valoare de achiziionare, data achiziiei, durata normat de funcionare, totalul orelor de funcionare, datele reparaiilor curente planificate etc. Dar nu toate aceste informaii prezint importan pentru utilizatori la un moment dat. Acetia pot fi interesai, de exemplu, de caracteristicile generale ale utilajului sau de caracteristicile legate de funcionarea sau

62

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

ntreinerea utilajului. Din acest motiv, n cadrul schemei conceptuale a bazei de date pot apare dou sau mai multe colecii de date referitoare la utilajele de producie i anume: un nomenclator de utilaje, o colecie de date referitoare la funcionarea utilajelor, o colecie privind reparaiile efectuate sau planificate. Un alt motiv pentru care apare necesar descompunerea unei colecii de date n dou sau mai multe colecii deriv din legturile care apar ntre atributele unei entiti. Aceste legturi conduc la dependene ntre date datorit crora, la momentul exploatrii bazei de date pot apare o serie de disfuncionaliti, aa numitele anomalii de actualizare. Se impune deci reducerea la minimum a dependenelor (condiionrilor) dintre atributele unei colecii de date, lucru realizat, de obicei, prin descompunerea coleciei n dou sau mai multe colecii de date cu un numr mai mic de atribute. Cu toate acestea, mbuntirea performanelor n manipularea entitilor nu presupune obligatoriu mrirea numrului coleciilor de date folosite n cadrul schemei conceptuale. Aceasta deoarece nu se poate admite o cretere nelimitat a numrului de colecii de date, lucru care determin creterea dificultilor de localizare i accesare a datelor. Legturile ntre un numr mare de colecii de date impune i creterea redundanei datelor n cadrul bazei de date i deci o utilizare ineficient a suportului de memorare. Rezultatele obinute prin prelucrri costisitoare efectuate asupra datelor din baza de date pot fi memorate folosind colecii de date special introduse, astfel nct aceste rezultate s nu fie recalculate ori de cte ori sunt solicitate de utilizatori. Este vorba, bineneles de informaii solicitate frecvent de ctre utilizatori. Prin memorarea acestor rezultate crete redundana datelor, dar se evit efectuarea repetat a unor calcule complicate. Pentru scurtarea cilor de acces la date se mai admite un tip de redundan, i anume cea care apare datorit includerii unor atribute, simultan n mai multe colecii ale bazei de date.

63

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

n continuare este prezentat un exemplu referitor la drepturile profesorilor care lucreaz ntr-un liceu. Se pot forma dou colecii de date, una cu informaiile privind: numele angajatului; salariul de baz; vechimea; numrul de ore suplimentare; numrul de ore de dirigenie etc. informaii care au un grad ridicat de stabilitate, i alta cu informaii privind: numele angajatului; salariul de baz; sporul de vechime; numrul de zile lucrate; numrul zilelor de concediu medical i de odihn; numrul de ore suplinite; suma pentru orele suplinite; restane de plat; suma dedus pentru pensie suplimentar i omaj; impozitul pe salariu; chirii; alte reineri; avans; restul de plat la lichidare; informaii care trebuiesc adugate n baza de date lunar, fie din exterior, fie prin calculul acestora prin program. Determinarea legturilor dintre coleciile de date i a modului de reprezentare a acestora Aceasta se realizeaz, n principiu, pe baza legturilor dintre entitile identificate n cadrul etapei de analiz a sistemului i a

64

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

cerinelor informaionale. Este necesar s se determine, de asemenea i legturile dintre coleciile care nu au un corespondent direct n entitile care compun sistemul, dar care la rndul lor se afl n asociere, unele cu altele. Modul de reprezentare a legturilor dintre coleciile de date depinde de modelul datelor suportatde SGBD. Astfel, modelul ierarhic i cel reea utilizeaz pointeri (adrese de legtur) pentru nlnuirea datelor n cadrul diferitelor colecii. Modelul relaional reprezint legturile dintre coleciile de date (relaii) cu ajutorul cheilor externe sau cu ajutorul unor coleci de date distincte. Aceast reprezentare uniform a datelor i a asocierilor ntre date prin intermediul relaiilor constituie o caracteristic a modelului relaional, care confer acestuia o mare simplitate i flexibilitate.

Testarea schemei conceptuale

Testarea completitudinii determinarea

schemei i gradului

conceptuale n care

presupune conine

verificarea adic elementele

consistenei

schemei schema

conceptuale,

informaionale necesare satisfacerii cerinelor informaionale ale diferiilor utilizatori i msura n care legturile stabilite ntre aceste elemente informaionale reflect raporturile naturale dintre

componentele sistemului real. De asemenea, prin testarea schemei conceptuale trebuie s se verifice dac redundana datelor este la un nivel minim i poate fi controlat. Testarea schemei conceptuale permite identificarea unor eventuale erori de proiectare care fac necesar revizuirea schemei. n acest caz se va relua etapa de proiectare a structurii bazei de date, i, uneori, chiar i etapa de analiz a sistemului i a cerinelor informaionale.

65

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Descrierea schemei conceptuale n limbajul de descriere a datelor i ncrcarea sa n baza de date Descrierea schemei conceptuale a bazei de date se realizeaz n limbajul de descriere a datelor de care dispune SGBD-ul folosit. Rezultatul acestei descrieri l constituie proiectul bazei de date sau schema bazei de date. Compilatorul limbajului de descriere a datelor permite aducerea schemei bazei de date n forma la care aceasta s poat fi memorat n baza de date.

Test de autoevaluare nr. 2


Ce presupune testarea schemei conceptuale ?

4.1.3. Proiectarea schemei externe Schema extern a bazei de date reprezint forma sub care apare schema conceptual pentru utilizatori. Ea este format din multitudinea viziunilor (vederilor) utilizator. O vedere utilizator

66

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

reprezint acea parte din schema conceptual pe care o poate vedea un anumit utilizator. Programele de aplicaie opereaz asupra schemei conceptuale prin intermediul schemei externe, avnd acces doar la acele elemente care sunt incluse n schema extern. Folosirea vederilor reprezint mecanismul prin care sunt satisfcute cererile de informaii ale utilizatorilor (deoarece un utilizator nu este interesat de toate informaiile stocate n baza de date) asigurnd totodat i protecia datelor contra accesului neautorizat la date (folosind vederile se limiteaz accesul fiecrui utilizator doar la acele date care i sunt necesare).

4.1.4. Proiectarea schemei interne Schema intern reprezint modul n care sunt memorate datele pe suport fizic. Schema conceptual folosete diferite structuri de date: liniar, arborescent, reea, relaional n timp ce memorarea datelor pe suport fizic se poate face numai sub forma unei structuri linare. Din aceast cauz, la proiectarea schemei interne a bazei de date se pune problema modului n care s fie liniarizat schema conceptual. Metoda de liniarizare a schemei conceptuale depinde de SGBD-ul folosit. Exist astfel SGBD-uri care fac apel la metodele de memorare ale datelor pe suportul fizic de memorare pe care le folosesc i sistemele de operare gazd i SGBD-uri care utilizeaz metode proprii de stocare a datelor pe suportul fizic. Aceste SGBDuri depind mai puin de sistemul de operare gazd, ceea ce le ofer o portabilitate sporit, comparativ cu SGBD-urile din prima categorie.

67

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Test de autoevaluare nr. 3


Definii conceptele de schem extern, respectiv, schme intern ?

4.2. ncrcarea datelor n baza de date


Aceasta este etapa n care se realizeaz popularea masiv cu date a bazei de date. Dei coninutul acestei etape este relativ simplu, fr dificultatea i creativitatea reclamate de activitile de analiz i proiectare, ncrcarea datelor n baza de date reprezint totui o activitate dificil de realizat datorit volumului mare de date care se transfer n baza de date de la diferite surse de date.

68

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Fig. 4.1. Fazele ncrcrii datelor n baza de date Dup cum se vede n figura de mai sus, sursele de alimentare cu date a bazei pot fi: documente primare (facturi, bonuri, chitane etc.); colecii de date, gestionate prin diverse instrumente informatice, de exemplu preluarea datelor dintr-o baz de date creat anterior, folosind un SGBD cu care nu se mai lucreaz n continuare. Indiferent de sursa datelor, se recomand ca, n scopul ncrcrii bazei de date, s se constituie colecii temporare de date (fiiere). n situaia n care datele se preiau din documente primare 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 baza de date. 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 deoarece aceste validri ncetinesc mult execuia programelor i determin apariia

69

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

unor puncte albe n baza de date, de exemplu, legturi neconstituite datorit inexistenei datelor corespunztoare. Pe de 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 acestor colecii la modul de organizare a datelor n baza de date. Programele de ncrcare vor fi n acest caz mai simple i mai robuste, asigurnd un transfer mai rapid al datelor n baza de date.

Test de autoevaluare nr. 4


Precizai cteva surse de date pentru ncrcarea bazelor de date ?

4.3. Exploatarea i ntreinerea bazei de date


Exploatarea bazelor de date de ctre diferii utilizatori finali are ca scop satisfacerea cerinelor informaionale ale acestora. SGBD-urile sprijin utilizatorii finali n exploatrea bazelor de date oferind o serie de mecanisme i instrumente pentru descrierea cerinelor de date, cum ar fi limbaje de manipulare a datelor etc. ntreinerea bazei de date este o activitate complex care are ca scop actualizarea datelor din baza de date, recuperarea datelor pierdute accidental, reproiectarea structurii bazei de date i orice alte activiti necesare meninerii funcionalitii bazei de date. ntreinerea bazei de date este realizat n principal de ctre administratorul acesteia.

70

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

4.4. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
Alegerea sistemului de gestiune a bazelor de date utilizat presupune urmtoarele activiti: 1. Stabilirea cerinelor utilizatorilor; 2. Stabilirea cerinelor de ordin tehnic privind realizarea bazei de date; 3. Stabilirea cerinelor de ordin economic; 4. Ierarhizarea cerinelor de la punctele anterioare, n funcie de importana (prioritatea) acordat fiecrei cerine n parte. 5. Analiza comparativ a SGBD-urilor disponibile i/sau posibil de achiziionat, n funcie de caracteristicile pe care le prezint aceste SGBD-uri. 6. Stabilirea corespondenei ntre cerinele formulate la punctele 1-3 i caracteristicile diferitelor SGBD-uri analizate, pentru a determina msura n care diferitele SGBD-uri analizate permit satisfacerea cerinelor formulate. 7. Alegerea propriu-zis a SGBD-ului care va fi folosit la realizarea bazei de date.

Test de autoevaluare nr. 2


Testarea completitudinii determinarea schemei i gradului conceptuale n care presupune conine verificarea adic elementele consistenei schemei schema conceptuale,

informaionale necesare satisfacerii cerinelor informaionale ale diferiilor utilizatori i msura n care legturile stabilite ntre aceste elemente informaionale reflect raporturile naturale dintre

componentele sistemului real. De asemenea, prin testarea schemei

71

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

conceptuale trebuie s se verifice dac redundana datelor este la un nivel minim i poate fi controlat. Testarea schemei conceptuale permite i identificarea unor eventuale erori de proiectare care fac necesar revizuirea schemei.

Test de autoevaluare nr. 3


Schema extern a bazei de date reprezint forma sub care apare schema conceptual pentru utilizatori. Ea este format din multitudinea viziunilor (vederilor) utilizator. Schema intern reprezint modul n care sunt memorate datele pe suport fizic. Schema conceptual folosete diferit e structuri de date: liniar, arborescent, reea, relaional n timp ce memorarea datelor pe suport fizic se poate face numai sub forma unei structuri linare.

Test de autoevaluare nr. 4


Sursele de date pentru ncrcarea bazelor de date sunt urmtoarele: documente primare (facturi, bonuri, chitane etc.); colecii de date, gestionate prin diverse instrumente informatice, de exemplu preluarea datelor dintr-o baz de date creat anterior, folosind un SGBD cu care nu se mai lucreaz n continuare.

4.5. Lucrare de verificare a cunotinelor


1. Care sunt etapele proiectrii structurii bazei de date ? 2. Care sunt etapele proiectrii schemei conceptuale a bazei de date ? 3. Care este scopul activitii de ntreinere a bazei de date ?

72

Proiectarea structurii bazei de date. Implementarea i exploatarea BD

Rezumat
n cadrul acestei uniti de nvare au fost prezentate etapele realizrii unei baze de date. Au fost prezentate activitile specifice proiectrii schemelor bazelor de date (conceptual, extern i intern) precum i cele specifice ncrcrii datelor n baza de date i aspectele care in de exploatarea bazelor de date.

Bibliografie
1. Crstoiu, Dorin, Baze de date relaionale, Editura Printech, Bucureti, 1999 2. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 3. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 5. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 6. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

73

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

Unitatea de nvare nr. 5 BAZE DE DATE RELAIONALE Modelul relaional al datelor


Cuprins Obiectivele unitii de nvare nr. 5 5.1. Modelul relaional al datelor 5.2. Structura relaional a datelor 5.2.1. Domeniu 5.2.2. Relaie 5.2.3. Atribut 5.2.4. Schema unei relaii 5.3. Operatorii modelului relaional 5.4. Restriciile de integritate ale modelului relaional 5.5. Rspunsuri i comentarii la testele de autoevaluare 5.6. Lucrare de verificare a cunotinelor Pagina

75

75

78 78 78 79 81

82

89

93

94

Rezumat

94

Bibliografie

95

74

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

OBIECTIVELE unitii de nvare nr. 5


Principalele obiective ale unitii de nvare numrul 5 sunt urmtoarele:

Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: modelul relaional al datelor ; operaiile care se pot efectua asupra bazelor de date relaionale ; restriciile specifice modelului relaional al datelor.

Ideea bazelor de date relaionale a fost lansat pentru prima dat de ctre D. F. Childs 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 a se asigura legturile ntre tabele. Bazele modelului de date relaional au fost puse de ctre Codd E.F., n 1970 . Acesta are meritul de a fi articulat i dezvoltat ideile cu privire la utilizarea teoriei apartenenei la ansambluri sub forma unui model coerent d e structurare a datelor - modelul relaional.

5.1. Modelul relaional al datelor


Componentele modelului relaional sunt: 1. Structura relaional a datelor. Aceasta nseamn c, n bazele de date relaionale, datele sunt organizate sub forma unor tablouri bidimensionale (tabele) de date, numite relaii. Asocierile

75

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

dintre relaii se reprezint explicit prin atribute de legtur. 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. 2. Operatorii modelului relaional. Acetia definesc operaiile care se pot executa asupra relaiilor, n scopul realizrii funciilor de prelucrare asupra bazei de date, respectiv consultarea, inserarea, modificarea i tergerea datelor. 3. Restriciile de integritate ale modelului relaional. Permit definirea strilor coerente ale bazei de date. n comparaie cu modelele ierarhice i n reea, modelul relaional prezint o serie de avantaje, precum: Asigurarea unui grad sporit de independen a programelor de aplicaie fa de modul de reprezentare intern a datelor i metodele de acces la date. n precizarea prelucrrilor asupra datelor, programele de aplicaie nu fac apel la pointeri, fiiere inverse sau alte elemente ale schemei interne a bazei de date. n ceea ce privete independena logic, aceasta nu este complet rezolvat nici cu ajutorul modelului relaional. O deficien a modelului relaional este aceea c nu permite modelarea comportamentului dinamic al datelor, ceea ce face ca o mare parte din semantica aplicaiilor s fie codificat n programe i nu n schema conceptual a bazei de date. Furnizarea unor metode i tehnici eficiente de control a coerenei redundanei datelor, cu o bun fundamentare teoretic. Modificrile pe care le sufer n timp datele ridic

76

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

probleme serioase la ntreinerea bazei de date, n ceea ce privete controlul actualizrilor, reflectarea modificrilor din structura mediului economic real n structura datelor etc. Modelul relaional, prin tehnica normalizrii relaiilor permite definirea unei structuri conceptuale optime a datelor, prin care se minimizeaz riscurile de eroare la actualizare, reducndu-se redundana datelor. Oferirea unor faciliti multiple de definire i manipulare a datelor. n primul rnd, modelul relaional ofer posibilitatea utilizrii unor limbaje procedurale, bazate pe algebra relaional, precum i a unor limbaje neprocedurale avnd la baz calculul relaional. Limbajele neprocedurale (declarative) contribuie la mbuntirea semnificativ a comunicrii dintre sistem i utilizatorii neinformaticieni. n al doilea rnd, manipularea datelor se realizeaz la nivel de ansamblu (relaie), fiind posibil utilizarea paralelismului n prelucrarea datelor. Ameliorarea integritii i confidenialitii datelor. Modelul relaional realizeaz acest lucru prin mecanisme flexibile i eficace de specificare i utilizare a restriciilor de integritate i a relaiilor virtuale.

Test de autoevaluare nr. 1

77

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

5.2. Structura relaional a datelor


Pentru a defini structura relaional a datelor trebuie s definim noiunile de: domeniu, relaie, atribut i schem a unei relaii.

5.2.1. Domeniu Domeniul reprezint un ansamblu de valori, caracterizat printr-un nume. Un domeniu se poate defini explicit, prin enumerarea tuturor valorilor aparinnd acestuia sau implicit, prin precizarea proprietilor pe care le au valorile domeniului respectiv. Spre exemplu s consider urmtoarele domenii D1, D2, D3, definite astfel: D1 : {F,M} D2 : { x | x
N, x 0,100 }

D3 : {s | s = ir de caractere } Domeniul D1 este definit explicit n timp ce domeniile D2 i D3 sunt definite implicit. Pentru un ansamblu de domenii D1, D2, ..., Dn produsul cartezian al acestora reprezint ansamblul tuplurilor <v1, v2, ..., vn>, unde vi este o valoare aparinnd domeniului Di. De exemplu, tuplurile <Maria, F, 45>, <Vasile, M, 24> aparin produsului cartezian: D3xD1xD2. 5.2.2. Relaie Relaia reprezint un subansamblu al produsului cartezian al mai multor domenii, subansamblu caracterizat printr-un nume i care conine doar tupluri cu semnificaie. Considernd, de exemplu c pentru produsul cartezian definit mai sus se cunosc doar dou

78

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

persoane, definim relaia R prin tuplurile care descriu aceste persoane: R : {<Maria, F, 20>, <Vasile, M, 22>} ntr-o relaie, tuplurile trebuie s fie distincte ( nu se admit duplicri ale tuplurilor ). O reprezentare comod a relaiei este tabelul bidimensional (tabela de date), n care liniile reprezint tuplurile, iar coloanele corespund domeniilor (vezi figura).

R: D3 Maria Vasile D1 F M D2 20 22

n prezentarea conceptului de relaie se poate recurge la analogii cu alte concepte, extrem de bine cunoscute n domeniul prelucrrii automate a datelor, precum este conceptul de fiier. Relaia poate avea semnificaia unui fiier, tuplul poate fi considerat drept o nregistrare, iar valorile din cadrul tuplului pot fi interpretate drept valori ale cmpurilor nregistrrii. n cadrul modelului relaional nu intereseaz dect relaiile finite, chiar dac la construirea relaiilor se admit domenii infinite. Numrul tuplurilor dintr-o relaie reprezint cardinalul relaiei, n timp ce numrul valorilor dintr-un tuplu definete gradul relaiei.

5.2.3. Atribut Atributul reprezint coloana unei tabele de date, caracterizat printr-un nume. Numele coloanei (atributului) exprim de obicei semnificaia valorilor din cadrul coloanei respective. Atributele se folosesc pentru a conferi flexibilitate datelor. Pentru a nelege aceast problem vom considera urmtorul exemplu. S

79

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

presupunem c pentru o persoan dispunem de urmtoarele date: nume, sex, vrst i numele soului/soiei. O posibilitate de organizare a acestor date este reprezentat de relaia din figura urmtoare. PERS: D3 Maria Vasile D1 F M D2 30 32 D3 Vasile Maria

Relaia PERS reprezint un subansamblu al produsului cartezian: D3 x D1 x D2 x D3. Semnificaia valorilor din cadrul unui tuplu se stabilete n acest caz nu numai pe baza domeniului de care aparin valorile, ci i n funcie de poziia ocupat n cadrul tuplului. Dependena fa de ordine a datelor nseamn o reducere a flexibilitii organizrii datelor. ntr-o organizare eficient, flexibil, ordinea liniilor i a coloanelor din cadrul tabelei de date nu trebuie s prezinte nici o importan. Pentru a diferenia coloanele care conin valori ale aceluiai domeniu i a elimina astfel dependena de poziie n cadrul tabelei se asociaz fiecrei coloane un nume distinct, lucru care a dus la apariia noiunii de atribut. Prin folosirea atributelor, relaia PERS poate fi prezentat ntr -unul din modurile menionate mai jos.
PERS: Nume (D3) Maria Vasile Sex (D1) F M PERS:

Vrsta (D2)
30 32

Sot (D3)
Vasile Maria

Nume (D3) Maria Vasile

Sot (D3)
Vasile Maria

Sex

(D1)
F M

Vrsta (D2) 30 32

80

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

5.2.4. Schema unei relaii Prin schema unei relaii se nelege numele relaiei, urmat de lista atributelor, pentru fiecare atribut precizndu-se domeniul asociat. Astfel, pentru o relaie R, cu atributele A1, A2, ..., An i domeniile D1, D2, ..., Dm, schema relaiei R poate fi reprezentat ntr-una din formele prezentate n figura de mai jos.

R (A1:D1, A2:D2, ..., An:Dm) sau R: A1:D1 A2:D2 .. . An:Dm

Schema unei relaii se mai numete i intensia relaiei, ca expresie a proprietilor comune i invariante ale tuplurilor care compun relaia. Spre deosebire de intensie, extensia unei relaii reprezint ansamblul tuplurilor care compun la un moment dat relaia, ansamblu care este variabil n timp. De obicei, extensia unei relaii este stocat fizic n spaiul asociat bazei de date, caz n care relaia poart numele de relaie de baz. Exist ns i situaii n care extensia nu este memorat n baza de date. Este cazul aa-numitelor relaii virtuale, cunoscute i sub numele de relaii derivate sau viziuni. Relaia virtual nu este definit explicit ca relaie de baz, prin ansamblul tuplurilor componente, ci implicit, pe baza altor relaii, prin intermediul unei expresii relaionale. Stabilirea efectiv a tuplurilor care compun relaia virtual se realizeaz prin evaluarea expresiei, ori de cte ori utilizatorul invoc aceast relaie.

81

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

Test de autoevaluare nr. 2


Definii conceptul de domeniu.

5.3. Operatorii modelului relaional


Modelul de date relaional ofer dou colecii de operatori pentru operaii cu relaii i anume: - algebra relaional; - calculul relaional. Algebra relaional (AR) se poate defini ca o colecie de operaii pe relaii, fiecare operaie avnd drept operanzi una sau mai multe relaii i producnd ca rezultat o alt relaie. Operaiile algebrei relaionale se pot mpri n: operaii de baz, precum: reuniunea, diferena, produsul cartezian etc. operaii derivate, ca: intersecia, diviziunea etc. Algebra relaional standard, definit de Codd, este constituit din 6 operaii de baz: reuniunea, diferena, produsul cartezian,

82

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

proiecia, selecia i jonciunea precum i din dou operaii derivate: intersecia i diviziunea. Ulterior, la operaiile AR standard au fost adugate i alte operaii, aa numitele operaii adiionale sau extensii ale AR standard, precum: complementarea unei relaii, splitarea (spargerea) unei relaii, nchiderea tranzitiv etc. n general, operaiile AR pot fi grupate n: operaii tradiionale pe mulimi (reuniunea, intersecia, diferena, produsul cartezian); operaii relaionale speciale (selecia, proiecia, jonciunea etc.). n continuare sunt prezentate principalele operaii ale algebrei relaionale, precum i modul lor de utilizare. 1. Reuniunea. Reprezint o operaie a algebrei relaionale definit pe dou relaii: R1 i R2, ambele cu aceeai schem, operaie care const din construirea unei noi relaii R3, cu o schem identic cu R1 i R2 i avnd drept extensie tuplurile din R1 i R2, luate mpreun o singur dat. Reuniunea se noteaz uzual cu: OR (R1,R2) APPEND (R1,R2) UNION (R1,R2) n figura urmtoare este prezentat un exemplu de reuniune a dou relaii ORAE i MUNICIPII, formnd astfel o a treia relaie, LOCALITI.

83

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

2. Diferena. Reprezint o operaie a algebrei relauionale construit pe dou relaii: R1 i R2, ambele cu o aceeai schem, operaie care const din construirea unei noi relaii R3, cu schema identic cu a operanzilor i cu extensia format din acele tupluri ale relaiei R1 care nu se regsesc i n relaia R2. Notaiile uzuale pentru operaia de diferen a dou relaii sunt: R1-R2 REMOVE (R1,R2) MINUS (R1,R2) Un exemplu de diferen a dou relaii este dat n continuare.

3. Produs cartezian. Reprezint o operaie a algebrei relaionale definit pe dou relaii: R1 i R2, operaie care const din construirea unei noi relaii R3, a crei schem se obine prin concatenarea

84

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

schemelor relaiilor R1 i R2 i a crei extensie cuprinde toate combinaiile tuplurilor din R1 cu cele din R3. Notaiile uzuale pentru desemnarea operaiei sunt: R1 x R2 PRODUCT (R1,R2) TIMES (R1,R2) n continuare este prezentat un exemplu de produs cartezian a dou relaii.

4. Proiecia. Reprezint o operaie din algebra relaional definit asupra unei relaii R, operaie care const din construirea unei noi relaii P, n care se regsesc numai acele atribute din R specificate explicit n cadrul operaiei. Suprimarea unor atribute din R nseamn

85

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

efectuarea unor tieturi verticale asupra lui R, care pot avea ca efect apariia unor tupluri duplicate ce se cer a fi eliminate. Prin proiecie se trece de la o relaie de grad n la o relaie de grad p, mai mic dect cel iniial, adic de la un spaiu cu n dimensiuni la un spaiu cu mai puine dimensiuni, ceea ce explic i numele de proiecie atribuit operaiei. Notaiile uzuale pentru operaia de proiecie:
Ai , A j ,..., Am

( R)

R [ Ai, Aj, ..., Am ] PROJECT(R, Aj, Aj, ..., Am)

n figura de mai sus este prezentat proiecia relaiei ORAE pe atributul JUDE. 5. Selecia reprezint o operaie din algebra relaional definit asupra unei relaii R, operaie care const din construirea unei relaii S, a crei schem este identic cu cea a relaiei R i a crei extensie este constituit din acele tupluri din R care satisfac o condiie menionat explicit n cadrul operaiei. ntruct cel mai adesea, nu toate tuplurile din R satisfac aceast condiie, selecia nseamn efectuarea unor tieturi orizontale asupra relaiei R, adic eliminarea de tupluri.

86

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

Condiia precizat n cadrul operaiei de selecie este n general de forma: operator de comparaie valoare

atribut

unde: <operator de comparaie> poate fi: <, <=, >=, > sau #. Notaiile folosite pentru desemnarea operaiei de selecie sunt urmtoarele:

conditie

( R)

R [condiie] RESTRICT(R, condiie). 6. Jonciunea (Joinul) reprezint o operaie din algebra relaional definit pe dou relaii: R1 i R2, operaie care const din construirea unei noi relaii R3, prin concatenarea unor tupluri din R1 cu tupluri din R2. Se concateneaz acele tupluri din R1 i R2 care satisfac o anumit condiie, specificat explicit n cadrul operaiei. Extensia relaiei R3 va conine deci combinaiile acelor tupluri care satisfac condiia de concatenare. Notaiile uzuale pentru desemnarea operaiei de jonciune sunt:

R1 condiie

R2

JOIN (R1, R2, condiie)

87

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

7. Intersecia reprezint o operaie din AR definit pe dou relaii: R1 i R2, ambele cu aceeai schem, operaie care const din construirea unei noi relaii R3, cu schema identic cu a relaiilor R1 i R2 i cu extensia format din tuplurile comune lui R1 i R2. Notaiile uzuale pentru operaia de intersecie sunt:

R1

R2

INTERSECT (R1, R2) AND (R1, R2). 8. Diviziunea reprezint o operaie din AR definit asupra unei relaii R din care se obine, cu ajutorul altei relaii P, relaia Q a crei extensie este format din atributele din R care rmn dup eliminarea atributelor relaiei P. Notaiile folosite pentru operaia de diviziune sunt:

DIVISION(R,r).

Test de autoevaluare nr. 3


Care sunt operaiile algebrei relaionale standard ?

88

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

5.4. Restriciile de integritate ale modelului relaional


Restriciile de integritate, denumite i reguli de integritate, definesc cerinele pe care trebuie s le satisfac datele din cadrul bazei de date pentru a putea fi considerate corecte, coerente n raport cu lumea real pe care o reflect. Restriciile de integritate reprezint principalul mod de integrare a semanticii datelor n cadrul modelului relaional al datelor, mecanismele de definire i verificare a acestor restricii reprezentnd principalele instrumente pentru controlul semantic al datelor. Avantajele ncorporrii semanticii datelor n cadrul bazelor de date constau din posibilitatea ntreinerii mai uoare a aplicaiilor i posibilitatea implementrii unor mecanisme fizice mai eficiente. n teoria sistemelor relaionale, restriciile de integritate sunt studiate n principal sub aspectul puterii lor de modelare i al posibilitilor de verificare eficace a respectrii lor. Un exemplu semnificativ l reprezint dependenele ntre date, i n primul rnd dependenele funcionale. Dependenele ntre date, ca restricii de integritate constituie un suport teoretic solid pentru problemele de modelare informatic. n acest sens, dependenele funcionale au permis definirea conceptului de structur relaional optim, stnd la baza teoriei optimizrii structurii relaionale a datelor, respectiv teoria normalizrii relaiilor. Restriciile de integritate ale modelului relaional sunt urmtoarele: 1. Restricii de integritate minimale, obligatoriu de definit i de respectat atunci cnd se lucreaz cu modelul relaional. Din aceast categorie fac parte: restricia de unicitate a cheii; restricia referenial; restricia entitii.

89

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

2. Alte restricii de integritate, din care fac parte: dependenele ntre date; restriciile de comportament. Restriciile de integritate minimale sunt definite n raport cu noiunea de cheie a unei relaii. Cheia unei relaii, R, reprezint ansamblul minimal de atribute prin care se poate identifica n mod unic orice tuplu din R. Orice relaie posed cel puin o cheie. La limit, cheia este constituit fie dintr-un singur atribut, fie din totalitatea atributelor din schema relaiei respective. Cnd cheia este constituit dintr-un singur atribut poart numele de cheie simpl, iar atunci cnd este format din mai multe atribute este denumit cheie compus. ntr-o relaie pot exista mai multe combinaii de atribute cu proprietatea de identificare unic a tuplurilor. Se spune n acest caz c relaia posed mai muli candidai cheie (sau mai multe chei candidate). n aceast situaie, administratorul bazei de date va alege dintre cheile candidate una care s serveasc n mod efectiv la identificarea tuplurilor i care va primi numele de cheie primar. Restul cheilor candidate vor purta numele de chei alternate. Cheia unei relaii trebuie s fie minimal, adic nici o parte a sa nu trebuie s fie la rndul ei cheie. Un grup de atribute din cadrul unei relaii care conine o cheie a relaiei poart numele de supercheie. Modelarea asocierilor dintre entiti impune recurgerea la conceptul de cheie extern. O cheie extern reprezint un atribut/grup de atribute dintr-o relaie R1 ale crui/cror valori sunt definite pe acelai/aceleai domeniu/domenii ca i cheia primar a unei relaii, R2 i care are rolul de a modela asocierea ntre entitile reprezentate prin relaiile R1 i R2. n acest context, R1 este denumit relaie care refer, n timp ce R2 poart numele de relaie referit. Restricia de unicitate a cheii reprezint restricia de integritate care impune ca ntr-o relaie, R care are cheia K, oricare ar fi tuplurile

90

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

t1 i t2 s fie satisfcut inegalitatea: t1 (K) # t2 (K). Aceast inegalitate semnific faptul c ntr-o relaie nu pot exista dou tupluri cu aceeai valoare pentru atributele cheie. Restricia referenial (integritatea referirii) reprezint restricia de integritate care impune ca ntr-o relaie R1 care refer o relaie R2, valorile cheii externe s figureze printre valorile cheii primare din relaia R2 sau s fie valori nedefinite (null). R1 i R2 nu trebuie s fie neaprat distincte. Semnificaia restriciei de integritate a referirii este urmtoarea : o asociere nu poate exista dect ntre entiti deja definite. Atunci cnd, ntr-o anumit situaie, asocierea nu este aplicabil, unul din parteneri va fi desemnat prin valoarea null, cu semnificaia de partener inexistent. Restricia entitii (integritatea entitii) reprezint restricia de integritate care impune ca ntr-o relaie atributele cheii primare s fie nenule. Unicitatea cheii impune ca la ncrcarea unui tuplu, valoarea cheii s fie cunoscut, pentru a se putea verifica faptul c aceast valoare nu exist deja ncrcat (tuplul nu figureaz deja n baza de date). Cu valori <null>, cheia i pierde rolul de identificator de tuplu. Restricia de integritate a entitii nu se aplic cheilor externe dintr-o relaie, dac acestea nu aparin cheii primare. Restriciile referitoare la dependena datelor semnific modul n care datele depind unele de altele. Aceast dependen ntre date poate fi de mai multe tipuri i anume: dependen funcional; reprezint dependena ntre date prin care se poate identifica un atribut/grup de atribute prin intermediul altui atribut/grup de atribute. Fiind dat o relaie R, un atribut Y din R este dependent funcional de un alt atribut X din R, dac i numai dac fiecare valoare a lui X are asociat o valoare precis a lui Y. dependen multivaloare; reprezint acel tip de dependen ntre date n care un atribut/grup de atribute poate prezenta mai multe valori pentru o singur valoare a

91

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

unui alt atribut/grup de atribute. Fie o relaie R, n care apar atributele/grupurile de atribute:X, Y i Z. n cadrul relaiei R exist o dependen multivaloare dac i numai dac mulimea valorilor lui Y corespunztoare unei perechi: (valoare X, valoare Z) depinde numai de valoarea lui X, nu i de valoarea lui Z; dependen jociune; aceast restricie exprim o dependen ntre date mai general dect dependena funcional sau dependena multivaloare. Restriciile de comportament se pot defini de ctre utilizator n funcie de realitatea descris n baza de date i pot fii: restricii de domeniu; care impun ca valorile unui atribut dintr-o relaie s se ncadreze n anumite limite; restricii temporale etc.

Test de autoevaluare nr. 4


Enumerai restriciile de integritate ale modelului relaional.

92

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

5.5. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
n comparaie cu modelele ierarhice i n reea, modelul relaional prezint o serie de avantaje, precum: Asigurarea unui grad sporit de independen a programelor de aplicaie fa de modul de reprezentare intern a datelor i metodele de acces la date. Furnizarea unor metode i tehnici eficiente de control a coerenei redundanei datelor, cu o bun fundamentare teoretic. Oferirea unor faciliti multiple de definire i manipulare a datelor. Ameliorarea integritii i confidenialitii datelor.

Test de autoevaluare nr. 2


Domeniul reprezint un ansamblu de valori, caracterizat printr-un nume. Un domeniu se poate defini explicit, prin enumerarea tuturor valorilor aparinnd acestuia, sau implicit, prin precizarea proprietilor pe care le au valorile domeniului respectiv.

Test de autoevaluare nr. 3


Algebra relaional standard, definit de Codd, este constituit din 6 operaii de baz: reuniunea, diferena, produsul cartezian, proiecia, selecia i jonciunea precum i din dou operaii derivate: intersecia i diviziunea.

93

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

Test de autoevaluare nr. 4


Restriciile de integritate ale modelului relaional sunt urmtoarele: 1. Restricii de integritate minimale, obligatoriu de definit i de respectat atunci cnd se lucreaz cu modelul relaional. Din aceast categorie fac parte: restricia de unicitate a cheii; restricia referenial; restricia entitii. 2. Alte restricii de integritate, din care fac parte: dependenele ntre date; restriciile de comportament.

5.6. Lucrare de verificare a cunotinelor


1. Care este structura modelului relaional al datelor ? 2. Care sunt noiunile care definesc structura relaional a datelor ? 3. Definii conceptul de schem a unei relaii ? 4. Definii operaia algebrei relaionale de proiecie. 5. Definii operaia algebrei relaionale de selecie. 6. Definii operaia algebrei relaionale de join. 7. Explicai restricia de unicitate a cheii.

Rezumat
n aceast unitate de nvare a fost prezentat modelul relaional de organizare a datelor n baze de date. Au fost prezentate conceptele de domeniu i atribut. S-au prezentat, de asemenea, operaiile algebrei relaionale i restriciile de integritate a datelor, restricii specifice modelului relaional al datelor.

94

BAZE DE DATE RELAIONALE. Modelul relaional al datelor

Bibliografie
1. Crstoiu, Dorin, Baze de date relaionale, Editura Printech, Bucureti, 1999 2. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 3. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 5. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 6. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

95

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Unitatea de nvare nr. 6. BAZE DE DATE RELAIONALE Proiectarea Bazelor de Date relaionale
Cuprins Obiectivele unitii de nvare nr. 6 6.1. Proiectarea bazelor de date relaionale Pagina

97

97

6.1.1. Proiectarea schemei conceptuale

97

6.1.2. Proiectarea schemei externe 6.2. Sisteme de gestiune a bazelor de date relaionale 6.3. Rspunsuri i comentarii la testele de autoevaluare 6.4. Lucrare de verificare a cunotinelor

101

103

105

108

Rezumat

108

Bibliografie

109

96

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

OBIECTIVELE unitii de nvare nr. 6


Principalele obiective ale unitii de nvare numrul 6 sunt urmtoarele: Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: modelul relaional al datelor ; operaiile care se pot efectua asupra bazelor de date relaionale ; restriciile specifice modelului relaional al datelor ; aspecte privind normalizarea relaiilor ; caracteristicile SGBD-urilor relaionale.

6.1. Proiectarea bazelor de date relaionale


Proiectarea bazelor de date relaionale se realizeaz conform cu cele prezentate n capitolul anterior. Diferene apar la activitile legate de proiectarea schemelor conceptuale, interne i externe, de ncrcarea, exploatarea i ntreinerea bazei de date.

6.1.1. Proiectarea schemei conceptuale La proiectarea bazelor de date relaionale se folosete frecvent termenul de schem conceptual optim, prin care se nelege acea schem conceptual care nltur posibilitile apariiei de anomalii n lucrul cu baza de date, asigurnd totodat faciliti i performane sporite la ncrcarea, exploatarea i ntreinerea bazei de date.

97

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Anomaliile care apar la lucrul cu baze de date se manifest ndeosebi la ntreinerea bazei de date, fiind cunoscute i sub numele de anomalii de actualizare a datelor. Ele se manifest nu numai n cazul bazelor de date relaionale, ci i la celelalte tipuri de baze de date. n cadrul teoriei relaionale a bazelor de date, anomaliile de actualizare sunt puse n legtur cu dependenele care se manifest ntre date. Abordarea anomaliilor de actualizare a permis, pe de o parte caracterizarea riguroas a relaiilor dup gradul de perfeciune pe care l prezint (aa numitele forme normale ale relaiilor) i pe de alt parte a fcut posibil definirea unor tehnici formale pentru nlturarea anomaliilor de actualizare. Formele normale ale relaiilor Anomaliile care apar n lucrul cu baze de date relaionale se produc datorit dependenelor nedorite care se manifest ntre datele din cadrul relaiilor bazei de date. Aceste dependene determin creterea redundanei datelor i reducerea flexibilitii structurii bazei de date, efect manifestat prin: limitarea posibilitilor de inserare a datelor; apare cnd anumite date despre o entitate nu pot fi introduse n baza de date datorit lipsei altor date, relative la aceeai entitate, i fr de care, datele noi nu pot fi introduse datorit dependenelor dintre aceste date; pierderi de date la tergere; apar atunci cnd, n urma unei tergeri din baza de date sunt terse i altele, care nu mai pot fi obinute (reconstituite) din baza de date; apariia unor inconsistene la modificarea datelor; adic meninerea, pentru unele atribute, a unor valori neactualizate alturi de valorile actualizate.

98

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Dependena datelor semnific modul n care datele depind unele de altele. Aceste dependene ntre date pot fi de mai multe tipuri, i anume: dependen funcional; reprezint dependena ntre date prin care se poate identifica un atribut/grup de atribute prin intermediul altui atribut/grup de atribute. Fiind dat o relaie R, un atribut Y din R este dependent funcional de un alt atribut X din R, dac i numai dac fiecare valoare a lui X are asociat o valoare precis a lui Y. dependen parial; apare atunci cnd avem o relaie cu cheie compus i un atribut X depinde funcional de cheia (complet) relaiei, dar depinde i de o parte component a cheii; dependena tranzitiv; apare atunci cnd un atribut X depinde funcional direct de cheia relaiei dar depinde i de un alt atribut Y, non-cheie. Rezult astfel o dependen indirect ntre atributul X i cheia relaiei prin intermediul atributului Y (Y depinde de cheia relaiei iar X depinde de Y). dependen multivaloare; reprezint acel tip de dependen ntre date n care un atribut/grup de atribute poate prezenta mai multe valori pentru o singur valoare a unui alt atribut/grup de atribute. dependen jociune; aceast dependen apare atunci cnd o relaie poate fi obinut prin aplicarea operaiei de JOIN pe alte dou relaii. n afar de dependena funcional, care este considerat natural i acceptat, restul dependenelor genereaz anomalii n exploatarea bazelor de date. Formele normale ale relaiilor dintr-o baz de date relaional sunt definite n raport de anomaliile care pot apare n lucrul cu aceste

99

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

relaii, deci n funcie de dependenele nedorite care se manifest n cadrul acestor relaii. La proiectarea bazelor de date relaionale se pot defini cinci forme normale, formnd cinci nivele de normalizare a relaiilor. O relaie R este n forma normal unu, FN1, dac domeniile pe care sunt definite atributele relaiei sunt constituite numai din valori atomice (elementare). n plus, un tuplu nu trebuie s conin atribute sau grupuri de atribute repetitive. O relaie R este n forma normal doi, FN2, dac este n FN1 i oricare dintre atributele noncheie este dependent funcional complet de cheia primar a relaiei (nu exist dependene pariale). Dac relaia are cheie simpl atunci automat se gsete n FN2. O relaie R este n forma normal trei, FN3, dac este n FN2 i atributele noncheie nu sunt dependente tranzitiv de cheia primar a relaiei. Relaia R este n forma normal patru, FN4, dac este n FN3 i n cadrul ei nu exist dependene multivaloare. Spunem c relaia R este n forma normal cinci, FN5, dac au fost eliminate dependenele jonciune.

Etapele procesului de proiectare a schemei conceptuale Proiectare schemei conceptuale a unei baze de date relaionale presupune parcurgerea urmtoarelor etape: 1. Determinarea formei normale n care trebuie s se afle relaiile din baza de date (a nivelului de perfeciune impus schemei conceptuale). Relaiile aflate n forme normale superioare determin apariia unui numr redus de anomali n lucrul cu baza de date, comparativ cu relaiile nenormalizat e sau aflate n primele forme normale, dar conduc todat la creterea timpului de acces la date. Aceasta deoarece relaiile aflate n forme normale superioare conin, de regul, un numr mai mic

100

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

de atribute, lucru care impune creterea numrului de relaii din baza de date, deci interogarea simultan a mai multor relaii pentru a gsi anumite informaii. n determinarea formei normale la care trebuiesc aduse relaiile din bazele de date relaionale se vor avea n vedere urmtoarele: ponderea operaiilor de interogare i a celor de actualizare n lucrul cu bazele de date relaionale; exigenele de performa i flexibilitate impuse de utilizatorii finali la interogarea i, respectiv la actualizarea bazelor de date relaionale. 2. Stabilirea relaiilor care s fac parte din baza de date, n forma normal stabilit anterior. Aceasta presupune definirea relaiilor i a restriciilor de integritate asociate, lucru realizat pe baza modelelor conceptuale ale sistemului, modele obinute n etapa de analiz a sistemului i a cerinelor informaionale asociate. n cadrul acestei etape se pot aplica mai multe tehnici de proiectare (tehnica normalizrii, tehnica diagramelor de dependen riguroas etc.). 3. Testarea schemei conceptuale obinute i revizuirea acesteia, dac este cazul; 4. Descrierea schemei conceptuale n limbajul de descriere a datelor utilizat de SGBD-ul relaional folosit i ncrcarea acestei descrieri n baza de date relaional.

6.1.2. Proiectarea schemei externe Schema extern a unei baze de date relaionale reprezint ansamblul relaiilor (tabelelor de date) la care are acces un utilizator (un program de aplicaie). Dei mai muli utilizatori pot lucra cu o aceeai schem extern, n general, se consider pentru o baz de date relaional attea scheme externe ci utilizatori exist la un

101

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

moment dat, scheme care trebuiesc proiectate i apoi fcute operaionale. Schema extern reprezint modul de organizare, structurare, a datelor de care are nevoie un anumit utilizator pentru a-i satisface toate cerinele informaionale. Deoarece, de cele mai multe ori, un utilizator nu are nevoie de ansamblul datelor memorate n cadrul bazei de date ci numai de o parte a acestor date, se consider schema extern drept o partiie logic a schemei conceptuale a bazei de date. Din aceast cauz, schema extern a unei baze de date mai este cunoscut i sub numele de subschem a bazei de date. Modul de structurare a datelor n cadrul schemei externe poate fi cel din cadrul schemei conceptuale sau poate s fie diferit. Acest lucru se explic prin faptul c structurarea datelor n cadrul schemei conceptuale are ca obiectiv optimizarea structurii de ansamblu a bazei de date relaionale, n raport de ansamblul cerinelor informaionale ale tuturor utilizatorilor, n timp ce structurarea datelor n cadrul schemei externe urmrete facilitarea satisfacerii cerinelor informaionale pentru un anumit utilizator. Deoarece aceste dou criterii nu sunt echivalente se obin rezultate, deci structuri ale datelor diferite. La proiectarea unei scheme externe a unei baze de date relaionale se parcurg urmtoarele etape: 1. Determinarea zonei (ariei) de interes pentru un anumit utilizator din cadrul sistemului informatic reflectat informaional cu ajutorul bazei de date; 2. Analiza structural, dinamic i funcional a acestei zone din domeniul activitii economice reprezentate prin sistemul informatic pentru care se realizeaz baza de date; 3. Proiectarea schemei externe, pe baza analizei anterioare, n modul de lucru descris la proiectarea schemei conceptuale a bazei de date relaionale, innd cont de faptul c aceeai schem poate apare drept o schem conceptual, dac

102

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

sistemul de referin este ntregul domeniu economic analizat, sau drept o schem extern, dac sistemul de referin este o parte din domeniul economic analizat; 4. Testarea schemei externe i modificarea acesteia, dac este cazul; 5. Aducerea schemei externe n forma operaional. Acest lucru se realizeaz n mod diferit fa de schema conceptual a bazelor de date, pentru care operaionalizarea presupune descrierea sa cu ajutorul limbajului de descriere a datelor utilizat de SGBDR, compilarea acestei descrieri i ncrcarea acestei descrieri compilate n cadrul bazei de date. Pentru ca o schem extern s devin operaional, s poat fi aplicat, utilizatorul cruia i este destinat trebuie s primeasc drepturi de acces asupra tabelelor de date care compun schema extern.

Test de autoevaluare nr. 1


Enumerai i explicai dependenele ntre date

103

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

6.2. Sisteme de gestiune a bazelor de date relaionale


Un sistem de gestiune a bazelor de date relaionale poate fi definit ca reprezentnd un SGBD care utilizeaz drept concepie de organizare a datelor modelul relaional. Diversitatea modelelor relaionale operaionale au determinat, n mod natural existena unei mari diversiti de SGBDR, care se apropie mai mult sau mai puin de modelul relaional teoretic. Cerinele teoretice pe care trebuie s le satisfac un SGBD relaional au fost specificate de Codd, printr-o serie de 13 reguli, numite regulile lui Codd. Deoarece aceste reguli au fost mult disputate i deoarece nici unul dintre SGBD-urile relaionale (SGBDR) disponibile astzi nu respect ntrutotul cerinele exprimate de Codd, n cadrul celor 13 reguli, caracterizarea unui SGBD se realizeaz folosind o serie de cerine minimale pe care trebuie s le satisfac un sistem de gestiune a bazelor de date pentru a putea fi considerat relaional. Un SGBD este minim relaional dac satisface urmtoarele condiii: 1. Toate datele din cadrul bazei de date sunt reprezentate prin valori n tabele. 2. Nu exist pointeri observabili de ctre utilizator ntre tabele, n sensul c operaiile cu relaii nu fac apel la pointeri, indeci, fiiere inverse etc. 3. Sistemul suport operatorii relaionali de proiecie, selecie i join natural, fr limitri impuse din considerente interne (cum ar fi de exemplu, necesitatea indexrii atributelor). Unitatea de informaie cu care se lucreaz n cadrul acestor operaii trebuie s fie relaia. Un SGBD este complet relaional dac este minimal relaional i satisface n plus urmtoarele condiii:

104

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

4. Sistemul suport toate operaiile de baz ale algebrei relaionale, fr limitri impuse din considerente interne. 5. Sistemul suport dou dintre restriciile de integritate de baz ale modelului relaional i anume unicitatea cheii unei relaii i restricia referenial. Un SGBD este pseudorelaional dac satisface numai condiiile 1 i 3. Dintre instrumentele i mecanismele de lucru de care dispune un SGBD relaional se pot meniona: un limbaj relaional pentru descrierea datelor la nivel fizic, logic i conceptual; un limbaj relaional pentru manipularea datelor (interogare i actualizare); mecanisme pentru controlul integritii semantice a datelor; mecanisme pentru asigurarea coerenei datelor n condiiile accesului concurent la date i apariiei unor avarii; mecanisme pentru optimizarea cererilor de date; utilitare pentru prezentarea rezultatelor, de tipul

generatoarelor de rapoarte, utilitare pentru generarea de aplicaii, pentru generarea de statistici despre starea i activitatea bazei de date. Dintre SGBD-urile relaionale mai cunoscute putem meniona: INGRES, ORACLE, DB2, FOCUS, SQL\DS .a. care lucreaz sub sistemele de operare VMS i UNIX. Pentru calculatoarele compatibile IBM-PC avem dBase IV, FoxPro, Paradox .a.

105

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Test de autoevaluare nr. 2


1. Definii forma normal FN1. 2. Definii forma normal FN2. 3. Definii forma normal FN3.

106

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

6.3. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
Dependenele ntre date reprezint legturi care se manifest ntre atributele unei relaii. Ele pot fi de mai multe tipuri, i anume: dependen funcional; reprezint dependena ntre date prin care se poate identifica un atribut/grup de atribute prin intermediul altui atribut/grup de atribute. Fiind dat o relaie R, un atribut Y din R este dependent funcional de un alt atribut X din R, dac i numai dac fiecare valoare a lui X are asociat o valoare precis a lui Y. dependen parial; apare atunci cnd avem o relaie cu cheie compus i un atribut X depinde funcional de cheia (complet) relaiei, dar depinde i de o parte component a cheii; dependena tranzitiv; apare atunci cnd un atribut X depinde funcional direct de cheia relaiei dar depinde i de un alt atribut Y, non-cheie. Rezult astfel o dependen indirect ntre atributul X i cheia relaiei prin intermediul atributului Y (Y depinde de cheia relaiei iar X depinde de Y). dependen multivaloare; reprezint acel tip de dependen ntre date n care un atribut/grup de atribute poate prezenta mai multe valori pentru o singur valoare a unui alt atribut/grup de atribute. dependen jociune; aceast dependen apare atunci cnd o relaie poate fi obinut prin aplicarea operaiei de JOIN pe alte dou relaii.

107

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Test de autoevaluare nr. 2


O relaie R este n forma normal unu, FN1, dac domeniile pe care sunt definite atributele relaiei sunt constituite numai din valori atomice (elementare). n plus, un tuplu nu trebuie s conin atribute sau grupuri de atribute repetitive. O relaie R este n forma normal doi, FN2, dac este n FN1 i oricare dintre atributele noncheie este dependent funcional complet de cheia primar a relaiei (nu exist dependene pariale). Dac relaia are cheie simpl atunci automat se gsete n FN2. O relaie R este n forma normal trei, FN3, dac este n FN2 i atributele noncheie nu sunt dependente tranzitiv de cheia primar a relaiei.

6.4. Lucrare de verificare a cunotinelor


1. Explicai noiunea de schem conceptual optim . 2. Care sunt etapele procesului de proiectare a schemei conceptuale a unei baze de date relaionale ? 3. Definii forma normal FN4. 4. Definii forma normal FN5. 5. Care sunt cerinele impuse unui SGBD pentru a putea fi considerat minim relaional ?

Rezumat
n cadrul acestei uniti de nvare au fost prezentate aspecte specifice proiectrii bazelor de date relaionale. S -a introdus conceptul de schem conceptual optim, obinut prin normalizarea relaiilor care compun baza de date. S-au definit primele cinci forme normale.

108

BAZE DE DATE RELAIONALE. Proiectarea Bazelor de Date relaionale

Bibliografie
1. Crstoiu, Dorin, Baze de date relaionale, Editura Printech, Bucureti, 1999 2. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 3. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 5. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 6. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

109

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Unitatea de nvare nr. 7 Noiuni introductive privind Bazele de Date Orientate pe Obiecte
Cuprins Obiectivele unitii de nvare nr. 7 Pagina

111

7.1. Modelul de date orientat pe obiecte. Concepte de baz

112

7.2. Baze de date orientate pe obiecte 7.3. Rspunsuri i comentarii la testele de autoevaluare 7.4. Lucrare de verificare a cunotinelor

118

122

123

Rezumat

123

Bibliografie

123

110

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

OBIECTIVELE unitii de nvare nr. 7


Principalele obiective ale unitii de nvare numrul 7 sunt urmtoarele: Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: va nelege modelul de date orientat pe obiecte; va cunoate i va nelege operaiile care se pot efectua asupra bazelor de date orientate pe obiecte; va cunoate restriciile specifice modelului de date orientat pe obiecte.

Dezvoltarea tehnologiei sistemelor de calcul n ultimii ani a condus la ptrunderea acestora n tot mai multe domenii de activitate, avnd de rezolvat probleme din cele mai diverse i mai complexe. Pen tru aceasta, structurile clasice de date bazate pe text i valori numerice fie se dovedesc insuficiente, fie complexitatea lor depete posibilitile de prelucrare oferite de tehnologiile clasice. Aplicaiile specifice anumitor domenii cum ar fi: proiectarea asistat de calculator, sisteme informatice geografice, sisteme bazate pe cunotine etc., presupun stocarea unor cantiti mari de informaii cu o structur complex. De exemplu, aplicaiile de proiectare asistat de calculator necesit stocarea i m anevrarea unor desene formate din grupuri de elemente complexe, alturi de acestea fiind necesar stocarea i a altor informaii privind materialele folosite, maini i utilaje disponibile, rezultate ale verificrilor efectuate asupra proiectului etc. Un alt domeniu al informaticii care necesit structuri de date complexe este multimedia. Acest domeniu, spre care exist o orientare tot mai puternic, presupune integrarea imaginilor reale sau

111

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

sintetizate cu sunet i muzic, integrare ce nu mai permite folosi rea datelor numerice sau de tip ir de caractere. O modalitate de rezolvare a acestor probleme este dat i de tehnologia aplicaiilor orientate pe obiecte. Bazele de date orientate pe obiecte permit crearea de obiecte complexe din componente mai simple, fiecare avnd propriile atribute i propriul comportament. Domeniile care se preteaz n mod deosebit la o tratare orientat pe obiecte sunt: proiectare (CAD), fabricare (CAM) i inginerie (CAE) asistate de calculator; simulare i modelare; sisteme informaionale spaiale (GIS); administrarea documentelor i automatizarea muncii de birou; multimedia; ingineria cunoaterii: baze de cunotine, sisteme expert; controlul proceselor n timp real, pe baz de evenimente. Obiectivele principale ale sistemelor de gestiune orientate pe obiecte sunt: Puterea de modelare superioar a datelor. Posibiliti motenire); Ameliorarea interfeei cu utilizatorul; Luarea n considerare a aspectelor dinamice, integrarea descrierii structurale i comportamentale a obiectelor. de deducie superioar (ierarhie de clase,

7.1. Modelul de date orientat pe obiecte. Concepte de baz


Un model de date orientat pe obiecte are la baz noiunea de entitate conceptual i definete un obiect ca o colecie de proprieti

112

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

care descriu entitatea. Principalele concepte care stau la baza unui model orientat pe obiecte sunt: obiectul, ncapsularea, persistena, clasa, tipul, motenirea, polimorfismul, identitatea i domeniul. Obiectul Conceptual, un obiect reprezint o unitate identificabil i cu coninut propriu, care se deosebete de ceea ce o nconjoar. Obiectele sunt abstractizri ale entitilor lumii reale i se caracterizeaz prin stare i comportament. Starea unui obiect este exprimat prin valorile atributelor sale. Colecia de atribute aleas pentru un obiect trebuie s fie suficient pentru a descrie entitatea, adic trebuie s includ acele atribute pe care le cunosc utilizatorii. Comportamentul unui obiect reprezint un set de metode sau operaii care acioneaz asupra atributelor sale. Considernd, de exemplu obiectul AVION acesta poate avea ca atribute: viteza, anvergura, greutatea, culoarea, nlimea de zbor etc. Un obiect nglobeaz urmtoarele elemente: structura de date; specificarea operaiilor; implementarea operaiilor. Structura unui obiect i operaiile (metodele) permise pentru acel obiect sunt definite mpreun. O metod reprezint o procedur ce manipuleaz obiectul sau indic starea sa i este totdeauna asociat unei clase. Metodele i atributele nu sunt vizibile din exteriorul obiectului. Un obiect comunic cu exteriorul prin intermediul mesajelor . Mesajele reprezint cereri adresate obiectului pentru a returna o valoare sau pentru a-i schimba starea.

113

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Obiectele pot fi simple sau compuse din alte obiecte. Un obiect compus poate avea ca atribute alte obiecte, formnd astfel o structur ierarhic.

ncapsularea Structura obiectului i modul de aciune al metodelor sale nu pot fi accesate i actualizate direct de ctre un agent extern, dar pot fi modificate indirect prin intermediul mesajelor. Aceast caracteristic ascuns a strii obiectului este cunoscut sub numele de ncapsulare. Un obiect este astfel divizat n dou pri: o parte de interfa reprezentat de mesaje i o parte ascuns, de implementare, reprezentat de starea intern i de metodele obiectului. ncapsularea ascunde utilizatorului complexitatea unui obiect, oferindu-i n schimb o imagine funcional simplificat a acestuia, imagine care i permite s modeleze i s rezolve cu mai mult uurin problemele complexe. Persistena Aceasta este o proprietate a datelor sau a obiectelor care implic existena mai ndelungat a acestora fa de procesul care le -a creat. Este proprietatea prin care starea bazei de date asigur pstrarea unui proces pentru a fi refolosit ulterior n alt proces. Codul aferent metodelor, fiind parte integrant din obiect, este stocat, ca i starea obiectului, n baza de date. Aceasta nseamn c, odat ce a fost descris, o metod devine permanent, decongestionnd astfel aplicaia i asigurndu-i independena fa de date. O modificare adus unei metode devine imediat operant i persist pn la o nou modificare.

114

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Tipuri i clase Obiectele care au acelai fel de atribute i acelai comportament pot fi categorisite ca fcnd parte din acelai tip sau din aceeai clas. ntr-un sistem orientat pe obiecte, tipul sintetizeaz elementele comune ale unui set de obiecte cu aceleai caracteristici. Corespunde noiunii de tip abstract de date i are dou componente: interfaa; implementarea. Noiunea de clas, dei are aceeai specificaie cu cea de tip, este diferit de acesta, fiind mai mult asociat cu faza de execuie i presupune dou aspecte: generarea de obiecte; stocarea setului de obiecte care reprezint instanele clasei. O clas are o descriere ce const dintr-un set de structuri de date comune, cunoscute ca variabile de instan, un protocol comun ce const dintr-un set de mesaje, la care instanele clasei vor rspunde i un set de metode pentru implementarea de operaii comune. Clasele sunt referite uneori ca tip de date abstracte. Descrierea clasei servete ca ablon dup care vor fi create noile obiecte. O clas este deci un tip abstract de date care definete att structura obiectelor din clasa respectiv, ct i mulimea metodelor existente pentru aceste obiecte. Ca urmare, obiectele din aceeai clas au aceleai atribute i aceleai metode i rspund la aceleai mesaje. Clasele sunt organizate ierarhic fiecare clas nou creat trebuind s fie obinut din alt clas deja existent. Dac nu exist nici o clas potrivit pentru definirea unei noi clase, aceasta va fi identificat ca o subclas a clasei generale sistem (metaclas).

115

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Orice subclas motenete structurile i metodele superclasei din care face parte. O clas poate crea noi instane ale obiectelor. Motenire ntr-o baz de date orientate pe obiecte, clasele sunt aranjate ntr o ierarhie n care fiecare clas motenete toate atributele i metodele superclasei din care face parte. Motenirea este un concept puternic, care conduce la posibilitatea de reutilizare a codului. Prin motenire, o clas preia toate atributele i metodele clasei din care deriv adugnd la ele atributele i metodele proprii. Este de asemenea posibil ca o clas s aib mai mult dect o superclas. Acest lucru este cunoscut ca motenire multipl.

Polimorfism Polimorfismul se refer la faptul c, la primirea unui mesaj, stabilirea metodei care se aplic se face n mod dinamic, n funcie de clasa obiectului n cauz. Astfel, instane ale unor clase diferite pot fi adresate uniform (primesc aceleai mesaje), dar manifest comportamente diferite. Acest fapt asigur manipularea simpl i coerent a seturilor eterogene de obiecte. Un alt tip de comportament polimorfic este asociat cu motenirea. Rspunsul unui obiect la un mesaj poate fi determinat de metodele motenite de la superclas. Motenirea multipl permite definirea unor forme complexe de comportament polimorfic care pot antrena uneori combinarea metodelor de la dou sau mai multe supercla se.

116

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Identitatea

Identitatea este un mijloc de a distinge un obiect de altul. Prin identitate se asigur i persistena datelor. Oricare din obiectele unei baze de date orientate pe obiecte are identitate care este independent de valorile atributelor sale. Spre deosebire de modelul relaional, care utilizeaz unicitatea cheii primare pentru a identifica obiectul, tehnologia orientat pe obiecte permite modificarea valorilor oricrui atribut fr a-i afecta identitatea. Mai mult chiar, obiectele au contiina de sine, adic se pot referi pe ele nsele prin intermediul pointerului SELF. Fiecare instan sau realizare a obiectului are un identificator de obiect intern, repartizat lui i cunoscut ca ID obiect sau pointer. Acesta este independent de valorile atributelor sale. Fiind generat de sistem, identificatorul este unic i nu este accesibil utilizatorului. Restricii de integritate ale modelului de date orientat pe obiecte n cazul modelului de date orientat pe obiecte, restriciile de integritate cunt o consecin a structurii modelului i a operaiilor. Urmtoarele reguli sunt important de reinut: toate obiectele trebuie s respecte protocolul specificat prin definirile lor de clas; obiectele sunt ncapsulate. Aceasta presupune accesul la obiect numai prin folosirea protocolului de mesaje definit pentru clasa obiectului; identificatorul obiectului trebuie s asigure integritatea referirii la un obiect. Astfel, un obiect nu exist fr s aib asignat un identificator.

117

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Dac un obiect este ters sau mutat atunci trebuie s fie terse sau mutate toate obiectele derivate din acesta.

Test de autoevaluare nr. 1


2. Explicai conceptul de motenire.

7.2. Baze de date orientate pe obiecte


O baz de date orientat pe obiecte poate fi definit ca fiind rezultatul aplicrii tehnologiei orientate pe obiecte n domeniul stocrii i regsirii informaiilor. Ea ofer posibilitatea de a reprezenta structuri de date foarte complexe cu ajutorul obiectelor. Definirea clasei este mecanismul de specificare a schemei bazei de date. Schema bazei de date const din toate clasele care au fost definite pentru o aplicaie particular. Definiiile de clas includ motenirea, relaiile de nrudire (superclasa, subclasa) i relaiile

118

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

structurale dintre clase (analog cu relaiile din modelul entitaterelaie-atribut). O schem complet de baz de date poate consta din una sau mai multe ierarhii de clas mpreun cu relaiile structurale. Descrierile individuale ale schemei se refer la variabile de instan ale claselor individuale. Schema bazei de date poate fi modificat dinamic, n funcie de necesitile utilizatorilor. Pot fi identificate dou tipuri de schimbare a schemei unei baze de date orientate pe obiecte: 1. Schimbri referitoare la modul de definire al unei clase. Acestea includ schimbrile atributelor i metodelor definite pentru o clas, cum ar fi schimbarea numelui sau domeniului unui atribut, adugarea, tergerea unui atribut sau metode; 2. Schimbri referitoare la structura ierarhiei de clase care includ adugarea sau tergerea unei clase i schimbarea relaiilor superclasa/subclasa dintre o pereche de clase.

Proiectarea bazelor de date orientate pe obiecte Modul clasic de proiectare se bazeaz pe tehnica top -down. Se identific mai nti componentele majore, se stabilesc corelaiile ntre ele, iar apoi se trece la rafinri succesive, n cascad, a componentelor. Proiectarea orientat pe obiecte se bazeaz mai mult pe tehnica bottom-up. Se identific mai nti componentele funcionale pe baza crora se va construi apoi ntregul edificiu. Se identific n coleciile existente obiectele care pot fi reutilizate pentru noul proiect. Acestea vor fi preluate ca atare sau, dac este cazul, vor fi ajustate. Cele care nu exist vor fi create, uneori din temelii, dar de cele mai multe ori ca subclase ale unor clase existente. Odat creat ierarhia de clase potrivit, se testeaz componentele specifice, se pune la punct documentaia i se poate ncepe aciunea de implementare.

119

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

Aceast metodologie modific n mod substanial planificarea lucrrilor i etapelor. Partea cea mai minuioas a proiectrii se mut la nceputul proiectului. Dac exist deja biblioteci de obiecte utilizate n alte aplicaii, realizarea uni prototip se poate face foarte rapid . Pe baza lui se stabilesc aspectele funcionale i de interfa ale aplicaiei, dup care se trce la etapa de identificare a obiectelor, a claselor, a ierarhiei, a modului de comunicare ntre obiecte. Etapa final a proiectului const n asamblarea acestor elemente.

Sisteme de gestiune a bazelor de date orientate pe obiecte

Sistemele de gestiune a bazelor de date orientate pe obiecte trebuie s pstreze funciunile oferite de SGBD-urile dezvoltate anterior, folosind totodat structuri de date i reguli o rientate spre lucrul cu obiecte. Un SGBD orientat pe obiecte trebuie s satisfac dou criterii: s fie un sistem orientat pe obiecte, deci bazat pe modelul orientat pe obiecte; s ndeplineasc cerinele unui sistem de gestiune a bazelor de date. Arhitectura unui SGBD se refer la o descriere abstract a organizrii unui sistem n scopul de a prezenta componentele funcinale i interfeele dintre ele. Arhitectura unui SGBD-OO cuprinde trei componente majore: Gestionarul de obiecte (Object Manager) care asigur interfaa dintre procese (prelucrrile) externe i SGBD-OO; Server-ul de obiecte care este responsabil cu asigurarea serviciilor de baz ale SGBD-urilor, cum ar fi: gestiunea tranzaciilor i gestiunea stocului de obiecte; Stocul rezident de obiecte sau chiar baza de date obiect. Procesele externe pot fi generate de ctre diveri utilizatori prin accesarea SGBD-OO. Utilizatorii finali externi i cei care dezvolt

120

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

aplicaii pot folosi diverse instrumente soft, cum ar fi: editoare de texte, browseri de obiecte i clase, accesorii de proiectare automat de baze de date i interfee pentru sisteme de proiectare CAD/CAM. Aceste sisteme pot servi ca instrumente (kits) front_end ce realizeaz interfaa cu gestionarul de obiecte. n prezent, SGBD-OO comerciale sunt accesate n primul rnd prin limbajele de programare orientate obiect, cum ar fi: Smalltalk, Common Lisp i C++. Interfaa dintre limbajele de programare orientate pe obiecte i SGBD-OO o reprezint limbajul pentru baza de date. Un SGBD trebuie s asigure un limbaj pentru baze de date pentru a permite definirea i manipularea schemei bazei de date i a datelor. Exemple de SGBD-OO sunt: GemStone, ObjectStore, Ontos, Raima Object Manager, Versant etc.

Test de autoevaluare nr. 2


1. Care sunt modalitile de schimbare a schemei unei baze de date orientate obiect ?

121

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

7.3. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
ntr-o baz de date orientate pe obiecte, clasele sunt aranjate ntr o ierarhie n care fiecare clas motenete toate atributele i metodele superclasei din care face parte. Motenirea este un concept puternic, care conduce la posibilitatea de reutilizare a codului. Prin motenire, o clas preia toate atributele i metodele clasei din care deriv adugnd la ele atributele i metodele proprii. Este de asemenea posibil ca o clas s aib mai mult dect o superclas. Acest lucru este cunoscut ca motenire multipl.

Test de autoevaluare nr. 2


Schema bazei de date poate fi modificat dinamic, n funcie de necesitile utilizatorilor. Pot fi identificate dou tipuri de schimbare a schemei unei baze de date orientate pe obiecte: 1. Schimbri referitoare la modul de definire al unei clase. Acestea includ schimbrile atributelor i metodelor definite pentru o clas, cum ar fi schimbarea numelui sau domeniului unui atribut, adugarea, tergerea unui atribut sau metode; 2. Schimbri referitoare la structura ierarhiei de clase care includ adugarea sau tergerea unei clase i schimbarea relaiilor superclasa/subclasa dintre o pereche de clase.

122

Noiuni introductive privind Bazele de Date Orientate pe Obiecte

7.4. Lucrare de verificare a cunotinelor


1. Care sunt caracteristicile unui obiect ? 2. Explicai conceptul de ncapsulare. 3. Explicai conceptul de polimorfism. 4. Precizai restriciile de integritate ale modelului de date orientat obiect. 5. Caracterizai proiectarea bazelor de date orientate obiect.

Rezumat
n aceast unitate de nvare sunt prezentate aspectele caracteristice modelului de date orientat pe obiecte i elementele care definesc bazele de date orientate obiect.

Bibliografie
1. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 2. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 3. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

123

Noiuni introductive privind Bazele de Date Distribuite

Unitatea de nvare nr. 8. Noiuni introductive privind Bazele de Date Distribuite


Cuprins Obiectivele unitii de nvare nr. 8 Pagina

125

8.1. Baze de date distribuite

125

8.2. Sistemul de gestiune a bazelor de date distribuite 8.3. Rspunsuri i comentarii la testele de autoevaluare 8.4. Lucrare de verificare a cunotinelor

129

132

133

Rezumat

133

Bibliografie

133

124

Noiuni introductive privind Bazele de Date Distribuite

OBIECTIVELE unitii de nvare nr. 8


Principalele obiective ale unitii de nvare numrul 8 sunt urmtoarele: Dup parcurgerea acestei uniti studentul va pute a demonstra c are suficiente cunotine pentru a nelege: va nelege modelul distribuit al datelor ; va cunoate i va nelege operaiile care se pot efectua asupra bazelor de date distribuite ; va cunoate specificaiile SGBD-urilor distribuite.

8.1. Baze de date distribuite


O baz de date distribuit poate fi definit ca o colecie de date integrate, din punct de vedere logic, dar distribuite, din punct de vedere fizic, pe staiile unei reele de calculatoare. Fiecare staie a reelei are autonomie de prelucrare care i permite s realizeze aplicaii locale. De asemenea, fiecare staie particip la execuia aplicaiilor globale care necesit accesarea datelor din mai multe staii. Reelele de calculatoare pot fi locale (LAN - Local Area Network) sau la nivel de jude, ar, continent etc. (WAN - World Area Network). Realizarea i exploatarea bazelor de date distribuite implic rezolvarea unor probleme cum ar fi: Controlul centralizat. Spre deosebire de bazele de date locale care erau controlate de un administrator unic, bazele de date distribuite presupun existena unui administrator global, care are responsabilitatea central a ntregii baze de date

125

Noiuni introductive privind Bazele de Date Distribuite

distribuit i a unor administratori locali, crora le revin responsabilitile legate de bazele de date locale.

Administratorii locali pot avea un grad nalt de autonomie care poate merge pn la realizarea coordonrii ntre staii. Independena datelor. n cazul bazelor de date distribuite asigurarea independenei datelor fa de programele de aplicaii are aceeai importan ca i n cazul bazelor de date locale, dar apare un nou aspect legat de transparena distribuiei. Prin transparena distribuiei programele pot fi scrise fcnd abstracie de distribuirea fizic a datelor. Mutarea datelor dintr-o staie n alta trebuie s afecteze numai viteza de execuie, nu i corectitudinea programului. Asigurarea unei redundane minime i controlate. n cadrul bazelor de date distribuite exist mai multe motive pentru a considera redundana datelor o caracteristic acceptabil, i anume: localizarea este mai rapid atunci cnd datele sunt replicate la toate staiile unde sunt cerute de aplicaii; disponibilitatea, sigurana sistemului crete atunci cnd datele sunt replicate. n cazul cderii unei staii, aplicaiile pot fi dirijate la staiile unde datele sunt replicate. Redundana datelor reduce efortul de regsire a datelor dar crete efortul de actualizare. Evaluarea unui grad optim al redundanei trebuie s in seama de raportul ntre accesele de regsire i accesele de actualizare a datelor. Integritatea, restaurarea datelor i controlul concurenei. n cazul bazelor de date distribuite soluiile privind integritatea, restaurarea datelor i controlul concurenei (cererea simultan a acelorai date) sunt legate de modul de realizare a tranzaciilor. O tranzacie este o unitate atomic de execuie, o secven de operaii care fie sunt realizate n ntregime fie nu

126

Noiuni introductive privind Bazele de Date Distribuite

sunt realizate. n cadrul bazelor de date distribuite problema atomicitii tranzaciilor capt un aspect particular legat de modul n care trebuie s se comporte sistemul atunci cnd una din staii nu este operaional: s abandoneze ntreaga tranzacie sau s ncerce s execute corect tranzacia chiar dac ambele staii nu sunt simultan operaionale. Sigurana i securitatea datelor. n bazele de date tradiionale, administratorul bazei de date care are controlul centralizat permite numai un aces autorizat la date. n bazele de date distribuite, administratorii se confrunt cu aceleai probleme ca administratorii bazelor de date tradiionale. Sunt de menionat dou aspecte particulare: n bazele de date distribuite, cu un grad ridicat de autonomie a staiilor, bazele de date locale sunt mai protejate deoarece administratorii locali i realizeaz propria protecie fr s depind de un administrator centralizat; problemele securitii sunt intrinseci sistemelor distribuite deoarece comunicaia n reea poate reprezenta un punct slab n realizare proteciei. Fa de bazele de date centralizate, bazele de date distribuite au urmtoarele avantaje: Creterea adaptabilitii sistemului. n orice moment baza de date poate fi extins prin adugarea de noi structuri de baze de date, cu un impact minim asupra structurii bazei de date distribuite i fr a afecta aplicaiile existente. n cazul sistemelor centralizate, dimensiunile iniiale ale sistemului trebuie s prevad viitoarele expansiuni, lucru greu de realizat i costisitor de implementat. Sporirea performanelor sistemului deoarece partajarea i replicarea datelor ca i existena mai multor procesoare

127

Noiuni introductive privind Bazele de Date Distribuite

au ca rezultat creterea gradului de paralelism n executarea aplicaiilor. Creterea siguranei sistemului. Sistemul distribuit este proiectat astfel nct cderea unei staii nu afecteaz ntregul sistem. Disponibilitatea sporit a datelor asigurat de replicarea lor. Chiar dac o staie cade, datele sunt nc disponibile prin copiile memorate pe alte staii.

Test de autoevaluare nr. 1


1. Care sunt avantajele bazelor de date distribuite ?

128

Noiuni introductive privind Bazele de Date Distribuite

8.2. Sistemul de gestiune a bazelor de date distribuite


Un sistem de baze de date distribuite este un sistem n cadrul cruia mai multe baze de date locale sunt legate printr-un sistem de comunicaie astfel nct datele din orice staie pot fi accesate de utilizatori de la alte staii. Un sistem de baze de date distribuite conine urmtoarele componente software: componenta de comunicaie; sistemul de gestiune al bazei de date locale (SGBDL); dicionarul de date global (DDG); sistemul de gestiune al bazei de date distribuite (SGBDD). Componenta de comunicaie este cea care realizeaz legturile n cadrul reelei. El cuprinde descrierea complet a nodurilor i a legturilor din cadrul reelei. Sistemul de gestiune al bazei de date locale este un sistem standard de gestiune a bazelor de date. De obicei conine propriul su dicionar pentru datele locale. Dicionarul de date global cuprinde informaii despre baza de date distribuit: localizarea, structura, disponibilitatea i modul de utilizare a datelor. SGBDD cuprinde un sistem complex de programe care asigur interfaa ntre baza de date distribuit i utilizatorii acesteia. Funciile pe care le ndeplinete un SGBDD sunt urmtoarele: 1. Asigurarea interfeei cu utilizatorul. Unul din obiectivele majore ale unei baze de date distribuite este asigurarea transparenei localizrii datelor. Utilizatorul nu trebuie s cunoasc nodul la care sunt localizate datele i s interacioneze cu baza de date distribuit n acelai mod ca i cu o baz de date local.

129

Noiuni introductive privind Bazele de Date Distribuite

2. Localizarea datelor. Dup primirea unei cereri de date, SGBDD consult dicionarul de date global pentru a localiza nodul n care sunt memorate datele. Cererile de date pot fi mprite n cereri locale, la distan i compuse. Dac cererea poate fi satisfcut n ntregime local este preluat de SGBD-ul local. O cerere la distan este o cerere care poate fi prelucrat n ntregime ntr-un alt nod dect cel care a emis cererea. n acest caz SGBDD transfer crerea SGBD-ului de la nodul respectiv. O cerere compus este o cerere care necesit informaii din mai multe noduri. Pentru a prelucra o cerere compus este necesar mai nti descompunerea acesteia n cereri locale i cereri la distan. n urma prelucrrii, rezultatele sunt transferate SGBDD care le transfer la rndul lui utilizatorului. Pentru a superviza execuia cererilor, un nod trebuie s-i asume rolul de coordonator. Celelalte noduri care concur la realizarea unei cereri se numesc noduri cooperante. Un nod poate fi n acelai timp nod i coordonator (pentru crerile lansate din acest nod) i cooperant (pentru cererile lansate din celelalte noduri care solicit acces la acest nod). 3. Asigurarea controlului concurenei i restaurarea datelor la nivelul ntregului sistem. Fiecare SGBD rspunde de actualizarea i restaurarea datelor din propria baz de date. n caz de incident, SGBD local poate restaura datele la starea anterioar producerii incidentului dar numai SGBDD poate pstra i aplica modificrile care au intervenit dup producerea incidentului. Controlul concurenei la nivelul sistemelor este necesar pentru a asigura sincronizarea proceselor. 4. Realizarea administrrii bazei de date distribuite i controlul acesteia. SGBDD dispune de instrumente pentru monitorizarea bazei de date distribuite, colectarea informaiilor despre modul de utilizare a acesteia i, pe baza acestora, realizeaz viziunea global asupra ei.

130

Noiuni introductive privind Bazele de Date Distribuite

O caracteristic important a SGBDD este omogenitatea sau eterogenitatea. Un SGBDD este omogen atunci cnd toate SGBDurile locale sunt de acelai fel. Un SGBDD eterogen implic cel puin dou SGBD-uri locale diferite. Astzi exist SGBDD omogene cum sunt: SDD-1, R*, DDM .a. i SGBDD eterogene cum ar fi: MULTIBASE, DDTS .a. De un interes crescnd se bucur sistemele eterogene de baze de date distribuite.

Test de autoevaluare nr. 2


Care sunt componentele unui SGBD distribuit (SGBDD) ?

131

Noiuni introductive privind Bazele de Date Distribuite

8.3. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
Fa de bazele de date centralizate, bazele de date distribuite au urmtoarele avantaje: Creterea adaptabilitii sistemului. n orice moment baza de date poate fi extins prin adugarea de noi structuri de baze de date, cu un impact minim asupra structurii bazei de date distribuite i fr a afecta aplicaiile existente. n cazul sistemelor centralizate, dimensiunile iniiale ale sistemului trebuie s prevad viitoarele expansiuni, lucru greu de realizat i costisitor de implementat. Sporirea performanelor sistemului deoarece partajarea i replicarea datelor ca i existena mai multor procesoare au ca rezultat creterea gradului de paralelism n executarea aplicaiilor. Creterea siguranei sistemului. Sistemul distribuit este proiectat astfel nct cderea unei staii nu afecteaz ntregul sistem. Disponibilitatea sporit a datelor asigurat de replicarea lor. Chiar dac o staie cade, datele sunt nc disponibile prin copiile memorate pe alte staii.

Test de autoevaluare nr. 2


Un sistem de baze de date distribuite conine urmtoarele componente software: componenta de comunicaie; sistemul de gestiune al bazei de date locale (SGBDL);

132

Noiuni introductive privind Bazele de Date Distribuite

dicionarul de date global (DDG); sistemul de gestiune al bazei de date distribuite (SGBDD).

8.4. Lucrare de verificare a cunotinelor


1. Ce este o baz de date distribuit ? 2. Enumerai i explicai principalele probleme ridicate de realizarea i exploatarea bazelor de date distribuite. 3. Explicai funcia SGBDD de asigurare a interfeei cu utilizatorul. 4. Explicai funcia SGBDD de localizare a datelor. 5. Explicai funcia SGBDD de asigurare a controlului accesului concurent la date.

Rezumat
n aceast unitate de nvare sunt prezentate aspectele caracteristice bazelor de date distribuite precum i caracteristicile SGBD-urilor distribuite.

Bibliografie
1. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 2. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 3. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001

133

Protecia i securitatea bazelor de date

Unitatea de nvare nr. 9. Protecia i securitatea bazelor de date


Cuprins Obiectivele unitii de nvare nr. 9 9.1. Protecia baze de date Pagina

135

135

9.1.1. Integritatea datelor

136

9.2. Securitatea bazei de date 9.3. Rspunsuri i comentarii la testele de autoevaluare 9.4. Lucrare de verificare a cunotinelor

139

143

145

Rezumat

145

Bibliografie

145

134

Protecia i securitatea bazelor de date

OBIECTIVELE unitii de nvare nr. 9


Principalele obiective ale unitii de nvare numrul 9 sunt urmtoarele: Dup parcurgerea acestei uniti studentul va putea demonstra c are suficiente cunotine pentru a nelege: aspectele care definesc protecia datelor ; tehnicile de asigurare a integritii datelor din baza de date ; metodele de asigurare a securitii datelor.

9.1. Protecia bazelor de date


Protecia bazelor de date const dintr-un set de msuri umane i faciliti oferite de SGBD prin care se urmrete asigurarea integritii datelor, definit ca fiind corectitudinea 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 ceea 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 voite. Teoretic, toate sistemele ar trebui 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

135

Protecia i securitatea bazelor de date

proteciei bazelor de date ce vor fi prezentate mai jos se bazeaz pe presupunerea c, la nivelul sistemului de operare, protecia informaiilor din bazele de date este asigurat.

9.1.1. Integritatea datelor Corespunztor situaiilor care pot genera apariia unor date incorecte n baza de date, se disting trei aspecte ale asigurrii integritii datelor: 1. 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, declanndu-se 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 de controlat. 2. Controlul accesului concurent la date presupune prevenirea obinerii unor rezultate incorecte din execuia concurent (simultan) a unor prelucrri n regim multiutilizator. O alt problem care poate apare la prelucrarea concurent este dat de interblocare. Aceasta nseamn c dou tranzacii blocheaz anumite resurse, apoi solicit fiecare resursele blocate de cealalt. 3. Salvarea i restaurarea bazei de date. Au ca scop readucerea datelor la o form consistent n urma unor evenimente care au alterat corectitudinea lor precum: funcionarea anormal sau o cdere a SGBD sau a sistemului de operare; defeciune fizic a suportului fizic pe care este memorat baza de date.

136

Protecia i securitatea bazelor de date

n primul caz, prin ntreruperea tranzaciilor active n momentul respectiv, baza de date va rmne ntr-o stare de inconsisten. n cel de-al doilea caz, suportul pe care rezid baza de date va fi inutilizabil, deci toate datele se vor pierde. Pentru restaurarea bazei de date este necesar existena unor informaii despre derularea tranzaciilor pn n momentul ntreruperii lucrului i aplicarea, dup caz a uneia din urmtoarele tehnici de restaurare de baz: derularea napoi a tranzaciilor (ROLLBACK) - care presupune anularea modificrilor efectuate de acestea asupra bazei de date; derularea nainte a tranzaciilor completate dar nereflectate n baza de date (ROLLFORWARD) - care presupune efectuarea acelor transformri prin care baza de date restaurat s conin rezultatele acestora. Se observ deci c tranzacia poate fi considerat unitatea de restaurare, n sensul c baza de date restaurat trebuie , fie s reflecte rezultatele finale ale tranzaciilor, fie s nu fie afectat de acestea. Procesul de restaurare utilizeaz o serie de infromaii obinute prin aplicarea unei anumite strategii de salvare. Datele salvate pot fi diferite combinaii ntre: - copii ale bazei de date i copii ale jurnalelor acesteia; - jurnale ale tranzaciilor; - jurnale ale imaginii nregistrrilor din baza de date. Copiile bazei de date pot fi realizate automat de ctre sistem la anumite intervale de timp, sau la comanda administratorului bazei de date, ori de cte ori este nevoie, de preferat pe suporturi magnetice diferite de cele pe care este stocat baza de date. n cazul unei deteriorri a suportului magnetic care pstreaz baza de date, acesta este singura posibilitate de recuperare a bazei de date.

137

Protecia i securitatea bazelor de date

Jurnalul tranzaciilor este un fiier special, ntreinut de SGBD, n care sunt memorate informaii despre tranzaciile efectuate asupra bazei de date, cum sunt: identificatorul sau codul tranzaciei; momentul nceperii execuiei tranzaciei; numrul terminalului sau identificatorul utilizatorului care a iniiat tranzacia; datele introduse; nregistrrile modificate i tipul modificrii. Pe baza lui va putea fi stabilit ulterior succesiunea corect i natura prelucrrilor efectuate n intervalul de timp pentru care trebuie s se sigure restaurarea bazei de date. Jurnalul imaginilor se deosebete de jurnalul tranzaciilor prin aceea c el nu conine descrierea operaiilor efectuate asupra bazei de date ci efectul acestora. Poate mbrca una din urm roarele forme: jurnalul cu imaginea nregistrrilor dup modificare (after image) - va conine copia fiecrei nregistrri ce este modificat, n forma rezultat dup modificare; jurnalul cu imaginea nregistrrilor naintea unei modificri (before image) - va conine copia fiecrei nregistrri ce este modificat, n forma iniial, anterioar efecturii modificrii; jurnalul care conine att imaginea nregistrrilor inainte ct i dup modificare. Restaurarea bazei de date se poate face automat sau manual.

138

Protecia i securitatea bazelor de date

Test de autoevaluare nr. 1


Care sunt aspectele asigurririi integritii datelor ?

9.2. Securitatea bazei de date


Asigurarea securitii bazei de date presupune interzicerea accesului neautorizat la date. Aceasta 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 timpul 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 de date, pe baza cruia pot fi depistate ncercrile de acces neautorizat la baza de date.

139

Protecia i securitatea bazelor de date

Pentru cererile de intrare/ieire transmise sistemului de operare de ctre SGBD sunt posibile verificri 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 continuare vor fi prezentate urmtoarele mecanisme de asigurare a securitii datelor din baza de date: 1. Autorizarea i controlul accesului la date presupune identificarea utilizatorilor, restricionarea accesului acestora la date precum i restricionarea operaiilor ce pot fi executate asupra datelor accesate. Cea mai mare parte a SGBD-urilor actuale folosesc pentru identificarea utilizatorilor parole. Fiecare parol va fi asociat cu anumite drepturi de acces la date, ea nefind 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 fiecruie dugndu -se drepturile stabilite pentru grupul respectiv. Privilegiile unui utilizator depind astfel de clasa de utilizatori creia i aparine. Din acest punct de vedere, utilizatorii se mpart n: administratorul bazei de date care are toate drepturile asupra acesteia, utilizatori proprietari de obiecte (tabele, viziuni, proceduri), un obiect fiind ntotdeauna n proprietatea celui care-l creeaz, i utilizatorii obinuii, care nu au n proprietate obecte i nu au alte privilegii dect cele motenite ca membrii ai unui grup sau menionate explicit de admin istratorul bazei de date. 2. Definirea i utilizarea viziunilor. Viziunile (schemele externe) sunt partiii logice ale bazei de date. Ele sunt definite pentru diferii

140

Protecia i securitatea bazelor de date

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 obiectele 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 trebuiesc avute n vedere efectele laterale pe care aceasta le poate produce asupra obiectelor iniiale. Utilizatorului nu trebuie s i se permit s efectueze asupra viziunii acele operaii care pot afecta obiectele iniiale. n caz contrar, pot s apar erori sau inconsistene n baza de date. 3. Realizarea de proceduri speciale. 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 trebuie efectuate asupra datelor. Utilizatorului i se va acorda dreptul de execuie a acestor proceduri i i se va interzice accesul direct la obiectele bazei de date gestionate de procedur. 4. Criptarea datelor este operaia de codifcare a datelor n 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 de criptare care permit utilizatorului s-i realizeze propriile rutine de criptare. Procesul efectiv de criptare presupune folosirea unui sistem de cifrare, ale crui componente sunt:

141

Protecia i securitatea bazelor de date

1. Algoritmul de criptare - realizeaz transformarea datelor din forma iniial n forma criptat (cifrat). 2. Cheia de criptare - valoare ce constituie o intrare a algoritmului de criptare, aleas dintr-o mulime de chei posibile. 3. Algoritmul de decriptare - realizeaz transformarea datelor din forma criptat n forma iniial. 4. Cheia de decriptare - valoare ce constituie o intrare n algoritmul de decriptare, dependent de cheia de criptare.

Test de autoevaluare nr. 2


Care sunt principalele mecanisme de asigurare a securitii datelor ?

142

Protecia i securitatea bazelor de date

8.3. Rspunsuri i comentarii la testele de autoevaluare


Test de autoevaluare nr. 1
Corespunztor situaiilor care pot genera apariia unor date incorecte n baza de date, se disting trei aspecte ale asigurrii integritii datelor: 4. 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, declanndu-se 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 de controlat. 5. Controlul accesului concurent la date presupune prevenirea obinerii unor rezultate incorecte din execuia concurent (simultan) a unor prelucrri n regim multiutilizator. O alt problem care poate apare la prelucrarea concurent este dat de interblocare. Aceasta nseamn c dou tranzacii blocheaz anumite resurse, apoi solicit fiecare resursele blocate de cealalt. 6. Salvarea i restaurarea bazei de date. Are ca scop readucerea datelor la o form consistent n urma unor evenimente care au alterat corectitudinea lor precum: funcionarea anormal sau o cdere a SGBD sau a sistemului de operare; defeciune fizic a suportului fizic pe care este memorat baza de date.

143

Protecia i securitatea bazelor de date

Test de autoevaluare nr. 2


Mecanismele de asigurare a securitii datelor din baza de date sunt urmtoarele: 1. Autorizarea i controlul accesului la date ; presupune identificarea utilizatorilor, restricionarea accesului acestora la date precum i restricionarea operaiilor ce pot fi executate asupra datelor accesate. 2. Definirea i utilizarea viziunilor. 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 obiectele 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. 3. Realizarea de proceduri speciale. 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 trebuie efectuate asupra datelor. Utilizatorului i se va acorda dreptul de execuie a acestor proceduri i i se va interzice accesul direct la obiectele bazei de date gestionate de procedur. 4. Criptarea datelor este operaia de codifcare a datelor n 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 de criptare care permit utilizatorului s-i realizeze propriile rutine de criptare.

144

Protecia i securitatea bazelor de date

9.4. Lucrare de verificare a cunotinelor


1. Cum se poate realiza restaurarea bazei de date n cazul cderilor accidentale ale SGBD sau SO ? 2. Cum se asigura refacerea bazei de date n cazul defectrii suportului de memorie pe care este stocata aceasta ? 3. Ce conine jurnalul tranzaciilor ? 4. Ce conine jurnalul imaginilor ? 5. Ce presupune activitatea de asigurare a securitii bazei de date ?

Rezumat
n aceast unitate de nvare sunt prezentate aspectele caracteristice bazelor de date distribuite precum i caracteristicile SGBD-urilor distribuite.

Bibliografie
1. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 2. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009

145

Bibliografie

Bibliografie

1. Dumnescu Dorel, Baze de date, Editura Universitii PetrolGaze din Ploieti, 2005 2. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQl i Oracle, Editura Polirom, Iai, 2005 3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL i SQL Server, ediia a II-a, Editura Polirom, Iai, 2009 4. Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 5. Ptracu Aurelia, Tnsescu Ana, Dumnescu Dorel, Baze de date MS-Access. Teorie i aplicaii, Editura Universitii Petrol-Gaze din Ploieti, 2006 6. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de date. Proiectare. Gestiune. Implementare, Editura Teora, Bucureti, 2001 7. Velicanu Manole, Sisteme de gestiune a bazelor de date prin exemple, Editura ASE, Bucureti, 2013 8. Ion Lungu, Adela Bara, Constanta Bodea, Iuliana Botha, Vlad Diaconita, Alexandra Florea, Anda Velicanu, Tratat de baze de date, Editura ASE, Bucureti, 2011 9. Velicanu Manole, Baze de date prin exemple, Editura ASE, Bucureti, 2007

146

You might also like