fişa disciplinei
1. Date despre program
1.1 Instituţia de învăţământ superior	Universitatea Babes-Bolyai Cluj-Napoca	
1.2 Facultatea	Facultatea de Matematica si Informatica	
1.3 Departamentul	Departamentul de Informatica	
1.4 Domeniul de studii	Informatica	
1.5 Ciclul de studii	Licenta	
1.6 Programul de studiu / Calificarea	Informatica	

2. Date despre disciplină
2.1 Denumirea disciplinei	Baze de date	
2.2 Titularul activităţilor de curs	Prof. Dr. Leon Ţâmbulea	
2.3 Titularul activităţilor de seminar	Lect. Dr. Andreea Navroschi, Asist. Tiberiu Ban	
2.4 Anul de studiu	2	2.5 Semestrul	3	2.6. Tipul de evaluare	E	2.7 Regimul disciplinei	Obligatorie	

3. Timpul total estimat (ore pe semestru al activităţilor didactice)
3.1 Număr de ore pe săptămână	5	Din care: 3.2 curs	2	3.3 seminar/laborator	3	
3.4 Total ore din planul de învăţământ	14	Din care: 3.5 curs	28	3.6 seminar/laborator	42	
Distribuţia fondului de timp:	Ore	
Studiul după manual, suport de curs, bibliografie şi notiţe	14	
Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren	21	
Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri	14	
Tutoriat	7	
Examinări 	7	
Alte activităţi: ..................	0	
3.7 Total ore studiu individual	63	
3.8 Total ore pe semestru	150	
3.9 Numărul de credite	6	

4. Precondiţii (acolo unde este cazul)
4.1 de curriculum	•		
4.2 de competenţe	•		

5. Condiţii (acolo unde este cazul)
5.1 De desfăşurare a cursului	•	Sala de curs dotata cu proiector video	
5.2  De desfăşurare a seminarului/laboratorului	•	Laborator cu calculatoare	

6. Competenţele specifice acumulate
Competenţe profesionale	•	să ofere studenților cunoștințe și competențe referitoare la proiectarea și administrarea bazei de date
•	sa cunoasca metodele de gestiune a unei baze de date
•	sa cunoasca posibilitatile de optimizare a interogarii 	
Competenţe transversale	•	utilizarea cunostintelor obtinute la proiectarea si gestiunea unei baze de date
•	să poată face gestiunea bazelor de date în diverse medii de programare	
7. Obiectivele disciplinei (reieşind din grila competenţelor acumulate)
7.1 Obiectivul general al disciplinei	•	Cunoasterea conceptelor generale privind bazele de date.
•	Cunoasterea modelelor de descriere a datelor, in special al modelului relational.	
7.2 Obiectivele specifice
	•	Gestiunea bazelor de date in .Net.	
8. Conţinuturi
8.1 Curs	Metode de predare	Observaţii	
1. Conceptele bazelor de date
•	Componentele unei aplicaţii: date (memorate în fişiere sau baze de date), algoritm, interfaţa
•	Evoluţia sistemelor de gestiune automata a datelor: fişiere independente  baze de date  baze de date distribuite
•	Caracteristici fişiere: există diverse organizări, există redundanţă  inconsistenţă, descrierea în program a operaţiilor de citire/scriere  se ia în considerare o structură a înregistrărilor (greutăţi la dezvoltarea unei aplicaţii prin schimbarea structurii fişierelor), complexitatea actualizărilor, lipsa procedurilor de securitate şi integritate
•	Baze de date. Separarea între: definirea datelor (păstrată într-un dicţionar al bazei de date), gestiunea datelor (adăugare, ştergere, modificare date), interogare
•	Sisteme de gestiune a bazelor de date; funcţiile unui SGBD (definire, gestiune date, administrare, protecţie)
•	Structurile unei baze de date: structura virtuală (structura conceptuală, schema), structuri logice (subscheme), structura fizică
•	Independenţa logică şi independenţa fizică
•	Arhitectura (componentele) sistemelor de gestiune a bazelor de date	Expunere, descriere, explicatii, exemple		
2. Modelul relaţional de organizare a bazelor de date
•	Relaţie: schema, cheie (primară, secundară)
•	Restricţii de integritate
•	Baze de date relaţionale
•	Gestiunea bazelor de date relaţionale	Expunere, descriere, explicatii, exemple		
3-4. Limbaje pentru gestiunea bazelor de date relaţionale: SQL - Structured Query Language 
•	Prezentare SQL
•	Instrucţiuni de definire, modificare definiţii
•	Instrucţiuni pentru gestiunea datelor
•	Interogarea bazelor de date, instrucţiunea SELECT
•	Funcţii de agregare
•	Extensii ale clauzelor de grupare: grouping sets, rollup, cube
•	Functii analitice: funcţie_analitica([argumente]) over (partitie ordonare)
Rezultatul evaluării funcţiilor analitice. Utilizarea funcţiilor: count, avg, sum, max, min, var/variance, stdev, row_number, rank, dense_rank	Expunere, descriere, explicatii, exemple		
5. Interogarea bazelor de date relaţionale cu operatori din algebra relaţională.	Expunere, descriere, explicatii, exemple		
6-7. Formele normale ale unei relaţii dintr-o baza de date relaţională
•	Dependenţe funcţionale 
•	Formele normale ale unei relaţii (se cer primele trei forme normale): definiţie, exemple, transformarea unei relaţii pentru a fi de o anumită formă normală	Expunere, descriere, explicatii, exemple		
8-9. Evaluarea interogărilor
•	Etape în procesarea unei interogări
•	Determinarea unei forme interne pentru interogare (transformarea unei interogări din sql într-o expresie din algebra relaţională)
•	Transformarea expresiilor relaţionale 
•	Generarea planului de execuţie
•	Evaluarea operatorilor relaţionali	Expunere, descriere, explicatii, exemple		
10-13. Structura fizică a bazelor de date. Structura fisierelor. Organizarea indexurilor.
•	Structura fişierelor. Probleme ce trebuie rezolvate: ştergerea unei înregistrări, gruparea înregistrărilor în blocuri, memorarea înregistrărilor de lungime variabilă, gestiunea zonelor tampon
•	Tipuri de căutări în colecţiile de date. 
•	Căutarea secventiala, complexitatea algoritmului (numărul mediu de comparaţii)
•	Căutarea în colecţii de date ordonate, algoritmul de căutare binară (complexitatea algoritmului, numărul maxim de comparaţii)
•	Memorarea indexurilor ca: 
-	arbori binari: mod de memorare, operaţii în arbore, "echilibrarea" arborilor
-	2,3-arbori: definire, mod de memorare, operaţii de căutare, adăugare, ştergere
-	B-arbori: definire, memorare, operaţii
-	B+-arbori: mod de construire
•	Organizarea directă, metode de rezolvare a coliziunilor
•	Index pentru atribute/expresii care nu sunt chei	Expunere, descriere, explicatii, exemple		
14. Protectia şi securitatea bazelor de date.
•	Informaţii memorate în dicţionar despre utilizatori
•	Corectitudinea programelor utilizator
•	Injecţia SQL
Extensii ale modelului relaţional.	Expunere, descriere, explicatii, exemple		
Bibliografie
[Ba97] BÂSCA, O., Baze de date. Editura All, Bucuresti 1997.
[Da04] DATE, C.J., An Introduction to Database Systems (8th Edition), Addison-Wesley, 2004.
[Ga08] GARCIA-MOLINA, H., ULLMAN, J.,  WIDOM, J., Database Systems: The Complete Book, Pearson Prentice Hall, 2008 
[Iowww] IONESCU, F. Baze de date - Proiectarea bazelor de date, http://info.tech.pub.ro/BD/curs.html
[Kn76] KNUTH, D.E., Tratat de programare a calculatoarelor. Sortare şi căutare. Ed.Tehnica, Bucuresti 1976.
[Li05] LITCHFIELD, D., ANLEY, C., HEASMAN, J., GRINDLAY, B., The Database Hacker's Handbook: Defending Database Servers, John Wiley & Sons, 2005.
[Ra07] RAMAKRISHNAN, R., Database Management Systems. McGraw-Hill, 2007, http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/slides/slides3ed.html
[Si10] SILBERSCHATZ A., KORTZ H., SUDARSHAN S., Database System Concepts, McGraw-Hill, 2010, http://codex.cs.yale.edu/avi/db-book/
[Ta03] TAMBULEA, L. Baze de date, Litografiat Cluj-Napoca 2003.
[Ul11] ULLMAN, J.,  WIDOM, J., A First Course in Database Systems (3rd Edition), Addison-Wesley + Prentice-Hall, 2011.	
8.2 Seminar / laborator	Metode de predare	Observaţii	
Seminar:
1.	Framework-ul .NET şi VB.NET 
2.	Limbajul SQL: definire, actualizare date 
3.	Limbajul SQL: interogare
4.	ADO.NET - I
5.	ADO.NET - II
6.	Algebra relaţională
7.	Proba practică
Laborator: se vor da 6 teme de laborator care vor fi rezolvate în VB.NET
1.	Organizarea şi gestionarea datelor din fişiere în.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)
Examen practic (Săptămânile 13, 14)	
Rezolvarea de probleme la seminar

Predarea unor programe care rezolva probleme unele probleme concrete - la laborator 		
Bibliografie:
Referinţele de la curs	

9. Coroborarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
•	 Cursul respecta recomandările IEEE şi ACM legate de Curiculla pentru specializarea Informatică
•	Cursul este orientat spre rezolvarea problemelor pe care trebuie sa le rezolve un absolvent la viitorul loc de munca

10. Evaluare
Tip activitate	10.1 Criterii de evaluare	10.2 metode de evaluare	10.3 Pondere din nota finală	
10.4 Curs/Seminar	Cunoasterea temelor descrise la curs si a problemelor de la seminar.	Examen scris	50%	
10.5 Laborator	Promovarea unei probe practice	Proba practica	50%	
10.6 Standard minim de performanţă	
Studentul trebuie sa obtina minim nota 5 la la fiecare din cele doua probe. 	

Data completării		Semnătura titularului de curs		Semnătura titularului de seminar
25.09.2012			Prof. Dr. Leon Ţâmbulea		Lect. Dr. Andreea Navroschi
									Asist. Tiberiu Ban

Data avizării în departament			           Semnătura directorului de departament	
...........................................					Prof. Dr. Bazil Parv