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

SYLLABUS

I. Date generale
Codul	Disciplina	
MIH0002	Baze de date	

Semestrul	Ore: C+S+L	Categoria	Statutul	
5	2+1+2	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	
CÂMPAN Alina	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
1.	Cunoaşterea conceptelor generale privind bazele de date.
2.	Cunoaşterea modelelor de descriere a datelor, în special a modelului relaţional.
3.	Gestiunea bazelor de date (în MS Access) şi accesul din medii de programare folosind produse middleware (acces din Visual Basic .NET, folosind ADO.NET).	

IV. Conţinutul disciplinei
1.	Introducere.
2.	Modele de date – modelul entitate-relaţie.
3.	Modele de date – modelul relaţional.
4.	Limbaje pentru bd relaţionale: algebra şi calculul relaţional.
5.	Limbaje pentru bd relaţionale: SQL.
6.	Principii şi constrângeri de integritate în bd relaţionale.
7.	Designul bd relaţionale.
8.	Structura fizică a bd. Organizarea fişierelor. Indecşi.
9.	Evaluarea şi optimizarea interogărilor.	

V. Bibliografie
1.	Silberschatz A., Kortz H., Sudarshan S., Database System Concepts, McGraw-Hill, 2002.
2.	Ţâmbulea, L., Baze de date, Litografiat Cluj-Napoca, 2003.
3.	Ramakrishnan, R., Database Management Systems. McGraw-Hill, 1998.
4.	Documentaţia MicroSoft Developer Network – referitoare la produsele Visual Basic .NET şi ADO.NET.	

VI. Tematica activităţilor didactice pe săptămâni
Curs:
1.	Introducere (Săptămâna 1)
•	Definiţii baze de date (bd), sisteme de gestiune a bazelor de date (sgbd); aplicaţii ale bd; sgbd vs. sisteme de fişiere; vederile datelor; modele de date; limbaje pentru bd; utilizatorii bd; gestiunea tranzacţiilor; nivelul fizic al bd.
2.	Modele de date – modelul entitate-relaţie (Săptămânile 2, 3)
•	Concepte de bază: tipuri de entităţi, tipuri de relaţii, atribute
•	Constrângeri: raportul cardinalităţilor, de participare, chei
•	Diagrame entitate-relaţie
•	Tipuri de entităţi slabe
•	Reducerea schemelor entitate-relaţie la tabele (model relaţional)
3.	Modele de date – modelul relaţional (Săptămâna 3)
•	Relaţii, bd relaţionale
•	Chei
4.	Limbaje pentru bd relaţionale (Săptămâna 4)
•	Limbaje de interogare pentru bd relaţionale – algebra relaţională
•	Limbaje de interogare pentru bd relaţionale – calcul relaţional
5.	Limbaje pentru bd relaţionale: SQL - Structured Query Language (Săptămânile 5, 6)
•	Instrucţiunea SELECT SQL:  structura de bază, operaţii pe mulţimi, funcţii de agregare, interogări încuibate
•	Instrucţiuni SQL DML (modificarea bd)
•	Instrucţiuni SQL DDL (definirea bd)
6.	Principii şi constrângeri de integritate în bd relaţionale (Săptămâna 6)
•	Unicitatea cheilor
•	Principiul integrităţii entităţii sau al relaţiei
•	Restricţii de comportament
•	Principiul integrităţii referenţiale
•	Dependenţe funcţionale - noţiuni
7.	Designul bd relaţionale (Săptămânile 7, 8)
•	Principii de design urmărite şi probleme cauzate de un design defectuos
•	Dependenţe funcţionale: definiţii, proprietăţi, închiderea unei mulţimi de dependenţe funcţionale, închiderea unei mulţimi de atribute, atribute redundante, acoperirea minimală a unei mulţimi de dependenţe funcţionale
•	Descompunerea relaţiilor, descompuneri corecte, păstrarea dependenţelor
•	Forme normale: 1NF, 2NF, 3NF
8.	Structura fizică a bd. Organizarea fişierelor (Săptămâna 9)
•	Medii de stocare fizică
•	Organizarea fişierelor: înregistrări de lungime fixă, înregistrări de lungime variabilă
•	Organizarea înregistrărilor în fişiere: definiţii, modalităţi de organizare
-	Organizarea secvenţială a fişierelor
-	Organizarea ordonată după valorile unei chei de căutare
-	Organizarea grupată
•	Accesul la mediul de stocare – buffer de memorie
9.	Structura fizică a bd. Indecşi (Săptămâna 10)
•	Definiţii: chei de căutare, indecşi, modalităţi de organizare pentru fişiere index
•	Organizarea directă a fişierelor
10.	Structura fizică a bd. Indecşi (Săptămânile 11, 12)
•	Organizarea fişierelor ca arbori: binari, 2-3 Arbori, B-arbori, B+-arbori
11.	Evaluarea interogărilor (Săptămânile 12, 13)
•	Definiţii
•	Etapele în procesarea unei interogări: analiza, optimizarea, evaluarea
•	Măsurarea costului execuţiei interogărilor
•	Evaluarea operatorului de selecţie: algoritmi, cost
•	Evaluarea sortărilor: algoritmi, cost
•	Evaluarea operatorului join: algoritmi, cost
•	Evaluarea altor operatori, eliminarea duplicatelor, proiecţia, operaţii pe mulţimi, agregare: algoritmi, cost
•	Evaluarea expresiilor relaţionale
12.	Optimizarea interogărilor  (Săptămâna 14)
•	Definiţii, aspecte în optimizare, elemente folosite în estimarea costurilor planurilor de execuţie
•	Estimarea informaţiilor statistice ale rezultatelor expresiilor relaţionale
•	Transformarea expresiilor relaţionale

Seminar:
1.	Framework-ul .NET şi VB.NET (Săptămâna 1/2)
2.	Modelarea unei bd entitate-relaţie şi transformarea la model relaţional (Săptămâna 3/4)
3.	Limbajul SQL (Săptămâna 5/6)
4.	ADO.NET – 1 (Săptămâna 7/8)
5.	ADO.NET – 2  (Săptămâna 9/10)
6.	Algebra relaţională (Săptămâna 11/12)
7.	Organizarea fişierelor şi indecşi – organizarea hash şi ca 2-3 arbori (Săptămâna 13/14)

Laborator: se vor da 6 teme de laborator care vor fi rezolvate în MS Access şi VB.NET
1.	Organizarea şi gestionarea datelor din fişiere în VB.NET (Săptămânile 1, 2)
2.	Modelarea unei bd în entitate-relaţie şi implementarea ei în MS Access (Săptămâna 3, 4)
3.	SQL – 1 (Săptămâna 5)
4.	SQL – 2 (Săptămânile 6, 7)
5.	Acces la date folosind ADO.NET – Connection, Command, DataReader (Săptămânile 8, 9)
6.	Acces la date folosind ADO.NET – Connection, DataSet (Săptămânile 10, 11)
7.	Recapitulare (Săptămâna 12)
8.	Examen practic (Săptămânile 13, 14)	

VII. Metode didactice folosite
Expunerea: descrierea, explicaţia, prelegerea magistrală, prelegerea dialog, prelegerea cu demonstraţii, prelegeri introductive, prelegeri curente, prelegeri de sinteză. 
Conversaţia: dezbaterea, dialogul, conversaţii introductive, conversaţii de fixare şi consolidare a cunoştinţelor, conversaţii de sistematizare şi sinteză, conversaţii de aplicare.
Problematizarea: utilizarea întrebărilor-problemă, problemelor şi situaţiilor-problemă. 
Descoperirea: redescoperirea dirijată şi independentă, descoperirea creativă, descoperirea inductivă, descoperirea deductivă, descoprirea analogică, descoperirea prin documentare, descoperirea experimentală.
Alte metode: studiul de caz; cooperarea, simularea, brainstorming-ul, studiul individual, exerciţiul.	

VIII. Evaluare
Activitatea studenţilor va fi evaluată pe parcursul  perioadei de activităţi didactice a semestrului la: seminar (nota S), laborator (nota L) şi o probă practică (nota P); aceste note contribuie cu următoarele ponderi la formarea unei note Nota1 = 10%S + 30%L + 60%P. Examenul din sesiune va fi scris şi rezultatul său va constitui Nota2. Nota finală este media aritmetică a notelor Nota1 şi Nota2. Pentru promovare, e necesar ca fiecare dintre notele Nota1 şi Nota2 să fie cel puţin 5.	

IX. Bibliografie suplimentară
1.	Aho, A., Hopcroft, J., Ullman, J., Data Structures and Algorithms. Addison-Wesley, Reading, Massachusetts, 1983.
2.	Bâscă, O., Baze de date. Editura All, Bucureşti 1997.
3.	Date, C.J., An Introduction to Data Base Systems. Addison Wesley, Reading, MA, 1995.
4.	Helman, P., The Science of Database Management. Richard D. IRWIN, Inc., 1994.	

	Data,							Titular curs,
            10 aprilie 2007					Lect. Dr. CÂMPAN Alina