Transaksi Dalam Sistem basis data


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  untuk
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.
selanjutnya tinggal gimana kamu menyimpulkannya aja, itu hanya awalan dari semuanya broo. dari hal di atas dapat kita ketahui :
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:

  1. Atomicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
  2. Consistency,  dimana  eksekusi  transaksi  harus  dapat  menjamin  data  tetap  konsisten setelah 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 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


page Number