Question: a. Consider the following argument. I have a database system that ensure that if a transaction T access a tuple (read or write), then
a. Consider the following argument. "I have a database system that ensure that if a transaction T access a tuple (read or write), then no other transaction can access that tuple until I have finished accessing that tuple (i.e. T may continue to access the database but will not do anything more on that tuple). If I do this, there will be no error caused by allowing transactions to run "concurrently" - i.e. allow operations of transaction to interleave." Is it correct? Why (not)? Please use an example to illustrate if you think the answer is no. b. Each of the following case is a schedule for a set of transactions (T1, T2, ..) that is reading, writing items (A, B, C ...) on the database. The list is the order of the operations from beginning to end. For each case, determine whether it is conflict serializable. If so, list one equivalent serial schedule. If not, explain why: i. T1 Read(A), T2 Read(A), T2 Read(B), T1 Write(A), T2 Read(C), T2 Write(B), T2 Write(B), T1 Write(C) ii. T3 Write(A), T1 Read(A), T3 Write(B), T2 Read(B), T2 Write(C), T3 Write(C) iii. T1 Read(A), T2 Read(A), T1 Read(B), T2 Read(B), T3 Read(A), T4 Read(B), T1 Write(A), T2 Write(B)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
