TRANSAKSI
Transaksi merupakan aktivitas yang dilakukan oleh suatu program aplikasi yang
berfungsi untuk menjaga konsistensi keamanan data.
Tujuan dari transaksi yaitu untuk melindungi database dari
kehilangan / kerusakan data.
Integritas data dapat terjaga jika setiap transaksi harus
memilki sifat-sifat sebagi berikut :
1. Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya
atau tidaksama sekali.
2. Consistency,
dimana eksekusi transaksi
harus dapat menjamin
data tetap konsistensetelah transaksi berakhir.
3. Isolation,
jika pada sebuah
sistem basis data
terdapat sejumlah transaksi
yang dilaksanakan secara bersamaan, maka semua transaksi yang
dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa
berakhir.
4. Durability, dimana perubahan data yang terjadi setelah
sebuah transaksi berakhir denganbaik, harus dapat bertahan bahkan jika
seandainya sistem mati.
OPERASI PADA TRANSAKSI
Commit : ketika transaksi
selesai dilakukan dan berhasil.
Rollback :
ketika transaksi gagal dan harus diulang.
COMMIT
Penerapan commit di SQL Command Line :
Kita buka dua buah jendela SQL Command Line dengan background yang berbeda, kemudian keduanya pastiin login dengan
user yang sama, kemusian tampilkan data yang sebelumnya sudah kita buat,
seperti gambar yang di bawah ini :
Kemudian, kita ketika
“insert into dicoba values (seq_idcoba.nextval,’F’);”
di SQL Command Line yang hitam. Lalu tampilkan isi tabel tersebut, akan muncul seperti ini :
“insert into dicoba values (seq_idcoba.nextval,’F’);”
di SQL Command Line yang hitam. Lalu tampilkan isi tabel tersebut, akan muncul seperti ini :
Setelah itu, kita pindah ke SQL Command Line yang putih,
lalu tampilkan data tabel tersebut, hasilnya seperti dibawah ini :
Hasil tampilan tabel yang sama, di beda SQL Command Line
hasilnya berbeda, yang warna hitam ada 6 baris, sedangkan yang putih ada 5
baris. Kenapa? Karena yang di hitam belum di commit. Maka dari itu kita perlu
meng – commit yang di warna hitam seperti berikut ini :
Setelah di commit, maka artinya transaksi sudah selesai dan
di simpan yang menandakan transaksi berhasil. Kemudian, kita buka di warna
putih, lalu tampilkan semua data yang ada di tabel tersebut.
SAVE POINT
Save point merupakan titik aman dimana kita telah menyelesaikan satu atau
beberapa transaksi.
Fungsi dari save point adalah agar pada saat kita ingin
rollback atau ada transaksi yang gagal,
transaksi tidak berjalan dari awal lagi
(seperti mengulang) , tetapi dimulai kembali dari save poin yang telah dibuat.
Berikut cara pembuatan :
Save Point : SAVEPOINT[nama save point];
Rollback : ROLLBACK TO[nama save point];
ISOLASI TRANSAKSI
Terdapat 2 level isolasi yang dapat diimplementasikan, yaitu
: Read Commited , Serializable.
Read Commited : Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit pada data tersebut.
Serializable :
Level isolasi yg menyediakan isolasi yang ketat dengan cara mengemulasikan
eksekusi transaksi secara serial bukan secara bersamaan.
LOCKING PROTOCOL
Ada 2 buah metode locking yang berfungsi untuk menjaga
integritas data, yaitu : S-LOCK, dan X-LOCK.
DEADLOCK
Situasi dimana dua atau lebih transaksi dalam kondisi
menunggu, satu sama lain menunggu Lock dilepas padahal server sedang tidak
sibuk.
Refer ke :





Tidak ada komentar:
Posting Komentar