Senin, 21 April 2014

TRANSAKSI (SIMBADA)

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 :


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 :
http://cs.upi.edu [ILMU KOMPUTER UPI]
http://www.upi.edu UNIVERSITAS PENDIDIKAN INDONESIA (UPI)




Tidak ada komentar:

Posting Komentar