Sunteți pe pagina 1din 14

CURS 1

1.1

ENTITATE – colectie de date care reprezinta un obiect, fenomen, process de sine statator.

ATRIBUT – reprezinta o proprietate carecteristica a entitatii.

RELATIE BINARA(pe ? ) – submultimea R: ? *? ? ? cu proprietatea:


R={ (x,y) Є ? *? | x,y Є ? / x are aceeasi valoare cu y}

PROPRIETATI:
R: ? *? ? ? este:
- 1. reflexivitatea: pt oricare ar fi x Є ? > xRx;
- 2. simetrie: dc pt oricare ar fi (x,y) Є ? xRy at exista yRx ;
- 3. antisimetrie: dc pt oricare ar fi (x,y) Є ? xRy si yRx atunci ? x=y ;
- 4. tranzitivitate: daca pt oricare ar fi (x,y,z) Є ? xRy si yRz at > xRz;

TIPURI:
- Relatie de echivalenta: reflexivitate + simetrie + tranzitivitate;
- Relatie de ordine totala: pt oricare ar fi x,y Є ? fie xRy fie yRx;
- Relatie de ordine: reflexivitate + antisimetrie + tranzitivitate;
- Relatie de preordine: reflexivitate + tranzitivitate;

1.2

Structura de date este o relatie de date intre care s-au definit o multime de relatii care conduc la un anumit mecanism de identificare
si selectie a componentelor sale.
Principalele operatii asupra structurii:
- memorare
- consultare
- actualizare
- sortare
- ventilare
- fuzionare
- copierea
- interclasare

Clasificare:
a)dupa tipul componentelor structurale:
- omogene (componente de acelasi fel)
- heterogene (invers)
b)dupa tipul substructurilor componentelor ale structurii:
- recursive (contine substructurile de acelasi tip)
- nerecursive (invers)
c)dupa posibilitatea modificarii valorii si/sau structurii datelor
- structuri statice (nu se pot modifica nr de componente si nici ordinea)
- structuri dinamice (se poate modifica orice)
d)dupa nivelul de structurare a datelor:
- logice (cu operatori logici)
- fizice (pe support de memorare)

TIPURI DESTRUCTURI:
1. Punctuala – reprezinta un element izolat fara legatura cu altul
1. Structura liniara: - simpla
- inelara
3. Strucutura arborescenta
4. Strucutura de retea: - simpla
- complexa

CURS2
2

2.1.

COMPONENTELE BAZELOR DE DATE pe 3 nivele:


a) nivel logic
a) nivel conceptual
a) nivel fizic
SGBD este reprezentat de un program de baza ale bazelor de date pentru care se realizeaza urmatoarele activitati:
- definirea structurii bazelor de date
- incarcarea datelor in baza de date
- acces la date (pt vizualizare, modificare)
- intretinerea bazelor de date (colectare, refolosire, spatii goale, refacere)
- reorganizarea bazelor de date (restructure, modificare structura de acces)
- asigurarea securitatii datelor

2.2.

OBIECTIVE SGBD
a) asigurarea independentei: - independenta fizica
- independenta logica

a) asigurarea unei redundante minime si controlate


a) asigurarea unor facilitate sporite de utilizare a datelor
a) cresterea gradului de securitate
a) asigurarea integritatii datelor
a) asigurarea portabilitatii (accesul multor utilizatori si aplicanti fara a schimba baza de date)
2.3.

FUNCTIILE SGBD:
a) functia de descriere a datelor (se defineste structura bazelor de date, legatura dintre colectii, legatura dintre date, se descriu
atributele din baza de date)
Se mai defineste (LDD) – metode si drepturi de acces.
a) functia de manipulare (creare baze de date, adaugare sau stergere, modificare valori, cautare, sortare)
a) functia de utilizare
a) functia de administrare

2.4.

Arhitectura CODASYL
3

Operatiunile declansate de un program de operare din ordinea in ordinea logica:


1. Programul de aplicatie A cere catre SGBD citirea datelor
1. SGBD consulta subschema aplicatiei A
1. SGBD apeleaza schema baza de date si identifica logic datele solicitate]
1. SGBD examineaza descrierea fizica a bazei de date in raport cu cea logica si identifica locul unde sunt datele
1. transmite comanda la sistemul de operare pentru acces la date
1. sistemul de operare citeste datele din baza de date multivolume
1. datele extrase sunt transferate din baza de date in buferele SGBD
1. SGBD afla daca datele utilizate sunt cele solicitate
1. SGBD transfera datele din bufere in memoria locala A (ZLA)
1. ZLA controleaza datele solicitate si comunica cu SGBD

2.5.

CLASIFICARE SGBD:
a) dupa sistemul de calcul: - pentru calculatoare mari
- pentru minicalculatoare
- pentru microcalculatoare
b) dupa sistemul utilizat: - cu limbaj propriu (al SGBD)
- cu limbaj gazda(al sistemului de operare)

CURS3

3.1.

PROIECTAREA BAZELOR DE DATE


Principalele etape de realizare a unei baze de date:
1. Analiza sistemului sau a domeniului si a cerintelor informationale pe care trebuie sa le indeplineasca baza de date
1. Proiectarea structurii bazei de date (schema inetrioara + extorioara = schema conceptuala)
1. Introducerea datelor in baza de date
1. Exploatarea si intretinerea bazei de date

3.2

ANALIZA SISTEMULUI SI A CERINTELOR INFORMATIONALE


1. Analiza structurala (sistemele si legaturile dintre acestea) – elaborarea modelului dinamic BD
1. Analiza temporala (starile si tranzitiile dintre stari) – elaborarea modelului dinamic BD
4
1. Analiza functionala (cerintele informationale si transferal de date) – elaborarea modelului functional al sistemului
1. Interconectarea celor 3 modele intr-o analiza integrala.

CURS4

4.1
PRINCIPALELE TIPURI DE ATRIBUTE:
1. Atribut simplu – un singur element individual indivizibil
1. Atribut compus – format din cel putin 2 simple
1. Atribut calculat – e derivat, iar valoarea derivatei se determina cu ajutorul expresiei matematice
1. Atribut repetitive – are la un moment dat mai multe valori (liste de valori)

4.2
ATRIBUTELE DE IDENTIFICARE A ENTITATILOR (CHEIE) –> sunt unice si satisfac cerintele:
- identificarea unica a instantelor de entitate
- existent unei semnificatii a lor
- utilizare usoara
- lungime cat mai redusa
Alegerea uneia dintre chei candidate:
- se prefera atributele cu valori putin volatile
- cu lungimi mai reduse
Daca nu avem attribute cheie:
- se genereaza unul special (“auto” in Acces)
- combinarea mai multor attribute simple in unul compus care indeplineste rolul de cheie
4.3
ETAPELE ANALIZEI COMPORTAMENTALE A SISTEMULUI
a) identificarea componentelor
a) identificarea evenimentelor care determina schimbarea de stare
a) stabilirea succesiunii de evenimente si contruirea diagramei de flux a evenimentelor

4.4
PRINCIPALELE ETAPE necesare pentru elaborarea modelului functional:
a) Identificarea datelor de intrare si de iesire (reprezentarea cat mai corecata a legaturii dintre intrari-iesiri)
a) Construirea diagramelor de flux
a) Identificarea restrictiilor
a) Stabilirea cerintelor de optimizare a accesului

4.5
INTERCOLAREA MODELELOR SISTEMULUI:
- intercorelarea modelelor structurale, dinamic si functional
- investigarea sistemului valoric a proprietatii intrinseci si dinamice
- verifica daca relatiile dintre componente sunt stabilite corespunzator astfel incat sa faciliteze regasirea datelor
de mai multe entitati
- se verifica legatura dintre entitatile care asigura coeranta informatiilor
- toate elementele participante la diferite tranzactii trebuie assimilate ca atribute ale entitatilor bazei de date

4.6
PROIECTAREA STRUCTURII BAZEI DE DATE:
a) Alegerea SGBD presupune:
1. stabilirea cerintelor utilizatorului (timp raspuns,confidentialitate etc)
2. stabilirea cerintelor de ordin tehnic (portabilitatea)
5
3. stabilirea cerintelor de ordin economic (buget)
4. ierarhizarea cerintelor de mai sus
5. analiza comparativa a SGBD
6. alegerea SGBD-ului
a) Proiectarea schemei conceptuale
1.stabilirea colectiilor de date
2.Determinarea legaturii dintre date si a modului de reprezentare
3.testarea schemei conceptuale si imbunatatirea
4.descrierea schemei conceptuale in limbajul propriu
5.incarcarea acestei descrieri in baza de date
a) Proiectarea schemei externe a bazei de date
a) Proiectarea schemei interne a bazei de date

CURS 5.

5.1
Stabilirea colectiilor de date si definirea detaliata a continutului acestora
b)Determinarea legaturilor intre colectii de date a modului de reprezentare a acestora in cadrul schemei
Se porneste de la leg. identificate in etapa de analiza a.i. sa se satisfaca integral toate conditiile informationale ale utilizatorului
Modul de reprezentare a leg. dep. de modelul SGBD ales.Astfel pt modelele erarhic si retea se utilizeaza pointul ca adrese de leg pt
inlantuirea datelor
c)Testarea schemei conceptuale si inbunatatirea ei consta in det gradului in care schema conceptuala contine toate elem
informationale necesare utilizatorilor si masura in care elementele informationale reflecta sistemul real repr. de BD
d)Descrierea schemei conceptuale si incarcarea in BD se face prin intermediul unor limbaje specializate de descriere a datelor(LDD).
Compilatorul limbajului de descriere a datelor transcrie schema conceptuala BD in formatul intern de memorare si face BD operabila.

5.2
Proiectarea schemei externe
Schema externa repr. forma de repr. a schemei concept. pt un utilizator si e aplicata in programele ce opereaza asupra elem. schemei
conceptuale, schema extrema repr. acea parte din schema conceptuala care este de interes pt utilizator
Proiectarea schemei interne
Schema conceptuala poate contine dif. modele de structuri de date. Datele trebuie memorate pe suport de memorare nu se poate
face decat sub forma unei structuri liniare si apoi aceasta structura oarecare trebuie memorata in calculator.

5.3
Incarcarea datelor in BD
Principalele surse de alimentare cu date sunt constituite de elemente primare. De retinut ca valoarea numerica este foarte mare si
depinde de marimea colectorilor de date
Exploatarea si intretinerea BD
Exploatarea apartine utilizatorului final pt satisfacerea nevoilor informationale, acestia fiind de cele mai multe ori neprofesionalisti.
De aceea exploatarea se face prin interfete si instrumente (user-frendly)
Intretinerea BD este o activitate mult mai complexa si e pt specialisti. Trebuie asigurata integritatea datelor, securitatea si
coerenta lor. In cazul unui incident trebuie asigurarea refacerii BD.

5.4
CAP 3 BD RELATIONARE
Modelul relational al datelor
Principalele avantaje sunt:
-asigura in grad sporit de independenta a datelor fata de modul de repr. interna a datelor si de metodele de acces a datelor
-furnizeaza metode si tehnici de control eficient al coerentei si redundantei datelor
- ofera facilitati multiple de definire si manipulare a datelor
- amelioreaza integritatea, coerenta si securitatea datelor.

5.5
6
Principalele structuri ale modelului relational
a)Structura relationala a datelor
-Atributul repr. o prop. caract. a entitatii pe care o reprezinta
a)Operatorii modelului operational (AR- algebra relationala ., CR-calcul relational)

a)Restrictiile de integritate

CURS6

6.1
Produsul cartezian este definit pe 2 relatii PC: R1,R2->R3 a carui schema se obtine prin concatenarea schemelor R1 si R2 si a
carei extensie dintre toate combinatiile tuplusilor din R1 in R2.

6.2.
Protectia este definite pe o relatie R si constituie o relatie P:R->P

6.3.
Selectia este definiata asupra unei relatii R si construieste o norma relatie S a carei schema este identical cu cea a lui R care
indeplineste conditia specificata explicit in cadrul operatiei.

6.4.
Jonctiunea(join) este definite pe doua relatii R1 si R2 si construieste o ordine R3 prin concatenarea unor tupluri din R1 cu tupluri
din R2 care indeplinesc o conditie specifica explicit in cadrul operatiei.

6.5.
Intersectia este definitape 2 relatii R1 si R2 care au aceeasi schema si construieste o noua relatie cu aceeasi schema dar R3
continue numai….. commune din R1 si R2.

6.6.
Diviziunea este definitia asupra unei relatii R cu schema R(A1:D1,A2:D2…..,Ap:Dp,Ap+1:D1……An:Dn)si construieste o relatie
Q cu schema Q(A1:D1,A2:D2,…..,Ap:Dp) cu ajutorul unei relatii (tau)(Ap+1:D1,…..,An:Dn).

6.7.
Complementarea : aperatie conditionata din A.R care permite si complementului unei relatii definit drept ansamblul taplurilor din
produsul cartezian al domeniilor associate atributelor.

6.8
Splitarea(spargerea)este operaria cand din AR definite asupra unei relatii R si construieste doua relatii prin spargerea relatiei R
tinand cont de o anumita conditie pusa asupra lui R.

6.9.
Principalele tipuri de reguli de integritate MR:
1. Restrictii de integritate structural

1. Restrictii de comportament

1. Restrictia de referentiala:

• Restrictia de domeniu

• Restrictiade temporala

CURS 7

7.1

SGBD (…RELATIONALE)

Sunt sisteme de gestionare a bazelor de date care se bazeaza pe modelul relational al organizarii datelor. Diversitatea modelelor
operationale relationale a determinat existenta diversitatii a SGBDR-urilor. Astfel exista:
- SGBD – cu interfata relationala
7
- SGBD – pseudorelationala
- SGBD – complet relationala

7.2

Regulile lui Codd

Pt ca un SGBD sa apartina modelului relational trebuie sa indeplineasca asa numitele reguli ale lui Codd:
• R0: Regula privind gestiunea datelor la nivel de relatie impune ca SGBD sa-si indeplineasca toate functiile prin manipulari de date
in care unitatea de informatie este relatia (tabelul).
Daca functiile sunt indeplinite partial, atunci SGBD este cu interfata relationala. Se utilizeaza limbajul SQL.
• R1: Regula privind reprezentarea logica a datelor impune ca toate datele sa fie reprezentate explicit la nivel logic sub forma de valori
in tebale. Deci datele se transmit si se memoreaza in acest mod.
• R2: Regula privind garantarea acceslului la date, impune ca accesul la date sa se faca prin numa de tabela sau relatie valoare –
Cheie primara si nume coloana, permitandu-se astfel accesul la orice data atomica.
• R3: Regula privind valorile “null” impune sa ofere posibilitatea declararii si manipularii valorilor “null” in sensul de date inexistente
sau inaplicabile.
• R4: Regula privind metadatele impune presuirea bazei de date sa se faca in acelasi mod ca si datele
• R5: Reg privind facilitatile limbajelor utilizate impune posibilitatea de utilizare a multor limbaje in mai multe moduri. Este obligatoriu
sa existe cel putin un limbaj de nivel inalt care prin iteratiile sale sa permita definirea tabelelor de baza si a tabelelor
virtuale,manipularea interactiva a datelor def. structuri, reguli de identitate, specificarea modului de acces, specific. tranzactiilor.
• R6: Regula privind actualizarea datelor virtuale, impune ca orice tabela virtuala sa poata fi actualizata pornind de la tabelul de baza
(mama) sau din alte tabele virtuale.
• R7: regula privind adaugarile, modificarile si stergerile de date in BD impune existenta posibilitatilor de manipulare a datelor cat si a
tabelelor virtuale, atat pentru operatii de consultare cat si pentru operatori de actualizare.
• R8: Regula privind independenta fizica a datelor impune ca nici o modificare asupra structurii fizice a datelor sa nu impuna nici o
modificare asupra progamelor de aplicatie
• R9: Regula privind independenta logica a datelor impune ca orice modificare a struct logica a datelor din BD sa nu recunoasca nici
o modificare in program
• R10: Regula privind restrictiile de integritate impune ca restrictiile de integritate sa poata fi definite complet in limbajul sistemului in
BD si nu in progr de aplicatie.
• R11: Regula privind distributia geografica a datelor impune ca programele de aplic sa fie aceleasi indifferent daca datele sunt
centralizate sau distribuite.
• R12: Regula privind prelucrarea datelor la nivel de baza impune ca in cazul in care SGBDR poseda un limbaj de baza orientat pe
prelucrarea de tupluri si nu de relatii, sa nu poata fi utilizat pt evitarea restrictiilor de integritate.

7.3

Categoriile regulilor lui CODD:


1. Reguli fundamentale: R0, R12;
1. Reguli structurale: R1, R6
1. Reguli de integritate a datelor: R3si R10
1. Reguli de manipulare a datelor: R2, R4, R5, R7
1. Reguli de independenta a datelor: R8, R9, R11

7.4

Principalele mijloace de definire a SGBD


1. Un SGBD este minim relational daca satisface conditiile:
a) Toate datele din BD sunt reprezentate ca valori in tabele
a) Operatiile cu valori nu fac apel la indexi, fisiere inverse
a) SGBD suporta operatii de proiectie, selectie si join. fara limitari impuse in considerente interne
1. Un SGBD este complet relational daca este minimal si daca satisface:
d) Suporta fara limitari toate operatiile algebrei relationale
e) SGBD suporta restrictia de iunicitate a cheiei si restrictia referentiala
3. Un SGBD este cu interfata relationala daca satisface conditiile a) si c) dar este indepeindenta numai in raport cu
8
functia de interogare.

7.5

Caracteristici generale ale SGBDR


Modelul relational in compozitie cu modele mai vechi erarhice in retea asigura o reprezentare mai uniforma a relatiilor si a
legaturii dintre ele functia de descrierea datelor este mai simpla si mai flexibila.

Un SGBDR are urmatoarele instrumente de lucru:


- limbaj relational pentru manipularea datelor
- mecanisme pt controlul integritatii semantice
- mecanisme pt asigurarea integritatii
- mecanisme pt obtinerea cererilor de date
- utilizarea pt editarea formulelor, rapoartelor, generatoare de rapoarte, generarea de aplicatii , generarea de statistici

7.6

Mecanisme de control al integritatii semantice


Controlul integritatii datelor se face prin restrictii, reguli de integritatea modului relational. Astfel daca in urma operatiei de control
s-a depistat o anomalie a BD se revine la starea de dinaintea tranzactiei (exista puncte de verificare)

7.7

Mecanisme pt optimizarea cererilor de date:


Aceasta se compune din 2 etape:
1. Exprimarea cererilor de date sub forma unor expresii
1. Aplicarea unor transformari algebrice asupra expresiilor rezultate din etapa I pt obtinerea unor expresii sau relatii echivalente,
dar mai simple si rapide.

7.8

Formele normale ale relatiilor


Principalele categorii de anomalii
a) Anomalii de actualizare datorate dependentelor functionale partiale
- limitarea posibilitatilor de inserare a datelor deoarece restrictiade integritate a entitatii impune ca atributele- cheie sa nu aiba valoarea
“null”
- pierderi de date la stergere ce apar in situatii in care se sterg tupluri ce contin legaturi la alte tupluri
- aparitia unor inconsistente la modificarea datelor
b) Anomalii de actualizare datorate dependentei functioanle tranzitorii ( apar la inserarea sau stergerea datelor cand
datele transitive se pot sterge si alte date)
c)Anomalii de actualizare datorate dependentei multivaloare (apare o mai mare redundanta care poate creea dificultati de
actualizare)

d)Anomalii de actualizare datorate dependentei jonctiune.

CURS8

8.1.
Dependentele jonctiunii
Formele normale ale relatiilor(tabelelor)
• FN1 (forma normal unu): O relatie R este in FN1 de domeniile pe care sunt definite atributele sale constituie numai valori
atomice elementare, deci nici un tuplu nu trebuie sa contina atribute sau grupuri de atribute cu valori repetitive si nici
compuse

• FN2 O relatie se afla in FN2 daca este in Fn1 si oricare din atributele sale noncheie este dependent functional complet de chei
9
primara a relatiei.Deci se interzic dependentele functionale

• FN3 O relatie se afla in FN3 daca este in FN2 si atributele sale noncheie nu sunt dependente tranzitiv de cheia primara a relatiei
(deci interzice dependent functional transitive)

• FN4 O relatie se afla in FN4 daca se afla in FN3 si in cadrul ei nu se manifesta mai mult de o dependenta multivaloare.

• FN5 O relatie R este in FN5 daca este in FN4 si daca dependenta jonctiune este implicata printr-un candidat cheia lui R
8.2.
Etapele de proiectare a schemei conceptuale BDR
1. Determinarea formei normale impusa relatiilor din BDR
Descompunerea si dispersia atributelor intr-un nr prea mare de relatii favorizeaza operatiile de actualizare dar ingreuneaza
operatiile de regasire a dateler si consultare.

1. Stabilirea relatiilor din BDR presupune definirea schemei tuturor relatiilor a legaturi dintre relatii si a regulilor de integritate

• TN1 (tehnica normalizarii relatiilor) presupune obtinerea unei scheme conceptuale initiale astfel incat fiecare entitate
sa fie reprezentata prin cate o relatie sau un tabel

• TN2 tehnica diagramelor de dependent riguroasa prin care se permite obtinerea schemei conceptuale printr-un proces
de sinteza direct in relatia normalizata.

1. Testarea schemei conceptuale in limbajul de descriere


1. Descrierea schemei conceptuale in limbajul de descriere si incarcarea ei in BDR
8.3.

Stabilirea schemei conceptuale initiale a BDR


1. Reprezentarea entitatilor si a legaturilor dintre acestea sub forma de relatie sau tabel
2. Construirea unei singure relatii.

8.4
Ameliorarea schemei conceptual -> consta in eliminarea dependentelor functionale nedorite:
- partiale
-tranzitive
-multivaloare
-jonctiune
Ameliorarea trebuie sa satisfaca urmatoarele cerinte:
-garantarea conservarii datelor
-garantarea conservarii legaturilor dintre tabele
-prin ameliolare trebuie sa se realizeze o descompunere minimala relatiilor

8.5
Tehnica diagramelor de dependente riguroase
A fost introdusa de Smith si presupune utilizarea unor notiuni si conventii de reprezentare grafica precum si parcurgerea unor
etape specifice.Principalele notiuni si conventii sunt:
1. Dependente unice: fie doua atribute A si B.Se spune ca exista o dependent unica de la A la B notate cu A->B atunci cand o valoare
a lui A determina o singura realizare a lui B.

A->cheie(nenul)

B->element final

1. Dependente multiple. D aca exista odependenta multipla de la A la B se noteaza cu A->>B atunci o valoare a lui A determina doua
sau mai multe realizari ale unuiatribut C, iar acesta cheie primara , atunciB->cheie de legatura

1. Dependente duble(triple) reprezinta dependentele dintre un lant de chei de lagaturi, ocheie primare si una finala(tinta)

1. Domeniul reprezinta multimeade valori incare atributele dintr-o relatie pot lua valori: Dif atribute pot avea aceleasi domeniu si
de aceea domenii distincte trebuie sa li se asocieze cate un identificator.

8.6
10
Tehnica diagramelor de dependenta riguroasa are etapele:

1. Stabilirea dictiomarului de atribute si a listelor de dependente dintre atribute

1. Determinarea schemei conceptuale optime a BDR

CURS 9

9.1

1. Stabilirea dictionarului de atribute.Presupune inventarierea tuturor campurilor de date in cadrul modelului entitate-asociere,
rezultatul fiind dictionarul de atribute.

1. Stabilirea listelor de dependente.Se face pe baza legaturii dintre atribute si exprimarea acestor legaturi. La aceasta elaborare a
listelor de dependente se respecta conventiile:
− Fiecare atribut poseda un nume (din dictionary);
− Numele atributului se scrie de regula cu litere mari
− Atributele trebuie sa fie elementare
− Trebuie realizata descrierea fiecarei legaturi

1. Intocmirea diagonalelor de dependenta riguroasa.Se face prin reprezentare dependentelor din cadrul listelor de dependente.
Diagonalele se intocmesc utilizand conventiile:
− Fiecare legatura are un singur sens
− De la un element cheia primara trebuie sa puncteze cel mult o sageata cu cap dublu
− In timpul elaborariise elimina dependenta….
− Elementele cheie de la legaturi pot fi legate cu un element cheie primara avand grija ca numai o sageata cu cap dublu
sa puncteze spre elemental cheie primara sau spre cheia de legatura

1. Sinteza relatiilor normalizate..Relatiile normalizate complet sunt sintetizate pe baza diagonalelor ale dependentei riguroasa
prelucrandu-se dependentele unice si dependentele de cheie finala

1. Supranormalizarea este recomandata pentru obtinerea relatiilor complet normalizate atunci cand proiectantul BDR anticipeaza un
volum mare de actualizari. Daca operatiile preponderente in BDR sunt cele de consultare nu mai este nevoie de normalizare.

1. Intocmirea documentatiei referitoare la schema conceptuala a BDR. Listele de dependenta riguroasa constituie documentatie
BDR, de asemenea schema relatiilor. In aceasta etapa se amelioreaza o schita a schemei conceptuale a BDR care sa reflecte toate
legaturile dintre attribute.

Relatiile se aseaza in asa fel incat sa se reprezinte foarte clar liniile de legatura, cheia primara, cheia externa, ajutand utilizatorul sa
inteleaga care sunt atributele cheie si domeniile de definitie

9.2

Principalele etape de proiectare ale schemei externe sunt:

a. Determinarea domeniului de interes pentru utilizator


a. Analiza structurala dinamica si functionala a domeniului de interes
a. Proiectarea schemei propriu-zise pe baza analizelor effectuate la punctual b
a. Testarea schemei externe si imbunatatirea ei
a. Operationalizarea ei

9.3

Proiectarea schemei interne


Are ca obiect transpunerea modelelor logice de date sub forma de relatii sau tabele in formatul intern de inregistrare pe support care
este sub forma de lista inlantuita.
Operatia de conversie pentru memorarea pe support se face prin utilizarea metodei arborilor de predicat. Constructia schemei interne
este o functie speciala SGBDR
11

9.4

Principalele limite ale SGBDR sunt:

a. Mijloace limitate de exprimare a restrictiilor de integritate


a. Diferente mari intre tratarea datelor de catre limbajele rationale si limbajele evoluante de programare
a. Absenta mecanismului de lucru cu versiuni
a. Flexibilitatea redusa a interfetelor utilizatorului
a. Saracia mecanismelor deductive (rationament logic)
a. Lipsa mecanismului de tratare a cerintelor recursive pentru procesare paralela a cererilor si a acceselor la date.
a. Comportamentul reactive al BDR in sensul ca reactia de raspuns se manifesta ca o consecinta a actiunilor asupra BDR

9.5

Directiile de perfectionare pt depasirea limitelor

1. Perfectionarea BDR in limitele modelului rational:


− Prin introducerea modelului rational binar
− Prin introducerea conceptului de bdr normaliozata pentru date definite ambiguu, neprecis
1. exprimarea modelului relational astfel incat BD sa functioneze in limitele BDR, astfel au aparut BD deductive, functionale si
orientate pe obiecte.

CURS 10

10.1
Protectia bazelor de date

Consta in ansamblul de masuri umane si facilitati SGBD cu ajutorul carora se asigura integritatea BD.

Integritate:

- a)corectitudinea datelor

- b)securitatea datelor(integritatea accesului)

Metodele utilizate pentru protectia datelor au doua aspecte:

- aparitia unor inconsistente datorita unor erori hardware, software sau erori umane;

- protectia impotriva unor actiuni voite in mod special.

10.2

Integritatea datelor urmeaza trei dorectii principale:

1. asigurarea integritatii semantice;

1. controlul accesului concurent;

1. salvarea si restaurarea BD.

1. Asigurarea integritatii semantice consta in prevenirea introducerii unor date si a unor prelucrari eronate care au ca
efect eronarea datelor din BD.Dupa modul in care sunt exprimate, restrictiile pot fi:

- a) restrictii de integritate implicite

- b) restrictii de integritate explicite


12
a). Restrictii de integritate implicite. In modelul rational sunt utilizate doua restrictii de integritate associate cheilor primare si externe

Integritatea entitatilor conform careia nici un atribut care participa la formarea cheii primare nu poate avea valoarea “null”

Integritatea referentiala care precizeaza ca unei valori a unei chei externe din relatia care refera trebuie sa-I corespunda o
cheie primara , au aceeasi valoare in relatia referita sau sa aiba valoarea “null”

b). Restrictiile explicite se include in programele de aplicatie.Este preferabil ca SGBD-ul sa aiba cat mai multe verificari iar programele
de aplicatie cat mai putine.Verificarea restrictiilor de catre programele de aplicatie prezinta urmatoarele dezavantaje:

- cresterea efortului de programare si a dimensiunii programului de aplicatie;

- introducerea modulelor programului de testare in toate programele care testeaza un anumit segment;

- programele de aplicatienu pot controla operatiile effectuate de utilizatori prin limbaje de integrare de nivel inalt si riscul
alterarii datelor creste mult;

- schimband restrictiile de integrare trebuie sa se efectueze modificari adecvate din toate programele de aplicatie.

10.4

2.Controlul accesului concurent la date

Accesul concurent se face prin tranzactii care sunt secvente de cod care ori se executa in intregime ori ori nu se executa deloc.(nu
poate fi intrerupta).

Tranzactiile au inceput si sfarsit.

Dupa modelul de definire tranzactiile pot fi:

a) implicite la care punctele de inceput si de sfarsit sunt stabilite automat de SGBD

b) explicite care presupun folosirea unor comenzi speciale pentru inceputul si sfarsitul tranzactiei.

10.5

Tehnica blocarii

Deoarece SGBD-ul nu ofera facilitate de executie controlata a accesului, nivelul de setare a datelor este foarte mare, dar SGBD-ul
poate oferii posibilitatea blocarii datelor folosite la un moment dat de o tranzactie astfel incat nici o alta sa nu aiba acces decat dupa
incheierea tranzactiei active.Aceasta metoda presupune executia seriala a tranzactiei:

Administrarea blocarii se face in modurile:

- setarea unui bit de blocare pentru sursa respective

- intretinerea unei liste a resurselor blocate

- mentinerea resurselor blocate intr-o zona de memorie protejata.

10.6

Interblocarea surselor apare atunci cand mai multe tranzactii blocheaza anumite nivele si apoi fiecare solicita
resursei blocata de cealalta.
13
La nivelul SGBD-ului astfel de situatii pot fi tratate in doua moduri:

a) prevenirea interblocarii care presupune ca toate programele de aplicatii sa anticipeze sis a-si blocheze de la inceput
toate resursele de care ua nevoie(se aplica greu)

b) tratarea interblocarii presupune existenta unor mecanisme de detectare a blocarii si apoi de rezolvare a ei.Aceasta se
poate realize prin utilizarea unui anumit graphic al procedeelor care reflecta dependentele dintre procese din punct de vedere al
ordinii in care aceastea sunt executate

CURS 11

Salvarea si restaurarea bazelor de date

Consta in readucerea bazei de date sau a datelor din baza de date la forma consistenta si corecta in urma aparitiei unor evenimente
care a determinat alterarea datelor, din urmatoarele cause:
-o cadere a sistemului de gestionare a bazelor de date sau a sistemului de operare
-o defectiune a suportului fizic pe care sunt memorate date
In primul caz toate tranzactiile active se intrerup iar baza de date ramane intr-o stare consistenta.
In al doilea caz suportul de memorie este distrus, inutilizabil si se pierde intreaga baza de date.
Sistemul de gestionare a bazelor de date trebuie sa contina urmatoarele facilitate de restaurare a bazei de date:
-derularea inapoi a tranzactiilor neterminae(RollBack) cu anularea modificarilor efectuale asupra datelor.
-Derularea inainte a tranzactiilor executate complet dar nereflectate in baza de date
Informatiile utilizate in procesul de restaurare pot fi:
-copii ale baze de date
-copii ale jurnalelor bazei de date(jurnale ale tranzactiilor si jurnale aleimaginilor datelor din baza de date
Copiile bazelor de date pot fi realizate automat de catre sistemul de gestionare a bazei de date la intervale regulate anterior stabilite
de administrator sau ori de cate ori este nevoie , efectuata manualt de administrator
Jurnalul tranzactiilor este un fisier special intretinut de sistemul de gestionare a bazei de date in care sunt memorate informatii
despre tranzactiile effectuate asupra bazei de date
Informatiile pot contine:
- identificatorul sau codul tranzactiei
- momentul initierii tranzactiei
- numarul statiei sau utilizatorului care a initializat tranzactia
- date introduse
- tipul modificarilor
- inregistrarea modificarilor efectuate
Jurnalul imaginilornu contine descrierea operatorilor ci numai efectul operatiilor.El poate contine imaginea inregistrarilor dupa
modificare(after image) sau imaginea inregistrarilor inainte de modificare(before image) sau amandoua.
Restaurarea bazelor de date se poate face automat sau manual
Restaurarea automata se face de catre sistemul de gestionare a bazei de date dupa oprirea si apoi initializarea sistemului de calcul
in urma unei caderi.
La nivelul sistemului de gestionare a bazelor de date pot exista parametrii de configurare care influenteaza procesul de restaurare
automata cum ar fi:
- intervalul de restaurare de la momentul incarcarii sistemului
- indicatori de restaurare de la momentul incarcarii sistemului
- indicatorul de restaurare care determina ce informatie va scrie sistemul de gestionare a bazei de date in fisierul de erori(error file
log) in timpul restaurarii automate
Restaurarea manuala este necesara mai ales atunci cand suportul de memorie a bazei de date s-a distrus. El se bazeaza pe copiile de
siguranta ale bazei de date.
Copiile de siguranta ale bazei de date se realizeaza in urmatoarele moduri:
- deconectarea tuturor utilizatorilor
1. efectuarea restaurarii
1. reconectarea utilizatorilor
- efectuarea copiilor in mod dinamic fara deconectarea utilizatorilor.

Securitatea bazei de date

Asigurarea securitatii presupune interzicerea accesului neautorizat la informatiile bazei de date prin masuri de protectie umana
hardware si software.
O masura de protectie umana (protectie fizica) poate fi aceea de izolare a statiei de calcul a bazei de date in care accesul
persoanelor este strict reglementata.
O alta protectie este aceea de utilizare a prolelor de acces (protectie logica).Accesulpoate fi selective asupra unor date sau operatii
14
ce se efectueaza asupra datelor.
Sistemul de gestionare a bazei de date poate tine un jurnal pentru mentionarea accesului la baza de date in vederea depistarii
incercarilor neautorizate de acces la date.
Prin hardware se poate efectua selective transferal datelor numai in zone de memorie controlate riguros de sistemul de gestionare a
bazei de date.
Datele pot fi memorate pe un suport extern sub forma criptata.
Principalele metode de asigurare a securitatii datelor sunt:
- autorizarea si controlul accesului la date
- definirea si utilizarea visuinelor(zone de memorie protejata si riguros controlata de sistemul de gestionare a bazelor de date si
sistemul de operare), zone invizibile pentru utilizator
- realizarea de proceduri speciale( fizice si logice)
- criptarea datelor.
Asigurarea si controlul accesului la date consta in indetificareautilizatorilor, restrictionarea accesului acestora la date,
restrictionarea operatiilor ce pot fi effectuate asupra datelor.
Majoritatea sistemelor de gestionare a bazelor de date utilizeaza parole de acces speciale associate cu anumite drepturi de acces.
Prin legile de acces ale unui utilizator depind de clasa in care se incadreaza utilizatorul.Administratorul bazei de date are toate
drepturile de acces inclusive acordarea sau revocarea drepturilor de acces pentru eilalti utilizatori.
Proprietarul unui fisier sau segment de date( cel care le-a creat) are toate drepturile asupra acestui fisier sau segment de
date.Ceilalti utilizatori au drepturile acordate de catre administrator.
Aceste drepturi sunt inscrise intr-un fisier ale drepturilor de acces care pot fi facute selective ca in exemplul :
Nume utilizator Obiect Actiune Restrictii

Un1 R5 Insert Camp<2560

Obiectul este reprezentat de colectia de date ce trebuiesc protejate.Acestea pot fi relatii, campuri sau atribute, program sau o
portiune din baza de date.
Actiunea reprezinta operatia utilizatorului pe care o poate executa asupra obiectului specificat. Read ,insert append, execute,
delete, modify, create.
Restrictiile reprezinta conditi suplimentare impuse atunci cand un utilizator executa o actiune asupra bazei de date.
In general sistemele de gestionare a bazelor de date permit specificarea privilegiilor cu ajutorul unor comenzi speciale ale limbajului.
Criptarea datelor reprezinta un process de codificare cu ajutorul careia un text in clar inteligibil(plain text) este transformat intr-o
secventa neinteligibila numita cripograma.Acest process se face cu ajutorul unor algoritmi de cripare.
Exista doua moduri de criptare:
- cripare cu chei secrete(cripare simetrica)
- criptare cu chei publice(criptare asimetrica)