Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Optimizarea modelelor informatice
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MI376	Optimizarea interogarii bazelor de date distribuite	

Félév	Órák: C+S+L	Kategória	Típus	
2	2+2+0		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
A lekérdezés optimalizálás részletes tanulmányozása az osztott relációs adatbázisok esetén. Ehhez szükséges a fizikai tárolás ismerete relációs ABKR esetén, illetve kiterjesztések osztott adatbázisok esetén.
Félév végére saját fejlesztésű osztott ABKR-t kell a diák készítsen egy objektum-orientált programozási nyelvben, mely optimalizálási technikát is implementál.	

IV. A tantárgy tartalma
  Osztott adatbázis fogalmak, adatok tárolása osztott adatbázisban, fizikai adatbázis szerkezete, osztott adatbázis katalógusának szerkezete, tárolása. Fizikai adatbázis felépítése, file típusok, puffer kezelés.
Index technikák, algoritmusok kulcs beszúrására, törlésére B+ fák, dinamikus hash típusú index állományok esetén.
  SQL parancsok implementálása. Relációs algebrai műveletek implementálása (algoritmusok vízszintes és függőleges kiválasztás, join, csoportosítás megvalósítására)
  Osztott lekérdezés feldolgozásának fázisai, költség modellje. Adatok lokalizálása az osztott lekérdezés feldolgozása során. Algoritmusok az osztott lekérdezés optimalizálására. Lekérdezés optimalizálás az R * rendszer esetén. System R és R* rendszerek lekérdezés optimalizálásának bemutatása.
   Egy stochasztikus modell osztott lekérdezés modellálására, ennek megoldása numerikus és evolutiv módszerrel.

Labor: Saját fejlesztésű osztott adatbáziskezelő rendszer megvalósítása, melyben egy optimalizálási technika is meg van valósítva.	

V. Könyvészet
C. J. Date: An Introduction to Database Systems, 8th Edition, Addison-Wesley Higher Education, 2004.
P. E. Drenick, E. J. Smith: Stochastic Query Optimization in Distributed Databases, ACM Trans. on Database Systems Vol. 18 Nr. 2, pp. 262-288, 1993.
S. Chaudhuri: An Overview of Query Optimization in Relational Systems, 1998 
H. Garcia-Molina, J. D. Ullman, J. Widom: Database System Implementation, Prentice Hall Upper Saddle River, New Jersey, 2000.
G. Graefe: Query Evaluation Techniques for Large Databases, ACM Computing Surveys, 25(2), 1993.
Y. Ioannidis: Query Optimization, ACM Computing Surveys, 1996
H.T. Ozsu, P. Valduriez, Principles of Distributed Database Systems, Prentice Hall, 1991.
R. Ramakrishnan: Database Management Systems, WCB McGraw-Hill, Boston, 1998.
A. Silberschatz, H. Korth, S. Sudarshan: Database System Concepts, McGraw-Hill, New York, 2006.
P. Selinger et al: Access Path Selection in a Relational Database Management System, ACM SIGMOD 1979, 23-34. 
V. Varga, D. Dumitrescu, C. Grosan: Solving Stochastic Optimization in Distributed Databases using Genetic Algorithms, Advances in Databases and Information Systems, LNCS3255, 8th East-European Conference, ADBIS 2004,  Budapest, Hungary, September 2004, Springer, pp. 259-274.
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. Osztott adatbázis fogalmak, adatok tárolása osztott adatbázisban, fizikai adatbázis szerkezete, osztott adatbázis katalógusának szerkezete, tárolása. 
2. Fizikai adatbázis felépítése, file típusok, puffer kezelés.
3. Index technikák, algoritmusok kulcs beszúrására, törlésére B+ fák, dinamikus hash típusú index állományok esetén.
4. SQL parancsok implementálása.
5. Relációs algebrai műveletek implementálása (algoritmusok vízszintes és függőleges kiválasztás, join, csoportosítás megvalósítására)
6. Osztott lekérdezés feldolgozásának fázisai, költség modellje.
7. Adatok lokalizálása az osztott lekérdezés feldolgozása során.
8. Algoritmusok az osztott lekérdezés optimalizálására. Lekérdezés optimalizálás az R * rendszer esetén.
9. System R és R* rendszerek lekérdezés optimalizálásának bemutatása.
10. Egy sztochasztikus modell az osztott lekérdezés optimalizálására, 2 csomópont és 2 reláció join műveletének optimalizálása. 
11. A sztochasztikus modell 3 csomópont és 3 reláció join műveletének optimalizálása esetén, mely nemlineáris programozási feladathoz vezet.
12. A nemlineáris programozási feladat megoldása numerikus és evolutív módszerrel.
Labor: Félév végéig a következő projektet kell elkészíteni:

Saját fejlesztésű osztott adatbáziskezelő rendszer megvalósítása. 
I. Osztott katalógus, relációk, töredékek implementálása. Beszúrás, törlés művelet, illetve a a másolás megvalósítása, 
II. Az osztott SELECT-SQL művelet processzálása. 
III. Az osztott SELECT művelethez szükséges adatok lokalizálása.
IV. Egy optimalizálási technika megvalósítása.
1-3 labor: Projekt I pont.
4-6 labor: Projekt II pont.
7-8 labor: Projekt III pont
9-13. labor: Projekt IV pont
14. 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. 
Oracle és MS SQL Serverben implementált osztottság követése futás közben.	

VIII. Értékelés
1. Labor 			60 pont ( 50 pont projekt) 
2. Előadási tevékenység	10 pont
3. Vizsga                                 30 pont	

IX. Kiegészítő könyvészet
http://www.cs.mcgill.ca/~cs577; http://www.iks.inf.ethz.ch/education/ss06/PDDBS
www.db-book.com; www.cs.wisc.edu/~dbbook; \\SCS\SQL-INFO\Documentation	
IX. Kiegészítő könyvészet

	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