Problem 17
What is a phantom record? Discuss the problem that a phantom record can cause for concurrency control.
Problem 19
What is a predicate lock?
Problem 20
Prove that the basic two-phase locking protocol guarantees conflict serializability of schedules. (Hint: Show that, if a serializability graph for a schedule has a cycle, then at least one of the transactions participating in the schedule does not obey the two-phase locking protocol.)
Problem 22
Prove that strict two-phase locking guarantees strict schedules.
Problem 23
Prove that the wait-die and wound-wait protocols avoid deadlock and starvation.
Problem 27
Why is two-phase locking not used as a concurrency control method for indexes \(\operatorname{such}\) as \(\mathrm{B}^{+}\) -trees?