Baze podataka 2/K2 2023
Za deo baze podataka koji obuhvata date tabele odrediti najbolji plan izvršavanja i proceniti cenu za dati upit. Za svaku operaciju iz plana navesti kako se izračunava i po kojoj ceni.
Odeljenje (IDOde, Opis) Zaposleni (IDZap, Ime, IDOde) Projekat (IDPro, Naziv) Radi (IDZar,IDPro, Procenat)
Upit:
SELECT R.Procenat, R.IDPro, Z.Ime FROM Radi R, Zaposleni Z WHERE Z.IDZap = R.IDZap AND R.Procenat > 99 AND Z.Ime = 'Ivan' ORDER BY R.Procenat
Poznato je da u bazi:
-Tabela zaposleni ima 10k redova, tabela radi 20k redova
-U tabelama Zaposleni i Radi ima po 40 redova po stranici
-Bafer je veličine 30 stranica
-Za atribut ime posotji 1000 različitih vrednosti
-procenat je vrednost [0,100]
-u tabeli Zaposleni postoji unclustered Hash index po atributu Ime
-u tabeli Radi postoji unclustered Hash index po atributu IDZap, i clustered B+ index od 2 nivoa po atributu Procenat (indeks se ne čuva u memoriji)
Skica rešenja
Potrebno je napraviti totalno potisnuto stablo. Spajanje je "besplatno" jer se posle filtriranja spaja jako malo podataka i svi staju u memoriju