Baze de Date CIG

151
UNIVERSITATEA PETROL-GAZE DIN PLOIEŞTI DEPARTAMENTUL D.I.D.F.R. Specializarea CONTABILITATE şi INFORMATICĂ DE GESTIUNE DUŞMĂNESCU DOREL BAZE DE DATE PLOIEŞTI 2013

Transcript of Baze de Date CIG

Page 1: Baze de Date CIG

UNIVERSITATEA PETROL-GAZE DIN PLOIEŞTI

DEPARTAMENTUL D.I.D.F.R.

Specializarea CONTABILITATE şi INFORMATICĂ DE GESTIUNE

DUŞMĂNESCU DOREL

BAZE DE DATE

PLOIEŞTI

2013

Page 2: Baze de Date CIG

i

CUPRINS

Pagina

Unitatea de învăţare nr. 1. ELEMENTE DE TEORIA BAZELOR DE DATE

Organizarea datelor. Structuri de date. Relaţii între date

Obiectivele unităţii de învăţare nr. 1 5

1.1. Organizarea datelor 5

1.2. Relaţii între date 9

1.3. Structuri de date 11

1.4. Modele de date 17

1.5. Răspunsuri şi comentarii la testele de autoevaluare 21

1.6. Lucrare de verificare a cunoştinţelor 24

Unitatea de învăţare nr. 2. ELEMENTE DE TEORIA BAZELOR DE DATE

Baze de date. Sistem de Gestiune a Bazelor de Date.

Funcţiile unui SGBD

Obiectivele unităţii de învăţare nr. 2 27

2.1. Baze de date 27

2.2. Sisteme de gestiune a bazelor de date 30

2.3. Funcţiile unui sistem de gestiune a bazelor de date 33

2.4. Răspunsuri şi comentarii la testele de autoevaluare 35

2.5. Lucrare de verificare a cunoştinţelor 36

Unitatea de învăţare nr. 3. PROIECTAREA BAZELOR DE DATE

Analiza sistemului informaţional existent

Obiectivele unităţii de învăţare nr. 3 39

3.1. Etapele de realizare a bazelor de date 39

Page 3: Baze de Date CIG

ii

3.2. Analiza sistemului informaţional 8

3.2.1. Analiza structurală a sistemului informaţional 41

Tehnica diagramelor entitate-asociere

3.2.2. Analiza dinamică (de comportament) a 49

sistemului informaţional

3.2.3. Analiza cerinţelor informaţionale 51

(analiza funcţională a sistemului)

3.2.4. Integrarea modelelor sistemului informatic 52

analizat

3.3. Răspunsuri şi comentarii la testele de autoevaluare 53

3.4. Lucrare de verificare a cunoştinţelor 55

Unitatea de învăţare nr. 4. PROIECTAREA BAZELOR DE DATE

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

Obiectivele unităţii de învăţare nr. 4 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 66

4.2. În cărcarea datelor în baza de date 67

4.3. Exploatarea şi întreţinerea bazei de date 68

4.4. Răspunsuri şi comentarii la testele de autoevaluare 70

4.5. Lucrare de verificare a cunoştinţelor 71

Unitatea de învăţare nr. 5. BAZE DE DATE RELAŢIONALE

Modelul relaţional al datelor

Obiectivele unităţii de învăţare nr. 5 75

5.1. Modelul relaţional al datelor 75

5.2. Structura relaţională a datelor 78

5.2.1. Domeniu 78

Page 4: Baze de Date CIG

iii

5.2.2. Relaţie 78

5.2.3. Atribut 79

5.2.4. Schema unei relaţii 81

5.3. Operatorii modelului relaţional 82

5.4. Restricţiile de integritate ale modelului relaţional 89

5.5. Răspunsuri şi comentarii la testele de autoevaluare 93

5.6. Lucrare de verificare a cunoştinţelor 94

Unitatea de învăţare nr. 6. BAZE DE DATE RELAŢIONALE

Proiectarea Bazelor de Date relaţionale

Obiectivele unităţii de învăţare nr. 1 97

6.1. Proiectarea bazelor de date relaţionale 97

6.1.1. Proiectarea schemei conceptuale 97

6.1.2. Proiectarea schemei externe 101

6.2. Sisteme de gestiune a bazelor de date relaţionale 103

6.3. Răspunsuri şi comentarii la testele de autoevaluare 105

6.4. Lucrare de verificare a cunoştinţelor 108

Unitatea de învăţare nr. 7

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

Obiectivele unităţii de învăţare nr. 7 111

7.1. Modelul de date orientat pe obiecte. 112

Concepte de bază

7.2. Baze de date orientate pe obiecte 118

7.3. Răspunsuri şi comentarii la testele de autoevaluare 122

7.4. Lucrare de verificare a cunoştinţelor 123

Page 5: Baze de Date CIG

iv

Unitatea de învăţare nr. 8.

Noţiuni introductive privind Bazele de Date Distribuite

Obiectivele unităţii de învăţare nr. 8 125

8.1. Baze de date distribuite 125

8.2. Sistemul de gestiune a bazelor de date distribuite 129

8.3. Răspunsuri şi comentarii la testele de autoevaluare 132

8.4. Lucrare de verificare a cunoştinţelor 133

Unitatea de învăţare nr. 9.

Protecţia şi securitatea bazelor de date

Obiectivele unităţii de învăţare nr. 9 135

9.1. Protecţia baze de date 135

9.1.1. Integritatea datelor 136

9.2. Securitatea bazei de date 139

9.3. Răspunsuri şi comentarii la testele de autoevaluare 143

9.4. Lucrare de verificare a cunoştinţelor 145

Bibliografie

Page 6: Baze de Date CIG

1

I. Introducere

I.1. Locul cursului în cadrul programului de studiu

Cursul de Baze de Date urmăreşte formarea la studenţi a deprinderilor

fundamentale pentru proiectarea de baze de date integrate în sisteme

informatice. Ca mediu de dezvoltare de aplicaţii a fost ales Sistemul de

Gestiune a Bazelor de Date relaţionale, MS-Access deoarece este un

SGBD simplu, uşor de asimilat de către studenţi, şi care include toate

mecanismele fundamentale pentru crearea bazelor de date. Toate acestea

permit dezvoltarea de aplicaţii puternice, profesionale. Un alt aspect avut în

vedere a fost dat de accesibilitatea uşoară a SGDB-ului MS-Access, acesta

fiind parte a pachetului MS-Office.

Cursul introduce concepte de informatică de gestiune noi, alături de

cele achiziţionate deja de către studenţi şi permite formarea unui mod de

gândire algoritmic, util pentru înţelegerea 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 următoarele:

a. competenţe generale:

- înţelegerea analizei sistemelor informaţionale şi a identificării

structurilor de date asociate acestora;

- înţelegerea modului de organizare a datelor în colecţii de

date;

- înţelegerea modelelor de date şi a conceptului de bază de

date;

b. competenţe specifice:

- înţelegerea modului de proiectare a unei baze de date;

- însuşirea cunoştinţelor necesare pentru utilizarea SGBD-ului

relaţional MS-Access;

- însuşirea etapelor de proiectare şi realizare a aplicaţiilor cu

baze de date;

Page 7: Baze de Date CIG

2

- însuşirea principiilor de proiectare a interfeţei aplicaţiilor cu

MS-Access (fromulare);

- înţelegerea şi implementarea interogărilor;

- dezvoltarea capacităţii de analiză a problemelor şi de

elaborare de soluţii funcţionale;

- deprinderea lucrului în echipă.

I.3. Structura cursului

Structura cursului, exprimată sub forma unităţilor de învăţare, este

prezentată mai jos:

1. ELEMENTE DE TEORIA BAZELOR DE DATE. Organizarea datelor.

Structuri de date. Relaţii între date

2. Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui

SGBD

3. Analiza sistemului informaţional existent

4. Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

5. Modelul relaţional al datelor

6. Proiectarea Bazelor de Date relaţionale

7. Noţiuni introductive privind bazele de date orientate pe obiecte

8. Noţiuni introductive privind bazele de date distribuite

9. Protecţia ş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 informaţii privind aplicaţia MS-Access.

I.5. Evaluarea

Evaluarea studenţilor se va realiza printr-o apreciere a activităţii

acestora desfăşurată la laborator (prezenţă, activitate, rezultate test de

verificare), şi printr-un examen oral care include o probă practică, la

calculator.

Page 8: Baze de Date CIG

3

Evaluarea la laborator se va realiza la sfârşitul perioadei destinate

acestei activităţi, iar examenul final va avea loc în sesiunea de vară.

Promovarea examenului este condiţionată de asigurarea unei

prezenţe bune la laborator şi de cunoaşterea SGBD-ului MS-Access astfel

încât studentul să poată dezvolta o aplicaţie simplă, care să fie funcţională.

Ponderea celor două note, în nota finală a examenului, este de 40%

nota de la laborator şi 60% nota la proba de examen final.

Page 9: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

4

Unitatea de învăţare nr. 1.

ELEMENTE DE TEORIA BAZELOR DE DATE

Organizarea datelor. Structuri de date. Relaţii între date

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 1 5

1.1. Organizarea datelor 5

1.2. Relaţii între date 9

1.3. Structuri de date 11

1.4. Modele de date 17

1.5. Răspunsuri şi comentarii la testele de autoevaluare 21

1.6. Lucrare de verificare a cunoştinţelor 24

Rezumat 24

Bibliografie 24

Page 10: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

5

OBIECTIVELE unităţii de învăţare nr. 1

Principalele obiective ale unităţii de învăţare numărul 1 sunt

următoarele:

1.1. Organizarea datelor

Activitatea umană include o mulţime de activităţi desfăşurate

pentru a satisface diverse necesităţi, fie ele de natură materială sau

spirituală. Pentru desfăşurarea acestor activităţi s-au dezvoltat

societăţi comerciale şi organizaţii speciale care, în vederea

îndeplinirii scopului propus, necesită manevrarea unui volum ridicat

de informaţii. Au apărut şi s-au dezvoltat sisteme informaţionale care

ocupă astăzi un loc important în funcţionarea complexului mecanism

reprezentat de societatea modernă. Un sistem informaţional

reprezintă un ansamblu de tehnici şi metode de organizare şi

manevrare a informaţiilor specifice unui anumit domeniu de activitate

(ex. circuitul informaţiilor într-o firmă, evidenţa populaţiei, evidenţa

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

conceptul de dată;

conceptul de informaţie;

modalităţile de organizare a datelor simple în structuri

complexe;

relaţiile care pot apare între date;

conceptul de model de date.

Page 11: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

6

cărţilor într-o bibliotecă etc.), de la generarea acestora şi până la

ştergerea sau stocarea lor. Apariţia calculatorului electronic a permis

automatizarea acestor activităţi conducând la apariţia sistemelor

informatice.

Sistemele informatice sunt sisteme de organizare, culegere,

stocare, manevrare şi exploatare a informaţiilor (respectiv a datelor),

specifice unui anumit domeniu de activitate, cu ajutorul calculatorului.

Pentru a rezolva problemele legate de manevrarea informaţiilor,

reprezentate prin intermediul datelor, apare ca o necesitate existenţa

unor modele şi mecanisme de organizare a datelor deoarece, de

modul în care sunt organizate datele depinde eficienţa 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 noţiunile de informaţie şi date.

Datele sunt reprezentări 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.).

Informaţia reprezintă sensul pe care oamenii îl acordă datelor

(astfel că aceeaşi dată poate reprezenta diverse informaţii, funcţie de

cei care o folosesc şi de contextul în care este folosită).

Organizarea datelor presupune efectuarea următoarele activităţi:

- definirea, structurarea, ordonarea şi gruparea datelor;

- stabilirea legăturilor (relaţiilor) între date, între elementele unei

colecţii de date şi între colecţii de date;

- stocarea datelor pe un suport de stocare electronic, accesibil

unui sistem de calcul.

Organizarea datelor se realizează pentru a permite regăsirea lor

automată după anumite criterii şi forme.

Page 12: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

7

Obiectivele urmărite la organizarea datelor sunt:

- realizarea unui acces rapid la date stocate pe diferite suporturi

de memorie;

- spaţiul de memorie internă şi externă ocupat să fie cât mai mic

(economie de memorie);

- datele să apară o singură dată în sistem (unicitatea datelor);

- modul de organizare a datelor să reflecte, pe cât posibil, toate

legăturile dintre obiectele, fenomenele sau procesele pe care

acestea le reprezintă;

- schimbarea structurii datelor şi a relaţiilor dintre ele să se facă

fără 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 proprietăţile 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 proprietăţile sale

înseamnă că ea se poate reprezenta prin mai multe perechi

(ATRIBUT, VALOARE).

De exemplu, o persoană X poate fi reprezentată prin mulţimea de

perechi: (NUME, IONESCU), (VÂRSTA, 25), (SEX, MASCULIN),

(PROFESIE, INGINER). Se observă însă că mulţimea atributelor

NUME, VÂRSTA, 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 entităţi numită entitate grup.

Atributele mai sunt cunoscute şi sub numele de câmpuri sau

caracteristici.

Page 13: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

8

Un atribut este caracterizat de mulţimea 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

situaţii de atribute compuse (formate prin înlănţuirea 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 diferenţa între date şi informaţii ?

2. Care sunt obiectivele activităţii de organizare a datelor ?

3. Ce activităţi presupune organizarea datelor ?

4. Definiţi conceptele de entitate, atribut, valoare ?

5. Ce caracteristici are atributul cheie ?

Page 14: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

9

1.2. Relaţii între date

Datele folosite pentru a descrie diverse procese, fenomene sau

obiecte se găsesc în legătură una cu alta. Între datele care aparţin

unor tipuri de entităţi pot exista două categorii de legături:

- o categorie de legături definită de însăşi apartenenţa datelor la

o anumită entitate;

- o a doua categorie constituită de legăturile dintre entităţile de

acelaşi tip sau de tipuri diferite.

Exemplu:

Fie A mulţimea datelor despre salariaţii unei societăţi comerciale.

Între datele acestei mulţimi se pot stabili relaţii de tipul:

- x are aceeaşi profesie cu y;

- x este şeful lui y;

- x este mai în vârstă decât y;

- x are salariul mai mare sau egal cu al persoanei y etc.

Relaţia binară

Dacă luăm exemplul anterior putem spune că relaţia “are aceeaşi

profesie cu” asociază fiecărui salariat din mulţimea A pe toţi cei care

au aceeaşi profesie, cu condiţia să facă parte tot din A. Astfel, se

pune în evidenţă o mulţime de perechi ordonate (x,y) cu proprietatea

că elementelor x li se asociază elementele y prin relaţia “are aceeaşi

profesie cu”. Aceasta se poate reprezenta astfel:

"",/, yxsiAyxAAyxR cuprofesieaceeasiare

Definiţie. Fie A o colecţie oarecare de date, nevidă. Se numeşte

relaţie binară pe A o submulţime R a produsului cartezian A x A

care îndeplineşte o proprietate (o legătură).

Numim elemente asociate prin relaţia R acele elemente x, y pentru

care Ryx, .

Page 15: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

10

Dacă Ryx, spunem că “x este asociat lui y prin relaţia R” sau că

“x este în relaţia R cu y”, fapt care se mai simbolizează prin x R y.

Proprietăţile relaţiei binare dintre date sunt:

1. Reflexivitate. Spunem că o relaţie R, definită pe o mulţime de

date A, este reflexivă dacă pentru Rx , avem x R x.

Exemplu: Rxxx , .

2. Simetrie. O relaţie R definită pe mulţimea de date A spunem că

este simetrică dacă pentru yRximplicaxRyAyx ,, .

Exemplu: Fie A mulţimea judeţelor ţării.

Dacă x “este vecin cu” y rezultă că y “este vecin cu” x.

3. Asimetrie. Spunem că o relaţie R definită pe o mulţime de date

A este antisimetrică dacă pentru Ayx, cu proprietatea că x R y

şi y R x, avem x=y.

Exemplu: yx şi xy implică yx .

4. Tranzitivitate. Fie A o mulţime de date. Spunem că o relaţie R

pe mulţimea A este tranzitivă dacă pentru Azyx ,, cu

proprietatea că x R y şi y R z, atunci x R z.

Exemplu: Dacă produsul x “intră în componenţa lui” y şi y

“intră în componenţa lui” z, atunci x “intră în componenţa lui” z.

Definiţie. O relaţie binară R, definită pe mulţimea de date A se

numeşte relaţie de echivalenţă dacă este reflexivă, simetrică şi

tranzitivă.

Definiţie. Fie A o colecţie de date. Dacă Ayx, , există relaţia

x R y sau y R x, spunem că relaţia dintre elementele colecţiei este de

ordine totală.

Definiţie. O relaţie binară R, definită pe o mulţime de date A, care

este reflexivă, asimetrică şi tranzitivă se numeşte relaţie de ordine.

Definiţie. Relaţia binară R, definită pe o mulţime de date A, care

este reflexivă şi tranzitivă se numeşte relaţie de preordine.

Page 16: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

11

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 informaţional automatizat

şi de tehnologiile de prelucrare a datelor folosite.

Structura de date este definită ca o colecţie de date între care s-

au stabilit o serie de relaţii care conduc la un anumit mecanism de

selecţie şi identificare a componentelor. Mulţimea de date asociată

structurii poate fi alcătuită din datele unui tip sau mai multor tipuri de

entităţi. Componentele unei structuri de date pot fi individualizate şi

identificate prin nume (identificator) sau prin poziţia 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 secvenţial. Accesul secvenţial

presupune parcurgerea tuturor componentelor structurii, aflate

înaintea componentei căutate, în timp ce accesul direct permite

localizarea unei componente fără 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.

Operaţiile 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 iniţială pe

suportul de memorie);

consultarea datelor (accesul la componentele structurii în

vederea prelucrării valorilor);

actualizarea datelor (schimbarea stării structurii prin

adăugarea, ştergerea unor elemente componente,

modificarea valorii unor elemente, modificarea relaţiilor dintre

elemente);

Page 17: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

12

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 aceeaşi organizare şi sunt supuse

aceloraşi operaţii formează un tip de structură de date.

Un tip de structură de date este o mulţime ordonată de date între

care s-au stabilit anumite relaţii şi în care, pentru realizarea

operaţiilor specifice, se foloseşte un grup de operatori de bază cu o

anumită semantică.

Clasificarea structurilor de date

Clasificarea structurilor de date se poate realiza după mai multe

criterii. După tipul componentelor, structurile de date se clasifică în:

structuri omogene, în care componentele sunt toate de acelaşi

tip;

structuri eterogene, în care componentele sunt de tipuri

diferite.

Dacă o structură se poate descompune în structuri de acelaşi tip

atunci avem o structură recursivă.

După posibilitatea de modificare a structurii, avem:

structuri statice, care pe tot parcursul existenţei lor au acelaşi

număr de componente în aceeaşi ordine;

structuri dinamice, care permit modificarea numărului de

componente sau a poziţiei acestora în structură, prin aplicarea

operatorilor specifici structurii. Aceste structuri pot avea,

teoretic, un număr nelimitat de componente şi de aceea se

mai numesc structuri cu cardinalitate infinită.

Page 18: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

13

Asemănător, 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 folosiţi 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 reţea;

structura relaţională.

Structura punctuală este reprezentată de o entitate grup izolată,

care nu are legături (relaţii) cu alte entităţi.

Structura liniară (lista) este o structură care defineşte o relaţie de

ordine totală între elementele unei colecţii de date. După cum am

văzut mai înainte, o relaţie de ordine totală este o relaţie care există

între oricare două elemente ale unei colecţii de date. Structura liniară

presupune că fiecare element al structurii conţine, pe lângă

informaţiile care trebuiesc manevrate, informaţiile necesare pentru a

realiza o legătură (relaţie) cu alt element al aceleiaşi structuri.

Fig. 1.1. Structuri de date liniare

a1 a2 a3 aN

a1 a2 a3 aN

Page 19: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

14

Acest tip de structură are următoarele caracteristici:

- are un singur element iniţial şi un singur element terminal;

- orice element care nu este iniţial şi nici terminal are un singur

succesor imediat;

- primul element nu are predecesori;

- ultimul element nu are succesori;

- dacă există o relaţie între ultimul şi primul element atunci

structura este inelară sau circulară;

- relaţiile stabilite între date sunt de tipul 1 la 1.

O structură este arborescentă sau ierarhică (descendentă) dacă

între elementele sale există o relaţie de ordine. Aceasta înseamnă că

fiecare element (cu o singură excepţie) provine din alt element aflat

pe un nivel ierarhic superior.

Fig. 1.2. Structură de date arborescentă

Structura de date arborescentă are următoarele caracterisitci:

- elementele structurii se numesc noduri;

- există un element unic, numit rădăcina arborelui, care nu are

un predecesor;

- orice nod diferit de rădăcină are un predecesor imediat unic;

- orice nod neterminal are un număr finit de succesori imediaţi;

Page 20: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

15

- relaţiile stabilite între noduri sunt de tipul 1 la m.

Se numeşte drum de lungime n-1 de la nodul ai1 la nodul a

in

succesiunea de noduri (ai1, a

i2, ..., a

in) în care pentru

1,, ,, kiki anka este un succesor imediat al lui aik. Drumul de

lungime maximă constituie înălţimea arborelui.

Un arbore în care fiecare nod are strict numai doi succesori se

numeşte arbore binar.

Structura de tip reţea este o structură în care între elementele

componente există o relaţie de preordine. În acest caz elementele

sunt legate unele de altele prin legături multiple.

Caracteristicile acestui tip de structură de date sunt:

- o reţea este un graf în care, între două noduri, există legături

bidirecţionale;

- un nod are mai mulţi predecesori şi el însuşi poate fi

predecesor pentru propriul său predecesor, caz în care apar

cicluri în reţea. Un ciclu este un drum în care nodul iniţial este

acelaşi cu nodul final.

- între elementele reţelei se stabilesc legături de tipul “m la n”.

O reţea în care există doar legături univoce între elemente se

numeşte reţea “simplă”. În caz contrar reţeaua spunem că este o

reţea complexă. Într-o reţea simplă nu există cicluri. Exemple de

reţele simplă şi complexă sunt date în figura următoare.

Fig. 1.3. Exemple de reţele de date

a

b

c

d

e

a c

b d

e

Page 21: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

16

Structura relaţională a datelor consideră că acestea sunt

organizate la nivel logic sub formă de tabele (relaţii, tablouri) de date

elementare, între care nu sunt legături explicite. Fiecare linie dintr-un

asemenea tabel se numeşte înregistrare şi fiecare element al unei

înregistrări ce corespunde unei anumte coloane se numeşte câmp.

Legăturile între date sunt introduse indirect prin intermediul

coloanelor comune la mai multe tabele de date (vezi figura).

Fig. 1.4. Structura relaţională a datelor

Test de autoevaluare nr. 2

1. Ce se înţelege prin structură de date ?

2. De câte feluri pot fi structurile de date ?

3. Ce fel de operaţii se pot efectua asupra unei structuri de

date ?

NUME PRENUME GRUPA NR. MATRICOL

Popescu Ion 4175 1245

Ionescu Amalia 5412 1452

Vasilescu Sergiu 5321 1385

FACULTATE SPECIALIZARE NR. MATRICOL

Popescu Ion 1245

Ionescu Amalia 1452

Vasilescu Sergiu 1385

Page 22: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

17

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

următoarele elemente:

- structura modelului;

- operatorii care acţionează asupra structurilor de date folosite;

- restricţiile care se impun pentru menţinerea corectitudinii

datelor, restricţii numite şi reguli de integritate.

Precizarea structurii modelului presupune descrierea tuturor

obiectelor (entităţilor) şi a caracteristicilor asociate acestora. Acest

lucru se realizează folosind următoarele elemente generice:

- câmpul; este cel mai mic element al structurii care poate fi

accesat pentru prelucrare;

- grupul simplu sau compus; este un set format din mai multe

câmpuri şi/sau grupuri;

- înregistrarea, care este un ansamblu de grupuri şi câmpuri,

constituind totodată şi elementul generic al structurii.

Stabilirea relaţiilor între obiecte se face prin stabilirea relaţiilor care

există între înregistrările structurilor folosite la definirea modelului de

date respectiv.

Structura unui model de date fără valori reprezintă un obiect

generic. O colecţie de date cu valori bine precizate şi care respectă

un model definit reprezintă o realizare sau o instanţă a tipului de

obiect precizat.

Legăturile dintre obiecte (entităţi) poartă denumirea de asociere.

Legăturile dintre două entităţi pot fi de trei tipuri:

- legături “unu la unu” . Aceasta înseamnă că fiecare obiect are

o legătură cu un alt obiect şi numai cu unul. De exemplu,

Page 23: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

18

relaţia dintre locurile existente într-un cămin studenţesc şi

studenţi. Un loc poate fi ocupat de un singur student, iar un

student are dreptul la un singur loc în cămin.

- legături “unu la mulţi”. În acest caz un obiect poate avea

legături (relaţii) cu mai multe obiecte. De exemplu, un student

poate face parte dintr-o singură grupă dar o grupă poate avea

mai mulţi studenţi.

- legături de tipul “mulţi la mulţi”. Acest tip de legătură

presupune că fiecare obiect poate avea multiple legături

(relaţii) cu alte obiecte. Spre exemplu, un produs este

cumpărat de mai mulţi clienţi şi un client poate achiziţiona mai

multe produse.

Operatorii care acţionează asupra structurilor de date constituie

cel de-al doilea element al unui model de date. Aceşti operatori pot fi

de citire, memorare, modificare, joncţiune etc.

Regulile de integritate sunt restricţii menite să asigure menţinerea

corectitudinii datelor. Ca exemple de astfel de restricţii putem

menţiona:

- să nu se permită ştergerea valorilor atributelor unui client

dacă acesta nu a achitat integral factura pentru cumpărarea

unui produs anume;

- să nu se permită memorarea valorilor asociate unui produs

dacă nu se cunoaşte valoarea unui anumit atribut

caracteristic, numit atribut cheie etc.

Modelele de date se împart, în funcţie de modul în care se

definesc elementele amintite mai sus, în: modele ierarhice sau

arborescente, modele reţea, modele relaţionale, modele orientate

obiect etc.

Page 24: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

19

Modelul ierarhic

Foloseşte tipuri de înregistrări care grupează toate atributele unei

entităţi. Pentru a realiza asocierile dintre tipuri de înregistrări acest

model foloseşte o structură de date arborescentă (o ierarhie).

Fig. 1.5. Ierarhie de date

O ierarhie are un tip de înregistrare definit ca rădăcină şi mai

multe tipuri de înregistrări subordonate, legate sub formă de arbore.

Fiecare nod din arbore care nu este rădăcină sau nod final are un

singur nod superior şi unul sau mai multe noduri inferioare. Legătura

de la un nod superior la unul inferior este de tipul “unu la mulţi”, iar

legătura de la un nod inferior la unul superior este de tipul “unu la

unu”.

Modelul reţea

În acest model, datele sunt reprezentate asemănător cu modelul

ierarhic, cu deosebirea că fiecare inferior poate avea mai mulţi

superiori. Toate structurile de date, inclusiv legăturile de tipul “m la n”

sunt definite natural, fără a recurge la artificii. În cadrul acestui model

întâlnim două tipuri de structuri:

-tipul de înregistrare ( care asigură atributele unei entităţi);

-tipul de set (care asigură legăturile între tipurile de înregistrări).

Page 25: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

20

Modelul relaţional

Modelul relaţional are la bază teoria matematică a relaţiilor. El

foloseşte o singură structură de date: relaţia (tabelul) care este o

submulţime a produsului cartezian al unor domenii (un domeniu este

reprezentat de o mulţime de valori ale entităţilor).

Modelul relaţional poate fi privit ca o mulţime de tabele obţinute

prin metoda normalizării. Normalizarea pleacă de la o mulţime de

atribute (câmpuri de date) şi o mulţime de dependenţe funcţionale

dintre atribute şi conduce la o schemă conceptuală a modelului

relaţional, într-o formă normalizată, în care se vor elimina anomaliile

de actualizări.

La cele trei modele de date prezentate mai sus se adaugă

modelele orientat obiect, distribuit şi modelul funcţional.

Test de autoevaluare nr. 3

1. Caracterizaţi modelul arborescent al datelor?

2. Caracterizaţi modelul relaţional al datelor ?

Page 26: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

21

1.5. Răspunsuri la testele de autoevaluare

Test de autoevaluare nr. 1

1. Datele sunt reprezentări simbolice ale unor entităţi, procese,

fenomene, care au o existenţă fizică şi pot fi păstrate o

perioadă indefinit de lungă, pe un suport de memorie, în timp

ce informaţia reprezintă sensul pe care îl acordă oamenii

anumitor date. Informaţia depinde de contextul în care este

declarată şi utilizată.

2. Obiectivele activităţii de organizare a datelor sunt :

- minimizarea spaţiului ocupat de date pe suportul de

memorie;

- asigurarea unui acces cât mai rapid la date ;

- asigurarea unicităţii datelor, astfel încât valorile datelor să

fie păstrate o singură dată în colecţia de date;

- modelarea datelor să reflecte relaţiile existente în viaţă

reală între entităţile unui sistem economic ;

- asigurarea unei flexibilităţi cât mai ridicate a datelor

(modificarea structurii datelor şi a componenţei acestora

să nu necesite recompilarea programelor).

3. Organizarea datelor presupune efectuarea următoarelor

activităţi:

- definirea, structurarea, ordonarea şi gruparea datelor;

- stabilirea legăturilor (relaţiilor) care se formează între

date simple, între elementele unei colecţii de date şi între

colecţiile 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 proprietăţile sale. O proprietate a unui

Page 27: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

22

obiect este dată de o pereche atribut-valoare. Un atribut este

o proprietate abstractă a unei entităţi, care, pentru a fi

completă, trebuie să primească o valoare.

5. Atributul cheie este atributul, sau combinaţia minimă de

atribute, care identifică în mod unic o entitate. Rezultă că,

atributul cheie trebuie să conţină 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 colecţie de date între care s-au

stabilit o serie de relaţii ce conduc la un anumit mecanism de

selecţie şi identificare a componentelor. Mulţimea de date

asociată structurii poate fi alcătuită din datele unui tip sau

mai multor tipuri de entităţi.

2. Structurile de date se pot clasifica astfel:

A. După tipul datelor care compun structura, avem :

- structuri omogene, cu date de acelaşi tip ;

- eterogene, cu date de tipuri diferite;

B. După comportarea în timpul funcţionării programului

care le utilizează:

- structuri statice, a căror mărime şi compunere nu se

pot modifica în timpul executării programului;

- structuri dinamice, care pot să îşi schimbe legăturile

interne între datele structurii, precum şi numărul de

componente ale structurii.

3. Operaţiile 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 iniţială pe

suportul de memorie);

Page 28: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

23

consultarea datelor (accesul la componentele structurii în

vederea prelucrării valorilor);

actualizarea datelor (schimbarea stării structurii prin

adăugarea, ştergerea unor elemente componente, modificarea

valorii unor elemente, modificarea relaţiilor 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

legături între acestea, organizate toate într-o ierarhie.

Nodurile conţin informaţii privind diferite entităţi, iar legăturile

sunt de tipul părinte-fiu, de subordonare. Modelul

arborescent permite implementarea naturală a relaţiilor de

ordine ierarhice. Fiecare nod din arbore care nu este

rădăcină sau nod final are un singur nod superior şi unul sau

mai multe noduri inferioare.

2. Modelul relaţional al datelor foloseşte ca structură de date

relaţia sau tabelul. Legăturile între aceste colecţii de date se

realizează implicit, prin intermediul câmpurilor comune la mai

multe tabele.

Page 29: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

24

1.6. Lucrare de verificare

Răspundeţi la următoarele întrebări:

1. Precizaţi diferenţele existente între conceptul de dată şi cel

de informaţie.

2. Definiţi conceptele de sistem informaţional şi sistem

informatic. Ce asemănări şi ce diferenţe există între acestea?

3. Clasificaţi atributele care pot descrie o entitate.

4. Definiţi conceptul de structură de date. Exemplificaţi.

5. Definiţi conceptul de model de date. Caracteristicile unui

model de date.

Rezumat

În această unitate de învăţare au fost prezentate o serie de

concepte privind sistemele informationale şi sistemele informatice,

aspecte caracteristice acestora şi diferenţe existente între ele.

Au fost prezentate conceptele de dată şi informaţie, precum şi

structurile de date utilizate frecvent în aplicaţiile 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. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

Page 30: Baze de Date CIG

Organizarea datelor. Structuri de date. Relaţii între date

25

2. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

4. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

5. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

6. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 31: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

26

Unitatea de învăţare nr. 2

ELEMENTE DE TEORIA BAZELOR DE DATE

Baze de date. Sistem de Gestiune a Bazelor de Date.

Funcţiile unui SGBD

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 2 27

2.1. Baze de date 27

2.2. Sisteme de gestiune a bazelor de date 30

2.3. Funcţiile unui sistem de gestiune a bazelor de date 33

2.4. Răspunsuri şi comentarii la testele de autoevaluare 35

2.5. Lucrare de verificare a cunoştinţelor 36

Rezumat 37

Bibliografie 37

Page 32: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

27

OBIECTIVELE unităţii de învăţare nr. 2

Principalele obiective ale unităţii de învăţare numărul 1 sunt

următoarele:

2.1. Baze de date

Conceptul de bază de date a apărut în 1969 cu ocazia prezentării

primului raport CODASYL în cadrul unei conferinţe pe probleme de

limbaje de gestiune a datelor.

Evoluţia metodelor şi tehnicilor de organizare a datelor a fost

determinată de necesitatea de a avea un acces cât mai rapid şi uşor

la un volum din ce în ce mai mare de informaţii precum şi de

perfecţionarea echipamentelor de culegere, memorare, transmitere şi

prelucrare a datelor.

Ideea principală a organizării datelor în baze de date se

bazează pe existenţa unei descrieri globale a datelor (metadate),

stocată separat de colecţiile de date. Prin intermediul acestei

descrieri se asigură independenţa programelor faţă de date şi a

datelor faţă de programe.

Accesul oricărui utilizator la baza de date se va realiza prin

intermediul acestei descrieri globale a datelor.

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

conceptul de model de date;

conceptul de bază de date;

rolul şi funcţiile sistemului de gestiune a bazelor de date.

Page 33: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

28

În esenţă, conceptul de bază de date poate fi definit ca fiind una

sau mai multe colecţii de date (Ki), aflate în interdependenţă,

împreună cu descrierea datelor şi a relaţiilor dintre ele, (B={K1, K2,

...})

O bază de date astfel definită trebuie să îndeplinească

următoarele condiţii:

- să asigure o independenţă completă a datelor faţă de

programe şi invers;

- structura bazei de date trebuie astfel concepută încât să

asigure informaţiile necesare şi suficiente pentru a satisface

cerinţele informaţionale şi de decizie ale utilizatorului;

- să asigure o redundanţă minimă şi controlată a datelor;

- să permită accesul rapid la informaţiile stocate în bază.

Arhitectura generală a bazelor de date a fost standardizată

internaţional şi cuprinde următoarele elemente componente:

- baza de date propriu-zisă în care se memorează colecţia

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

reglementările administrative, destinate bunei funcţionări a

întregului sistem;

- un dicţionar al bazei de date (metabaza de date), ce

conţine informaţii despre date, structura acestora, elemente

de descriere a semanticii, statistici, documentaţie etc.

- echipamentele de calcul (hardware) utilizate (comune sau

specializate);

- personalul implicat (categorii de utilizatori: finali sau de

specialitate, analişti-programatori, gestionari, operatori).

Page 34: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

29

Bazele de date sunt extrem de variate, în funcţie de criteriile de

apreciere considerate. În continuare sunt prezentate câteva criterii de

clasificare:

- după orientare: generalizate, specializate;

- după modelul de date folosit: ierarhice, în reţea, relaţionale,

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

funcţie de clasa utilizatorilor implicaţi:

- nivelul logic. Este dat de viziunea programatorului de

aplicaţii, care realizează programele de aplicaţii pentru

manipularea datelor şi structura logică (subschema)

corespunzăroare descrierii datelor aplicaţiei;

- nivelul conceptual (global). Este dat de viziunea

administratorului bazei de date, care realizează structura

conceptuală (schema) corespunzătoare 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ă corespunzăroare descrierii

datelor pe suportul fizic.

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

Page 35: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

30

2.2. Sisteme de gestiune a bazelor de date

O bază de date poate fi privită ca o colecţie de date stocate pe

suporţi de memorie externă, adresabile de către mai mulţi utilizatori

şi care satisface cerinţele 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 următoarelor activităţi:

- definirea structurii bazei de date;

- încărcarea bazei de date;

- accesul la date (interogare, actualizare);

- întreţinerea bazei de date (colectarea şi refolosirea spaţiilor

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, reprezentând

mecanismul prin intermediul căruia acesta are acces la date.

Pentru a-şi putea îndeplini funcţiunile prevăzute, unui sistem de

gestiune al bazei de date modern îi revin o serie de obiective de

îndeplinit, cum sunt:

1. Asigurarea independenţei datelor. Aceasta presupune că

modificarea strategiei de memorare a datelor sau a strategiei de

acces la date nu trebuie să afecteze aplicaţia care prelucrează

aceste date. Independenţa datelor faţă de aplicaţie este necesară

deoarece diferite aplicaţii au nevoie de viziuni diferite ale aceloraşi

date; administratorul bazei de date trebuie să aibă libertatea de a

schimba structura de memorare sau strategia de acces, ca răspuns

la cerinţe (schimbări de standarde, priorităţile aplicaţiilor, schimbarea

Page 36: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

31

unităţilor fizice de memorare etc.), fără a modifica aplicaţiile

existente; iar baza de date existentă, precum şi programele de

exploatare a ei reprezintă o investiţie importantă la care nu trebuie să

se renunţe prea uşor.

Independenţa datelor trebuie privită din două puncte de vedere:

independenţa fizică şi independenţa logică a datelor.

Independenţa fizică a datelor implică modificarea tehnicilor fizice

de memorare a datelor fără a necesita rescrierea programelor de

aplicaţie.

Independenţa logică a datelor se referă la posibilitatea adăugării

de noi articole de date sau extinderea structurii conceptuale

(globale), fără ca aceasta să impună rescrierea programelor

existente.

2. Asigurarea unei redundanţe minime şi controlate a datelor

din baza de date. Redundanţa se referă la numărul de apariţii în

baza de date a unei date. În general, stocarea datelor în baze de

date ar trebui să se facă astfel încât fiecare dată să apară o singură

dată. Totuşi, există cazuri în care, pentru a reduce timpul de căutare

al unei date şi implicit timpul de răspuns la solicitările utilizatorilor, se

acceptă o anumită redundanţă a datelor. Această redundanţă trebuie

controlată automat, prin program, pentru a se asigura coerenţa

datelor din bază.

3. Asigurarea unor facilităţi sporite de utilizare a datelor.

Aceasta presupune:

- folosirea datelor de către mai mulţi utilizatori în diferite aplicaţii;

- accesul cât mai simplu al utilizatorilor la date, fără ca aceştia

să fie nevoiţi să cunoască structura întregii baze de date, acest

lucru rămânând în sarcina administratorului bazei de date;

- existenţa unor limbaje performante de regăsire a datelor, care

permit exprimarea sub forma unei conversaţii, a unor criterii de

selecţie a datelor şi indicarea unor reguli cât mai generale

pentru editarea informaţiilor solicitate;

Page 37: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

32

- utilizarea unui limbaj cât mai apropiat de limbajul natural, cu

posibilitatea exploatării bazei de date în regim conversaţional,

lucru care ar oferi posibilitatea exploatării bazei de date

şi de către utilizatori neinformaticieni.

4. Sporirea gradului de securitate a datelor împotriva accesului

neautorizat la ele. În condiţiile bazelor de date, administratorul bazei

de date poate prevedea ca acesul la baza de date să se facă numai

prin canalele corespunzătoare, şi poate, totodată, defini verificări de

autorizare, realizate oricând se încearcă accesul neautorizat la

anumite date.

5. Asigurarea integrităţii datelor împotriva unor ştergeri

intenţionate sau neintenţionate, 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 partajabilităţii datelor. Partajabilitatea datelor

trebuie înţeleasă nu numai sub aspectul asigurării accesului mai

multor utilizatori la aceleaşi date, cişi acela al posibilităţii dezvoltării

unor aplicaţii fără a se modifica structura bazei de date.

Testul de autoevaluare nr. 2 1. Ce presupune asigurarea independenţei datelor?

Page 38: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

33

2.3. Funcţiile unui sistem de gestiune a bazelor de date

Sistemele de gestiune a bazelor de date au o multitudine de

sarcini de îndeplinit. Grupând aceste sarcini se obţin activităţile şi

apoi funcţiile sistemului de gestiune al bazei de date. Ţinând seama

de complexitatea sistemului de gestiune, de facilităţile oferite, de

limbajele utilizate şi tipul bazei de date ce urmează a fi gestionată

gruparea activităţilor pe funcţii poate avea un caracter relativ.

În continuare sunt prezentate câteva funcţii mai importante ale

sistemelor de gestiune a bazelor de date, funcţii cu caracter de

generalitate, valabile pentru toate tipurile de sisteme de gestiune a

bazelor de date.

1. Funcţia 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 funcţii se descriu multitudinea atributelor (câmpurilor) din

cadrul structurii bazei de date, legăturile dintre entităţile bazei de

date sau dintre atributele aceleiaşi entităţi, se definesc eventualele

criterii de validare a datelor, metodele de acces la date, aspectele

referitoare la asigurarea integrităţii şi confidenţialităţii datelor etc.

2. Funcţia de manipulare a datelor este cea mai complexă

funcţie şi realizează următoarele activităţi:

- crearea bazei de date;

- încărcarea bazei de date;

- adăugarea de noi înregistrări (tupluri);

- ştergerea unor înregistrări;

- modificarea valorilor corespunzătoare unor câmpuri;

- căutarea, sortarea şi editarea parţială sau totală a unei

înregistrări virtuale etc.

Page 39: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

34

3. Funcţia de utilizare asigură mulţimea interfeţelor necesare

pentru comunicarea tuturor utilizatorilor cu baza de date. În cadrul

realizării acestei funcţii apar mai multe categorii de utilizatori:

- utilizatori “liberi” sau conversaţionali. Aceştia reprezintă

categoriea beneficiarilor de informaţii (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,

realizând proceduri complexe de exploatare a bazei de date;

- administratorul bazei de date, care este un utilizator special

având un rol hotărâtor în ceea ce priveşte funcţionarea optimă

a întregului ansamblu.

4. Funcţia de administrare a bazei de date. Aceasta apare ca o

funcţie complexă şi este de competenţa administratorului bazei de

date. Prin intermediul acestei funcţii, SGBD-ul oferă administratorului

bazei de date instrumentele necesare pentru asigurarea accesului

controlat la date (pe bază de user şi parolă), pentru realizarea

operaţiilor de back-up, diverse statistici privind utilizarea bazei de

date şi altele.

Testul de autoevaluare nr. 3 1. Ce presupune funcţia SGBD-ului de descriere a datelor ?

Page 40: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

35

2.4. Răspunsuri şi comentarii la testele de

autoevaluare

Testul de autoevaluare nr. 1

Nivelele de structurare ale unei baze de date, în funcţie de clasa

utilizatorilor implicaţi, sunt următoarele:

- nivelul logic. Este dat de viziunea programatorului de

aplicaţii, care realizează programele de aplicaţii pentru

manipularea datelor şi structura logică (subschema)

corespunzăroare descrierii datelor aplicaţiei;

- nivelul conceptual (global). Este dat de viziunea

administratorului bazei de date, care realizează structura

conceptuală (schema) corespunzătoare 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ă corespunzăroare descrierii

datelor pe suportul fizic.

Testul de autoevaluare nr. 2

Asigurarea independenţei datelor presupune că modificarea

strategiei de memorare a datelor sau a strategiei de acces la date nu

trebuie să afecteze aplicaţia care prelucrează aceste date.

Independenţa datelor faţă de aplicaţie este necesară deoarece

diferite aplicaţii au nevoie de viziuni diferite ale aceloraşi date;

administratorul bazei de date trebuie să aibă libertatea de a schimba

structura de memorare sau strategia de acces, ca răspuns la cerinţe

(schimbări de standarde, priorităţile aplicaţiilor, schimbarea unităţilor

fizice de memorare etc.), fără a modifica aplicaţiile existente; iar baza

Page 41: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

36

de date existentă, precum şi programele de exploatare a ei

reprezintă o investiţie importantă la care nu trebuie să se renunţe

prea uşor.

Independenţa datelor trebuie privită din două puncte de vedere:

independenţa fizică şi independenţa logică a datelor.

Independenţa fizică a datelor implică modificarea tehnicilor fizice

de memorare a datelor fără a necesita rescrierea programelor de

aplicaţie.

Independenţa logică a datelor se referă la posibilitatea adăugării

de noi articole de date sau extinderea structurii conceptuale

(globale), fără ca aceasta să impună rescrierea programelor

existente.

Testul de autoevaluare nr. 3

Funcţia de descriere a datelor permite definirea structurii bazei de

date cu ajutorul unui limbaj de definire. La nivelul acestei funcţii se

descriu multitudinea atributelor (câmpurilor) din cadrul structurii bazei

de date, legăturile dintre entităţile bazei de date sau dintre atributele

aceleiaşi entităţi, se definesc eventualele criterii de validare a datelor,

metodele de acces la date, aspectele referitoare la asigurarea

integrităţii şi confidenţialităţii datelor etc.

2.5. Lucrare de verificare a cunoştinţelor

1. Care sunt componentele unui model de date ?

2. De câte tipuri pot fi legăturile între entităţi ?

3. Care este structura unei baze de date ?

4. Care sunt obiectivele pe care trebuie să le îndeplinească un

SGBD ?

5. Caracterizaţi funcţia de manevrare a datelor!

Page 42: Baze de Date CIG

Baze de date. Sistem de Gestiune a Bazelor de Date. Funcţiile unui SGBD

37

Rezumat

În cadrul acestei unităţi de învăţare a fost definit conceptul de

bază de date, împreună cu cel de Sistem de Gestiune a Bazelor de

Date, ca aplicaţie software care permite crearea şi exploatarea

bazelor de date.

Au fost prezentate principalele activităţi pe care trebuie să le

execute un SGBD precum şi funcţiile de bază ale unui SGBD.

Bibliografie

1. Cârstoiu, Dorin, Baze de date relaţionale, Editura Printech,

Bucureşti, 1999

2. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

3. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

5. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

6. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 43: Baze de Date CIG

Analiza sistemului informaţional existent

38

Unitatea de învăţare nr. 3

PROIECTAREA BAZELOR DE DATE

Analiza sistemului informaţional existent

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 1 39

3.1. Etapele de realizare a bazelor de date 39

3.2. Analiza sistemului informaţional 8

3.2.1. Analiza structurală a sistemului informaţional 41

Tehnica diagramelor entitate-asociere

3.2.2. Analiza dinamică (de comportament) a 49

sistemului informaţional

3.2.3. Analiza cerinţelor informaţionale 51

(analiza funcţională a sistemului)

3.2.4. Integrarea modelelor sistemului informatic 52

analizat

3.3. Răspunsuri şi comentarii la testele de autoevaluare 53

3.4. Lucrare de verificare a cunoştinţelor 55

Rezumat 55

Bibliografie 55

Page 44: Baze de Date CIG

Analiza sistemului informaţional existent

39

OBIECTIVELE unităţii de învăţare nr. 3

Principalele obiective ale unităţii de învăţare numărul 3 sunt

următoarele:

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 cerinţelor informaţionale solicitate de acest sistem;

- proiectarea structurii bazei de date (schema conceptuală,

externă şi internă);

- încărcarea datelor în baza de date;

- exploatarea şi întreţinerea bazei de date.

Conţinutul acestor etape, respectiv activităţile implicate şi modul

lor de desfăşurare depind, în general, de tipul bazei de date precum

şi de domeniul de activitate pentru care se construieşte baza de

date. Există însă o serie de aspecte cu caracter general care nu sunt

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

modul de analiză a sistemului informaţional, pentru

determinarea cerinţelor necesare proiectării bazei de date;

etapele realizării unei baze de date;

tehnica diagramelor entitate-asociere pentru modelarea

structurii colecţiilor de date.

Page 45: Baze de Date CIG

Analiza sistemului informaţional existent

40

influenţate 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 urmând a fi

tratate atunci când vor fi tratate diferite tipuri de baze de date.

Realizarea unei baze de date presupune şi folosirea unor metode

şi tehnici de analiză (tehnica normalizării relaţiilor, 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 informaţional

Bazele de date sunt componente importante ale sistemelor

informatice. Sistemul informatic este o componentă a unui sistem

economic/social care foloseşte tehnica de calcul pentru culegerea,

stocarea, prelucrarea şi transmiterea informaţiilor care se folosesc în

cadrul sistemului economic/social respectiv. Un sistem informatic

implementează un sistem informaţional, care există la nivelul unui

sistem economic/social. Sistemul informaţional realizează legătura

între subsistemul conducător ş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 următoarele etape:

- analiza componentelor sistemului şi a legăturilor (asocierilor)

dintre acestea, activitate cunoscută şi sub numele de analiză

statică sau structurală, în urma căruia se obţine modelul

structural (static) al sistemului;

- analiza stărilor sistemului şi a tranziţiilor posibile între aceste

stări, în raport de anumite evenimente. Aceasta este aşa

Page 46: Baze de Date CIG

Analiza sistemului informaţional existent

41

numita analiză temporală (comportamentală), prin care se

obţine modelul dinamic (sau temporal) al sistemului;

- analiza cerinţelor informaţionale, respectiv a transformărilor de

date (a tranzacţiilor) din cadrul sistemului prin care sunt

satisfăcute cerinţele informaţionale asociate sistemului. În

urma acestei activităţi se obţine modelul funcţional al

sistemului informatic analizat;

- integrarea modelelor sistemului informatic (structural, dinamic

şi funcţional) în scopul corelării şi completării lor.

3.2.1. Analiza structurală a sistemului informaţional. Tehnica

diagramelor entitate-asociere

Analiza structurală a sistemului informatic are ca obiectiv

evidenţierea componentelor (obiectelor) din cadrul sistemului, pentru

care urmează să se colecteze şi să se memoreze date în cadrul

bazei de date, precum şi evidenţierea legăturilor dintre aceste

componente.

Există astăzi mai multe tehnici de analiză structurală, cea mai

utilizată dintre acestea fiind tehnica entitate-asociere. Această

Testul de autoevaluare nr. 1 1. Care sunt etapele realizării unei baze de date?

2. Care sunt obiectivele analizei structurale?

Page 47: Baze de Date CIG

Analiza sistemului informaţional existent

42

tehnică permite constituirea modelului structural sub forma unei

diagrame entitate-asociere prin parcurgerea următorilor paşi:

- identificarea componentelor (entităţilor) din cadrul sistemului

informatic analizat;

- identificarea asocierilor dintre entităţi şi calificarea acestora;

- identificarea atributelor aferente entităţilor şi asocierilor dintre

entităţi;

- stabilirea atributelor de identificare a entităţilor.

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

priveşte înţelegerea structurii entităţilor care compun un sistem dar

este mai greu de utilizat practic. Ulterior se va prezenta o formă a

diagramelor entitate-relaţie care sunt mai uşor de folosit în aplicaţii

practice dar pentru înţelegerea cărora trebuie ceva mai mult efort.

Identificarea componentelor sistemului informatic

Componentele sistemului informatic sunt entităţi (obiecte) care au

anumite proprietăţi şi care fac schimb de informaţii cu alte entităţi ale

sistemului. Ele sunt reprezentate în cadrul diagramei entitate-

asociere prin blocuri dreptunghiulare.

Considerând activitatea dintr-o instituţie de învăţământ superior se

pot identifica următoarele entităţi:

- cadre didactice (CADRE_DIDACTICE);

- studenţi (STUDENŢI);

- personal didactic auxiliar (PERS.DID.AUX.);

- personal administrativ (PERS.ADMIN.);

- serviciul administrativ (SERV.ADMIN.);

- serviciul personal (SERV.PERS.);

- serviciul contabilitate (SERV.CONTAB.);

- serviciul social (SERV.SOCIAL).

Page 48: Baze de Date CIG

Analiza sistemului informaţional existent

43

Fiecare entitate poate prezenta în cadrul sistemului mai multe

instanţe (realizări). În urma acestei etape se elaborează o primă

formă a diagramei entitate-asociere, formă prezentată în figura

următoare.

Fig. 3.1. Reprezentarea entităţilor în diagrama entitate-asociere

Identificarea asocierilor dintre entităţi şi calificarea acestora

Componentele unui sistem nu sunt decât arareori izolate, între

acestea stabilindu-se legături (asocieri). Spre exemplu, între entităţile

STUDENŢI şi SERV.SOCIAL există o asociere, în sensul că serviciul

social pune la dispoziţia studenţilor locuri de cazare în cămin.

Legăturile dintre entităţi sunt reprezentate prin arce neorientate,

care fac legătura între nodurile ce reprezintă entităţile participante la

asociere.

Semnificaţia legăturii se exprimă printr-un nume acordat legăturii

şi se reprezintă cu ajutorul unui nod etichetă în formă de romb, plasat

ca nod intermediar între entităţi.

Tipul (forma) legăturii se exprimă cu ajutorul cardinalităţii.

Cardinalitatea unei legături reprezintă numărul minim şi numărul

maxim de realizări (instanţe) de entitate care pot fi asociate cu o

realizare a partenerului de asociere. Cardinalitatea se exprimă prin

Page 49: Baze de Date CIG

Analiza sistemului informaţional existent

44

perechi de numere, câte o pereche pentru fiecare entitate din cadrul

legăturii.

Fig. 3.2. Reprezentarea unei legături (asocieri) între două entităţi

cu menţionarea semnificaţiei şi a cardinalităţii

În figura de mai sus este prezentat modul de reprezentare al unei

legături cu menţionarea semnificaţiei legăturii şi a cardinalităţii

acesteia. Cardinalitatea legăturii de mai sus se poate interpreta

astfel:

- Serviciul social este obligat să asigure, în limita locurilor

disponibile în cămine, locuri de cazare pentru toţi studenţii care

solicită acest lucru chiar dacă este vorba doar de un singur

student;

- Pot solicita locuri de cazare în cămine un număr de studenţi

până la numărul maxim de studenţi care locuiesc în alte

localităţi, fiind posibilă şi situaţia în care nici un student nu

solicită cazare în cămin.

Legăturile (asocierile) între entităţi pot fi de mai multe tipuri şi

anume:

1. După cardinalitatea asocierii putem avea două situaţii, funcţie

de gradul asocierii, respectiv obligativitatea participării entităţilor la

asociere.

După gradul asocierii (valorile maxime ale cardinalităţi) avem:

- asocieri de tipul “unu la unu”. Aceasta înseamnă că cel puţin

o realizare a fiecărei entităţi trebuie să participe la asociere.

Page 50: Baze de Date CIG

Analiza sistemului informaţional existent

45

- asocieri de tipul “unu la mulţi”. În acest caz o realizare a unei

entităţi are legături cu mai multe realizări ale celeilalte entităţi

care participă la asociere.

- asocieri de tipul “mulţi la mulţi”, caz în care mai multe

realizări ale unei entităţi participante la legătură se asocieză cu

mai multe realizări ale celeilalte entităţi.

După obligativitatea participării entităţilor la asociere (minimele

cardinalităţii) avem:

- asocieri parţiale; la care entităţile nu sunt obligate să participe

(deci pot avea valoarea minimă a cardinalităţii zero);

- asocieri totale sau complete; când cel puţin o realizare a

fiecărei entităţi trebuie să participe la sociere.

2. După numărul de entităţi distincte care participă la asociere

avem:

- asocieri binare; care se realizează între două entităţi distincte;

- asocieri recursive; asocieri ale entităţilor cu ele însele;

- asocieri complexe; asocieri realizate între mai mult de două

entităţi distincte.

3. După semnificaţia lor asocierile se pot clasifica într-o multitudine

de categorii datorită semnificaţiilor extrem de variate în cadrul unui

anumit sistem informatic. În cadrul analizei structurale este necesar

să fie identificate şi analizate asocierile dintre entităţile aflate pe

nivele de abstractizare diferite, mai precis asocierile de tipul “este un”

şi “este conţinut în”.

Asocierile de tipul “este un”

Entităţile 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 entităţilor.

În acest sens există entităţi generice (clase), obţinute printr-un

Page 51: Baze de Date CIG

Analiza sistemului informaţional existent

46

proces de generalizare a entităţilor cu anumite caracteristici comune,

numite subclase.

De exemplu, membrii unei universităţi reprezintă o entitate clasă,

care generează entităţile STUDENŢI şi ANGAJAŢI, ultima generând,

la rândul ei, entităţile CADRE DIDACTICE, PERS.DID.AUXILIAR şi

PERS.ADMINISTRATIV.

Asocierea de tip “este un” se prezintă întotdeauna ca o asociere

parţială de tip “unu la unu”.

Asocierile de tipul “este conţinut în”

Asocierile de tipul “este conţinut în” exprimă un proces de

agregare, de grupare a mai multor entităţi într-o entitate de nivel

superior. Spre deosebire de tipul “este un”, asocierea “este conţinut

în” este calificată, după cardinalitate drept asociere de tip “unu la

mulţi” sau “mulţi la mulţi”, totală sau parţială.

Identificarea atributelor aferente entităţilor şi asocierilor

dintre entităţi

Atributele exprimă caracteristici, proprietăţi ale componentelor

sistemului informatic analizat sau ale asocierilor (legăturilor) 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 funcţie de tipul atributelor. Ex.:

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

Page 52: Baze de Date CIG

Analiza sistemului informaţional existent

47

1. Atribut compus (bloc). Acesta este un atribut format din cel

puţin două alte atribute. Valoarea sa este reprezentată de

valorile atributelor componente. Ex.:

2. Atribut calculat (dedus). Acesta reprezintă un atribut a cărui

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

aceeaşi 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 entităţii căreia îi aparţine.

Atributele de identificare au un rol aparte în organizarea şi

manipularea informaţiilor din baza de date. Stabilirea atributelor de

identificare pentru entităţile din cadrul sistemului informatic analizat

Page 53: Baze de Date CIG

Analiza sistemului informaţional existent

48

necesită examinarea mai întâi a capacităţii fiecărui atribut de a se

constitui drept atribut de identificare (cheie).

Un atribut poate fi atribut de identificare dacă îndeplineşte o serie

de cerinţe şi anume:

- oferă o identificare unică a realizărilor (instanţelor) de entitate;

- posedă o semnificaţie clară;

- este uşor de utilizat;

- este scurt.

Pentru o aceeaşi entitate pot exista mai multe atribute care pot

servi drept atribute de identificare, adică pot exista mai multe chei

candidate.

Selectarea unuia dintre candidaţii cheie drept atribut de

identificare a entităţii (cheie) se realizează astfel:

1. Se determină atributele care potenţial pot constitui atribute de

identificare a entităţii, deci care respectă cerinţele menţionate

anterior şi care poartă numele de candidaţi 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 entităţii.

3. Dacă există mai mulţi candidaţi cheie, se selectează unul, cu

ajutorul unor euristici, precum:

- se preferă atributele ale căror valori sunt mai puţin volatile;

- se preferă atributele ale căror valori sunt mai scurte.

Testul de autoevaluare nr. 2 Precizaţi principalele tipuri de atribute existente.

Page 54: Baze de Date CIG

Analiza sistemului informaţional existent

49

3.2.2. Analiza dinamică (de comportament) a sistemului

informaţional

Analiza dinamică are drept scop explicarea comportamentului

elementelor componente ale sistemului informatic analizat. În urma

acestei analize se obţine modelul dinamic al sistemului analizat.

Construirea modelului dinamic presupune următoarele etape:

- identificarea stărilor î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 tranziţiile de stare pentru

componentele sistemului (diagramă de flux a evenimentelor).

La realizare diagramei de flux a evenimentelor este necesar să se

ţină cont de restricţiile dinamice ale sistemului care servesc la

identificarea tranziţiilor admisibile între două stări.

Fig. 3.3. Stările unei resurse de producţie (utilaj, secţie etc.) şi

tranziţiile între aceste stări

În figura de mai sus sunt prezentate stările posibile ale unei

resurse de producţie generice. Particularizarea acestui model pentru

un depozit de materii prime este prezentată în figura următoare.

Page 55: Baze de Date CIG

Analiza sistemului informaţional existent

50

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

resursă de producţie

3.2.3. Analiza cerinţelor informaţionale (analiza funcţională a

sistemului)

Analiza cerinţelor informaţionale are drept scop determinarea

transformărilor de date care se produc în cadrul sistemului informatic

analizat, în scopul satisfacerii cerinţelor informaţionale aferente

acestuia. Transformările de date (tranzacţiile) se vor reprezenta sub

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

Page 56: Baze de Date CIG

Analiza sistemului informaţional existent

51

forme unei diagrame de flux a prelucrărilor (modelul funcţional), în

care nodurile reflectă procesele de prelucrare informaţională, iar

arcele reflectă fluxurile informaţionale.

În cadrul analizei funcţionale accentul se deplasează de la

realitatea analizată către cerinţele informaţionale ale utilizatorilor,

cerinţe a căror satisfacere constituie obiectivul realizării bazei de

date.

Construirea modelului funcţional presupune parcurgerea

următoarelor etape:

- identificarea datelor de intrare şi a datelor de ieşire din sistem;

- construirea diagramelor de flux, prin care sunt reflectate

legăturile procedurale dintre intrări şi ieşiri;

- identificarea restricţiilor;

precizarea criteriilor de optimizare.

În figura următoare sunt prezentate două modele funcţionale

parţiale, primul se referă la căutarea preţului unui articol dintr-un

nomenclator de articole, iar al doilea la tranzacţiile (transformările de

date) care se fac pentru a opera o modificare într-un cont bancar al

unui client.

Fig. 3.5. Modele funcţionale parţiale

Page 57: Baze de Date CIG

Analiza sistemului informaţional existent

52

3.2.4. Integrarea modelelor sistemului informaţional analizat

Analiza sistemului informatic se finalizează prin integrarea

modelelor structural, dinamic şi a celui funcţional.

Modelul structural şi cel dinamic sunt obţinute prin investigarea

sistemului real a proprietăţilor intrinseci, statice şi dinamice ale

componentelor acestui sistem, proprietăţi care sunt independente de

aplicaţiile care operează asupra lor.

Modelul funcţional este rezultatul analizei cerinţelor informaţionale

ale utilizatorilor, mai precis a tranzacţiilor (aplicaţiilor) prin care pot fi

satisfăcute aceste cerinţe.

Perspectiva diferită din care este realizată analiza explică de ce

rezultatele obţinute pot să difere fiind necesară o coordonare, deci o

integrare a lor.

În cadrul etapei de integrare a modelelor sistemului se stabileşte

în ce măsură modelul structural şi cel dinamic satisfac necesităţile

diferitelor aplicaţii, verificându-se completitudinea (existenţa

Testul de autoevaluare nr. 4

1. Care este obiectivul analizei funcţionale ?

Page 58: Baze de Date CIG

Analiza sistemului informaţional existent

53

elementelor informaţionale solicitate) şi consistenţa lor (în ce măsură

componentele modelelor sunt necesare şi suficiente în raport cu

procesele de prelucrare). Se verifică dacă relaţiile dintre

componentele sistemului sunt stabilite în mod corespunzător, pentru

a face posibilă regăsirea informaţiilor din mai multe entităţi. Se

determină, de asemenea, dacă legăturile dintre entităţi asigură

coerenţa informaţiilor, posibilitatea efectuării de actualizări

concomitente asupra datelor redundante.

Se urmăreşte ca toate elementele informaţionale participante la

diferitele tranzacţii să fie asignate, ca atribute ale diferitelor entităţi.

Pe baza acestei analize integrate se efectuează adăugările şi/sau

corelările necesare între modelele sistemului.

În final se ajunge ca modelul structural şi cel dinamic să nu mai fie

complet independente de aplicaţii, iar modelul funcţional să nu mai

fie orientat exclusiv pe aplicaţii.

3.3. Răspunsuri şi comentarii la testele de

autoevaluare

Testul de autoevaluare nr. 1

1. Etapele realizării unei baze de date sunt:

- analiza sistemului informatic pentru care se realizează baza de

date şi a cerinţelor informaţionale solicitate de acest sistem;

- proiectarea structurii bazei de date (schema conceptuală,

externă şi internă);

- încărcarea datelor în baza de date;

- exploatarea şi întreţinerea bazei de date.

2. Obiectivul analizei structurale constă în identificarea

componentelor sistemului şi a legăturilor (asocierilor) dintre acestea,

Page 59: Baze de Date CIG

Analiza sistemului informaţional existent

54

activitate în urma căreia se obţine modelul structural (static) al

sistemului;

Testul de autoevaluare nr. 2

Atributele pot fi :

1. Atribut compus (bloc). Acesta este un atribut format din cel

puţin două alte atribute. Valoarea sa este reprezentată de

valorile atributelor componente. Ex.:

2. Atribut calculat (dedus). Acesta reprezintă un atribut a cărui

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

aceeaşi 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 entităţii căreia îi aparţine.

Testul de autoevaluare nr. 3

Analiza dinamică are drept scop explicarea comportamentului

elementelor componente ale sistemului informatic analizat. În urma

acestei analize se obţine modelul dinamic al sistemului analizat.

Page 60: Baze de Date CIG

Analiza sistemului informaţional existent

55

Testul de autoevaluare nr. 4

Analiza funcţională are drept scop determinarea transformărilor de

date care se produc în cadrul sistemului informatic analizat, în scopul

satisfacerii cerinţelor informaţionale aferente acestuia. Transformările

de date (tranzacţiile) se vor reprezenta sub forme unei diagrame de

flux a prelucrărilor (modelul funcţional), în care nodurile reflectă

procesele de prelucrare informaţională, iar arcele reflectă fluxurile

informaţionale.

3.4. Lucrare de verificare a cunoştinţelor

1. Explicaţi tehnica diagramelor entitate-asociere.

2. Definiţi cardinalitatea unei legături.

3. Precizaţi tipurile de legături posibile între entităţi.

4. Cum se clasifică atributele unei entităţi ?

5. Prin ce se caracterizează atributul cheie ?

Rezumat

În această unitate de învăţare au fost prezentate etapele de

analiză a sistemelor informaţionale împreună cu tehnica diagramelor

entitate-asociere.

Bibliografie

1. Cârstoiu, Dorin, Baze de date relaţionale, Editura Printech,

Bucureşti, 1999

2. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

Page 61: Baze de Date CIG

Analiza sistemului informaţional existent

56

3. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

5. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

6. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 62: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

57

Unitatea de învăţare nr. 4

PROIECTAREA BAZELOR DE DATE

Proiectarea structurii bazei de date. Implementarea şi

exploatarea BD

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 4 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 66

4.2. În cărcarea datelor în baza de date 67

4.3. Exploatarea şi întreţinerea bazei de date 68

4.4. Răspunsuri şi comentarii la testele de autoevaluare 70

4.5. Lucrare de verificare a cunoştinţelor 71

Rezumat 72

Bibliografie 73

Page 63: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

58

OBIECTIVELE unităţii de învăţare nr. 4

Principalele obiective ale unităţii de învăţare numărul 4 sunt

următoarele:

4.1. Proiectarea structurii bazei de date

Modelele obţinute în urma analizei sistemului informaţional sunt

modele ale datelor despre sistem. O caracteristică esenţială a

acestor modele (denumite şi modele conceptuale sau semantice)

este faptul că sunt independente de instrumentul, respectiv SGBD-ul

prin intermediul căruia devin operaţionale.

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 influenţa negativ

activitatea de analiză şi modelare, prin restricţii impuse de

acesta, care pot încuraja sau descuraja anumite reprezentări;

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

modul de proiectare a structurii unei baze de date;

un set minim de principii care se folosesc la proiectarea

unei baze de date.

Page 64: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

59

fixând ca punct de plecare facilităţile unui SGBD, utilizatorul

neinformatician care nu stăpâneşte acest SGBD nu îşi poate

exprima cerinţele în deplină cunoştinţă de cauză.

Trecerea la proiectarea structurii bazei de date impune luarea în

considerare a SGBD-ului cu ajutorul căruia 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,

reţea, relaţional, orientat obiect etc.).

Etapa de proiectare a structurii bazei de date constă în

următoarele activităţi:

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 activităţi sunt puternic influenţate 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 când 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 următoarelor activităţi:

1. Stabilirea cerinţelor utilizatorilor, sub aspectul:

tipurilor de aplicaţii dorite;

timpului de răspuns;

confidenţialităţii datelor;

Page 65: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

60

securităţii datelor;

uşurinţei de utilizare şi altele.

2. Stabilirea cerinţelor de ordin tehnic privind realizarea bazei de

date, cum sunt:

portabilitatea SGBD-ului, adică posibilitatea folosirii SGBD-ului

pe diferite sisteme de calcul;

portabilitatea colecţiilor de date şi a programelor. Aceasta

înseamnă că datele pregătite cu ajutorul unui calculator să

poată fi transferate direct pe alt tip de calculator, împreună cu

programele aferente, fără alte operaţii auxiliare;

facilităţile de încărcare, exploatare şi întreţinere a bazei de date

care trebuiesc asigurate (modalităţile de descriere a datelor,

tehnicile de organizare şi regăsire a datelor etc.) şi altele.

3. Stabilirea cerinţelor de ordin economic, privind:

încadrarea în bugetul alocat pentru realizarea bazei de date;

timpul necesar pentru pregătire utilizatorilor şi trecerea la

exploatarea curentă a bazei de date.

4. Ierarhizarea cerinţelor de la punctele anterioare, în funcţie de

importanţa (prioritatea) acordată fiecărei cerinţe în parte.

5. Analiza comparativă a SGBD-urilor disponibile şi/sau posibil de

achiziţionat, în funcţie de caracteristicile pe care le prezintă aceste

SGBD-uri.

6. Stabilirea corespondenţei între cerinţele formulate la punctele 1-

3 şi caracteristicile diferitelor SGBD-uri analizate, pentru a determina

măsura în care diferitele SGBD-uri analizate permit satisfacerea

cerinţelor formulate.

7. Alegerea propriu-zisă a SGBD-ului care va fi folosit la realizarea

bazei de date.

Page 66: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

61

4.1.2. Proiectarea schemei conceptuale

Proiectarea schemei conceptuale a bazei de date presupune

următoarele activităţi:

stabilirea colecţiilor de date şi definirea detaliată a

conţinutului acestora;

determinarea legăturilor dintre colecţiile de date şi a modului

de reprezentare a acestora în cadrul schemei conceptuale;

testarea schemei obţinute şi revizuirea acesteia, dacă este

cazul;

descrierea schemei conceptuale în limbajul de descriere a

datelor de care dispune SGBD-ul şi încărcarea acestei

descrieri în baza de date.

La realizarea acestor activităţi sunt utilizate, în principal, modelul

structural şi cel dinamic al sistemului analizat.

Test de autoevaluare nr. 1

Ce presupune alegerea sistemului de gestiune a bazelor de

date utilizat?

Page 67: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

62

Stabilirea colecţiilor de date şi a conţinutului acestora

La stabilirea colecţiilor de date (a componentelor schemei

conceptuale) se pleacă de la entităţile identificate în etapa de analiză

a sistemului. Fiecărei entităţi îi corespunde, de obicei, o colecţie de

date în cadrul schemei conceptuale. În aceste colecţii vor figura

atributele specifice entităţilor plus eventual o serie de atribute pentru

exprimarea legăturilor cu celelalte componente ale sistemului real,

atribute cunoscute sub numele de chei externe.

Deoarece nu întotdeauna există o corespondenţă strictă între

entităţile din modele semantice şi colecţiile de date din schema

conceptuală a bazei de date şi din considerente de ameliorare a

lucrului pe aceste colecţii de date se poate decide <spargerea> unei

entităţi în două sau mai multe colecţii de date. Acest lucru duce la o

creştere a flexibilităţii de operare cu colecţiile de date respective.

“Spargerea” unei entităţi în două sau mai multe colecţii de date se

realizează ţinând seama de cerinţele informaţionale ale sistemului şi

de durata de existenţă a datelor în cadrul sistemului. Astfel, datele

care sunt solicitate mai des de către utilizatori, cele care se modifică

la intervale reduse de timp sau cele care, deşi nu se modifică prea

des, sunt solicitate frecvent de către programe pentru a genera alte

date (prin calcul sau în alt mod), pot constitui colecţii separate de

date pentru a reduce timpul necesar regăsirii informaţiilor căutate. De

exemplu, să considerăm entitatea UTILAJE aparţinând unui model al

unei unităţi de producţie. Un utilaj este caracterizat de următoarele:

denumire, tip, număr de inventar, valoare de achiziţionare, data

achiziţiei, durata normată de funcţionare, totalul orelor de

funcţionare, datele reparaţiilor curente planificate etc. Dar nu toate

aceste informaţii prezintă importanţă pentru utilizatori la un moment

dat. Aceştia pot fi interesaţi, de exemplu, de caracteristicile generale

ale utilajului sau de caracteristicile legate de funcţionarea sau

Page 68: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

63

întreţinerea utilajului. Din acest motiv, în cadrul schemei conceptuale

a bazei de date pot apare două sau mai multe colecţii de date

referitoare la utilajele de producţie şi anume: un nomenclator de

utilaje, o colecţie de date referitoare la funcţionarea utilajelor, o

colecţie privind reparaţiile efectuate sau planificate.

Un alt motiv pentru care apare necesară descompunerea unei

colecţii de date în două sau mai multe colecţii derivă din legăturile

care apar între atributele unei entităţi. Aceste legături conduc la

dependenţe între date datorită cărora, la momentul exploatării bazei

de date pot apare o serie de disfuncţionalităţi, aşa numitele

“anomalii” de actualizare. Se impune deci reducerea la minimum a

dependenţelor (condiţionărilor) dintre atributele unei colecţii de date,

lucru realizat, de obicei, prin descompunerea colecţiei în două sau

mai multe colecţii de date cu un număr mai mic de atribute. Cu toate

acestea, îmbunătăţirea performanţelor în manipularea entităţilor nu

presupune obligatoriu mărirea numărului colecţiilor de date folosite în

cadrul schemei conceptuale. Aceasta deoarece nu se poate admite o

creştere nelimitată a numărului de colecţii de date, lucru care

determină creşterea dificultăţilor de localizare şi accesare a datelor.

Legăturile între un număr mare de colecţii de date impune şi

creşterea redundanţei datelor în cadrul bazei de date şi deci o

utilizare ineficientă a suportului de memorare.

Rezultatele obţinute prin prelucrări costisitoare efectuate asupra

datelor din baza de date pot fi memorate folosind colecţii de date

special introduse, astfel încât aceste rezultate să nu fie recalculate

ori de câte ori sunt solicitate de utilizatori. Este vorba, bineînţeles de

informaţii solicitate frecvent de către utilizatori. Prin memorarea

acestor rezultate creşte redundanţa datelor, dar se evită efectuarea

repetată a unor calcule complicate.

Pentru scurtarea căilor de acces la date se mai admite un tip de

redundanţă, şi anume cea care apare datorită includerii unor atribute,

simultan în mai multe colecţii ale bazei de date.

Page 69: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

64

În continuare este prezentat un exemplu referitor la drepturile

profesorilor care lucrează într-un liceu. Se pot forma două colecţii de

date, una cu informaţiile privind:

numele angajatului;

salariul de bază;

vechimea;

numărul de ore suplimentare;

numărul de ore de dirigenţie etc.

informaţii care au un grad ridicat de stabilitate, şi alta cu informaţii privind:

numele angajatului;

salariul de bază;

sporul de vechime;

numărul de zile lucrate;

numărul zilelor de concediu medical şi de odihnă;

numărul de ore suplinite;

suma pentru orele suplinite;

restanţe de plată;

suma dedusă pentru pensie suplimentară şi şomaj;

impozitul pe salariu;

chirii;

alte reţineri;

avans;

restul de plată la lichidare;

informaţii care trebuiesc adăugate în baza de date lunar, fie din

exterior, fie prin calculul acestora prin program.

Determinarea legăturilor dintre colecţiile de date şi a modului

de reprezentare a acestora

Aceasta se realizează, în principiu, pe baza legăturilor dintre

entităţile identificate în cadrul etapei de analiză a sistemului şi a

Page 70: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

65

cerinţelor informaţionale. Este necesar să se determine, de

asemenea şi legăturile dintre colecţiile care nu au un corespondent

direct în entităţile care compun sistemul, dar care la rândul lor se află

în asociere, unele cu altele.

Modul de reprezentare a legăturilor dintre colecţiile de date

depinde de modelul datelor suportatde SGBD. Astfel, modelul

ierarhic şi cel reţea utilizează pointeri (adrese de legătură) pentru

înlănţuirea datelor în cadrul diferitelor colecţii.

Modelul relaţional reprezintă legăturile dintre colecţiile de date

(relaţii) cu ajutorul cheilor externe sau cu ajutorul unor colecţi de date

distincte. Această reprezentare uniformă a datelor şi a asocierilor

între date prin intermediul relaţiilor constituie o caracteristică a

modelului relaţional, care conferă acestuia o mare simplitate şi

flexibilitate.

Testarea schemei conceptuale

Testarea schemei conceptuale presupune verificarea

completitudinii şi consistenţei schemei conceptuale, adică

determinarea gradului în care schema conţine elementele

informaţionale necesare satisfacerii cerinţelor informaţionale ale

diferiţilor utilizatori şi măsura în care legăturile stabilite între aceste

elemente informaţionale reflectă raporturile naturale dintre

componentele sistemului real. De asemenea, prin testarea schemei

conceptuale trebuie să se verifice dacă redundanţa 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 cerinţelor

informaţionale.

Page 71: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

66

Descrierea schemei conceptuale în limbajul de descriere a

datelor şi încărcarea 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.

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

Test de autoevaluare nr. 2

Ce presupune testarea schemei conceptuale ?

Page 72: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

67

reprezintă acea parte din schema conceptuală pe care o poate

vedea un anumit utilizator.

Programele de aplicaţie operează asupra schemei conceptuale

prin intermediul schemei externe, având acces doar la acele

elemente care sunt incluse în schema externă.

Folosirea vederilor reprezintă mecanismul prin care sunt

satisfăcute cererile de informaţii ale utilizatorilor (deoarece un

utilizator nu este interesat de toate informaţiile stocate în baza de

date) asigurând totodată şi protecţia datelor contra accesului

neautorizat la date (folosind vederile se limitează accesul fiecărui

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ă foloseşte diferite structuri de date:

liniară, arborescentă, reţea, relaţională î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 SGBD-

uri depind mai puţin de sistemul de operare gazdă, ceea ce le oferă o

portabilitate sporită, comparativ cu SGBD-urile din prima categorie.

Page 73: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

68

4.2. Încărcarea datelor în baza de date

Aceasta este etapa în care se realizează popularea masivă cu

date a bazei de date. Deşi conţinutul acestei etape este relativ

simplu, fără dificultatea şi creativitatea reclamate de activităţile de

analiză şi proiectare, încărcarea datelor în baza de date reprezintă

totuşi o activitate dificil de realizat datorită volumului mare de date

care se transferă în baza de date de la diferite surse de date.

Test de autoevaluare nr. 3

Definiţi conceptele de schemă externă, respectiv, schmeă

internă ?

Page 74: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

69

Fig. 4.1. Fazele încărcării 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, chitanţe etc.);

colecţii 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 încărcării

bazei de date, să se constituie colecţii temporare de date (fişiere). În

situaţia în care datele se preiau din documente primare este

necesară utilizarea unor colecţii temporare pentru a se deplasa

activitatea de validare a datelor cât mai devreme în procesul de

încărcare a datelor în baza de date. Programele de încărcare a bazei

de date, scrise în limbajul de manipulare a datelor de care dispune

SGBD-ul trebuie să conţină cât mai puţine validări deoarece aceste

validări încetinesc mult execuţia programelor şi determină apariţia

Page 75: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

70

unor “puncte albe” în baza de date, de exemplu, legături

neconstituite datorită inexistenţei datelor corespunzătoare.

Pe de altă parte, în situaţia în care datele se preiau din colecţii

gestionate prin alte instrumente informatice, este necesară utilizarea

colecţiilor temporare pentru a se putea adapta cât mai bine structura

acestor colecţii la modul de organizare a datelor în baza de date.

Programele de încărcare vor fi în acest caz mai simple şi mai

robuste, asigurând un transfer mai rapid al datelor în baza de date.

4.3. Exploatarea şi întreţinerea bazei de date

Exploatarea bazelor de date de către diferiţi utilizatori finali are ca

scop satisfacerea cerinţelor informaţionale ale acestora. SGBD-urile

sprijină utilizatorii finali în exploatrea bazelor de date oferind o serie

de mecanisme şi instrumente pentru descrierea cerinţelor de date,

cum ar fi limbaje de manipulare a datelor etc.

Întreţinerea 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

activităţi necesare menţinerii funcţionalităţii bazei de date.

Întreţinerea bazei de date este realizată în principal de către

administratorul acesteia.

Test de autoevaluare nr. 4

Precizaţi câteva surse de date pentru încărcarea bazelor de

date ?

Page 76: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

71

4.4. Răspunsuri şi comentarii la testele de

autoevaluare

Test de autoevaluare nr. 1

Alegerea sistemului de gestiune a bazelor de date utilizat

presupune următoarele activităţi:

1. Stabilirea cerinţelor utilizatorilor;

2. Stabilirea cerinţelor de ordin tehnic privind realizarea bazei

de date;

3. Stabilirea cerinţelor de ordin economic;

4. Ierarhizarea cerinţelor de la punctele anterioare, în funcţie

de importanţa (prioritatea) acordată fiecărei cerinţe în parte.

5. Analiza comparativă a SGBD-urilor disponibile şi/sau posibil

de achiziţionat, în funcţie de caracteristicile pe care le prezintă

aceste SGBD-uri.

6. Stabilirea corespondenţei între cerinţele formulate la

punctele 1-3 şi caracteristicile diferitelor SGBD-uri analizate,

pentru a determina măsura în care diferitele SGBD-uri

analizate permit satisfacerea cerinţelor formulate.

7. Alegerea propriu-zisă a SGBD-ului care va fi folosit la

realizarea bazei de date.

Test de autoevaluare nr. 2

Testarea schemei conceptuale presupune verificarea

completitudinii şi consistenţei schemei conceptuale, adică

determinarea gradului în care schema conţine elementele

informaţionale necesare satisfacerii cerinţelor informaţionale ale

diferiţilor utilizatori şi măsura în care legăturile stabilite între aceste

elemente informaţionale reflectă raporturile naturale dintre

componentele sistemului real. De asemenea, prin testarea schemei

Page 77: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

72

conceptuale trebuie să se verifice dacă redundanţa 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ă foloseşte diferite structuri de date:

liniară, arborescentă, reţea, relaţională î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 încărcarea bazelor de date sunt

următoarele:

documente primare (facturi, bonuri, chitanţe etc.);

colecţii 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 cunoştinţelor

1. Care sunt etapele proiectării structurii bazei de date ?

2. Care sunt etapele proiectării schemei conceptuale a bazei de

date ?

3. Care este scopul activităţii de întreţinere a bazei de date ?

Page 78: Baze de Date CIG

Proiectarea structurii bazei de date. Implementarea şi exploatarea BD

73

Rezumat

În cadrul acestei unităţi de învâţare au fost prezentate etapele

realizării unei baze de date. Au fost prezentate activităţile specifice

proiectării schemelor bazelor de date (conceptuală, externă şi

internă) precum şi cele specifice încărcării datelor în baza de date şi

aspectele care ţin de exploatarea bazelor de date.

Bibliografie

1. Cârstoiu, Dorin, Baze de date relaţionale, Editura Printech,

Bucureşti, 1999

2. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

3. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

5. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

6. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 79: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

74

Unitatea de învăţare nr. 5

BAZE DE DATE RELAŢIONALE

Modelul relaţional al datelor

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 5 75

5.1. Modelul relaţional al datelor 75

5.2. Structura relaţională a datelor 78

5.2.1. Domeniu 78

5.2.2. Relaţie 78

5.2.3. Atribut 79

5.2.4. Schema unei relaţii 81

5.3. Operatorii modelului relaţional 82

5.4. Restricţiile de integritate ale modelului relaţional 89

5.5. Răspunsuri şi comentarii la testele de autoevaluare 93

5.6. Lucrare de verificare a cunoştinţelor 94

Rezumat 94

Bibliografie 95

Page 80: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

75

OBIECTIVELE unităţii de învăţare nr. 5

Principalele obiective ale unităţii de învăţare numărul 5 sunt

următoarele:

Ideea bazelor de date relaţionale a fost lansată pentru prima dată

de către 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 cărora este necesar să existe şi informaţii de legătură, pentru

a se asigura legăturile între tabele. Bazele modelului de date

relaţional au fost puse de către Codd E.F., în 1970. Acesta are

meritul de a fi articulat şi dezvoltat ideile cu privire la utilizarea teoriei

apartenenţei la ansambluri sub forma unui model coerent de

structurare a datelor - modelul relaţional.

5.1. Modelul relaţional al datelor

Componentele modelului relaţional sunt:

1. Structura relaţională a datelor. Aceasta înseamnă că, în

bazele de date relaţionale, datele sunt organizate sub forma unor

tablouri bidimensionale (tabele) de date, numite relaţii. Asocierile

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

modelul relaţional al datelor ;

operaţiile care se pot efectua asupra bazelor de date

relaţionale ;

restricţiile specifice modelului relaţional al datelor.

Page 81: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

76

dintre relaţii se reprezintă explicit prin atribute de legătură. Aceste

atribute figurează într-una din relaţiile implicate în asociere (de

regulă, în cazul legăturilor de tip “unu la mulţi”) sau sunt plasate

într-o relaţie distinctă, construită special pentru exprimarea legăturilor

între relaţii (în cazul legăturilor de tip “mulţi la mulţi”). O bază de

date relaţională (BDR) reprezintă un ansamblu de relaţii, prin care se

reprezintă atât datele cât şi legăturile dintre date.

2. Operatorii modelului relaţional. Aceştia definesc operaţiile

care se pot executa asupra relaţiilor, în scopul realizării funcţiilor de

prelucrare asupra bazei de date, respectiv consultarea, inserarea,

modificarea şi ştergerea datelor.

3. Restricţiile de integritate ale modelului relaţional. Permit

definirea stărilor coerente ale bazei de date.

În comparaţie cu modelele ierarhice şi în reţea, modelul relaţional

prezintă o serie de avantaje, precum:

► Asigurarea unui grad sporit de independenţă a programelor

de aplicaţie faţă de modul de reprezentare internă a

datelor şi metodele de acces la date. În precizarea

prelucrărilor asupra datelor, programele de aplicaţie nu fac

apel la pointeri, fişiere inverse sau alte elemente ale schemei

interne a bazei de date. În ceea ce priveşte independenţa

logică, aceasta nu este complet rezolvată nici cu ajutorul

modelului relaţional. O deficienţă a modelului relaţional este

aceea că nu permite modelarea comportamentului dinamic al

datelor, ceea ce face ca o mare parte din semantica

aplicaţiilor să fie codificată în programe şi nu în schema

conceptuală a bazei de date.

► Furnizarea unor metode şi tehnici eficiente de control a

coerenţei redundanţei datelor, cu o bună fundamentare

teoretică. Modificările pe care le suferă în timp datele ridică

Page 82: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

77

probleme serioase la întreţinerea bazei de date, în ceea ce

priveşte controlul actualizărilor, reflectarea modificărilor din

structura mediului economic real în structura datelor etc.

Modelul relaţional, prin tehnica normalizării relaţiilor permite

definirea unei structuri conceptuale optime a datelor, prin

care se minimizează riscurile de eroare la actualizare,

reducându-se redundanţa datelor.

► Oferirea unor facilităţi multiple de definire şi manipulare a

datelor. În primul rând, modelul relaţional oferă posibilitatea

utilizării unor limbaje procedurale, bazate pe algebra

relaţională, precum şi a unor limbaje neprocedurale având la

bază calculul relaţional. Limbajele neprocedurale

(declarative) contribuie la îmbunătăţirea semnificativă a

comunicării dintre sistem şi utilizatorii neinformaticieni. În al

doilea rând, manipularea datelor se realizează la nivel de

ansamblu (relaţie), fiind posibilă utilizarea paralelismului în

prelucrarea datelor.

► Ameliorarea integrităţii şi confidenţialităţii datelor. Modelul

relaţional realizează acest lucru prin mecanisme flexibile şi

eficace de specificare şi utilizare a restricţiilor de integritate şi

a relaţiilor virtuale.

Test de autoevaluare nr. 1

Page 83: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

78

5.2. Structura relaţională a datelor

Pentru a defini structura relaţională a datelor trebuie să definim

noţiunile de: domeniu, relaţie, atribut şi schemă a unei relaţii.

5.2.1. Domeniu

Domeniul reprezintă un ansamblu de valori, caracterizat printr-un

nume. Un domeniu se poate defini explicit, prin enumerarea tuturor

valorilor aparţinând acestuia sau implicit, prin precizarea

proprietăţilor pe care le au valorile domeniului respectiv.

Spre exemplu să consideră următoarele domenii D1, D2, D3,

definite astfel:

D1 : {“F”,”M”}

D2 : }100,0,|{ xNxx

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 aparţinând domeniului Di. De exemplu, tuplurile

<”Maria”, “F”, 45>, <”Vasile”, “M”, 24> aparţin produsului cartezian:

D3xD1xD2.

5.2.2. Relaţie

Relaţia reprezintă un subansamblu al produsului cartezian al mai

multor domenii, subansamblu caracterizat printr-un nume şi care

conţine doar tupluri cu semnificaţie. Considerând, de exemplu că

pentru produsul cartezian definit mai sus se cunosc doar două

Page 84: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

79

persoane, definim relaţia R prin tuplurile care descriu aceste

persoane:

R : {<”Maria”, “F”, 20>, <”Vasile”, “M”, 22>}

Într-o relaţie, tuplurile trebuie să fie distincte ( nu se admit duplicări

ale tuplurilor ).

O reprezentare comodă a relaţiei este tabelul bidimensional

(tabela de date), în care liniile reprezintă tuplurile, iar coloanele

corespund domeniilor (vezi figura).

R:

D3 D1 D2

“Maria” “F” 20

“Vasile” “M” 22

În prezentarea conceptului de relaţie se poate recurge la analogii

cu alte concepte, extrem de bine cunoscute în domeniul prelucrării

automate a datelor, precum este conceptul de fişier. Relaţia poate

avea semnificaţia unui fişier, tuplul poate fi considerat drept o

înregistrare, iar valorile din cadrul tuplului pot fi interpretate drept

valori ale câmpurilor înregistrării.

În cadrul modelului relaţional nu interesează decât relaţiile finite,

chiar dacă la construirea relaţiilor se admit domenii infinite. Numărul

tuplurilor dintr-o relaţie reprezintă cardinalul relaţiei, în timp ce

numărul valorilor dintr-un tuplu defineşte gradul relaţiei.

5.2.3. Atribut

Atributul reprezintă coloana unei tabele de date, caracterizată

printr-un nume. Numele coloanei (atributului) exprimă de obicei

semnificaţia valorilor din cadrul coloanei respective.

Atributele se folosesc pentru a conferi flexibilitate datelor. Pentru a

înţelege această problemă vom considera următorul exemplu. Să

Page 85: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

80

presupunem că pentru o persoană dispunem de următoarele date:

nume, sex, vârstă şi numele soţului/soţiei.

O posibilitate de organizare a acestor date este reprezentată de

relaţia din figura următoare.

PERS: D3 D1 D2 D3

“Maria” “F” 30 “Vasile”

“Vasile” “M” 32 “Maria”

Relaţia PERS reprezintă un subansamblu al produsului cartezian:

D3 x D1 x D2 x D3.

Semnificaţia valorilor din cadrul unui tuplu se stabileşte în acest

caz nu numai pe baza domeniului de care aparţin valorile, ci şi în

funcţie de poziţia ocupată în cadrul tuplului.

Dependenţa faţă de ordine a datelor înseamnă o reducere a

flexibilităţii organizării 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 diferenţia coloanele care conţin valori ale aceluiaşi

domeniu şi a elimina astfel dependenţa de poziţie în cadrul tabelei se

asociază fiecărei coloane un nume distinct, lucru care a dus la

apariţia noţiunii de atribut.

Prin folosirea atributelor, relaţia PERS poate fi prezentată într-unul

din modurile menţionate mai jos.

PERS: PERS:

Nume (D3)

Sex (D1)

Vârsta

(D2)

Sot

(D3)

Nume (D3)

Sot

(D3)

Sex

(D1) Vârsta (D2)

“Maria” “F” 30 “Vasile” “Maria” “Vasile” “F” 30

“Vasile” “M” 32 “Maria” “Vasile” “Maria” “M” 32

Page 86: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

81

5.2.4. Schema unei relaţii

Prin schema unei relaţii se înţelege numele relaţiei, urmat de lista

atributelor, pentru fiecare atribut precizându-se domeniul asociat.

Astfel, pentru o relaţie R, cu atributele A1, A2, ..., An şi domeniile D1,

D2, ..., Dm, schema relaţiei 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 relaţii se mai numeşte şi intensia relaţiei, ca

expresie a proprietăţilor comune şi invariante ale tuplurilor care

compun relaţia.

Spre deosebire de intensie, extensia unei relaţii reprezintă

ansamblul tuplurilor care compun la un moment dat relaţia, ansamblu

care este variabil în timp.

De obicei, extensia unei relaţii este stocată fizic în spaţiul asociat

bazei de date, caz în care relaţia poartă numele de relaţie de bază.

Există însă şi situaţii în care extensia nu este memorată în baza de

date. Este cazul aşa-numitelor relaţii virtuale, cunoscute şi sub

numele de relaţii derivate sau viziuni. Relaţia virtuală nu este

definită explicit ca relaţie de bază, prin ansamblul tuplurilor

componente, ci implicit, pe baza altor relaţii, prin intermediul unei

expresii relaţionale. Stabilirea efectivă a tuplurilor care compun

relaţia virtuală se realizează prin evaluarea expresiei, ori de câte ori

utilizatorul invocă această relaţie.

Page 87: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

82

5.3. Operatorii modelului relaţional

Modelul de date relaţional oferă două colecţii de operatori pentru

operaţii cu relaţii şi anume:

- algebra relaţională;

- calculul relaţional.

Algebra relaţională (AR) se poate defini ca o colecţie de operaţii

pe relaţii, fiecare operaţie având drept operanzi una sau mai multe

relaţii şi producând ca rezultat o altă relaţie.

Operaţiile algebrei relaţionale se pot împărţi în:

- operaţii de bază, precum: reuniunea, diferenţa, produsul

cartezian etc.

- operaţii derivate, ca: intersecţia, diviziunea etc.

Algebra relaţională standard, definită de Codd, este constituită

din 6 operaţii de bază: reuniunea, diferenţa, produsul cartezian,

Test de autoevaluare nr. 2 Definiţi conceptul de domeniu.

Page 88: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

83

proiecţia, selecţia şi joncţiunea precum şi din două operaţii derivate:

intersecţia şi diviziunea.

Ulterior, la operaţiile AR standard au fost adăugate şi alte operaţii,

aşa numitele operaţii “adiţionale” sau extensii ale AR standard,

precum: complementarea unei relaţii, splitarea (spargerea) unei

relaţii, închiderea tranzitivă etc.

În general, operaţiile AR pot fi grupate în:

- operaţii tradiţionale pe mulţimi (reuniunea, intersecţia,

diferenţa, produsul cartezian);

- operaţii relaţionale speciale (selecţia, proiecţia, joncţiunea

etc.).

În continuare sunt prezentate principalele operaţii ale algebrei

relaţionale, precum şi modul lor de utilizare.

1. Reuniunea. Reprezintă o operaţie a algebrei relaţionale definită

pe două relaţii: R1 şi R2, ambele cu aceeaşi schemă, operaţie care

constă din construirea unei noi relaţii R3, cu o schemă identică cu R1

şi R2 şi având 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 următoare este prezentat un exemplu de reuniune a două

relaţii ORAŞE şi MUNICIPII, formând astfel o a treia relaţie,

LOCALITĂŢI.

Page 89: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

84

2. Diferenţa. Reprezintă o operaţie a algebrei relaţuionale

construită pe două relaţii: R1 şi R2, ambele cu o aceeaşi schemă,

operaţie care constă din construirea unei noi relaţii R3, cu schema

identică cu a operanzilor şi cu extensia formată din acele tupluri ale

relaţiei R1 care nu se regăsesc şi în relaţia R2.

Notaţiile uzuale pentru operaţia de diferenţă a două relaţii sunt:

R1-R2

REMOVE (R1,R2)

MINUS (R1,R2)

Un exemplu de diferenţă a două relaţii este dat în continuare.

3. Produs cartezian. Reprezintă o operaţie a algebrei relaţionale

definită pe două relaţii: R1 şi R2, operaţie care constă din construirea

unei noi relaţii R3, a cărei schemă se obţine prin concatenarea

Page 90: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

85

schemelor relaţiilor R1 şi R2 şi a cărei extensie cuprinde toate

combinaţiile tuplurilor din R1 cu cele din R3.

Notaţiile uzuale pentru desemnarea operaţiei sunt:

R1 x R2

PRODUCT (R1,R2)

TIMES (R1,R2)

În continuare este prezentat un exemplu de produs cartezian a

două relaţii.

4. Proiecţia. Reprezintă o operaţie din algebra relaţională definită

asupra unei relaţii R, operaţie care constă din construirea unei noi

relaţii P, în care se regăsesc numai acele atribute din R specificate

explicit în cadrul operaţiei. Suprimarea unor atribute din R înseamnă

Page 91: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

86

efectuarea unor tăieturi verticale asupra lui R, care pot avea ca efect

apariţia unor tupluri duplicate ce se cer a fi eliminate.

Prin proiecţie se trece de la o relaţie de grad n la o relaţie de grad p,

mai mic decât cel iniţial, adică de la un spaţiu cu n dimensiuni la un

spaţiu cu mai puţine dimensiuni, ceea ce explică şi numele de

proiecţie atribuit operaţiei.

Notaţiile uzuale pentru operaţia de proiecţie:

)(,...,, Rmji AAA

R [ Ai, Aj, ..., Am ]

PROJECT(R, Aj, Aj, ..., Am)

În figura de mai sus este prezentată proiecţia relaţiei ORAŞE pe

atributul JUDEŢ.

5. Selecţia reprezintă o operaţie din algebra relaţională definită

asupra unei relaţii R, operaţie care constă din construirea unei relaţii

S, a cărei schemă este identică cu cea a relaţiei R şi a cărei extensie

este constituită din acele tupluri din R care satisfac o condiţie

menţionată explicit în cadrul operaţiei. Întrucât cel mai adesea, nu

toate tuplurile din R satisfac această condiţie, selecţia înseamnă

efectuarea unor tăieturi orizontale asupra relaţiei R, adică eliminarea

de tupluri.

Page 92: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

87

Condiţia precizată în cadrul operaţiei de selecţie este în general

de forma:

atribut operator de comparaţie valoare

unde: <operator de comparaţie> poate fi: <, <=, >=, > sau #.

Notaţiile folosite pentru desemnarea operaţiei de selecţie sunt

următoarele:

)(Rconditie

R [condiţie]

RESTRICT(R, condiţie).

6. Joncţiunea (Joinul) reprezintă o operaţie din algebra relaţională

definită pe două relaţii: R1 şi R2, operaţie care constă din construirea

unei noi relaţii R3, prin concatenarea unor tupluri din R1 cu tupluri din

R2. Se concatenează acele tupluri din R1 şi R2 care satisfac o

anumită condiţie, specificată explicit în cadrul operaţiei. Extensia

relaţiei R3 va conţine deci combinaţiile acelor tupluri care satisfac

condiţia de concatenare.

Notaţiile uzuale pentru desemnarea operaţiei de joncţiune sunt:

R1 R2

condiţie

JOIN (R1, R2, condiţie)

Page 93: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

88

7. Intersecţia reprezintă o operaţie din AR definită pe două relaţii:

R1 şi R2, ambele cu aceeaşi schemă, operaţie care constă din

construirea unei noi relaţii R3, cu schema identică cu a relaţiilor R1 şi

R2 şi cu extensia formată din tuplurile comune lui R1 şi R2.

Notaţiile uzuale pentru operaţia de intersecţie sunt:

21 RR

INTERSECT (R1, R2)

AND (R1, R2).

8. Diviziunea reprezintă o operaţie din AR definită asupra unei

relaţii R din care se obţine, cu ajutorul altei relaţii P, relaţia Q a cărei

extensie este formată din atributele din R care rămân după

eliminarea atributelor relaţiei P.

Notaţiile folosite pentru operaţia de diviziune sunt:

rR

DIVISION(R,r).

Test de autoevaluare nr. 3 Care sunt operaţiile algebrei relaţionale standard ?

Page 94: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

89

5.4. Restricţiile de integritate ale modelului relaţional

Restricţiile de integritate, denumite şi reguli de integritate, definesc

cerinţele 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ă.

Restricţiile de integritate reprezintă principalul mod de integrare a

semanticii datelor în cadrul modelului relaţional al datelor,

mecanismele de definire şi verificare a acestor restricţii reprezentând

principalele instrumente pentru controlul semantic al datelor.

Avantajele încorporării semanticii datelor în cadrul bazelor de date

constau din posibilitatea întreţinerii mai uşoare a aplicaţiilor şi

posibilitatea implementării unor mecanisme fizice mai eficiente.

În teoria sistemelor relaţionale, restricţiile de integritate sunt

studiate în principal sub aspectul puterii lor de modelare şi al

posibilităţilor de verificare eficace a respectării lor. Un exemplu

semnificativ îl reprezintă dependenţele între date, şi în primul rând

dependenţele funcţionale. Dependenţele între date, ca restricţii de

integritate constituie un suport teoretic solid pentru problemele de

modelare informatică. În acest sens, dependenţele funcţionale au

permis definirea conceptului de “structură relaţională optimă”, stând

la baza teoriei optimizării structurii relaţionale a datelor, respectiv

teoria normalizării relaţiilor.

Restricţiile de integritate ale modelului relaţional sunt următoarele:

1. Restricţii de integritate minimale, obligatoriu de definit şi de

respectat atunci când se lucrează cu modelul relaţional. Din această

categorie fac parte:

restricţia de unicitate a cheii;

restricţia referenţială;

restricţia entităţii.

Page 95: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

90

2. Alte restricţii de integritate, din care fac parte:

dependenţele între date;

restricţiile de comportament.

Restricţiile de integritate minimale sunt definite în raport cu

noţiunea de cheie a unei relaţii. Cheia unei relaţii, R, reprezintă

ansamblul minimal de atribute prin care se poate identifica în mod

unic orice tuplu din R. Orice relaţie posedă cel puţin o cheie. La

limită, cheia este constituită fie dintr-un singur atribut, fie din

totalitatea atributelor din schema relaţiei respective. Când cheia este

constituită dintr-un singur atribut poartă numele de cheie simplă, iar

atunci când este formată din mai multe atribute este denumită cheie

compusă.

Într-o relaţie pot exista mai multe combinaţii de atribute cu

proprietatea de identificare unică a tuplurilor. Se spune în acest caz

că relaţia posedă mai mulţi candidaţi cheie (sau mai multe chei

candidate). În această situaţie, 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 relaţii trebuie să fie minimală, adică nici o parte a sa nu

trebuie să fie la rândul ei cheie. Un grup de atribute din cadrul unei

relaţii care conţine o cheie a relaţiei poartă numele de supercheie.

Modelarea asocierilor dintre entităţi impune recurgerea la conceptul

de cheie externă. O cheie externă reprezintă un atribut/grup de

atribute dintr-o relaţie R1 ale cărui/căror valori sunt definite pe

acelaşi/aceleaşi domeniu/domenii ca şi cheia primară a unei relaţii,

R2 şi care are rolul de a modela asocierea între entităţile

reprezentate prin relaţiile R1 şi R2. În acest context, R1 este

denumită relaţie care referă, în timp ce R2 poartă numele de relaţie

referită.

Restricţia de unicitate a cheii reprezintă restricţia de integritate

care impune ca într-o relaţie, R care are cheia K, oricare ar fi tuplurile

Page 96: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

91

t1 şi t2 să fie satisfăcută inegalitatea: t1 (K) # t2 (K). Această

inegalitate semnifică faptul că într-o relaţie nu pot exista două tupluri

cu aceeaşi valoare pentru atributele cheie.

Restricţia referenţială (integritatea referirii) reprezintă restricţia

de integritate care impune ca într-o relaţie R1 care referă o relaţie

R2, valorile cheii externe să figureze printre valorile cheii primare din

relaţia R2 sau să fie valori nedefinite (“null”). R1 şi R2 nu trebuie să

fie neapărat distincte. Semnificaţia restricţiei de integritate a referirii

este următoarea : o asociere nu poate exista decât între entităţi deja

definite. Atunci când, într-o anumită situaţie, asocierea nu este

aplicabilă, unul din parteneri va fi desemnat prin valoarea “null”, cu

semnificaţia de “partener inexistent”.

Restricţia entităţii (integritatea entităţii) reprezintă restricţia de

integritate care impune ca într-o relaţie atributele cheii primare să fie

nenule. Unicitatea cheii impune ca la încărcarea unui tuplu, valoarea

cheii să fie cunoscută, pentru a se putea verifica faptul că această

valoare nu există deja încărcată (tuplul nu figurează deja în baza de

date). Cu valori <null>, cheia îşi pierde rolul de identificator de tuplu.

Restricţia de integritate a entităţii nu se aplică cheilor externe dintr-o

relaţie, dacă acestea nu aparţin cheii primare.

Restricţiile referitoare la dependenţa datelor semnifică modul în

care datele depind unele de altele. Această dependenţă între date

poate fi de mai multe tipuri şi anume:

- dependenţă funcţională; reprezintă dependenţa între

date prin care se poate identifica un atribut/grup de atribute

prin intermediul altui atribut/grup de atribute. Fiind dată o

relaţie R, un atribut Y din R este dependent funcţional 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

Page 97: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

92

unui alt atribut/grup de atribute. Fie o relaţie R, în care

apar atributele/grupurile de atribute:X, Y şi Z. În cadrul

relaţiei R există o dependenţă multivaloare dacă şi numai

dacă mulţimea valorilor lui Y corespunzătoare unei

perechi: (valoare X, valoare Z) depinde numai de valoarea

lui X, nu şi de valoarea lui Z;

- dependenţă jocţiune; această restricţie exprimă o

dependenţă între date mai generală decât dependenţa

funcţională sau dependenţa multivaloare.

Restricţiile de comportament se pot defini de către utilizator în

funcţie de realitatea descrisă în baza de date şi pot fii:

restricţii de domeniu; care impun ca valorile unui atribut

dintr-o relaţie să se încadreze în anumite limite;

restricţii temporale etc.

Test de autoevaluare nr. 4 Enumeraţi restricţiile de integritate ale modelului relaţional.

Page 98: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

93

5.5. Răspunsuri şi comentarii la testele de

autoevaluare

Test de autoevaluare nr. 1

În comparaţie cu modelele ierarhice şi în reţea, modelul relaţional

prezintă o serie de avantaje, precum:

Asigurarea unui grad sporit de independenţă a programelor de

aplicaţie faţă de modul de reprezentare internă a datelor şi

metodele de acces la date.

Furnizarea unor metode şi tehnici eficiente de control a

coerenţei redundanţei datelor, cu o bună fundamentare

teoretică.

Oferirea unor facilităţi multiple de definire şi manipulare a

datelor.

Ameliorarea integrităţii şi confidenţialităţii 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 aparţinând acestuia, sau implicit, prin precizarea

proprietăţilor pe care le au valorile domeniului respectiv.

Test de autoevaluare nr. 3

Algebra relaţională standard, definită de Codd, este constituită din

6 operaţii de bază: reuniunea, diferenţa, produsul cartezian,

proiecţia, selecţia şi joncţiunea precum şi din două operaţii derivate:

intersecţia şi diviziunea.

Page 99: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

94

Test de autoevaluare nr. 4

Restricţiile de integritate ale modelului relaţional sunt următoarele:

1. Restricţii de integritate minimale, obligatoriu de definit şi de

respectat atunci când se lucrează cu modelul relaţional. Din această

categorie fac parte:

restricţia de unicitate a cheii;

restricţia referenţială;

restricţia entităţii.

2. Alte restricţii de integritate, din care fac parte:

dependenţele între date;

restricţiile de comportament.

5.6. Lucrare de verificare a cunoştinţelor

1. Care este structura modelului relaţional al datelor ?

2. Care sunt noţiunile care definesc structura relaţională a

datelor ?

3. Definiţi conceptul de schemă a unei relaţii ?

4. Definiţi operaţia algebrei relaţionale de proiecţie.

5. Definiţi operaţia algebrei relaţionale de selecţie.

6. Definiţi operaţia algebrei relaţionale de join.

7. Explicaţi restricţia de unicitate a cheii.

Rezumat

În această unitate de învăţare a fost prezentat modelul relaţional

de organizare a datelor în baze de date. Au fost prezentate

conceptele de domeniu şi atribut. S-au prezentat, de asemenea,

operaţiile algebrei relaţionale şi restricţiile de integritate a datelor,

restricţii specifice modelului relaţional al datelor.

Page 100: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Modelul relaţional al datelor

95

Bibliografie

1. Cârstoiu, Dorin, Baze de date relaţionale, Editura Printech,

Bucureşti, 1999

2. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

3. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

5. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

6. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 101: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

96

Unitatea de învăţare nr. 6.

BAZE DE DATE RELAŢIONALE

Proiectarea Bazelor de Date relaţionale

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 6 97

6.1. Proiectarea bazelor de date relaţionale 97

6.1.1. Proiectarea schemei conceptuale 97

6.1.2. Proiectarea schemei externe 101

6.2. Sisteme de gestiune a bazelor de date relaţionale 103

6.3. Răspunsuri şi comentarii la testele de autoevaluare 105

6.4. Lucrare de verificare a cunoştinţelor 108

Rezumat 108

Bibliografie 109

Page 102: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

97

OBIECTIVELE unităţii de învăţare nr. 6

Principalele obiective ale unităţii de învăţare numărul 6 sunt

următoarele:

6.1. Proiectarea bazelor de date relaţionale

Proiectarea bazelor de date relaţionale se realizează conform cu

cele prezentate în capitolul anterior. Diferenţe apar la activităţile

legate de proiectarea schemelor conceptuale, interne şi externe, de

încărcarea, exploatarea şi întreţinerea bazei de date.

6.1.1. Proiectarea schemei conceptuale

La proiectarea bazelor de date relaţionale se foloseşte frecvent

termenul de “schemă conceptuală optimă”, prin care se înţelege

acea schemă conceptuală care înlătură posibilităţile apariţiei de

anomalii în lucrul cu baza de date, asigurând totodată facilităţi şi

performanţe sporite la încărcarea, exploatarea şi întreţinerea bazei

de date.

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

modelul relaţional al datelor ;

operaţiile care se pot efectua asupra bazelor de date

relaţionale ;

restricţiile specifice modelului relaţional al datelor ;

aspecte privind normalizarea relaţiilor ;

caracteristicile SGBD-urilor relaţionale.

Page 103: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

98

Anomaliile care apar la lucrul cu baze de date se manifestă

îndeosebi la întreţinerea bazei de date, fiind cunoscute şi sub numele

de anomalii de actualizare a datelor. Ele se manifestă nu numai în

cazul bazelor de date relaţionale, ci şi la celelalte tipuri de baze de

date. În cadrul teoriei relaţionale a bazelor de date, anomaliile de

actualizare sunt puse în legătură cu dependenţele care se manifestă

între date. Abordarea anomaliilor de actualizare a permis, pe de o

parte caracterizarea riguroasă a relaţiilor după gradul de

“perfecţiune” pe care îl prezintă (aşa numitele “forme normale” ale

relaţiilor) şi pe de altă parte a făcut posibilă definirea unor tehnici

formale pentru înlăturarea anomaliilor de actualizare.

Formele normale ale relaţiilor

Anomaliile care apar în lucrul cu baze de date relaţionale se

produc datorită dependenţelor “nedorite” care se manifestă între

datele din cadrul relaţiilor bazei de date. Aceste dependenţe

determină creşterea redundanţei datelor şi reducerea flexibilităţii

structurii bazei de date, efect manifestat prin:

limitarea posibilităţilor de inserare a datelor; apare când

anumite date despre o entitate nu pot fi introduse în baza de

date datorită lipsei altor date, relative la aceeaşi entitate, şi

fără de care, datele noi nu pot fi introduse datorită

dependenţelor dintre aceste date;

pierderi de date la ştergere; apar atunci când, în urma unei

ştergeri din baza de date sunt şterse şi altele, care nu mai

pot fi obţinute (reconstituite) din baza de date;

apariţia unor inconsistenţe la modificarea datelor; adică

menţinerea, pentru unele atribute, a unor valori

neactualizate alături de valorile actualizate.

Page 104: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

99

Dependenţa datelor semnifică modul în care datele depind unele

de altele. Aceste dependenţe între date pot fi de mai multe tipuri, şi

anume:

- dependenţă funcţională; reprezintă dependenţa între

date prin care se poate identifica un atribut/grup de atribute

prin intermediul altui atribut/grup de atribute. Fiind dată o

relaţie R, un atribut Y din R este dependent funcţional 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ţă parţială; apare atunci când avem o relaţie cu

cheie compusă şi un atribut X depinde funcţional de cheia

(completă) relaţiei, dar depinde şi de o parte componentă a

cheii;

- dependenţa tranzitivă; apare atunci când un atribut X

depinde funcţional direct de cheia relaţiei dar depinde şi de

un alt atribut Y, non-cheie. Rezultă astfel o dependenţă

indirectă între atributul X şi cheia relaţiei prin intermediul

atributului Y (Y depinde de cheia relaţiei 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ţă jocţiune; această dependenţă apare atunci

când o relaţie poate fi obţinută prin aplicarea operaţiei de

JOIN pe alte două relaţii.

În afară de dependenţa funcţională, care este considerată naturală

şi acceptată, restul dependenţelor generează anomalii în exploatarea

bazelor de date.

Formele normale ale relaţiilor dintr-o bază de date relaţională sunt

definite în raport de anomaliile care pot apare în lucrul cu aceste

Page 105: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

100

relaţii, deci în funcţie de dependenţele “nedorite” care se manifestă în

cadrul acestor relaţii.

La proiectarea bazelor de date relaţionale se pot defini cinci forme

normale, formând cinci nivele de normalizare a relaţiilor.

O relaţie R este în forma normală unu, FN1, dacă domeniile pe

care sunt definite atributele relaţiei sunt constituite numai din valori

atomice (elementare). În plus, un tuplu nu trebuie să conţină atribute

sau grupuri de atribute repetitive.

O relaţie R este în forma normală doi, FN2, dacă este în FN1 şi

oricare dintre atributele noncheie este dependent funcţional complet

de cheia primară a relaţiei (nu există dependenţe parţiale). Dacă

relaţia are cheie simplă atunci automat se găseşte în FN2.

O relaţie R este în forma normală trei, FN3, dacă este în FN2 şi

atributele noncheie nu sunt dependente tranzitiv de cheia primară a

relaţiei.

Relaţia R este în forma normală patru, FN4, dacă este în FN3 şi în

cadrul ei nu există dependenţe multivaloare.

Spunem că relaţia R este în forma normală cinci, FN5, dacă au fost

eliminate dependenţele joncţiune.

Etapele procesului de proiectare a schemei conceptuale

Proiectare schemei conceptuale a unei baze de date relaţionale

presupune parcurgerea următoarelor etape:

1. Determinarea formei normale în care trebuie să se afle relaţiile

din baza de date (a nivelului de “perfecţiune” impus schemei

conceptuale). Relaţiile aflate în forme normale superioare

determină apariţia unui număr redus de anomali în lucrul cu

baza de date, comparativ cu relaţiile nenormalizate sau aflate

în primele forme normale, dar conduc todată la creşterea

timpului de acces la date. Aceasta deoarece relaţiile aflate în

forme normale superioare conţin, de regulă, un număr mai mic

Page 106: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

101

de atribute, lucru care impune creşterea numărului de relaţii

din baza de date, deci interogarea simultană a mai multor

relaţii pentru a găsi anumite informaţii.

În determinarea formei normale la care trebuiesc aduse relaţiile

din bazele de date relaţionale se vor avea în vedere următoarele:

ponderea operaţiilor de interogare şi a celor de actualizare

în lucrul cu bazele de date relaţionale;

exigenţele de performaţă şi flexibilitate impuse de utilizatorii

finali la interogarea şi, respectiv la actualizarea bazelor de

date relaţionale.

2. Stabilirea relaţiilor care să facă parte din baza de date, în

forma normală stabilită anterior. Aceasta presupune definirea

relaţiilor şi a restricţiilor de integritate asociate, lucru realizat

pe baza modelelor conceptuale ale sistemului, modele

obţinute în etapa de analiză a sistemului şi a cerinţelor

informaţionale asociate. În cadrul acestei etape se pot aplica

mai multe tehnici de proiectare (tehnica normalizării, tehnica

diagramelor de dependenţă riguroasă etc.).

3. Testarea schemei conceptuale obţinute şi revizuirea acesteia,

dacă este cazul;

4. Descrierea schemei conceptuale în limbajul de descriere a

datelor utilizat de SGBD-ul relaţional folosit şi încărcarea

acestei descrieri în baza de date relaţională.

6.1.2. Proiectarea schemei externe

Schema externă a unei baze de date relaţionale reprezintă

ansamblul relaţiilor (tabelelor de date) la care are acces un utilizator

(un program de aplicaţie). Deşi mai mulţi utilizatori pot lucra cu o

aceeaşi schemă externă, în general, se consideră pentru o bază de

date relaţională atâtea scheme externe câţi utilizatori există la un

Page 107: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

102

moment dat, scheme care trebuiesc proiectate şi apoi făcute

operaţionale.

Schema externă reprezintă modul de organizare, structurare, a

datelor de care are nevoie un anumit utilizator pentru a-şi satisface

toate cerinţele informaţionale. 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 partiţie 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 relaţionale, în raport de ansamblul cerinţelor

informaţionale ale tuturor utilizatorilor, în timp ce structurarea datelor

în cadrul schemei externe urmăreşte facilitarea satisfacerii cerinţelor

informaţionale pentru un anumit utilizator. Deoarece aceste două

criterii nu sunt echivalente se obţin rezultate, deci structuri ale datelor

diferite.

La proiectarea unei scheme externe a unei baze de date

relaţionale se parcurg următoarele etape:

1. Determinarea zonei (ariei) de interes pentru un anumit

utilizator din cadrul sistemului informatic reflectat

informaţional cu ajutorul bazei de date;

2. Analiza structurală, dinamică şi funcţională a acestei zone

din domeniul activităţii 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 relaţionale, ţinând cont de faptul că aceeaşi

schemă poate apare drept o schemă conceptuală, dacă

Page 108: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

103

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 operaţională. Acest lucru

se realizează în mod diferit faţă de schema conceptuală a

bazelor de date, pentru care operaţionalizarea presupune

descrierea sa cu ajutorul limbajului de descriere a datelor

utilizat de SGBDR, compilarea acestei descrieri şi

încărcarea acestei descrieri compilate în cadrul bazei de

date. Pentru ca o schemă externă să devină operaţională,

să poată fi aplicată, utilizatorul căruia îi este destinată

trebuie să primească drepturi de acces asupra tabelelor de

date care compun schema externă.

Test de autoevaluare nr. 1

Enumeraţi şi explicaţi dependenţele între date

Page 109: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

104

6.2. Sisteme de gestiune a bazelor de date relaţionale

Un sistem de gestiune a bazelor de date relaţionale poate fi definit

ca reprezentând un SGBD care utilizează drept concepţie de

organizare a datelor modelul relaţional.

Diversitatea modelelor relaţionale “operaţionale” au determinat, în

mod natural existenţa unei mari diversităţi de SGBDR, care se

apropie mai mult sau mai puţin de modelul relaţional “teoretic”.

Cerinţele teoretice pe care trebuie să le satisfacă un SGBD relaţional

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 relaţionale (SGBDR) disponibile astăzi nu respectă

întrutotul cerinţele exprimate de Codd, în cadrul celor 13 reguli,

caracterizarea unui SGBD se realizează folosind o serie de cerinţe

minimale pe care trebuie să le satisfacă un sistem de gestiune a

bazelor de date pentru a putea fi considerat relaţional.

Un SGBD este minim relaţional dacă satisface următoarele

condiţii:

1. Toate datele din cadrul bazei de date sunt reprezentate prin

valori în tabele.

2. Nu există pointeri observabili de către utilizator între tabele,

în sensul că operaţiile cu relaţii nu fac apel la pointeri,

indecşi, fişiere inverse etc.

3. Sistemul suportă operatorii relaţionali de proiecţie, selecţie şi

join natural, fără limitări impuse din considerente interne

(cum ar fi de exemplu, necesitatea indexării atributelor).

Unitatea de informaţie cu care se lucrează în cadrul

acestor operaţii trebuie să fie relaţia.

Un SGBD este complet relaţional dacă este minimal relaţional şi

satisface în plus următoarele condiţii:

Page 110: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

105

4. Sistemul suportă toate operaţiile de bază ale algebrei

relaţionale, fără limitări impuse din considerente interne.

5. Sistemul suportă două dintre restricţiile de integritate de bază

ale modelului relaţional şi anume unicitatea cheii unei

relaţii şi restricţia referenţială.

Un SGBD este pseudorelaţional dacă satisface numai condiţiile 1 şi

3.

Dintre instrumentele şi mecanismele de lucru de care dispune un

SGBD relaţional se pot menţiona:

un limbaj relaţional pentru descrierea datelor la nivel fizic,

logic şi conceptual;

un limbaj relaţional pentru manipularea datelor (interogare şi

actualizare);

mecanisme pentru controlul integrităţii semantice a datelor;

mecanisme pentru asigurarea coerenţei datelor în condiţiile

accesului concurent la date şi apariţiei unor avarii;

mecanisme pentru optimizarea cererilor de date;

utilitare pentru prezentarea rezultatelor, de tipul

generatoarelor de rapoarte, utilitare pentru generarea de

aplicaţii, pentru generarea de statistici despre starea şi

activitatea bazei de date.

Dintre SGBD-urile relaţionale mai cunoscute putem menţiona:

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.

Page 111: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

106

Test de autoevaluare nr. 2

1. Definiţi forma normală FN1.

2. Definiţi forma normală FN2.

3. Definiţi forma normală FN3.

Page 112: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

107

6.3. Răspunsuri şi comentarii la testele de

autoevaluare

Test de autoevaluare nr. 1

Dependenţele între date reprezintă legături care se manifestă între

atributele unei relaţii. Ele pot fi de mai multe tipuri, şi anume:

- dependenţă funcţională; reprezintă dependenţa între

date prin care se poate identifica un atribut/grup de atribute

prin intermediul altui atribut/grup de atribute. Fiind dată o

relaţie R, un atribut Y din R este dependent funcţional 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ţă parţială; apare atunci când avem o relaţie cu

cheie compusă şi un atribut X depinde funcţional de cheia

(completă) relaţiei, dar depinde şi de o parte componentă a

cheii;

- dependenţa tranzitivă; apare atunci când un atribut X

depinde funcţional direct de cheia relaţiei dar depinde şi de

un alt atribut Y, non-cheie. Rezultă astfel o dependenţă

indirectă între atributul X şi cheia relaţiei prin intermediul

atributului Y (Y depinde de cheia relaţiei 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ţă jocţiune; această dependenţă apare atunci

când o relaţie poate fi obţinută prin aplicarea operaţiei de

JOIN pe alte două relaţii.

Page 113: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

108

Test de autoevaluare nr. 2

O relaţie R este în forma normală unu, FN1, dacă domeniile pe

care sunt definite atributele relaţiei sunt constituite numai din valori

atomice (elementare). În plus, un tuplu nu trebuie să conţină atribute

sau grupuri de atribute repetitive.

O relaţie R este în forma normală doi, FN2, dacă este în FN1 şi

oricare dintre atributele noncheie este dependent funcţional complet

de cheia primară a relaţiei (nu există dependenţe parţiale). Dacă

relaţia are cheie simplă atunci automat se găseşte în FN2.

O relaţie R este în forma normală trei, FN3, dacă este în FN2 şi

atributele noncheie nu sunt dependente tranzitiv de cheia primară a

relaţiei.

6.4. Lucrare de verificare a cunoştinţelor

1. Explicaţi noţiunea de « schemă conceptuală optimă ».

2. Care sunt etapele procesului de proiectare a schemei

conceptuale a unei baze de date relaţionale ?

3. Definiţi forma normală FN4.

4. Definiţi forma normală FN5.

5. Care sunt cerinţele impuse unui SGBD pentru a putea fi

considerat minim relaţional ?

Rezumat

În cadrul acestei unităţi de învăţare au fost prezentate aspecte

specifice proiectării bazelor de date relaţionale. S-a introdus

conceptul de schemă conceptuală optimă, obţinută prin normalizarea

relaţiilor care compun baza de date. S-au definit primele cinci forme

normale.

Page 114: Baze de Date CIG

BAZE DE DATE RELAŢIONALE. Proiectarea Bazelor de Date relaţionale

109

Bibliografie

1. Cârstoiu, Dorin, Baze de date relaţionale, Editura Printech,

Bucureşti, 1999

2. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

3. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

4. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

5. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

6. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

7. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 115: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

110

Unitatea de învăţare nr. 7

Noţiuni introductive privind Bazele de Date Orientate

pe Obiecte

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 7 111

7.1. Modelul de date orientat pe obiecte. 112

Concepte de bază

7.2. Baze de date orientate pe obiecte 118

7.3. Răspunsuri şi comentarii la testele de autoevaluare 122

7.4. Lucrare de verificare a cunoştinţelor 123

Rezumat 123

Bibliografie 123

Page 116: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

111

OBIECTIVELE unităţii de învăţare nr. 7

Principalele obiective ale unităţii de învăţare numărul 7 sunt

următoarele:

Dezvoltarea tehnologiei sistemelor de calcul în ultimii ani a condus

la pătrunderea acestora în tot mai multe domenii de activitate, având

de rezolvat probleme din cele mai diverse şi mai complexe. Pentru

aceasta, structurile clasice de date bazate pe text şi valori numerice

fie se dovedesc insuficiente, fie complexitatea lor depăşeşte

posibilităţile de prelucrare oferite de tehnologiile clasice.

Aplicaţiile specifice anumitor domenii cum ar fi: proiectarea

asistată de calculator, sisteme informatice geografice, sisteme

bazate pe cunoştinţe etc., presupun stocarea unor cantităţi mari de

informaţii cu o structură complexă. De exemplu, aplicaţiile de

proiectare asistată de calculator necesită stocarea şi manevrarea

unor desene formate din grupuri de elemente complexe, alături de

acestea fiind necesară stocarea şi a altor informaţii privind

materialele folosite, maşini şi utilaje disponibile, rezultate ale

verificărilor 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

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

va înţelege modelul de date orientat pe obiecte;

va cunoaşte şi va înţelege operaţiile care se pot efectua

asupra bazelor de date orientate pe obiecte;

va cunoaşte restricţiile specifice modelului de date

orientat pe obiecte.

Page 117: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

112

sintetizate cu sunet şi muzică, integrare ce nu mai permite folosirea

datelor numerice sau de tip şir de caractere.

O modalitate de rezolvare a acestor probleme este dată şi de

tehnologia aplicaţiilor orientate pe obiecte.

Bazele de date orientate pe obiecte permit crearea de obiecte

complexe din componente mai simple, fiecare având 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 informaţionale spaţiale (GIS);

administrarea documentelor şi automatizarea muncii de

birou;

multimedia;

ingineria cunoaşterii: baze de cunoştinţe, 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.

Posibilităţi de deducţie superioară (ierarhie de clase,

moştenire);

Ameliorarea interfeţei cu utilizatorul;

Luarea în considerare a aspectelor dinamice, integrarea

descrierii structurale şi comportamentale a obiectelor.

7.1. Modelul de date orientat pe obiecte. Concepte de

bază

Un model de date orientat pe obiecte are la bază noţiunea de

entitate conceptuală şi defineşte un obiect ca o colecţie de proprietăţi

Page 118: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

113

care descriu entitatea. Principalele concepte care stau la baza unui

model orientat pe obiecte sunt: obiectul, încapsularea, persistenţa,

clasa, tipul, moştenirea, polimorfismul, identitatea şi domeniul.

Obiectul

Conceptual, un obiect reprezintă o unitate identificabilă şi cu

conţinut propriu, care se deosebeşte de ceea ce o înconjoară.

Obiectele sunt abstractizări ale entităţilor lumii reale şi se

caracterizează prin stare şi comportament.

Starea unui obiect este exprimată prin valorile atributelor sale.

Colecţia 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

operaţii care acţionează asupra atributelor sale.

Considerând, de exemplu obiectul AVION acesta poate avea ca

atribute: viteza, anvergura, greutatea, culoarea, înălţimea de zbor

etc.

Un obiect înglobează următoarele elemente:

structura de date;

specificarea operaţiilor;

implementarea operaţiilor.

Structura unui obiect şi operaţiile (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.

Page 119: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

114

Obiectele pot fi simple sau compuse din alte obiecte. Un obiect

compus poate avea ca atribute alte obiecte, formând astfel o

structură ierarhică.

Încapsularea

Structura obiectului şi modul de acţiune al metodelor sale nu pot fi

accesate şi actualizate direct de către un agent extern, dar pot fi

modificate indirect prin intermediul mesajelor. Această caracteristică

ascunsă a stării obiectului este cunoscută sub numele de

încapsulare. Un obiect este astfel divizat în două părţi: 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 funcţională simplificată a acestuia,

imagine care îi permite să modeleze şi să rezolve cu mai multă

uşurinţă problemele complexe.

Persistenţa

Aceasta este o proprietate a datelor sau a obiectelor care implică

existenţa mai îndelungată a acestora faţă de procesul care le-a creat.

Este proprietatea prin care starea bazei de date asigură păstrarea

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ă,

decongestionând astfel aplicaţia şi asigurându-i independenţa faţă de

date. O modificare adusă unei metode devine imediat operantă şi

persistă până la o nouă modificare.

Page 120: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

115

Tipuri şi clase

Obiectele care au acelaşi fel de atribute şi acelaşi comportament

pot fi categorisite ca făcând parte din acelaşi tip sau din aceeaşi

clasă.

Într-un sistem orientat pe obiecte, tipul sintetizează elementele

comune ale unui set de obiecte cu aceleaşi caracteristici.

Corespunde noţiunii de tip abstract de date şi are două componente:

interfaţa;

implementarea.

Noţiunea de clasă, deşi are aceeaşi specificaţie cu cea de tip,

este diferită de acesta, fiind mai mult asociată cu faza de execuţie şi

presupune două aspecte:

generarea de obiecte;

stocarea setului de obiecte care reprezintă instanţele

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 instanţele clasei vor răspunde

şi un set de metode pentru implementarea de operaţii comune.

Clasele sunt referite uneori ca tip de date abstracte. Descrierea

clasei serveşte ca şablon după care vor fi create noile obiecte. O

clasă este deci un tip abstract de date care defineşte atât structura

obiectelor din clasa respectivă, cât şi mulţimea metodelor existente

pentru aceste obiecte. Ca urmare, obiectele din aceeaşi clasă au

aceleaşi atribute şi aceleaşi metode şi răspund la aceleaşi mesaje.

Clasele sunt organizate ierarhic fiecare clasă nou creată trebuind

să fie obţinută 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ă).

Page 121: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

116

Orice subclasă moşteneşte structurile şi metodele superclasei din

care face parte. O clasă poate crea noi instanţe ale obiectelor.

Moştenire

Într-o bază de date orientate pe obiecte, clasele sunt aranjate într-

o ierarhie în care fiecare clasă moşteneşte toate atributele şi

metodele superclasei din care face parte. Moştenirea este un

concept puternic, care conduce la posibilitatea de reutilizare a

codului.

Prin moştenire, o clasă preia toate atributele şi metodele clasei din

care derivă adăugând la ele atributele şi metodele proprii. Este de

asemenea posibil ca o clasă să aibă mai mult decât o superclasă.

Acest lucru este cunoscut ca moştenire multiplă.

Polimorfism

Polimorfismul se referă la faptul că, la primirea unui mesaj,

stabilirea metodei care se aplică se face în mod dinamic, în funcţie

de clasa obiectului în cauză. Astfel, instanţe ale unor clase diferite

pot fi adresate uniform (primesc aceleaşi 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 moştenirea.

Răspunsul unui obiect la un mesaj poate fi determinat de metodele

moştenite de la superclasă. Moştenirea multiplă permite definirea

unor forme complexe de comportament polimorfic care pot antrena

uneori combinarea metodelor de la două sau mai multe superclase.

Page 122: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

117

Identitatea

Identitatea este un mijloc de a distinge un obiect de altul. Prin

identitate se asigură şi persistenţa datelor.

Oricare din obiectele unei baze de date orientate pe obiecte are

identitate care este independentă de valorile atributelor sale. Spre

deosebire de modelul relaţional, care utilizează unicitatea cheii

primare pentru a identifica “obiectul”, tehnologia orientată pe obiecte

permite modificarea valorilor oricărui atribut fără a-i afecta

identitatea. Mai mult chiar, obiectele au “conştiinţa 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.

Restricţii de integritate ale modelului de date orientat pe

obiecte

În cazul modelului de date orientat pe obiecte, restricţiile de

integritate cunt o consecinţă a structurii modelului şi a operaţiilor.

Următoarele reguli sunt important de reţinut:

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ă fără să

aibă asignat un identificator.

Page 123: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

118

Dacă un obiect este şters sau mutat atunci trebuie să fie şterse

sau mutate toate obiectele derivate din acesta.

7.2. Baze de date orientate pe obiecte

O bază de date orientată pe obiecte poate fi definită ca fiind

rezultatul aplicării tehnologiei orientate pe obiecte în domeniul

stocării şi regăsirii informaţiilor. 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 aplicaţie particulară. Definiţiile de clasă includ

moştenirea, relaţiile de înrudire (superclasa, subclasa) şi relaţiile

Test de autoevaluare nr. 1

2. Explicaţi conceptul de moştenire.

Page 124: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

119

structurale dintre clase (analog cu relaţiile din modelul entitate-

relaţie-atribut).

O schemă completă de bază de date poate consta din una sau

mai multe ierarhii de clasă împreună cu relaţiile structurale.

Descrierile individuale ale schemei se referă la variabile de instanţă

ale claselor individuale.

Schema bazei de date poate fi modificată dinamic, în funcţie de

necesităţile utilizatorilor. Pot fi identificate două tipuri de schimbare a

schemei unei baze de date orientate pe obiecte:

1. Schimbări referitoare la modul de definire al unei clase.

Acestea includ schimbările atributelor şi metodelor definite

pentru o clasă, cum ar fi schimbarea numelui sau domeniului

unui atribut, adăugarea, ştergerea unui atribut sau metode;

2. Schimbări referitoare la structura ierarhiei de clase care includ

adăugarea sau ştergerea unei clase şi schimbarea relaţiilor

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 întâi componentele majore, se stabilesc corelaţiile între

ele, iar apoi se trece la rafinări succesive, “în cascadă”, a

componentelor.

Proiectarea orientată pe obiecte se bazează mai mult pe tehnica

bottom-up. Se identifică mai întâi componentele funcţionale pe baza

cărora se va construi apoi întregul edificiu. Se identifică în colecţiile

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

documentaţia şi se poate începe acţiunea de implementare.

Page 125: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

120

Această metodologie modifică în mod substanţial planificarea

lucrărilor şi etapelor. Partea cea mai minuţioasă a proiectării se mută

la începutul proiectului. Dacă există deja biblioteci de obiecte utilizate

în alte aplicaţii, realizarea uni prototip se poate face foarte rapid. Pe

baza lui se stabilesc aspectele funcţionale şi de interfaţă ale

aplicaţiei, 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ă păstreze funcţiunile oferite de SGBD-urile dezvoltate

anterior, folosind totodată structuri de date şi reguli orientate 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ă cerinţele unui sistem de gestiune a

bazelor de date.

Arhitectura unui SGBD se referă la o descriere abstractă a

organizării unui sistem în scopul de a prezenta componentele

funcţinale şi interfeţele dintre ele. Arhitectura unui SGBD-OO

cuprinde trei componente majore:

Gestionarul de obiecte (Object Manager) care asigură interfaţa

dintre procese (prelucrările) externe şi SGBD-OO;

Server-ul de obiecte care este responsabil cu asigurarea serviciilor

de bază ale SGBD-urilor, cum ar fi: gestiunea tranzacţiilor şi

gestiunea stocului de obiecte;

Stocul rezident de obiecte sau chiar baza de date obiect.

Procesele externe pot fi generate de către diverşi utilizatori prin

accesarea SGBD-OO. Utilizatorii finali externi şi cei care dezvoltă

Page 126: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

121

aplicaţii 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 interfeţe pentru sisteme de proiectare CAD/CAM.

Aceste sisteme pot servi ca instrumente (kits) front_end ce

realizează interfaţa cu gestionarul de obiecte.

În prezent, SGBD-OO comerciale sunt accesate în primul rând

prin limbajele de programare orientate obiect, cum ar fi: Smalltalk,

Common Lisp şi C++. Interfaţa 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 modalităţile de schimbare a schemei unei

baze de date orientate obiect ?

Page 127: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

122

7.3. Răspunsuri ş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ă moşteneşte toate atributele şi

metodele superclasei din care face parte. Moştenirea este un

concept puternic, care conduce la posibilitatea de reutilizare a

codului.

Prin moştenire, o clasă preia toate atributele şi metodele clasei din

care derivă adăugând la ele atributele şi metodele proprii. Este de

asemenea posibil ca o clasă să aibă mai mult decât o superclasă.

Acest lucru este cunoscut ca moştenire multiplă.

Test de autoevaluare nr. 2

Schema bazei de date poate fi modificată dinamic, în funcţie de

necesităţile utilizatorilor. Pot fi identificate două tipuri de schimbare a

schemei unei baze de date orientate pe obiecte:

1. Schimbări referitoare la modul de definire al unei clase.

Acestea includ schimbările atributelor şi metodelor definite

pentru o clasă, cum ar fi schimbarea numelui sau domeniului

unui atribut, adăugarea, ştergerea unui atribut sau metode;

2. Schimbări referitoare la structura ierarhiei de clase care includ

adăugarea sau ştergerea unei clase şi schimbarea relaţiilor

superclasa/subclasa dintre o pereche de clase.

Page 128: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Orientate pe Obiecte

123

7.4. Lucrare de verificare a cunoştinţelor

1. Care sunt caracteristicile unui obiect ?

2. Explicaţi conceptul de încapsulare.

3. Explicaţi conceptul de polimorfism.

4. Precizaţi restricţiile de integritate ale modelului de date orientat

obiect.

5. Caracterizaţi proiectarea bazelor de date orientate obiect.

Rezumat

În această unitate de învăţare sunt prezentate aspectele

caracteristice modelului de date orientat pe obiecte şi elementele

care definesc bazele de date orientate obiect.

Bibliografie

1. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

2. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

3. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 129: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

124

Unitatea de învăţare nr. 8.

Noţiuni introductive privind Bazele de Date Distribuite

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 8 125

8.1. Baze de date distribuite 125

8.2. Sistemul de gestiune a bazelor de date distribuite 129

8.3. Răspunsuri şi comentarii la testele de autoevaluare 132

8.4. Lucrare de verificare a cunoştinţelor 133

Rezumat 133

Bibliografie 133

Page 130: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

125

OBIECTIVELE unităţii de învăţare nr. 8

Principalele obiective ale unităţii de învăţare numărul 8 sunt

următoarele:

8.1. Baze de date distribuite

O bază de date distribuită poate fi definită ca o colecţie de date

integrate, din punct de vedere logic, dar distribuite, din punct de

vedere fizic, pe staţiile unei reţele de calculatoare. Fiecare staţie a

reţelei are autonomie de prelucrare care îi permite să realizeze

aplicaţii locale. De asemenea, fiecare staţie participă la execuţia

aplicaţiilor globale care necesită accesarea datelor din mai multe

staţii.

Reţelele 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 existenţa unui administrator global,

care are responsabilitatea centrală a întregii baze de date

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

va înţelege modelul distribuit al datelor ;

va cunoaşte şi va înţelege operaţiile care se pot efectua

asupra bazelor de date distribuite ;

va cunoaşte specificaţiile SGBD-urilor distribuite.

Page 131: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

126

distribuită şi a unor administratori locali, cărora le revin

responsabilităţile legate de bazele de date locale.

Administratorii locali pot avea un grad înalt de autonomie care

poate merge până la realizarea coordonării între staţii.

- Independenţa datelor. În cazul bazelor de date distribuite

asigurarea independenţei datelor faţă de programele de

aplicaţii are aceeaşi importanţă ca şi în cazul bazelor de date

locale, dar apare un nou aspect legat de transparenţa

distribuţiei. Prin transparenţa distribuţiei programele pot fi

scrise făcând abstracţie de distribuirea fizică a datelor. Mutarea

datelor dintr-o staţie în alta trebuie să afecteze numai viteza de

execuţie, nu şi corectitudinea programului.

- Asigurarea unei redundanţe minime şi controlate. În cadrul

bazelor de date distribuite există mai multe motive pentru a

considera redundanţa datelor o caracteristică acceptabilă, şi

anume:

localizarea este mai rapidă atunci când datele sunt

replicate la toate staţiile unde sunt cerute de aplicaţii;

disponibilitatea, siguranţa sistemului creşte atunci

când datele sunt replicate. În cazul căderii unei staţii,

aplicaţiile pot fi dirijate la staţiile unde datele sunt

replicate.

Redundanţa datelor reduce efortul de regăsire a datelor dar creşte

efortul de actualizare. Evaluarea unui grad optim al redundanţei

trebuie să ţină seama de raportul între accesele de regăsire şi

accesele de actualizare a datelor.

- Integritatea, restaurarea datelor şi controlul concurenţei. În

cazul bazelor de date distribuite soluţiile privind integritatea,

restaurarea datelor şi controlul concurenţei (cererea simultană

a aceloraşi date) sunt legate de modul de realizare a

tranzacţiilor. O tranzacţie este o unitate atomică de execuţie, o

secvenţă de operaţii care fie sunt realizate în întregime fie nu

Page 132: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

127

sunt realizate. În cadrul bazelor de date distribuite problema

atomicităţii tranzacţiilor capătă un aspect particular legat de

modul în care trebuie să se comporte sistemul atunci când una

din staţii nu este operaţională: să abandoneze întreaga

tranzacţie sau să încerce să execute corect tranzacţia chiar

dacă ambele staţii nu sunt simultan operaţionale.

- Siguranţa şi securitatea datelor. În bazele de date

tradiţionale, administratorul bazei de date care are controlul

centralizat permite numai un aces autorizat la date. În bazele

de date distribuite, administratorii se confruntă cu aceleaşi

probleme ca administratorii bazelor de date tradiţionale. Sunt

de menţionat două aspecte particulare:

în bazele de date distribuite, cu un grad ridicat de

autonomie a staţiilor, bazele de date locale sunt mai

protejate deoarece administratorii locali îşi

realizează propria protecţie fără să depindă de un

administrator centralizat;

problemele securităţii sunt intrinseci sistemelor

distribuite deoarece comunicaţia în reţea poate

reprezenta un punct slab în realizare protecţiei.

Faţă de bazele de date centralizate, bazele de date distribuite au

următoarele avantaje:

Creşterea adaptabilităţii sistemului. În orice moment baza

de date poate fi extinsă prin adăugarea de noi structuri de

baze de date, cu un impact minim asupra structurii bazei

de date distribuite şi fără a afecta aplicaţiile existente. În

cazul sistemelor centralizate, dimensiunile iniţiale ale

sistemului trebuie să prevadă viitoarele expansiuni, lucru

greu de realizat şi costisitor de implementat.

Sporirea performanţelor sistemului deoarece partajarea şi

replicarea datelor ca şi existenţa mai multor procesoare

Page 133: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

128

au ca rezultat creşterea gradului de paralelism în

executarea aplicaţiilor.

Creşterea siguranţei sistemului. Sistemul distribuit este

proiectat astfel încât căderea unei staţii nu afectează

întregul sistem.

Disponibilitatea sporită a datelor asigurată de replicarea

lor. Chiar dacă o staţie cade, datele sunt încă disponibile

prin copiile memorate pe alte staţii.

Test de autoevaluare nr. 1

1. Care sunt avantajele bazelor de date distribuite ?

Page 134: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

129

8.2. Sistemul de gestiune a bazelor de date

distribuite

Un sistem de baze de date distribuite este un sistem în cadrul

căruia mai multe baze de date locale sunt legate printr-un sistem de

comunicaţie astfel încât datele din orice staţie pot fi accesate de

utilizatori de la alte staţii.

Un sistem de baze de date distribuite conţine următoarele

componente software:

componenta de comunicaţie;

sistemul de gestiune al bazei de date locale (SGBDL);

dicţionarul de date global (DDG);

sistemul de gestiune al bazei de date distribuite

(SGBDD).

Componenta de comunicaţie este cea care realizează legăturile în

cadrul reţelei. El cuprinde descrierea completă a nodurilor şi a

legăturilor din cadrul reţelei.

Sistemul de gestiune al bazei de date locale este un sistem

standard de gestiune a bazelor de date. De obicei conţine propriul

său dicţionar pentru datele locale.

Dicţionarul de date global cuprinde informaţii despre baza de date

distribuită: localizarea, structura, disponibilitatea şi modul de utilizare

a datelor.

SGBDD cuprinde un sistem complex de programe care asigură

interfaţa între baza de date distribuită şi utilizatorii acesteia.

Funcţiile pe care le îndeplineşte un SGBDD sunt următoarele:

1. Asigurarea interfeţei cu utilizatorul. Unul din obiectivele

majore ale unei baze de date distribuite este asigurarea

transparenţei localizării datelor. Utilizatorul nu trebuie să

cunoască nodul la care sunt localizate datele şi să

interacţioneze cu baza de date distribuită în acelaşi mod ca şi

cu o bază de date locală.

Page 135: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

130

2. Localizarea datelor. După primirea unei cereri de date,

SGBDD consultă dicţionarul de date global pentru a localiza

nodul în care sunt memorate datele. Cererile de date pot fi

împărţite în cereri locale, la distanţă şi compuse. Dacă cererea

poate fi satisfăcută î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 decât 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ă

informaţii din mai multe noduri. Pentru a prelucra o cerere

compusă este necesară mai întâi descompunerea acesteia în

cereri locale şi cereri la distanţă. În urma prelucrării, rezultatele

sunt transferate SGBDD care le transferă la rândul lui

utilizatorului. Pentru a superviza execuţia 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 acelaţi 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 concurenţei şi restaurarea datelor

la nivelul întregului sistem. Fiecare SGBD răspunde 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

păstra şi aplica modificările care au intervenit după producerea

incidentului. Controlul concurenţei la nivelul sistemelor este

necesar pentru a asigura sincronizarea proceselor.

4. Realizarea administrării bazei de date distribuite şi

controlul acesteia. SGBDD dispune de instrumente pentru

monitorizarea bazei de date distribuite, colectarea informaţiilor

despre modul de utilizare a acesteia şi, pe baza acestora,

realizează viziunea globală asupra ei.

Page 136: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

131

O caracteristică importantă a SGBDD este omogenitatea sau

eterogenitatea. Un SGBDD este omogen atunci când toate SGBD-

urile locale sunt de acelaşi fel. Un SGBDD eterogen implică cel puţin

două SGBD-uri locale diferite.

Astăzi există SGBDD omogene cum sunt: SDD-1, R*, DDM ş.a. şi

SGBDD eterogene cum ar fi: MULTIBASE, DDTS ş.a. De un interes

crescând se bucură sistemele eterogene de baze de date distribuite.

Test de autoevaluare nr. 2

Care sunt componentele unui SGBD distribuit (SGBDD) ?

Page 137: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

132

8.3. Răspunsuri şi comentarii la testele de

autoevaluare

Test de autoevaluare nr. 1

Faţă de bazele de date centralizate, bazele de date distribuite au

următoarele avantaje:

Creşterea adaptabilităţii sistemului. În orice moment baza

de date poate fi extinsă prin adăugarea de noi structuri de

baze de date, cu un impact minim asupra structurii bazei

de date distribuite şi fără a afecta aplicaţiile existente. În

cazul sistemelor centralizate, dimensiunile iniţiale ale

sistemului trebuie să prevadă viitoarele expansiuni, lucru

greu de realizat şi costisitor de implementat.

Sporirea performanţelor sistemului deoarece partajarea şi

replicarea datelor ca şi existenţa mai multor procesoare

au ca rezultat creşterea gradului de paralelism în

executarea aplicaţiilor.

Creşterea siguranţei sistemului. Sistemul distribuit este

proiectat astfel încât căderea unei staţii nu afectează

întregul sistem.

Disponibilitatea sporită a datelor asigurată de replicarea lor. Chiar

dacă o staţie cade, datele sunt încă disponibile prin copiile memorate

pe alte staţii.

Test de autoevaluare nr. 2

Un sistem de baze de date distribuite conţine următoarele

componente software:

componenta de comunicaţie;

sistemul de gestiune al bazei de date locale (SGBDL);

Page 138: Baze de Date CIG

Noţiuni introductive privind Bazele de Date Distribuite

133

dicţionarul de date global (DDG);

sistemul de gestiune al bazei de date distribuite

(SGBDD).

8.4. Lucrare de verificare a cunoştinţelor

1. Ce este o bază de date distribuită ?

2. Enumeraţi şi explicaţi principalele probleme ridicate de

realizarea şi exploatarea bazelor de date distribuite.

3. Explicaţi funcţia SGBDD de asigurare a interfeţei cu utilizatorul.

4. Explicaţi funcţia SGBDD de localizare a datelor.

5. Explicaţi funcţia SGBDD de asigurare a controlului accesului

concurent la date.

Rezumat

În această unitate de învăţare sunt prezentate aspectele

caracteristice bazelor de date distribuite precum şi caracteristicile

SGBD-urilor distribuite.

Bibliografie

1. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

2. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

3. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

Page 139: Baze de Date CIG

Protecţia şi securitatea bazelor de date

134

Unitatea de învăţare nr. 9.

Protecţia şi securitatea bazelor de date

Cuprins Pagina

Obiectivele unităţii de învăţare nr. 9 135

9.1. Protecţia baze de date 135

9.1.1. Integritatea datelor 136

9.2. Securitatea bazei de date 139

9.3. Răspunsuri şi comentarii la testele de autoevaluare 143

9.4. Lucrare de verificare a cunoştinţelor 145

Rezumat 145

Bibliografie 145

Page 140: Baze de Date CIG

Protecţia şi securitatea bazelor de date

135

OBIECTIVELE unităţii de învăţare nr. 9

Principalele obiective ale unităţii de învăţare numărul 9 sunt

următoarele:

9.1. Protecţia bazelor de date

Protecţia bazelor de date constă dintr-un set de măsuri umane şi

facilităţi oferite de SGBD prin care se urmăreşte asigurarea

integrităţii datelor, definită ca fiind corectitudinea datelor introduse şi

manipulate, şi a securităţii datelor, ce vizează interzicerea accesului

la date pentru persoanele ce nu au competenţe în folosirea lor.

Aceasta capătă o importanţă deosebită în contextul extinderii folosirii

configuraţiilor cu număr mare de utilizatori şi cu un volum mare de

date de prelucrat.

În ceea ce priveşte sfera de acţiune a metodelor utilizate pentru

protecţia datelor, pot fi puse în evidenţă două tendinţe: protecţia

împotriva unor defecte sau erori accidentale şi protecţia completă

care realizează în plus faţă de prima şi protecţia contra unor acţiuni

voite. Teoretic, toate sistemele ar trebui să asigure protecţia

completă a datelor. În practică însă, costul protecţiei, care creşte pe

măsură ce sunt reduse posibilităţile de apariţie a unor erori şi de

violare a confidenţialităţii datelor, este cel care dictează

complexitatea metodelor de protecţie care vor fi utilizate. Aspectele

După parcurgerea acestei unităţi studentul va putea demonstra

că are suficiente cunoştinţe pentru a înţelege:

aspectele care definesc protecţia datelor ;

tehnicile de asigurare a integrităţii datelor din baza de

date ;

metodele de asigurare a securităţii datelor.

Page 141: Baze de Date CIG

Protecţia şi securitatea bazelor de date

136

protecţiei bazelor de date ce vor fi prezentate mai jos se bazează pe

presupunerea că, la nivelul sistemului de operare, protecţia

informaţiilor din bazele de date este asigurată.

9.1.1. Integritatea datelor

Corespunzător situaţiilor care pot genera apariţia unor date

incorecte în baza de date, se disting trei aspecte ale asigurării

integrităţii datelor:

1. Asigurarea integrităţii semantice a datelor - presupune

prevenirea introducerii unor date incorecte şi a efectuării unor

prelucrări greşite. Dacă acest lucru nu va fi împiedicat sau

semnalat imediat, datele vor fi utilizate în alte prelucrări,

declanşându-se astfel un proces necontrolat de alterare a

bazei de date. Cu cât sesizarea unei erori are loc după o

perioadă mai mare, cu atât efectele ei vor fi mai greu de

controlat.

2. Controlul accesului concurent la date - presupune

prevenirea obţinerii unor rezultate incorecte din execuţia

concurentă (simultană) a unor prelucrări în regim multiutilizator.

O altă problemă care poate apare la prelucrarea concurentă

este dată de interblocare. Aceasta înseamnă că două tranzacţii

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:

funcţionarea anormală sau o cădere a SGBD sau a

sistemului de operare;

defecţiune fizică a suportului fizic pe care este memorată

baza de date.

Page 142: Baze de Date CIG

Protecţia şi securitatea bazelor de date

137

În primul caz, prin întreruperea tranzacţiilor active în momentul

respectiv, baza de date va rămâne î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ă existenţa unor

informaţii despre derularea tranzacţiilor până în momentul întreruperii

lucrului şi aplicarea, după caz a uneia din următoarele tehnici de

restaurare de bază:

- derularea înapoi a tranzacţiilor (ROLLBACK) - care presupune

anularea modificărilor efectuate de acestea asupra bazei de

date;

- derularea înainte a tranzacţiilor completate dar nereflectate în

baza de date (ROLLFORWARD) - care presupune efectuarea

acelor transformări prin care baza de date restaurată să

conţină rezultatele acestora.

Se observă deci că tranzacţia poate fi considerată unitatea de

restaurare, în sensul că baza de date restaurată trebuie, fie să

reflecte rezultatele finale ale tranzacţiilor, fie să nu fie afectată de

acestea.

Procesul de restaurare utilizează o serie de infromaţii obţinute prin

aplicarea unei anumite strategii de salvare.

Datele salvate pot fi diferite combinaţii între:

- copii ale bazei de date şi copii ale jurnalelor acesteia;

- jurnale ale tranzacţiilor;

- jurnale ale imaginii înregistrărilor din baza de date.

Copiile bazei de date pot fi realizate automat de către sistem la

anumite intervale de timp, sau la comanda administratorului bazei de

date, ori de câte ori este nevoie, de preferat pe suporturi magnetice

diferite de cele pe care este stocată baza de date. În cazul unei

deteriorări a suportului magnetic care păstrează baza de date,

acesta este singura posibilitate de recuperare a bazei de date.

Page 143: Baze de Date CIG

Protecţia şi securitatea bazelor de date

138

Jurnalul tranzacţiilor este un fişier special, întreţinut de SGBD, în

care sunt memorate informaţii despre tranzacţiile efectuate asupra

bazei de date, cum sunt:

identificatorul sau codul tranzacţiei;

momentul începerii execuţiei tranzacţiei;

numărul terminalului sau identificatorul utilizatorului care a

iniţiat tranzacţia;

datele introduse;

înregistrările modificate şi tipul modificării.

Pe baza lui va putea fi stabilită ulterior succesiunea corectă şi

natura prelucrărilor efectuate în intervalul de timp pentru care trebuie

să se sigure restaurarea bazei de date.

Jurnalul imaginilor se deosebeşte de jurnalul tranzacţiilor prin

aceea că el nu conţine descrierea operaţiilor efectuate asupra bazei

de date ci efectul acestora. Poate îmbrăca una din urmăroarele

forme:

jurnalul cu imaginea înregistrărilor după modificare (after

image) - va conţine copia fiecărei înregistrări ce este

modificată, în forma rezultată după modificare;

jurnalul cu imaginea înregistrărilor înaintea unei modificări

(before image) - va conţine copia fiecărei înregistrări ce

este modificată, în forma iniţială, anterioară efectuării

modificării;

jurnalul care conţine atât imaginea înregistrărilor inainte

cât şi după modificare.

Restaurarea bazei de date se poate face automat sau manual.

Page 144: Baze de Date CIG

Protecţia şi securitatea bazelor de date

139

9.2. Securitatea bazei de date

Asigurarea securităţii bazei de date presupune interzicerea

accesului neautorizat la date. Aceasta se realizează cu ajutorul unui

set de măsuri de protecţie umane, software şi hardware.

O primă astfel de măsură o poate constitui izolarea sistemului de

calcul în încăperi în care accesul persoanelor să fie permis pe bază

de legitimaţii sau a altor forme de identificare.

Un alt nivel de protecţie îl poate constitui stabilirea de parole pe

baza cărora 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 operaţie asupra

anumitor date. SGBD poate ţine şi un jurnal pentru urmărirea

accesului la baza de date, pe baza căruia pot fi depistate încercările

de acces neautorizat la baza de date.

Test de autoevaluare nr. 1

Care sunt aspectele asigurăririi integrităţii datelor ?

Page 145: Baze de Date CIG

Protecţia şi securitatea bazelor de date

140

Pentru cererile de intrare/ieşire transmise sistemului de operare de

către SGBD sunt posibile verificări suplimentare referitoare la

utilizarea corectă a fişierelor sau a funcţiilor sistemului de operare.

Hardware-ul poate să ofere o protecţie 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 următoarele mecanisme de

asigurare a securităţii datelor din baza de date:

1. Autorizarea şi controlul accesului la date presupune

identificarea utilizatorilor, restricţionarea accesului acestora la date

precum şi restricţionarea operaţiilor 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 decât un prim obstacol

pentru cei care încearcă să violeze securitatea bazei de date.

Astfel, pentru fiecare utilizator identificat prin parolă, SGBD

menţine o listă a privilegiilor acestuia. De asemenea, utilizatorii pot fi

asociaţi unor grupuri de utilizatori, la drepturile fiecăruie dăugându-se

drepturile stabilite pentru grupul respectiv. Privilegiile unui utilizator

depind astfel de clasa de utilizatori căreia îi aparţine. 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 obişnuiţi, care nu au în

proprietate obecte şi nu au alte privilegii decât cele moştenite ca

membrii ai unui grup sau menţionate explicit de administratorul bazei

de date.

2. Definirea şi utilizarea viziunilor. Viziunile (schemele externe)

sunt partiţii logice ale bazei de date. Ele sunt definite pentru diferiţi

Page 146: Baze de Date CIG

Protecţia şi securitatea bazelor de date

141

utilizatori în raport cu necesităţile acestora de a avea acces la date,

putând fi utilizate pentru a restricţiona accesul la date.

Privilegiile pentru o viziune sunt specificate independent de cele

pentru obiectele pe baza căreia este definită. Securitatea datelor

este asigurată prin definirea tuturor drepturilor necesare unui

utilizator pentru o viziune şi revocarea drepturilor pentru obiectele

iniţiale.

Această modalitate este suficientă în cazul în care asupra datelor

viziunii este permisă doar operaţia de citire. Pentru operaţia de

modificare trebuiesc avute în vedere efectele laterale pe care

aceasta le poate produce asupra obiectelor iniţiale. Utilizatorului nu

trebuie să i se permită să efectueze asupra viziunii acele operaţii

care pot afecta obiectele iniţiale. În caz contrar, pot să apară erori

sau inconsistenţe în baza de date.

3. Realizarea de proceduri speciale. Unele SGBD oferă

facilitatea definirii unor proceduri ce vor fi păstrate la nivelul

sistemului într-o formă precompilată.

În cadrul acestor proceduri vor fi specificate explicit operaţiile ce

trebuie efectuate asupra datelor. Utilizatorului i se va acorda dreptul

de execuţie a acestor proceduri şi i se va interzice accesul direct la

obiectele bazei de date gestionate de procedură.

4. Criptarea datelor este operaţia de codifcare a datelor în timpul

stocării sau al transportului, astfel încât descifrarea lor să poată fi

făcută numai de posesorii de cod.

La nivelul SGBD această facilitate poate îmbrăca două forme:

existenţa unor rutine speciale care realizează criptarea

datelor la cerere sau automat;

existenţa 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 cărui componente sunt:

Page 147: Baze de Date CIG

Protecţia şi securitatea bazelor de date

142

1. Algoritmul de criptare - realizează transformarea datelor

din forma iniţială în forma criptată (cifrată).

2. Cheia de criptare - valoare ce constituie o intrare a

algoritmului de criptare, aleasă dintr-o mulţime de chei

posibile.

3. Algoritmul de decriptare - realizează transformarea datelor

din forma criptată în forma iniţială.

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 securităţii

datelor ?

Page 148: Baze de Date CIG

Protecţia şi securitatea bazelor de date

143

8.3. Răspunsuri şi comentarii la testele de

autoevaluare

Test de autoevaluare nr. 1

Corespunzător situaţiilor care pot genera apariţia unor date

incorecte în baza de date, se disting trei aspecte ale asigurării

integrităţii datelor:

4. Asigurarea integrităţii semantice a datelor - presupune

prevenirea introducerii unor date incorecte şi a efectuării unor

prelucrări greşite. Dacă acest lucru nu va fi împiedicat sau

semnalat imediat, datele vor fi utilizate în alte prelucrări,

declanşându-se astfel un proces necontrolat de alterare a

bazei de date. Cu cât sesizarea unei erori are loc după o

perioadă mai mare, cu atât efectele ei vor fi mai greu de

controlat.

5. Controlul accesului concurent la date - presupune

prevenirea obţinerii unor rezultate incorecte din execuţia

concurentă (simultană) a unor prelucrări în regim multiutilizator.

O altă problemă care poate apare la prelucrarea concurentă

este dată de interblocare. Aceasta înseamnă că două tranzacţii

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:

funcţionarea anormală sau o cădere a SGBD sau a

sistemului de operare;

defecţiune fizică a suportului fizic pe care este memorată

baza de date.

Page 149: Baze de Date CIG

Protecţia şi securitatea bazelor de date

144

Test de autoevaluare nr. 2

Mecanismele de asigurare a securităţii datelor din baza de date

sunt următoarele:

1. Autorizarea şi controlul accesului la date ; presupune

identificarea utilizatorilor, restricţionarea accesului acestora la date

precum şi restricţionarea operaţiilor ce pot fi executate asupra datelor

accesate.

2. Definirea şi utilizarea viziunilor. Viziunile (schemele externe)

sunt partiţii logice ale bazei de date. Ele sunt definite pentru diferiţi

utilizatori în raport cu necesităţile acestora de a avea acces la date,

putând fi utilizate pentru a restricţiona accesul la date.

Privilegiile pentru o viziune sunt specificate independent de cele

pentru obiectele pe baza căreia este definită. Securitatea datelor

este asigurată prin definirea tuturor drepturilor necesare unui

utilizator pentru o viziune şi revocarea drepturilor pentru obiectele

iniţiale.

3. Realizarea de proceduri speciale. Unele SGBD oferă

facilitatea definirii unor proceduri ce vor fi păstrate la nivelul

sistemului într-o formă precompilată.

În cadrul acestor proceduri vor fi specificate explicit operaţiile ce

trebuie efectuate asupra datelor. Utilizatorului i se va acorda dreptul

de execuţie a acestor proceduri şi i se va interzice accesul direct la

obiectele bazei de date gestionate de procedură.

4. Criptarea datelor este operaţia de codifcare a datelor în timpul

stocării sau al transportului, astfel încât descifrarea lor să poată fi

făcută numai de posesorii de cod.

La nivelul SGBD această facilitate poate îmbrăca două forme:

existenţa unor rutine speciale care realizează criptarea

datelor la cerere sau automat;

existenţa unor instrumente de criptare care permit

utilizatorului să-şi realizeze propriile rutine de criptare.

Page 150: Baze de Date CIG

Protecţia şi securitatea bazelor de date

145

9.4. Lucrare de verificare a cunoştinţelor

1. Cum se poate realiza restaurarea bazei de date în cazul

căderilor accidentale ale SGBD sau SO ?

2. Cum se asigura refacerea bazei de date în cazul defectării

suportului de memorie pe care este stocata aceasta ?

3. Ce conţine jurnalul tranzacţiilor ?

4. Ce conţine jurnalul imaginilor ?

5. Ce presupune activitatea de asigurare a securităţii bazei de

date ?

Rezumat

În această unitate de învăţare sunt prezentate aspectele

caracteristice bazelor de date distribuite precum şi caracteristicile

SGBD-urilor distribuite.

Bibliografie

1. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

2. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

Page 151: Baze de Date CIG

Bibliografie

146

Bibliografie

1. Duşmănescu Dorel, Baze de date, Editura Universităţii Petrol-

Gaze din Ploieşti, 2005

2. Fotache M., Proiectarea bazelor de date. Normalizare şi

postnormalizare. Implementări SQl şi Oracle, Editura Polirom,

Iaşi, 2005

3. Fotache, Marin, SQL: Dialecte DB2, Oracle, PostgreSQL şi

SQL Server, ediţia a II-a, Editura Polirom, Iaşi, 2009

4. Ionescu, Felicia, Baze de date relaţionale şi aplicaţii, Editura

Tehnică, 2004

5. Pătraşcu Aurelia, Tănăsescu Ana, Duşmănescu Dorel, Baze

de date MS-Access. Teorie şi aplicaţii, Editura Universităţii

Petrol-Gaze din Ploieşti, 2006

6. Thomas Connolly, Carolyn Begg, Anne Strachan, Baze de

date. Proiectare. Gestiune. Implementare, Editura Teora,

Bucureşti, 2001

7. Velicanu Manole, Sisteme de gestiune a bazelor de date prin

exemple, Editura ASE, Bucureşti, 2013

8. Ion Lungu, Adela Bara, Constanta Bodea, Iuliana Botha, Vlad

Diaconita, Alexandra Florea, Anda Velicanu, Tratat de baze

de date, Editura ASE, Bucureşti, 2011

9. Velicanu Manole, Baze de date prin exemple, Editura ASE,

Bucureşti, 2007