Pengertian Transaksi
Menurut Sunarto Zulkifli (2003:10) dalam bukunya yang
berjudul “Dasar-dasar Akuntansi Perbankan Syariah” menyatakan bahwa :
"Secara umum transaksi dapat diartikan sebagai kejadian ekonomi/ keuangan
yang melibatkan paling tidak 2 pihak (seseorang dengan seseorang atau beberapa
orang lainnya) yang saling melakukan pertukaran, melibatkan diri dalam
perserikatan usaha, pinjam meminjam atas dasar sama-sama suka ataupun atas
dasar suatu ketetapan hukum atau syariah yang berlaku.
Dan pengertian dalam lingkup
basisdata atau program komputer ialah satu atau beberapa aksi yang dilakukan
program aplikasi untuk mengakses atau mengubah isi basis data dan juga
merupakan bagian dari pengeksekusian sebuah
program yang melakukan pengaksesan basis data dan bahkan juga melakukan
serangkaian perubahan data. DBMS yang kita gunakan harus menjamin bahwa setiap
transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali.
Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat
menyebabkan inkonsistensi basis data.
Tujuan dari transaksi ialah melindungi
database dari kehilangan data dan kerusakan.
Contoh masalah:
·
Sistem crash di tengah eksekusi program yang
membuat database dalam state yang tidak diketahui
·
Dua program yang mengakses data yang sama
dijalankan bersamaan sehingga saling menggangu.
Dua Operasi Penting Transaksi
adalah:
Ø COMMIT
o Memberi
tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika
setelah commit terjadi kegagalan sistem).
Ø ROLLBACK
o Memberi
tanda bahwa transaksi GAGAL. Semua update harus di-undo.
4 Elemen Transaksi adalah:
v Atomicity
Semua berhasil
atau semua gagal.
v Consistency
Transaksi
mempertahankan konsistensi database.
v Isolation
Transaksi terisolasi satu dengan
yang lain.
v Durability
Setelah commit update harus survive
di database.
Setelah berguling-guling di teori,
mari kita langsung ke praktik.
Pertama buat sebuah tabel berikut.
Kemudian isi tabel nya.
===== COMMIT =====
Kemudian isi data baru pada SQL biru. Kemudian coba seleksi tabelnya pada SQL biru.
Sekarang coba Seleksi tabel contoh pada SQL Merah.
Sekarang coba Seleksi tabel contoh pada SQL Merah.
Mengapa recordnya belum terupdate?
karena belum ada commit dari event sebelumnya. Kita baru bisa menampilkan semua record jika sistem sudah melakukan commit.
Bagaimana sistem tersebut melakukan commit ?
Dengan cara menutup program SQLnya. maka sistem akan melakukan commit. atau kita lakukan perintah COMMIT langsung pada SQL birunya. Setelah itu coba tampilkan kembali pada SQL merah.
===== ROLLBACK =====
Cobalah menghapus sebuah record (semuanya saja). Kemudian seleksi tabel contoh untuk memastikan tabelnya tidak memiliki record satupun.
Kemudian lakukan perintah ROLLBACK. Maka sistem database akan kembali ke bentuk sebelumnya.
===== SAVEPOINT =====
savepoint sama halnya seperti save dalam suatu game, yakni membuat sebuah titik aman. titik aman disini kita bisa kembali ke situasi disaat kita melakukan savepoint.
1. Pertama kita seleksi tabel contoh untuk memastikan data saat ini. Kemudian lakukan perintah SAVEPOINT [nama_savepoint]. contoh SAVEPOINT X;
2. Kemudian hapus salah satu record dari tabel contoh dan lakukan SAVEPOINT Y;
3. Lalu, seleksi tabel contoh untuk memastikan dan sekarang delete semua record pada tabel contoh.
4. sekarang, lakukan perintah ROLLBACK TO Y; untuk melakukan sistem recovery saat kita melakukan savepoint Y. Seleksi lagi tabel contoh untuk memastikan.
5. terakhir, coba lakukan ROLLBACK to X; untuk kembali kepada titik aman awal.
*** Suatu ROLLBACK TO hanya bisa dilakukan ke savepoint sebelumnya, tidak bisa dilakukan ke savepoint selanjutnya.
========================== \\ // ==========================
Tidak ada komentar:
Posting Komentar