Transaksi Dalam Sistem Basis Data

Diajukan untuk tugas praktikum Sistem Basis Data.

TRANSAKSI

Transaksi adalah suatu 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. 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 sebagaian, karena dapat menyebabkan inkonsistensi basis data.

Transaksi bertujuan untuk mencegah dari kehilangan ataupun kerusakan data. Sebuah transaksi berpeluang untuk mengganggu integritas basis data yang dapat membuat kondisi/hubungan antar data tidak seperti seharusnya. Untuk menjamin agar integritas dapat teta terpelihara maka setiap transaksi harus memiliki sifat – sifat:

Automicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.

Consitency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setealah transaksi berakhir.

Isolation, jika pada sebuah system 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 system mati.


OPERASI TRANSAKSI

Didalam transaksi, terdapat dua buah operasi untuk menjaga integritas dan ketahanan data, diantaranya dengan melakukan operasi commit dan rollback.

Commit berfungsi untuk menandakan bahwa transaksi telah selesai dilaksanakan.

Rollback berfungsi untuk memberitahukan bahwa transaksi harus diulang karena adanya suatu kegagalan.


PRAKTIK!

Pertama, kita buat sebuah user di Oracle. Lalu buatlah table dan recordnya seperti di bawah ini:

Screenshot (274)

Setelah itu kita lihat hasil inputan kita dengan ‘select * from huruf’ lalu buka jendela baru Command Line dengan user yang sama dan lihat hasil inputan dengan metode yang sama. Bisa dipastikan di jendela yang baru, belum terbentuk table huruf.

Screenshot (277)

Kita gunakan commit agar apa yang dikerjakan pada jendela pertama juga berpengaruh pada jendela kedua.

Screenshot (278)

Kali ini table huruf juga sudah tersedia di jendela dua. Jadi, sebelum melakukan commit, apa yang kita kerjakan pada sebuah jendela belum berpengaruh pada yang lainnya. Setelah itu masukan record baru pada table.

Kita akan mencoba menggunakan Save Point seperti pada gambar di bawah. Save point berguna untuk memberikan semacam check point terhadap pekerjaan terakhir kita. Input pada Command Line ‘savepoint test1;’ hingga muncul output savepoint created. Itu berarti kita telah membuat check point pada pekerjaan terakhir kita, yaitu table dengan 6 record.

Setelah itu masukan 2 record pada table hingga seperti contoh di bawah.

Screenshot (279)

Lalu kita coba operasi yang terakhir, yaitu Rollback. Rollback bermaksud untuk kembali ke savepoint yang kita buat sebelumnya. Karena savepoint kita tadi diberi nama ‘test1’, maka untuk me-rollback kita harus menuliskan savepoint mana yang akan kita tuju seperti contoh di bawah.

Screenshot (281)

Terakhir, kita lihat record yang terdapat pada table huruf. Table huruf tersebut akan kembali memiliki 6 record sesuai dengan kondisi terakhir sebelum dibuat savepoint. Rollback sendiri semacam fitur Undo di aplikasi-aplikasi komputer lainnya. Bedanya, kita sebelumnya harus menempatkan titik di mana undo tersebut akan berlaku.

Ahmad Banyu Rachman
1303465
Ilmu Komputer C1 2013

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s