A tantárgy adatlapja
1. A képzési program adatai
1.1 Felsőoktatási intézmény	Babeș-Bolyai Tudományegyetem	
1.2 Kar 	Matematika és Informatika	
1.3  Intézet	Magyar Matematika és Informatika 	
1.4 Szakterület	Informatika	
1.5 Képzési szint	Alap	
1.6 Szak / Képesítés	Informatika és Matematika-Informatika	

2. A tantárgy adatai
2.1 A tantárgy neve	Adatbázisok	
2.2 Az előadásért felelős tanár neve	dr. Varga Viorica docens	
2.3 A szemináriumért felelős tanár neve	dr. Varga Viorica docens	
2.4 Tanulmányi év	2	2.5 Félév	1	2.6. Értékelés módja	vizsga	2.7 Tantárgy típusa	kötelező - alap	

3. Teljes becsült idő (az oktatási tevékenység féléves óraszáma)
3.1 Heti óraszám	 5	melyből: 3.2 előadás	  2	3.3 szeminárium/labor	  3	
3.4 Tantervben szereplő össz-óraszám	70	melyből: 3.5 előadás	28	3.6 szeminárium/labor	42	
A tanulmányi idő elosztása:	óra	
A tankönyv, a jegyzet, a szakirodalom vagy saját jegyzetek tanulmányozása	20	
Könyvtárban, elektronikus adatbázisokban vagy terepen való további tájékozódás	17	
Szemináriumok / laborok, házi feladatok, portofóliók, referátumok, esszék kidolgozása	40	
Egyéni készségfejlesztés (tutorálás)		
Vizsgák	3	
Más tevékenységek: ..................		
3.7 Egyéni munka össz-óraszáma	  80	
3.8 A félév össz-óraszáma	150	
3.9 Kreditszám		

4. Előfeltételek (ha vannak)
4.1 Tantervi	•	Nincsen	
4.2 Kompetenciabeli	•	adatszerkezetek, objektum-orientált programozás	

5. Feltételek (ha vannak)
5.1 Az előadás lebonyolításának feltételei	•	Táblával és videoprojektorral felszerelt előadó	
5.2 A szeminárium / labor lebonyolításának feltételei	•	Számítógépes terem, a gépeken MS SQL Server kliens, Visual Studio	

6. Elsajátítandó jellemző kompetenciák
Szakmai kompetenciák	•	Adatmodellek elsajátítása, adatbázis-kezelő rendszerek képességeinek ismerete
•	Adatbázisok tervezésének képessége
•	Adatbázis-kezelő rendszerek használata
•	Adatkezelési műveletek, SQL nyelv ismerete
•	Egyfelhasználós adatbázis projekt fejlesztésének képessége.	
Transzverzális kompetenciák 	•	modellezési képességek fejlesztése
•	nem-procedurális programozás	

7. A tantárgy célkitűzései (az elsajátítandó jellemző kompetenciák alapján)
7.1 A tantárgy általános célkitűzése	•	Adatbázisok elméleti  alapjai, adatmodellek, részletesen a relációs adatmodell bemutatása. 
•	Adatbázis lekérdezése relációs algebra és SQL nyelv segítségével, adatkezelési műveletek elsajátítása.
•	Adatbázis tervezése egyed-kapcsolat diagram segítségével és normalizálással.	
7.2 A tantárgy sajátos 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. 
•	Adatkezelési műveletek elsajátítása 
•	Adatbázis lekérdezése relációs algebra, SQL nyelv és tárolt eljárások segítségével.
•	Adatbázis-kezelő rendszerek képességei, felépítése, használata, az MS SQL Server megismerése
•	Egy vizuális környezet (a C#) megismerése, melyben laboron az egyfelhasználós adatbázis projekt grafikus felületi részét készíti a diák. 	

8. A tantárgy tartalma
8.1 Előadás	Didaktikai módszerek	Megjegyzések	
1. 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.	Előadás		
2. Adatmodellek osztályozása. Relációs adatmodell értelmezése, tulajdonságai. 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.	Előadás		
3. Műveletek a relációs modellben. 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.	Előadás		
4. 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.	Előadás		
5. 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.	Előadás		
6. Egyed-kapcsolat adatmodell. Relációs adatmodell értelmezése, tulajdonságai. Egyed-kapcsolat diagram átírása relációs modellé	Előadás		
7. 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.	Előadás		
8. Funkcionális függőségek tulajdonságai. A minimális függőségi rendszer. Algoritmus reláció veszteségmentes felbontására BCNF-re.	Előadás		
9. 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.	Előadás		
10. 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.	Előadás		
11. Triggerek leírása, tervezése, példák triggerekre MS SQL Serverben, Oracle-ban.	Előadás		
12. Adatbázisok kliens-szerver architektúrája. Kliens-szerver standardok. Kliens-szerver alkalmazások programozása. Beágyazott SQL, SQL API.	Előadás		
13. Adatbázisok fizikai szerkezete. Adatállományok típusa: heap file, kulcs szerint rendezett file, nyalábolt (clustered) file szerkezet. Pufferkezelés adatbázisokban.	Előadás		
14. Index szerkezetek: fa típusú (ISAM, B+ fa), hash (lineáris és kiterjeszthető).	Előadás		
Könyvészet	
[D04]C. J. Date: An Introduction to Database Systems, 8th Edition, Pearson Education, Inc. Addison-Wesley Higher Education, 2004. (román fordítás)
[UW09]J. D. Ullman, J. Widom: Adatbázisrendszerek Alapvetés, Panem Kiadó Budapest, New Jersey, 2009. 
[R02]R. Ramakrishnan: Database Management Systems, WCB McGraw-Hill, Boston, 2002.
[SKS06]A. Silberschatz, H. Korth, S. Sudarshan: Database System Concepts, McGraw-Hill, New York, 2006.
[V05]I. Varga: Adatbázisrendszerek (A relációs modelltől az XML adatokig), Editura Presa Universitară Clujeană, 2005, p. 260	
8.2 Szeminárium / Labor	Didaktikai módszerek	Megjegyzések	
1.szeminárium C Sharp bevezető. ADO.NET: kapcsolat osztály, Command, DataReader, DataSet, DataAdapter osztályok bemutatása.	Előadás		
2.szeminárium Lekérdezések megfogalmazása SQL nyelv segítségével. Egyszerűbb SQL parancsok.	Feladatok megoldása		
3.szeminárium Bonyolultabb SQL parancsok.	Feladatok megoldása		
4.szeminárium Lekérdezések megfogalmazása relációs algebra segítségével.	Feladatok megoldása		
5.szeminárium  Adatbázis tervezés egyed-kapcsolat diagram segítségével. Diagram átírása relációs modellé.	Feladatok megoldása		
6.szeminárium Adatbázis tervezés normalizálás segítségével	Feladatok megoldása		
7.szeminárium Tárolt eljárások és triggerek programozása MS SQL Serverben.	Feladatok megoldása		
1. labor: Ismerkedés .NET-el, C#-al, egy egyszerű Console-os és Windows-os applikáció.	Egyéni munka		
2. labor: Egy egyszerű ablak, pár windows kontrollal és text állománnyal.	Egyéni munka		
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 egy 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.  	Egyéni munka		
4. labor: Külső kulcsos megszorítások megfogalmazása és kipróbálása példa adatbázisok esetén MS SQL Server és MS Access.	Egyéni munka		
5. labor: Menürendszer kidolgozása a példa 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.	Egyéni munka		
6. labor: Egyszerű SQL lekérdezések adott példa adatbázisra vonatkozóan.	Egyéni munka		
7. labor: Bonyolultabb SQL lekérdezések adott példa adatbázisra vonatkozóan.	Egyéni munka		
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.	Egyéni munka		
9. labor: Adatbázis létrehozása MS SQL Serverben, megszorítások, indexek, teszt adatokkal való feltöltés.	Egyéni munka		
10. labor: Menürendszer és főprogram a projekt esetén.	Egyéni munka		
11. labor: Adatkezelési műveletek legalább 3 táblára a projekt esetén.	Egyéni munka		
12. labor: Lekérdezéseket tartalmazó formok programozása. 10 egyszerű, 10 bonyolultabb lekérdezés a projekt esetén.	Egyéni munka		
13. labor: Tárolt eljárások programozása, minimum 5. Triggerek programozása, minimum 3. Indexek tervezése a projekt esetén.	Egyéni munka		
14. labor: Projekt végleges formájának bemutatása.	Egyéni munka		
Könyvészet	
http://www.functionx.com/vcsharp/index.htm
http://www.functionx.com/adonet/index.htm 
[V05]I. Varga: Adatbázisrendszerek (A relációs modelltől az XML adatokig), Editura Presa Universitară Clujeană, 2005, p. 260	

9. Az episztemikus közösségek képviselői, a szakmai egyesületek és a szakterület reprezentatív munkáltatói elvárásainak összhangba hozása a tantárgy tartalmával.
•	 A tantárgy tartalma megegyezik az egyetemi oktatásban a fontosabb egyetemeken oktatott elméleti adatbázis bevezető tárgy hagyományos tartalmával.
•	Grafikus felület programozása Csharp-ban külön tárgynak szokott a témája lenni, mivel nálunk nem így van, ezért ennek a tárgynak a tematikájába van.	

10. Értékelés
Tevékenység típusa	10.1 Értékelési kritériumok	10.2 Értékelési módszerek	10.3 Aránya a végső jegyben	
10.4 Előadás 	Alapfogalmak ismerete	4 évközi dolgozat	20%	
		írásbeli vizsga	40%	
10.5 Szeminárium / Labor	Labor házik	ellenőrzés	15%	
	Projekt	ellenőrzés	25%	
10.6 A teljesítmény minimumkövetelményei	
•	labor házik bemutatása
•	15 pontot érő projekt megvédése
•	min 10 pont az évközi dolgozatokon
•	min 10 pont tervezésből az írásbeli vizsgán
•	min 10 pont lekérdezésekből az írásbeli vizsgán

Kitöltés dátuma			Előadás felelőse			Szeminárium felelőse
.. 2012. szept. 12......			dr. Varga Viorica docens      	         dr. Varga Viorica docens
...............................			...................................

Az intézeti jóváhagyás dátuma				Intézetigazgató	
							Dr. Szenkovits Ferenc, egyet. docens
.. 2012. szept. 28........						..........................