![]() 25
t
6
write(bal
x
)
read(bal
y
)
commit
t
7
read(bal
x
)
write(bal
x
)
begin_tran
t
8
write(bal
x
)
write(bal
y
)
read(bal
x
)
t
9
commit
Commit
write(bal
x
)
t
10
read(bal
y
)
read(bal
y
)
read(bal
y
)
t
11
write(bal
y
)
write(bal
y
)
write(bal
y
)
t
12
commit
commit
commit
Tabel 2. 5
Contoh serial dan nonserial schedule
Sumber : Connoly,2005, p581
(a) nonserial schedule S1
(b) nonserial schedule S2
(c) serial shedule S3 , ekuivalen dengan S1 dan S2
Schedule S3
adalah sebuah serial schedule dan karena S1 dan S2
ekuivalen
dengan S3, maka S1 dan S2 adalah serializable schedule.
Tipe
Serializability
seperti
ini
disebut
conflict
serializability.
Sebuah
conflict
serializable
schedule
mengurutkan
operasi-operasi yang
mengalami konflik dengan cara yang sama seperti eksekusi serial.
Berdasarkan constrained
write
rule
(bahwa
sebuah
transaksi
melakukan
perubahan
terhadap
sebuah
data
item
berdasarkan pada
nilai
lamanya,
yang
pertama
kali telah
dibaca
oleh
transaksi) , sebuah
precedence
atau
serialization
graph
dapat
digunakan
untuk
menguji
conflict serializability. Untuk sebuah schedule S, sebuah precedence graph
|