Documente Academic
Documente Profesional
Documente Cultură
PROIECT
Managementul Bazelor de Date
Begin
End;
c) Creaţi o interogare pe baza acestor tabele prin care să afişaţi numele furnizorilor,
data comenzilor încheiate şi suma totală (sum(c.cantitate_primita*c.pret_unitar));
select c.NUME_FURNIZOR, cd.DATA, sum(cd.cantitate_primita*cd.pret_unitar)
where c.ID_FURNIZOR=cd.ID_FURNIZOR
Exerciţiul 2:
Exerciţiul 3:
4. Rulați cererea de mai sus și observați planul de execuție. Dacă nu se modifică planul
de execuție, culegeți statistici pe tabela T_COMENZI_APROVIZIONARE și re-
verificați planul:
execute DBMS_STATS.GATHER_TABLE_STATS (user,
'T_COMENZI_APROVIZIONARE');
Begin
End;
5. Deoarece cardinalitatea este relativ mare, indexul nu este utilizat. Forțați utilizarea
acestuia prin directiva /*+ INDEX(b idx_data) */. Observați costul de execuție. Cum
explicați?
select /*+ INDEX(a idx_sal)*/ *from T_FURNIZORI f , T_COMENZI_APROVIZIONARE a
where a.id_furnizor = f.id_furnizor
AND (DATA > to_date('01-10-2006', 'dd-mm-yyyy'));