«« ( Date ) »» // «« ( Thread ) »» // nastava - 2003

Re: Februarski rok iz baza

by Damjan S. Vujnovic
utorak, 04. mart 2003 - 11:41.

Wheeee! Tacno sam uradio. Samo sto sam ja prvo sve postavio na 0 (UPDATE Student SET Prosek=0), pa sam onda uradio setovao one koji imaju prosek.

Pa to principijelno jeste tačno, mada bih te ja tukao zbog takvog rešenja... Zamisli da je svaki student položio barem jedan ispit. Ti ćeš praktično imati DVA full table scan-a (jedan da sve proseke postaviš na 0, a drugi da ih posle ispravno ažuriraš) umesto jednog (i jednog malog upita pride). Dalje, atribut PROSEK u tabeli STUDENT je dušu dao da bude indeksiran, (i u realnom slučaju će to tako i biti). Lepa osobina PROSEK-a je da će biti lepo distribuiran u intervalu 6-10 (zanemarimo 0), tako da će odgovarajući index biti "lep" (ako je B-drvo biće zdravo drvenast, a ako je Hash biće lepo rasut). A tvoje UPDATE Student SET Prosek=0 će:
- da potraje (full table scan + ažuriranje indexa)
- praktično da "uništi" index
da bi, odmah potom, sa drugim UPDATE-om praktično ponovo izgradio index. Dakle, poor man's solution, ali je tačno i vredi sve poene.

Ajde kazi sta je resenje za 3. pod b), dekompozicija u 3NF. Moje resenje je: (A,B,C), (C,A), (C,D), (D,E) jer je minimalna baza (AB->C, C->A, C->D, D->E).

Ono (C,A) ti je višak. Ostalo je dobro (ono za bazu), tako da je odgovor R1=(A,B,C), R2=(C,D), R3=(D,E).

Pozdrav,
Damjan S. Vujnović