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

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MIH0002	Baze de date	

Félév	Órák: C+S+L	Kategória	Típus	
3	2+2+2		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
Adatbázis alapok, adatmodellek, ebben a félévben a relációs adatmodell bemutatása. Relációs adatmodell tervezése egyed-kapcsolat diagram átalakítása segítségével és normalizálással. Adatbázis lekérdezése relációs algebra és SQL nyelv segítségével, adatkezelési műveletek elsajátítása. Egy vizuális környezet (a C# megismerése), melyben laboron az egyfelhasználós adatbázis projekt felületi részét készítheti a diák. Nem kötelező a C#, lehet más felületi szoftot is választani. Félév végén alapvető adatbázis fogalmakkal tisztában kell legyen a diák és képes kell legyen egyfelhasználós adatbázis projektet elkészíteni.	

IV. A tantárgy tartalma
Adatbázis, adatbázis-kezelő rendszerek (ABKR) értelmezése. Adatbázisok ANSI/SPARC architektúrája, adatfüggetlenség. Adatbázisok nyelvei. ABKR-ek főbb részei.
Adatmodellek osztályozása. Egyed-kapcsolat adatmodell. Relációs adatmodell értelmezése, tulajdonságai. Egyed-kapcsolat diagram átírása relációs modellé.
Relációsémák létrehozása SQL nyelvben. Megszorítások osztályozása, leírása SQL nyelvben.
Műveletek a relációs modellben. Relációs algebra. Az SQL lekérdezőnyelv. 
Relációs adatbázisok tervezése. Funkcionális függőségek. Normalizálás. Nézettáblák.
Tárolt eljárások. Triggerek.
Adatbázisok biztonsága.
Adatbázisok kliens-szerver architektúrája. Beágyazott SQL, SQL API.
Adatbázisok fizikai szerkezete. Adatállományok típusa: heap file, kulcs szerint rendezett file, nyalábolt (clustered) file szerkezet. Index szerkezetek: fa típusú (ISAM, B+ fa), hash (lineáris és kiterjeszthető).	

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)
J. D. Ullman, J. Widom: A First Course in Database Systems, Prentice Hall Upper Saddle River, New Jersey, 1997. (magyar fordítás)
R. Ramakrishnan: Database Management Systems, WCB McGraw-Hill, Boston, 1998.
I. Varga: Adatbázisrendszerek (A relációs modelltől az XML adatokig), Editura Presa Universitară Clujeană, 2005, p. 260.	

VI. Az oktatói tevékenység heti tematikája
1. előadás: Adatbázis, adatbázis-kezelő rendszerek (ABKR) értelmezése. Adatbázisok ANSI/SPARC architektúrája, adatfüggetlenség. Adatbázisok nyelvei. ABKR-ek főbb részei.
2. előadás: Adatmodellek osztályozása. Egyed-kapcsolat adatmodell. Relációs adatmodell értelmezése, tulajdonságai. Egyed-kapcsolat diagram átírása relációs modellé.
3. előadás: Relációsémák létrehozása SQL nyelvben, adattípusok, alapértelmezés szerinti értékek. Megszorítások osztályozása, leírása SQL nyelvben.
4. előadás: Műveletek a relációs modellben. Relációs algebra. Lekérdezések megfogalmazása relációs algebra segítségével. Relációs algebrai műveletek tulajdonságai.
5. előadás: Az SQL lekérdezőnyelv. Egyszerű lekérdezések, több relációra vonatkozó lekérdezések, összesítő függvények és csoportosítás.
6. előadás: Alkérdések, korrelált alkérdések, más típusú összekapcsolási műveletek. Adatkezelési műveletek: beszúrás, törlés, módosítás.
7. előadás: Relációs adatbázisok tervezése. Funkcionális függőségek. Relációk veszteségmentes felbontása. Normalizálás. Első normál forma, második normál forma, harmadik normál forma, Boyce-Codd normál forma. 
8. előadás: Nézettáblák értelmezése, felhasználhatósági lehetőségek. Adatkezelési műveletek végrehajtása nézeten, nézet módosíthatósági feltételei.
9. előadás: Tárolt eljárások. Paraméterek, változók, sormutatók deklarálása, temporális táblák létrehozása, sormutató feldolgozása. Példák tárolt eljárásokra MS SQL Serverben, Oracle-ban.
10. előadás: Adatbázisok biztonsága. Tetszés szerinti és meghatalmazott hozzáférés ellenőrzés. Titkosítás. Oracle által javasolt biztonság politika. 
11. előadás: Adatbázisok kliens-szerver architektúrája. Kliens-szerver standardok. Kliens-szerver alkalmazások programozása. Beágyazott SQL, SQL API.
12 . előadás: Triggerek leírása, tervezése, példák triggerekre MS SQL Serverben, Oracle-ban.
13 . előadás: Adatbázisok fizikai szerkezete. Adatállományok típusa: heap file, kulcs szerint rendezett file, nyalábolt (clustered) file szerkezet. Pufferkezelés adatbázisokban.
14 . előadás: Index szerkezetek: fa típusú (ISAM, B+ fa), hash (lineáris és kiterjeszthető).
1. szeminárium: Adatbázis tervezés egyed-kapcsolat diagram segítségével. Diagram átírása relációs modellé. 
2. szeminárium: Lekérdezések megfogalmazása relációs algebra segítségével.
3. szeminárium: Lekérdezések megfogalmazása SQL nyelv segítségével. Egyszerűbb SQL parancsok.
4. szeminárium: Bonyolultabb SQL parancsok.
5. szeminárium: Adatbázis tervezés normalizálás segítségével.
6. szeminárium: Tárolt eljárások programozása MS SQL Serverben.
7. szeminárium: Triggerek programozása MS SQL Serverben. Ismétlés vizsgára. 
1. labor: Ismerkedés .NET-el, C#-al, egy egyszerű Console-os és Windows-os applikáció.
2. labor: Egy egyszerű ablak, pár windows kontrollal és text állománnyal.
3. labor: Egy ablak készítése, melyben egy szűrő feltételnek eleget tevő sorokat jelenítünk meg egy táblából az Engross adatbázisból datagrid segítségével. Egy kiválasztott sort tudjunk módosítani, törölni, a táblába új sort beszúrni. A külső kulcs esetén nem azonosítót kell megjeleníteni, hanem az apa táblából a megfelelő neveket.  
4. labor: Külső kulcsos megszorítások megfogalmazása és kipróbálása az Engross és Cipő adatbázisok esetén MS SQL Server és MS Access.
5. labor: Menürendszer kidolgozása az Engross adatbázis esetén, a lekérdezések a 6-7 labor esetén lesznek megoldva, meghívja a 3-as labor ablakát is és készít még egy ablakot egy másik tábla adatkezelési műveleteinek implementálására.
6. labor: Egyszerű SQL lekérdezések az Engross és Cipő adatbázisra vonatkozóan.
7. labor: Bonyolultabb SQL lekérdezések az Engross és Cipő adatbázisra vonatkozóan.
8. labor: Egyfelhasználós 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.
9. labor: Laborvizsga SQL nyelvből.
10. labor: Adatbázis létrehozása, megszorítások, indexek, teszt adatokkal való feltöltés.
11. labor: Menürendszer és főprogram a projekt esetén.
12. labor: Adatkezelési műveletek leadása legalább 5 táblára a projekt esetén.
13. labor: Lekérdezések leadása, 10 egyszerű, 10 bonyolultabb lekérdezés a projekt esetén.
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. 
SQL parancsok (tábla létrehozása, megszorítások, Select parancsok) követése futás közben MS SQL Server-ben és MS Access-ben.	

VIII. Értékelés
1. Labor 			40 pont (10 pont 1-7 leadott labor, 30 pont projekt) 
2. Előadási tevékenység	 5 pont
3. Szemináriumi tevékenység	 5 pont
4. Irásbeli vizsga		40 pont
5. Zárthelyi			10 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 2009					Conf. dr. VARGA Viorica