Sunteți pe pagina 1din 36

Utilizarea datelor (3)

Pentru implementarea acestei funcii


fiecare SGBD are un Limbaj de
Manipulare a Datelor (LMD) care
poate fi un modul separat sau inclus n
limbajul sistemului cum este n cazul
SQL.

F. Radulescu. Curs: Baze de date

30

Utilizarea datelor (4)


Operaia de regasire este esentiala, ea fiind
necesara i n cazul celorlalte trei operaii:
1. n cazul inserarii, dac aceeai informaie nu
poate fi prezenta de mai multe ori n baza
de date, este necesara o cautare prealabila
pentru a verifica acest lucru.
2. n cazul stergerii i actualizarii este necesara
localizarea datelor care vor fi eliminate sau
modificate.
F. Radulescu. Curs: Baze de date

31

Executia unei cereri - etape


1.

2.

3.
4.

Consultarea cataloagelor de sistem pentru a verifica


existenta obiectelor implicate i a afla structura i
proprietaile acestora precum i pentru a verifica
daca utilizatorul care a lansat comanda are dreptul
de a efectua operaia respectiva
Crearea unui plan de executie optim pentru
operaia respectiva, lund n consideraie existenta
unor eventuale structuri de cautare rapida
(indecsi).
Executia operaiei i verificarea faptului ca
rezultatul nu violeaz constrangerile de integritate
existente
Executarea altor operaii care pot fi declansate
automat de operaia de baza (n cazul n care
sistemul suporta astfel de operaii).
F. Radulescu. Curs: Baze de date

32

1.2. Funciile unui SGBD


1.
2.
3.
4.
5.
6.

Descrierea datelor
Utilizarea datelor
Integritatea datelor
Confidentialitatea datelor
Accesul concurent la date
Siguranta n funcionare
F. Radulescu. Curs: Baze de date

33

Integritatea datelor (1)


Majoritatea sistemelor de gestiune permit
definirea unor reguli pe care datele stocate
trebuie sa le verifice numite constrangeri
de integritate.
n cazul n care o operaie are ca rezultat
violarea acestor restricii aceasta este
automat rejectata i nu are efect n baza de
date.
n felul acesta este asigurata o mai mare
siguranta n ceea ce priveste corectitudinea
datelor.
F. Radulescu. Curs: Baze de date

34

Integritatea datelor (2)


Sa consideram o baz de date
continnd informaii despre
 facultai,
 studentii inscrisi i
 notele obtinute de acestia.

F. Radulescu. Curs: Baze de date

35

Integritatea datelor (3)


Introducerea accidentala de valori incorecte
n baza de date. Exemplu: restricie privind
intervalul de valori admisibil pentru note: 010.
Lasarea necompletata a unor informaii
necesare. Exemplu: numele studentulu.
Alocarea accidentala a aceluiasi numar
matricol pentru mai multi studenti
(constrangere de unicitate a valorilor).
Introducerea accidentala a unui student cu
un cod incorect al facultaii la care acesta
este inscris (constragnere referentiala)
F. Radulescu. Curs: Baze de date

36

Integritatea datelor (4)


Definirea de constrangeri de integritate
nu previne insa total erorile accidentale
de operare: de exemplu introducerea
din greseala a unei note de 4 n loc de 5
nu va fi semnalata, ambele valori fiind
n intervalul admisibil.

F. Radulescu. Curs: Baze de date

37

1.2. Funciile unui SGBD


1.
2.
3.
4.
5.
6.

Descrierea datelor
Utilizarea datelor
Integritatea datelor
Confidentialitatea datelor
Accesul concurent la date
Siguranta n funcionare
F. Radulescu. Curs: Baze de date

38

Confidentialitatea datelor (1)


 Accesul la date este permis doar utilizatorilor
nregistrai i doar n masura drepturilor de acces
alocate.
 Un utilizator este identificat printr-un numeutilizator i o parola.
 Fiecarui utilizator i se permite accesul doar la o
portiune a bazei de date i doar pentru a efectua
anumite tipuri de operaii.
 Toate aceste informaii relative la ce, cum i de unde
poate accesa datele un utilizator reprezinta
drepturile de acces asociate acestuia
 Drepturile de acces sunt stocate n cataloagele
sistemului.
F. Radulescu. Curs: Baze de date

39

Confidentialitatea datelor (1)


Prin mecanismul de drepturi de acces
este asigurata funcia de
confidentialitate a datelor.
Este prevenita posibilitatea de acces la
date a persoanelor care nu au acest
drept.
Exemplu: n cazul sistemului informatic al
unei organizaii, acces selectiv la salariile
angajailor, detalii ale proceselor
tehnologice, datele contabile etc.
F. Radulescu. Curs: Baze de date

40

1.2. Funciile unui SGBD


1.
2.
3.
4.
5.
6.

Descrierea datelor
Utilizarea datelor
Integritatea datelor
Confidentialitatea datelor
Accesul concurent la date
Siguranta n funcionare
F. Radulescu. Curs: Baze de date

41

Accesul concurent la date (1)


Faciliti de blocare a unor portiuni ale
bazei de date. Aceasta inseamna ca o
executie a unui program poate capata un
acces exclusiv la o portiune a bazei de date,
denumita i articol, moment n care orice
alta executie trebuie sa astepte deblocarea
acesteia pentru a continua.
Daca notam operaiile de blocare i deblocare
cu LOCK i UNLOCK, programul de
rezervare de locuri poate fi rescris
F. Radulescu. Curs: Baze de date

42

Accesul concurent la date (2)








LOCK A
READ A
A=
A1
WRITE A
UNLOCK A

/* se blocheaz articolul A */
/* se citeste A din BD */
/* se decrementeaz A*/
/* se scrie A n BD */
/* se deblocheaz A */

F. Radulescu. Curs: Baze de date

43

Accesul concurent la date (3)


Blocarea articolelor rezolva o serie de
probleme dar creaz premisele aparitiei
interblocajului, situaie n care doua
executii de programe asteapta
deblocarea unui articol blocat de
cealalt (deadlock)

F. Radulescu. Curs: Baze de date

44

Accesul concurent la date (4)


Program P1
---------LOCK
A
LOCK
B
. . . . .
UNLOCK B
UNLOCK A

Program P2
---------LOCK B
LOCK A
. . . . .
UNLOCK A
UNLOCK B

F. Radulescu. Curs: Baze de date

45

Accesul concurent la date (5)


Executia serializabila. n cazul mai multor
executii simultane care acceseaz baza de
date se considera ca efectul lor este corect
daca rezultatul final este identic cu executia
lor succesiva.
Aceasta proprietate se numeste
serializabilitate i un SGBD trebuie sa puna
la dispozitie mecanisme de asigurare a
serializabilitii executiilor programelor de
acces.
F. Radulescu. Curs: Baze de date

46

1.2. Funciile unui SGBD


1.
2.
3.
4.
5.
6.

Descrierea datelor
Utilizarea datelor
Integritatea datelor
Confidentialitatea datelor
Accesul concurent la date
Siguranta n funcionare
F. Radulescu. Curs: Baze de date

47

Siguranta n funcionare (1)


Desi nu este legata direct de cele
prezentate pana acum, siguranta n
funcionare este o caracteristica
esentiala pentru un SGBD
Contine acele elemente care exclud sau
minimizeaz posibilitatea de pierdere a
datelor datorata incidentelor software
sau hardware.
F. Radulescu. Curs: Baze de date

48

Siguranta n funcionare (2)


Salvarea datelor. Implementarea
operaiilor de salvare este mult mai
sofisticata
Este dificila efectuarea unei de cpii de
siguranta consistente ale bazei de date
n conditiile n care aplicaia ruleaz
non-stop i operarea nu poate fi oprita
pentru efectuarea salvarii.
F. Radulescu. Curs: Baze de date

49

Siguranta n funcionare (3)


Restaurarea dupa incident. La distrugerea
bazei de date este necesara efectuarea
operaiei de restaurare din copie.
Multe tipuri de SGBD au posibilitatea de a
nregistra toate schimbarile aparute n baza
de date sub forma unor fiiere jurnal.
n acest fel operaia de restaurare dupa
incident se face restaurnd ultima copie de
siguranta i reefectund toare prelucrarile
consistente nregistrate n jurnal dupa
momentul n care a fost efectuata copia.
F. Radulescu. Curs: Baze de date

50

1.3. Categorii de utilizatori


1. Utilizatori privilegiati
 Administratorul bazei de date

2. Utilizatori neprivilegiati
 Utilizatorul este o persoana fizica
(exemplu: n Oracle o persoana care
utilizeaza sqlplus).
 Utilizatorul este o entitate generica
(aplicatie software)
F. Radulescu. Curs: Baze de date

51

1.4. Nivele de reprezentare


 O aceeasi baz de date poate fi privita din
diverse perspective rezultnd descrieri
diferite.
 Termenul consacrat pentru descrierea
structurii unei baze de date este acela de
schema.
 n literatura de specialitate exista o
clasificare pe trei nivele a acestor descrieri:
fizic, conceptual i extern.
 Gestionarea schemelor bazei de date pentru
fiecare nivel este una dintre atributiile
administratorului bazei de date.
F. Radulescu. Curs: Baze de date

52

F. Radulescu. Curs: Baze de date

53

Nivelul fizic
La acest nivel baza de date este
descrisa din perspectiva stocarii sale pe
dispozitivele fizice: identificarea
discurilor i a cailor unde este stocata,
numele fiierelor care formeaz baza de
date, structura fizica a acestora, etc.
Descrierea bazei de date la acest nivel
poarta numele de schema fizica
F. Radulescu. Curs: Baze de date

54

Nivelul conceptual (1)


Descrierea bazei de date la acest nivel
poarta numele de schema
conceptuala (numita uneori i schema
logica) a bazei de date.
Ea consta intr-o descriere abstracta dar
exacta a structurii acesteia, lasnd la o
parte detaliile fizice de implementare.

F. Radulescu. Curs: Baze de date

55

Nivelul conceptual (2)


Tabelele care formeaz baza de date
Structura (coloanele) fiecarei tabele
Tipul de date asociat coloanelor
Elementele pe baza carora se realizeaz
interconectarea tabelelor (coloane
comune)
Constrangeri de integritate
Operaii declansate automat la modificarea
unor elemente ale bazei de date
F. Radulescu. Curs: Baze de date

56

Nivelul extern
Diferitele categorii de utilizatori ai unei
baze de date au nevoie n activitatea lor
doar de portiuni specifice ale acesteia.
Descrierea acestor portiuni poarta
numele de scheme externe.
O baz de date are deci asociat o
singur schem fizic i o singur
schem conceptual dar mai multe
scheme externe.
F. Radulescu. Curs: Baze de date

57

Independenta datelor (1)


Cablarea informaiilor structurale n
program constituie o bariera n calea
dezvoltarii i modificarii acestora.
Orice operaie de modificare a bazei de
date a unei aplicaii se masoara i prin
prisma costurilor materiale
Independenta logica
Independena fizic
F. Radulescu. Curs: Baze de date

58

Independenta logica (1)


Independenta logica reprezinta
posibilitatea de schimbare a schemei
conceptuale a bazei de date fara
modificarea schemelor externe. Conditia
este ca modificarea sa nu elimine nici
unul dintre elementele necesare
translaiei de la schema externa la
schema conceptuala.
F. Radulescu. Curs: Baze de date

59

Independenta logica (2)


Permite:
Adaugarea de noi tabele n baza de date
Adaugarea de noi coloane n tabelele existente
Modificarea numelor tabelelor i coloanelor
existente
Adaugarea de noi constrangeri de integritate
Modificarea n anumite limite a tipului datelor
stocate n baza de date
Restructurarea bazei de date prin mutarea unor
coloane n alte tabele, fragmentarea unei tabele
sau reunirea mai multor tabele.
F. Radulescu. Curs: Baze de date

60

Exemplu (1)
Schema conceptuala initiala:
Tabela Student
Coloanele tabelei:
CodStudent, Nume, CodFacultate, Medie

Scheme externe initiale:


Vederile Student_i
Coloanele vederilor:
CodStudent, Nume, CodFacultate, Medie

Liniile vederilor:
Liniile din tabela Student care pe coloana
CodFacultate contin valoarea i.
F. Radulescu. Curs: Baze de date

61

Exemplu (2)
Daca adaugam o noua coloana
CodSpecializare in tabela Student,
modificam doar definitia vederilor
Student_i:
Valorile de pe coloanele CodStudent,
Nume, CodFacultate i Medie din liniile
din tabela Student care pe coloana
CodFacultate contin valoarea i.
F. Radulescu. Curs: Baze de date

62

Independenta fizica (1)


Independena fizic reprezinta
posibilitatea de schimbare a schemei
fizice a bazei de date fara modificarea
schemei conceptuale i implicit a
schemelor externe.
Aceasta da posibilitatea reorganizarii
fizice a bazei de date fara afectarea
aplicaiilor care o folosesc.
F. Radulescu. Curs: Baze de date

63

Independenta fizica (2)


Permite:
 Schimbarea dispozitivelor fizice pe care este stocata
baza de date
 Schimbarea numelor fiierelor fizice n care este
stocata baza de date sau a directoarelor unde
acestea sunt plasate
 Adaugarea de noi structuri de cautare rapida
(indecsi) pentru cresterea vitezei de executie
 Schimbarea n anumite conditii a structurii fizice a
fiierelor bazei de date
 Schimbarea unor parametri ai sistemului de gestiune
care afecteaz modul n care datele sunt stocate la
nivel fizic
F. Radulescu. Curs: Baze de date

64

Sfritul
primului
capitol

F. Radulescu. Curs: Baze de date

65

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