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

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MIH0003	Gestiunea tranzacţiilor şi baze de date distribuite	

Félév	Órák: C+S+L	Kategória	Típus	
4	2+1+1	specialitate	obligatorie	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
VARGA Viorica	Dr. 	Conf.	Sisteme Informatice	*			

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	
							
III. A tantárgy célkitűzései
Tranzakciókezelés részletes bemutatása, példázás MS SQL Server alkalmazások esetén.
Osztott adatbázis fogalmak, tervezés, tranzakciókezelés osztott adatbázisok esetén, osztott lekérdezések feldolgozása megismerése.
Félév végén tranzakciókezelési és osztott adatbázis fogalmakkal tisztában kell legyen a diák és képes kell legyen többfelhasználós adatbázis projektet elkészíteni.	

IV. A tantárgy tartalma
A tranzakció bemutatása, mint a helyesség, a konkurencia és a helyreállítás egysége. Holtpont megelőzés és felfedezés. Semmiségi és helyrehozó naplózás. Tranzakciókezelés MS SQL Server-ben és C#-ban. 
Fogalmak az osztott adatbázisokban. Osztott adatbázisok tervezése.  Adatok másolásával felmerülő problémák. Tranzakciókezelés, katalóguskezelés osztott adatbázisok esetén, osztott lekérdezések feldolgozása.
Laboron bonyolult tárolt eljárásokat és tranzakciókezelést gyakorolnak, majd egy többfelhasználós konkurencia problémákat kezelő kollektív adatbázis projektet készítenek a diákok.	

V. Könyvészet
C. J. Date: An Introduction to Database Systems, 8th Edition, Pearson Education, Inc. Addison-Wesley Higher Education, 2004. (román fordítás)
H. Garcia-Molina, J. D. Ullman, J. Widom: Database System Implementation, Prentice Hall Upper Saddle River, New Jersey, 2000. (magyar fordítás)
R. Dollinger: Baze de date si gestiunea tranzacţiilor, Editura Albastra, Cluj-Napoca, 1997. 
P. Helman: The Science of Database Management, Richard D. IRWIN, Inc., 1994.
A. Silberschatz, H. Korth, S. Sudarshan: Database System Concepts, McGraw-Hill, New York, 2006.
R. RAMAKRISHNAN, J. GERKHE: Database Management Systems, McGraw-Hill Higher Education; 3 edition (2002).
I. Varga: Adatbázisrendszerek (A relációs modelltől az XML adatokig), Editura Presa Universitară Clujeană, 2005.

V. Varga, Interogarea bazelor de date distribuite, Casa Cărţii de Ştiinţă, Cluj-Napoca, 
2006. 	

VI. Az oktatói tevékenység heti tematikája
1. előadás: A tranzakció fogalma, ACID tulajdonságok, a tranzakció alaptevékenységei. Konkurenciavezérlés problémái: elveszett módosítás, piszkos adat olvasás, helytelen analízis. Soros és sorbarendezhető ütemezés.
2. előadás: Konkurenciavezérlés zárolás segítségével. Kétfázisú lezárási protokoll és kétfázisú lezárási tétel. A konkurenciavezérlés problémáinak megoldása zárolással. Holtpont kialakulása, holtpont megoldása: várási gráf, időkorlát mechanizmus. Szigorú két-fázisú lezárási protokoll.
3. előadás: Tranzakciók elkülönítési szintjei, tranzakciók SQL nyelvben. Tranzakciók MS SQL Serverben és C#-ban.
4. előadás: Optimista konkurenciavezérlés, időbélyeg módszer.
5. előadás: Helyreállítás semmisségi naplozással.
6. előadás: Helyreállítás helyrehozó naplozással.
7. előadás: Helyreállítás semmisségi/helyrehozó naplozással.
8. előadás: Osztott adatbázis értelmezése, célkitűzései. Vízszintes és függőleges tördelés.
9. előadás: Osztott adatbázis arhitektúrák, tervezés.
10. előadás: Tranzakciókezelés osztott adatbázisok esetén. Konkurenciavezérlés, holtpont felfedezés.
11. előadás: Helyreállítás hiba esetén. Két-fázisú véglegesítesi protokoll.
12 . előadás: Három-fázisú véglegesítesi protokoll.
13 . előadás: Lekérdezés feldolgozás problémája osztott adatbázisok esetén.
14 . előadás: Katalóguskezelés, adatok másolásával felmerülő problémák osztott adatbázis esetén.
1. szeminárium: Bonyolult tárolt eljárások programozása MS SQL Serverben.
2. szeminárium: Bonyolult tárolt eljárások programozása MS SQL Serverben.
3. szeminárium: Tranzakciók programozása MS SQL Serverben.
4. szeminárium: Holtpont felfedezés várási gráf segítségével, módosítási zárolás használata. 
5. szeminárium: Helyreállítás semmisségi, helyrehozó naplózással. 
6. szeminárium: Helyreállítás semmisségi/helyrehozó naplózással.
7. szeminárium: Osztott adatbázisok tervezése.
Labor: Félév végéig a következő projektet kell elkészíteni:
A projektet legalább 2 diák készíti együtt (1 diák - 10 tábla).
Maximum 30 pontot lehet összegyűjteni.
A projektnek teljesítenie kell a következőket:
1.	Többfelhasználós legyen, legalább 3 típusú felhasználó.
2.	Legyenek konkurencia problemák a feladatban megoldva.
3.	Használjuk a tranzakciót a helyesség egységeként.
4.Tranzakció kezelés megvalósítása: 
a)	tárolt eljárás szintjéről
b)	felületi szintről
5. A felületet javasoljuk C# -ban írni. Ne legyenek SQL parancsok, sem tárolt eljárás meghívások a formok szintjén, ezeket egy Data Access Layer (DAL) szint segítségével oldjuk meg, minden objektumnak (pl. Vevok, Termekek, stb.) a lekérdezéseket a megfelelő osztályban kell megírni. (Vevok.GetRendelesek, Vevok.GetSzamlak, stb.) 
4.	A táblák legyenek 3NF-ben, külső kulcsos kapcsolatok beállítva, hozzunk létre index állományokat, a táblákat értelmes adatokkal töltsük fel, a bemeneti adatok helyességét ellenőrizni kell, táblákat napra kell tenni (hozzáillesztés/módosítás/törlés).
5.	Minimum 5 tárolt eljárást kell bemutatni, melyek tartalmaznak kurzor feldolgozást, van visszatérítési értékük, legalább egy if parancsot, minimum 3 select parancsot.
6. Triggereket legalább 3 tábla esetén kell bemutatni, minimum 3 parancsot kell tartalmazzon az, mely számításba jöhet.
1. labor: Bonyolult tárolt eljárások programozása MS SQL Serverben.
2. labor: Tranzakciók tárolt eljárásokból MS SQL Serverben 
3. labor: Többfelhasználós konkurencia problémákat kezelő kollektív adatbázis projekt specifikációjának kidolgozása, mely tartalmazza az adatbázis egyed-kapcsolat diagramját, átírva relációs modellé is, formok tervezése, lekérdezések leírása. Az adatbázis legalább 10 táblát kell tartalmazzon fejenként.
4. labor: Laborvizsga tárolt eljárások és tranzakciók programozásából MS SQL Server-ben.
5. labor: Adatbázis létrehozása, megszorítások, indexek , teszt adatokkal való feltöltése a projekt esetén. Menürendszer és főprogram leadása a projekt esetén.
6. labor: Lekérdezések leadása, melyek konkurencia problémákat oldanak meg felületről, illetve tárolt eljárásból.
7. labor: Projekt végleges formájának leadása.	

VII. Alkalmazott didaktikai módszerek
Az előadás vetítés formájában történik, Power Pointos bemutatók segítségével. Ez lehetőséget ad több példa bemutatására és beszélgetésre, problémák felvetésére. 
Tranzakciókezelés követése futás közben MS SQL Serverben.	

VIII. Értékelés
1. Labor 			40 pont (10 pont 1-7 leadott labor, 30 pont projekt) 
2. Labor vizsga 		10 pont
3. Szemináriumi tevékenység	 5 pont
4. Irásbeli vizsga		45 pont	

IX. Kiegészítő könyvészet
www.db-book.com; www.cs.wisc.edu/~dbbook
\\SCS\SQL-INFO\Documentation	

Dékán,						Tanszékvezető,
	Prof. dr. Tâmbulea Leon				Prof. dr. Boian Florin

	Dátum,						Előadás felelőse,
	26 szeptember 2008					Conf. dr. VARGA Viorica