Базе података 2/Јун 2024
Испит у јунском року 2024. године је одржан 15. јуна и трајао је сат времена и 15 минута. Биле су доступне презентације са предавања.
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Поставка
Дат је редослед извршавања трансакција T1 , T2 i T3 , као на слици:
T1 | T2 | T3 | |
---|---|---|---|
t1 | READ(A) | ||
t2 | A:=A+4 | ||
t3 | WRITE(A) | ||
t4 | READ(D) | ||
t5 | D:=D+5 | ||
t6 | WRITE(D) | ||
t7 | READ(D) | ||
t8 | D:=60 | ||
t9 | WRITE(D) | ||
t10 | READ(C) | ||
t11 | C:=C+A | ||
t12 | WRITE(C) | ||
t13 | READ(B) | ||
t14 | B:=B+D | ||
t15 | WRITE(B) | ||
t16 | COMMIT | ||
t17 | READ(C) | ||
t18 | C:=C+D | ||
t19 | WRITE(C) | ||
t20 | COMMIT | ||
t21 | READ(B) | ||
t22 | B:=B+C | ||
t23 | WRITE(B) | ||
t24 | COMMIT |
1. задатак
Проверити да ли је дати редослед серијализибилан, и ако јесте, навести све еквивалентне серијске редоследе.
Решење
2. задатак
Да ли је редослед приказан на слици могућ уколико се уведе механизам закључавања по стриктном двофазном протоколу? Ако јесте, то и показати, ако није, објаснити и урадити по некаквом редоследу.
Решење
3. задатак
Нека се за редослед из поставке за опоравак од квара користи механизам Системског Дневника са Неодложеним Уписом. Приказати изглед системског дневника и навести операције које систем задаје после поправке система, у циљу враћања базе у конзистентно стање уколико је квар настао непосредно после тренутка t21?
Решење
4. задатак
Које су могуће вредности сваког од података у бази непосредно након тренутка t21 ако је изглед системског дневника као у задатку 3 и уколико пре почетка извршавања трансакција подаци A, B, C и D имају вредности 10, 20, 30 и 40 респективно?
Решење
5. задатак
Које операције задаје механизам у циљу враћања базе у конзистентно стање у случају описаном у задатку 3 уколико је познато да је у тренутку непосредно после Write(C) операције трансакције Т1 урађена контролна тачка која је завршена у тренутку непосредно после Read(B) операције трансакције Т3? Како ће изгледати системски дневника у том случају?