Original language | English |
---|---|
Title of host publication | Encyclopedia of Database Systems |
Publication status | Published - 2009 |
Externally published | Yes |
Abstract
A transaction is a logical unit of work that includes one or more database access operations such as insertion, deletion, modification, and retrieval [8]. A schedule (or history) S of n transactions T 1,...,T n is an ordering of the transactions that satisfies the following two conditions: (i) the operations of T i (i = 1,...,n) in S must occur in the same order in which they appear in T i , and (ii) operations from T j (j ≠ i) may be interleaved with T i ’s operations in S. A schedule S is serial if for every two transactions T i and T j that appear in S, either all operations of T i appear before all operations of T j , or vice versa. Otherwise, the schedule is called nonserial or concurrent. Non-serial schedules of transactions may lead to concurrency problems such as lost update, dirty read, and unrepeatable read. For instance, the lost update problem occurs whenever two transactions, while attempting to modify a data item, both read the item’s old value before either of them writes the item’s new value [2].