Anda di halaman 1dari 20

SISTEM MANAJEMEN BASIS

DATA LANJUT
DATA TRANSACTION LANGUAGE

MUSTHOFA GALIH PRADANA,


M.KOM.

Universitas
The GlobeAlma Ata - The
Inspiring Globe Inspiring University
University almaata.ac.id
12. DATA TRANSACTION
LANGUAGE
12.1 Pengantar DTL
12.2 Jenis DTL

The Globe Inspiring University almaata.ac.id


12.1 Pengantar DTL

The Globe Inspiring University almaata.ac.id


Pengantar
Transaksi adalah unit kerja logis. Transaksi
adalah hal biasa dalam kehidupan kita sehari-
hari. Misalnya, pembelian sesuatu biasanya
dianggap sebagai transaksi. Ketika Anda
membayar uang untuk sesuatu tetapi tidak
menerima objek, transaksi dihentikan dan Anda
berharap untuk menerima uang Anda kembali.

The Globe Inspiring University almaata.ac.id


Model Transaksi
• Standar ISO mendefinisikan model transaksi
berdasarkan dua pernyataan SQL ; KOMIT dan
ROLLBACK.
• Standar menetapkan bahwa Transaksi SQL
secara otomatis dimulai dengan pernyataan
SQL yang memulai transaksi dieksekusi oleh
pengguna atau program (untuk contoh,
SELECT, INSERT, UPDATE)
• Perubahan yang dilakukan oleh suatu transaksi
tidak terlihat oleh orang lain secara
bersamaan melaksanakan transaksi sampai
transaksi selesai.

The Globe Inspiring University almaata.ac.id


Statement Transaction
1. Pernyataan COMMIT mengakhiri transaksi
dengan sukses, membuat perubahan basis
data permanen
2. Pernyataan ROLLBACK membatalkan
transaksi, membatalkan perubahan apa pun
dilakukan oleh transaksi.
3. Untuk SQL Terprogram, penghentian program
yang berhasil mengakhiri final transaksi
berhasil, bahkan jika pernyataan COMMIT
belum dieksekusi.
4. Untuk SQL Terprogram, penghentian program
yang tidak normal membatalkan transaksi.

The Globe Inspiring University almaata.ac.id


ACID
In Relational databases, the ACID acronym is
used to describe the properties of
transactions. The ACID properties are :
1. Atomicity
2. Consistency
3. Isolation
4. Durability

The Globe Inspiring University almaata.ac.id


Atomicity
Setiap transaksi adalah unit kerja atom, artinya
semua basis data berubah dalam transaksi
berhasil atau tidak ada satupun yang berhasil.
Misalnya, pernyataan UPDATE yang akan
memperbarui 500 baris dalam tabel di titik
waktu transaksi dimulai.
Perintah tidak akan selesai sampai tepatnya
semua 500 baris itu diperbarui. Jika sesuatu
mencegah perintah itu dari memperbarui semua
500 baris, maka DBMS memutar kembali
transaksi.

The Globe Inspiring University almaata.ac.id


Consistency
Setiap transaksi, apakah berhasil atau tidak,
meninggalkan database secara konsisten state
seperti yang didefinisikan oleh semua objek dan
batasan database. Jika keadaan tidak konsisten
hasil, dan DBMS akan memutar kembali
transaksi untuk mempertahankan konsistensi.
Misalnya, dalam transaksi perbankan yang
mendebet rekening tabungan dan kredit
rekening giro, kegagalan tidak boleh
menyebabkan database hanya mengkredit satu
akun, yang akan menyebabkan data yang tidak
konsisten.

The Globe Inspiring University almaata.ac.id


Consistency
Jika transaksi Anda mencoba memasukkan baris
yang memiliki kunci asing yang tidak valid,
untuk contoh, maka DBMS akan mendeteksi
bahwa kendala akan dilanggar, dan
menghasilkan sebuah pesan kesalahan. Anda
dapat menambahkan logika untuk memutuskan
apakah akan memutar kembali transaksi

The Globe Inspiring University almaata.ac.id


Isolation
Efek suatu transaksi tidak terlihat oleh
transaksi lain sampai transaksi dilakukan.
Untuk menegakkan isolasi transaksional, SQL
Server memastikan bahwa ketika transaksi
membuat banyak perubahan pada database,
tidak ada objek yang diubah oleh transaksi
tersebut diperbolehkan untuk diubah oleh
transaksi lainnya. Di lain kata-kata, perubahan
satu transaksi diisolasi dari transaksi lainnya
kegiatan. Jika dua transaksi ingin mengubah
data yang sama, salah satunya harus tunggu
sampai transaksi lainnya selesai.
The Globe Inspiring University almaata.ac.id
Isolation
Misalnya, satu pengguna yang memperbarui
tabel hr.employees tidak melihat perubahan
yang tidak terikat pada karyawan yang dibuat
secara bersamaan oleh pengguna lain. Dengan
demikian, tampak bagi pengguna seolah-olah
transaksi dijalankan secara serial.

The Globe Inspiring University almaata.ac.id


Durability
Data yang dikomit disimpan oleh sistem
sedemikian rupa sehingga, bahkan dalam jika
terjadi kegagalan dan sistem restart, datanya
tersedia dalam keadaan yang benar.

The Globe Inspiring University almaata.ac.id


12.2 Jenis DTL

The Globe Inspiring University almaata.ac.id


Transaction Mode
Three ways of working with transactions:
1. Autocommit
2. Implicit transaction
3. Explicit transaction

The Globe Inspiring University almaata.ac.id


Transaction Mode- Implicit
Transaction
Dalam mode komit otomatis, modifikasi data
tunggal dan pernyataan T-SQL DDL dieksekusi
dalam konteks transaksi yang akan dilakukan
secara otomatis ketika pernyataan berhasil,
atau secara otomatis dibatalkan jika
pernyataan gagal.
Ingat, autocommit adalah operasi default SQL
Server.

The Globe Inspiring University almaata.ac.id


Transaction Mode- Implicit
Transaction
Dalam mode transaksi implisit, ketika Anda
mengeluarkan satu atau lebih DML atau DDL
pernyataan, atau pernyataan SELECT, SQL
Server memulai transaksi, peningkatan
@@TRANCOUNT, tetapi tidak secara otomatis
melakukan atau memutar kembali pernyataan
tersebut. Harus dilakukan COMMIT atau
ROLLBACK secara interaktif untuk
menyelesaikan transaksi.

The Globe Inspiring University almaata.ac.id


Transaction Mode- Implicit
Transaction
Segera setelah memasukkan perintah apa pun untuk
diubah data, nilai @@TRANCOUNT menjadi sama
dengan 1, menunjukkan bahwa Anda sedalam satu level
dalam transaksi. Anda kemudian harus secara manual
mengeluarkan pernyataan COMMIT atau ROLLBACK
untuk menyelesaikan transaksi. Jika Anda
mengeluarkan lebih banyak DML atau pernyataan DDL,
mereka juga menjadi bagian dari transaksi.

The Globe Inspiring University almaata.ac.id


Transaction Mode- Explicit
Transaction
Transaksi eksplisit terjadi ketika Anda secara eksplisit gunakan
BEGIN TRANSACTION atau BEGIN TRAN perintah untuk memulai
transaksi.
Gambar menunjukkan diagram keadaan untuk transaksi eksplisit.
Dalam transaksi eksplisit, segera setelah Anda mengeluarkan
perintah BEGIN TRAN, nilai dari @@TRANCOUNT bertambah 1.
Kemudian Anda mengeluarkan perintah DML atau DDL Anda, dan
kapan siap, keluarkan COMMIT atau ROLLBACK.

The Globe Inspiring University almaata.ac.id


Example : explicit
transaction
BEGIN TRANS
UPDATE HR.Employees SET Region = N'10004'
WHERE empid = 1
COMMIT TRANS
Or
ROLLBACK TRANS

The Globe Inspiring University almaata.ac.id

Anda mungkin juga menyukai