Baze podataka 2/K2 2023

Izvor: SI Wiki
< Базе података 2
Datum izmene: 6. april 2024. u 14:42; autor: Aleksa (razgovor | doprinosi) (→‎Поставка)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Drugi kolokvijum 2023. godine održan je 18. maja.

Postavka

Za deo baze podataka koji obuhvata četiri 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

Pri tome je poznato da:

  • tabela Zaposleni ima 10000 redova, tabela Radi 20000 redova,
  • u tabelama Zaposleni i Radi ima po 40 redova po stranici,
  • bafer je veličine 30 stranica,
  • za atribut Ime postoji 1000 različitih vrednosti,
  • domen atributa Procenat se sastoji od celobrojnih vrednosti u opsegu od 1 do 100,
  • u tabeli Zaposleni postoji unclustered Hash index po atributu Ime, i
  • 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.