Hay sahabat kliktujuh, kayaknya kamu lagi butuh pencerahan nih seputar transaksi pas banget karna kali ini kliktujuh akan membahas sekilas tentang transaksi sebelum mulai ke tahap yang lebih dalam mari kita mulai dari hal yang sederhana.
Transaksi adalah sbeuah aktivitas yang melibatkan dua pihak atau lebih, untuk mempertukarkan sesuatu milik yang satu dengan sesuatu yang lain, milik pihak lain.eits, tapi kali ini transaksi yang kita bahas bukan transaksi yang itu ya broo, menurut dosen di kampus
transaksi itu adalah kejadian yang menghasilkan data, dan data itu tidak dapat di hapus karena itu merupakan track record.nah gimana udah mudeng belum nih, kalo masih bingung nih dari penjelasan modul asisten dosen kasih :
Transaksi adalah satu atau beberapa aksi yang dilakukan program aplikasi untukselanjutnya tinggal gimana kamu menyimpulkannya aja, itu hanya awalan dari semuanya broo. dari hal di atas dapat kita ketahui :
mengakses atau mengubah isi basis data. Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.
tujuan dari transaksi adalah melindungi data dari kehilangan atau kerusakan data.
kenapa demikian? itu karena Sebuah transaksi berpeluang untuk mengganggu integritas basis data yang dapat membuat kondisi/hubungan antar data tidak seperti seharusnya.
Untuk menjamin agar data dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
- Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
- Consistency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
- 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.
- Durability, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.
Operasi Transaksi dan Syntax SQL Dalam Oracle
Oracle berusaha menjaga integritas data dan ketahanan data sebuah transaksi dengan suatu sistem operasi yang melindunginya yaitu dengan melakukan commit dan rollback.
Commit
Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang menyetujui rangkaian perintah yang berhubungan erat dengan perintah yang sebelumnya telah berhasil dilakukan.
Rollback
Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.
untuk itu kita membutuhkan beberapa perintah yang dapat mendukung proses itu dengan menggunakan beberapa syntax sql ini dalam oracle :
COMMIT;
Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang menyetujui rangkaian perintah yang berhubungan erat dengan perintah yang sebelumnya telah berhasil dilakukan.
SAVEPOINT [nama save point];
Savepoint adalah batu loncatan untuk transaksi dimana kondisi database dapat dikembalikan keposisi saat savepoint dibuat. Semua perubahan yang melewati savepoint tersebut akan dibuat permanen.
ROLLBACK TO [nama save point];
Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.
Set Transaction Isolation Level Serializable
Isolai level ini mencegah terjadinya Phantom Read.
Locking Protocol
Pada transaksi database, dikenal istilah locking yang berfungsi untuk menjaga integritas data. Terdapat dua buah metode locking yaitu :
Shared Lock (S-LOCK)
Jika transaksi memiliki shared lock pada suatu data, transaksi tersebut hanya bisa melakukan pembacaan.
Exclusive Lock (X-LOCK)
Bagi transaksi yang memiliki exclusive lock pada suatu data, transaksi tersebut dapat melakukan perubahan dan pembacaan terhadap data tersebut. Untuk shared lock, dapat dimiliki oleh beberapa transaksi dalam satu waktu, namun untuk exclusive lock, hanya dapat dimiliki oleh satu transaksi pada satu waktu.
Info Tambahan :
Sistem adalah Suatu sumber daya yang di pakai secara bersamaan
integritas data adalah akurasi / kebenaran dari suatu data
Fungsi:
- menjaga agar data yang tidak valid tidak masuk ke database
- menjaga konsistensi data pada relasi keterkaitan antara tabel
- lebih murah dan mudah dalam menjaga data
Jenis - Jenis :
- create domain : tipe baru
- not null : tidak boleh kosong
- unique
- primary key : kata kunci
- check : suatu kondisi