protectie baze de date
TRANSCRIPT
-
8/19/2019 protectie baze de date
1/13
Curs BD G/1
Protecţia bazelor de dateObiective:
♦ integritatea b. d. (b. d. este operaţională)♦ coerenţa b. d. (concordanţa cu lumea reală)♦ confidenţialitate
Soluţii:
I. restricţii de integritateII. sincronizarea accesului concurentIII. siguranţa in funcţionare şi reluarea dupa pană
IV. securitatea utilizării
-
8/19/2019 protectie baze de date
2/13
Curs BD G/2
I. RESTRICŢII DE ITEGRITATE
Restricţie de integritate = predicat (o condiţie) care trebuie să verifice un
subansamblu al bazei de date
Baza de date coerentă = toate restricţiile de integritate sunt verificate
R.I. - statice- dinamice
Operaţii cu R.I.:- creare- ştergere
-
activare- dezactivare
-
8/19/2019 protectie baze de date
3/13
Curs BD G/3
Tipuri de R.I.:
obligativitatea valorii (OT ULL) unicitatea valorii (UIQUE Key) unicitatea cheii primare (PRIMARY Key)
obligativitatea legăturii (FOREIG Key) verificare condiţie oarecare (CHECK):
• pentru un rând (R.I. individuală)domenii restrictive de valori;
restricţii de format; relaţii între atribute• pentru o coloană (R.I. verticale)• pentru grupuri
R.I. dinamice: verificare sau actualizare ab. d. la trecerea dintr-o stare în alta
-
8/19/2019 protectie baze de date
4/13Curs BD G/4
Exemple:
CREATE TABLE DEPT (DEPTO UMBER(2) OT ULL,DAME VARCHAR2(14),LOC VARCHAR2(13),
COSTRAIT DEPT_PRIMARY_KEY PRIMARY KEY (DEPTO));
CREATE TABLE EMP (EMPO UMBER(4) OT ULL,EAME VARCHAR2(10),JOB VARCHAR2(9),MGR UMBER(4)
COSTRAIT EMP_MGR_FK FOREIG KEYREFERECES EMP (EMPO),
HIREDATE DATE,
SAL UMBER(7,2),COMM UMBER(7,2),DEPTO UMBER(2) OT ULL,
COSTRAIT EMP_DEPTO_FK FOREIG KEY (DEPTO)REFERECES DEPT (DEPTO),
COSTRAIT EMP_EMPO_PK PRIMARY KEY (EMPO));
-
8/19/2019 protectie baze de date
5/13
-
8/19/2019 protectie baze de date
6/13
Curs BD G/6
Probleme:
suprapunerea a două tranzacţii întreruperea bruscă a unei tranzacţii (pană)
Soluţii: fiecare tranzacţie să fie izolată astfel încât o execuţie concurentă a mai
multor tranzacţii să nu ducă la incoerenţe orice tranzacţie trebuie fie finalizată, fie anulată
-
8/19/2019 protectie baze de date
7/13
Curs BD G/7
II. SICROIZAREA ACCESULUI COCURET
Mai multe tranzacţii care operează asupra aceluiaşi obiect din baza de datese pot suprapune, astfel încât să conducă la incoerenţă
Timpi T1 T2 B.D. Timpi T1 T2 B.d.
t1 citire(x) - x=3 t1 citire(x) - x=3
t2 x
-
8/19/2019 protectie baze de date
8/13
Curs BD G/8
Blocare - blocarea unui obiect = împiedicarea altor tranzacţii de a
efectua operaţii asupra aceluiaşi obiect- eliberarea unui obiect = abandonarea controlului exclusivasupra obiectului
Timpi T1 T2 B.D.t1 blocare(x) x=3
t2 citire(x)
t3 - blocare(x)
t4 x
-
8/19/2019 protectie baze de date
9/13
Curs BD G/9
Interblocare = fenomen negativ prin care 2 tranzacţii se împiedică reciprocde a continua execuţia
Timpi T1 T2
t1 blocare(x) -t2 - blocare(y)
t3 blocare(y) -
t4 - blocare(x)
t5 aşteaptă aşteaptă
... ... ...
Rezolvarea interblocărilor: - prevenire
- detectare şi anulare
-
8/19/2019 protectie baze de date
10/13
Curs BD G/10
III. SIGURAŢA Î FUCŢIOARE ŞI RELUAREA DUPĂ PAĂ
Pană logică reluare la cald
fizică pe UCpe periferic reluare la rece
Măsuri de siguranţă:
• mirroring
• copii de siguranţă ale b.d. (coerente)• salvări periodice (necoerente)• jurnal de tranzacţii
-
8/19/2019 protectie baze de date
11/13
Curs BD G/11
Reluare la cald (reluarea activităţii după aducerea la o stare coerentă)
b.d. incoerentă+ b.d. coerentă
jurnal de tranzacţii (anulare tranzacţii nefinalizate)
-
8/19/2019 protectie baze de date
12/13
Curs BD G/12
Reluare la rece
(refacerea b.d. dintr-o versiune anterioară)salvarea periodică n-1
+ b.d. actuală, coerentă
jurnal de tranzacţii (anulare tranzacţii nefinalizaterefacere tranzacţii finalizate)
copia de sig. n-1
+ b.d. actuala, coerenta jurnal de tranzacţii (refacere tranzacţii finalizate)
copia de siguranţă n-1
b.d. coerentă (neactuală)+ reexecutarea operaţiilor
-
8/19/2019 protectie baze de date
13/13
Curs BD G/13
IV.
SECURITATEA UTILIZĂRII
♦ gestiunea privilegiilor (accesul la b.d.)♦ gestiunea drepturilor (operaţii posibile asupra datelor)♦ criptografiere