Database Systems
1. List the ACID properties. Explain the usefulness of each.
2. Consider the following two transactions:
T13: read(A);
read(B);
if A = 0 then B := B + 1;
write(B).
T14: read(B);
read(A);
if B = 0 then A := A + 1;
write(A).
Let the consistency requirement be A = 0 or B = 0, with A = 0 and B = 0 as the initial values.
a. Show that every serial execution involving these two transactions preserves the consistency of the database.
b. Show a concurrent execution of T13 and T14 that produces a nonserializable schedule.
c. Is there a concurrent execution of T13 and T14 that produces a serializable schedule?
3. What is the two-phase locking protocol? What is the strict two-phase locking protocol? What is the rigorous two-phase locking protocol? What benefit does strict two-phase locking protocol provide? What benefit does rigorous two-phase locking protocol provide?
4. Consider the log in Figure. Suppose there is a crash just before the log record is written out. Explain what would happen during recovery.