Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MIH0003	Gestiunea tranzacţiilor şi baze de date distribuite	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
4	2+1+1+0	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
SABAU Andreea	Dr. 	Lect.	Sisteme Informatice	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
Cunoasterea problemelor legate de securitatea bazelor de date, proceduri stocate, tehnologia client-server a bazelor de date, accesul concurent la baze de date, restaurare in caz de eroare a bazei de date, bazele de date distribuite.	

IV. Conţinutul disciplinei
1.	Securitatea bazelor de date. 
2.	Proceduri stocate. 
3.	Triggere.
4.	Tehnologia client-server a bazelor de date.
5.	Gestiunea tranzacţiilor: 
5.1.	Activităţile de bază ale tranzacţiilor
5.2.	Accesul concurent în baze de date centralizate.
5.2.1.	Problema modificării pierdute, problema citirilor inconsistente, problema analizei inconsistente 
5.2.2.	Conflicte, planificarea serială şi serializabilă
5.2.3.	Asigurarea serializabilităţii prin blocare: blocări partajate şi exclusive 
5.2.4.	Blocarea conservativa si strictă în două faze 
5.2.5.	Impasul: prevenire, evitare, rezolvare (graf de aşteptare, mecanismul Timeout)
5.2.6.	Tehnici optimiste: metode cu marci de timp, OCC, multiversionare
5.2.7.	Tranzacţii în SQL
5.3.	Restaurarea bazei de date în caz de eroare: algoritmii Undo/Redo, Undo/No-Redo, No-Undo/Redo, No-Undo/No-Redo
6.	Baze de date paralele.
7.	Baze de date distribuite.
7.1.	Arhitecturi de baze de date distribuite
7.2.	Fragmentarea bazelor de date distribuite
7.3.	Replicarea, probleme apărute la replicare
7.4.	Gestiunea catalogului în baze de date distribuite
7.5.	Gestiunea tranzacţiilor în baze de date distribuite
7.5.1. 	Gestiunea blocărilor în baze de date distribuite
7.6.	Recuperare în caz de eroare în baze de date distribuite
7.7.	Procesarea interogărilor în baze de date distribuite

V. Bibliografie
1. C. J. Date: An Introduction to Database Systems, 8th Edition, Pearson Education, Inc. Addison-Wesley Higher Education, 2004. 
2. Dollinger, R., Baze de date si gestiunea tranzactiilor. Editura Albastra, Cluj-Napoca, 1997.
3. H. Garcia-Molina, J. D. Ullman, J. Widom: Database System Implementation, Prentice Hall Upper Saddle River, New Jersey, 2000. 
4. H.T. Ozsu, P. Valduriez, Principles of Distributed Database Systems, Prentice Hall, 1997.
5. R. Ramakrishnan: Database Management Systems, WCB McGraw-Hill, Boston, 1998.
6. A. Silberschatz, H. Korth, S. Sudarshan: Database System Concepts, McGraw-Hill, New York, 2006.
7. Tambulea, L. Baze de date, Litografiat Cluj-Napoca 2003.
8. I. Varga: Adatbázisrendszerek (A relációs modelltől az XML adatokig), Editura Presa Universitară Clujeană, 2005.

VI. Tematica activităţilor didactice pe săptămâni
Curs:
1. Tranzactia. Arhitectura unei tranzactii. Controlul concurentei. Plan de executie.
2. Anomalii de interferenta. Istorie recuperabila, evitarea anularilor in cascada, executie stricta. Serializabilitate.
3. Controlul concurentei folosind blocari. 2PL, 2PL conservativ, 2PL strict.
4. Gestiunea interblocarilor (prevenire, evitare, detectie si iesire).
5. Controlul concurentei folosind marci de timp. OCC.
6. Multiversionare
7. Recuperare. Algoritmii Undo/Redo, Undo/No-Redo, No-Undo/Redo, No-Undo/No-Redo
8. Puncte de reluare.
9. Baze de date paralele.
10. Baze de date distribuite. Proiectarea BDD. Gestiunea catalogului.
11. Gestiunea tranzacţiilor in BDD. Gestiunea blocarilor in BDD.
12. Gestiunea interblocarilor in BDD.
13. Recuperare in BDD.
14. Securitate in baze de date.

Seminar:
1.-2. Instructiuni SQL. Noutati. Cursori.
3.-4. Proceduri stocate. Probleme.
5.-6. Trigger-e. Probleme.
7.-8. View-uri. Functii definite de utilizator. Probleme.
9.-10. Functii de rang. Probleme.
11.-12. Alte metode de control al concurentei (suplimentar curs). Probleme.
13.-14. Probleme.

Laborator:
1.-2. Gestiunea tabelelor unui utilizator SQL-Server.
3.-4. Proceduri stocate.
5.-6. Trigger-e.
7.-8. Controlul concurentei (nivele de izolare).
9.-10. Controlul concurentei (blocari si OCC) – pentru un tabel cunoscut, un nivel de izolare.
11.-12. Folosirea functiilor de rang.
13.-14. Preluare laboratoare.

VII. Metode didactice folosite

VIII. Evaluare
Nota finala = 50% * examen scris (sesiune) + 50% * (activitate de laborator si proba practica).
Conditie de promovare: nota examen scris, nota examen practic si nota finala trebuie sa fie minim 5.
(http://www.cs.ubbcluj.ro/~deiush/baze2/anunturi2.htm)	

IX. Bibliografie suplimentară

	Decan,							Sef de catedra,

	Data,							Titular curs,
								Lect. Dr.  SABAU Andreea