Sari la conținut
EXAMS.RO

An IV

Baze de Date 2

3 subiecte

2015

Baze de Date 2

Mircea Petrescu

2015 · Sesiune · 341, 342 optional + C3

TEORIE P1. Se da planificarea urmatoare: T1 T2 T3 T4 RLock A RLock A WLock B Unlock A WLock A Unlock B RLock B Unlock A RLock B RLock A Unlock B WLock C Unlock A WLock A Unlock A Unlock B Unlock C a) Sa se construiasca graful de precedenta (sa se speficice algoritmul de construire a arcelor din graf si sa se deseneze graful pentru planificarea data) b) In ipoteza ca planificarea nu e serializabila, sa se incerce sa se modifice planificarea astfel incat sa devina serializabila si sa se construiasca noul graf de precedenta (Planificarea de la a. este serializabila, deci la acest subpunct nu mai trebuia facut nimic) c) Folosind algoritmul de sortare topologica, sa se gaseasca planificarea seriala echivalenta cu cea gasita la punctul b) P2. Sa se defineasca conceptul de comitere a unei tranzactii. Sa se descrie algoritmul de comitere in doua faze PROBLEMA PL/SQL Se dau urmatoarele tabele: STUDENTI(matricol, nume, an_univ, an_studiu, specializare, inmatriculat) CATALOG(matricol, cod_discip, an_univ, an_studiu, nota, data_ex) DISCIPLINE(cod_discip, an_studiu, nr_credite, denumire) CREDITE(matricol, an_univ, an_studiu, nr_credite) Se cere: a) Sa se defineasca tipurile coloanelor, cheile primare si cheile straine pentru tabelele date b) Sa se scrie un package PL/SQL care sa contina o functie si o procedura. Functia trebuie sa calculeze media anuala a unui student in anul universitar curent. Procedura trebuie sa afiseze tabelul cu antetul de mai jos, continand studentii cu cele mai mari medii din fiecare an de studiu, din anul universitar curent. Matricol Nume An_Universitar An_Studiu Media_anuala c) Sa se scrie un trigger PL/SQL care sa actualizeze numarul total de credite ale unui student atunci cand se face o inserare, modificare, sau stergere a notei din CATALOG. Observatii: Unui student i se acorda credite in cazul in care nota de la examen este mai mare decat 5. Un student poate avea mai multe note la aceeasi disciplina (examen, restanta, marire). Pentru calculul mediei se va lua in considerare ultima nota a studentului pentru o anumita disciplina. Media anuala se va calcula doar pentru studentii care nu au nicio restanta in anul de studiu respectiv.

11 februarie 2015

Baze de Date 2

Mircea Petrescu

2015 · Sesiune · C3

P1) Se dadea o planificare(Rlock, Wlock, Unlock) cu 4 tranzactii (T1, T2, T3, T4) pe 16 unitati de timp a) sa faci graful de dependenta si sa spui daca e serializabila b) sa o faci serializabila si sa faci noua planificare si noul graf P2) Descrierea protocolului de comitere in 2 faze. P3) Problema PL/SQL cu un trigger si o procedura stocata.

8 februarie 2015

2013

Baze de Date 2

Mircea Petrescu

2013 · Sesiune · - C3

P1) Se dadeau 2 tranzactii T1: Read(A)->a1; a1+1->a1; Write(a1)->A; Read(B)->b1; b1+1->b1; Write(b1)->B; T2: Read(A)->a2; a2+2->a2; Write(a2)->A; Read(B)->b2; b2+2->b2; Write(b2)->B; a) o planificare astfel incat sa aibe loc o pierdere de operatie b) o planificare astfel incat sa aibe loc o inconsistenta (baza de date necoerenta) c) o planificare astfel incat sa fie o baza de date coerenta + explicatii la fiecare P2) Se dadea o planificare(Rlock, Wlock, Unlock) cu 4 tranzactii (T1, T2, T3, T4) pe 16 unitati de timp a) sa faci graful de dependenta si sa spui daca e serializabila b) sa o faci serializabila si sa faci noua planificare si noul graf c) sa aplici sortarea topologica si sa scoti o planificare seriala P3) 3 tabele (studenti, discipline, catalog) a) sa se precizeze cheile primare si straine b) sa se faca in PL/SQL o functie care calculeaza media generala a unui student, si o procedura care returneaza primii studenti in ordinea mediei generale pe fiecare an de studiu, in anul curent universitar obs: daca un student e restantier (o materie < 5), nu se ia in calcul obs2: un student poate sa aiba mai multe note la o materie (se ia in considerare ultima in functie de data)

22 ianuarie 2013