transaksi semester ganjil2014 fak. teknik...

21
Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Ui i P d Universitas Pasundan Caca E Supriana S Si MT Caca E. Supriana, S.Si.,MT . [email protected] 1

Upload: hakiet

Post on 20-Mar-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

TransaksiSemester Ganjil 2014

Fak. Teknik Jurusan Teknik InformatikaU i i P dUniversitas Pasundan

Caca E  Supriana  S Si MTCaca E. Supriana, S.Si.,[email protected]

1

TransaksiTransaksi database mencerminkan dunia transaksi nyata yang dipicu oleh peristiwa seperti membeli produk  mendaftar untuk kursus  atau membuat produk, mendaftar untuk kursus, atau membuat deposit dalam rekening koran sebuah bank. Transaksi cenderung mengandung banyak bagian. g g g y gSebagai contoh, transaksi penjualan mungkin memperbarui account pelanggan, menyesuaikan persediaan produk, dan memperbarui piutang penjual. Semua bagian dari transaksi harus berhasil diselesaikan untuk mencegah masalah integritas data  diselesaikan untuk mencegah masalah integritas data. 

2

Sifat utama transaksi database adalah atomicity, konsistensi, isolasi, dan daya tahan (durability). Selainitu  serializability merupakan karakteristik dari jadwalitu, serializability merupakan karakteristik dari jadwaloperasi untuk pelaksanaan transaksi yang konkuren.

3

Transaksi penjualan terdiri dari setidaknya bagian‐bagianberikut:•Anda harus menulis faktur pelanggan baru.•Anda harus mengurangi kuantitas di tangan dalampersediaan produk.•Anda harus memperbarui akun transaksi.•Anda harus memperbarui keseimbangan pelanggan.

4

TransaksiTransaksi adalah setiap tindakan yang membaca daridan atau menulis ke database. 

5

Sebuah transaksi dapat terdiri dari pernyataanSELECT sederhana untuk menghasilkan daftar isisebuah tabel; sebuah tabel; mungkin terdiri dari serangkaian pernyataan UPDATE terkait untuk mengubah nilai‐nilai dari atribut diterkait untuk mengubah nilai nilai dari atribut diberbagai tabel;mungkin terdiri dari serangkaian pernyataan INSERT g g p yuntuk menambahkan baris untuk satu atau lebihtabel, atau mungkin terdiri dari kombinasi SELECT, UPDATE  dan pernyataan INSERTUPDATE, dan pernyataan INSERT.

6

Semua pernyataan SQL dalam transaksi harusdiselesaikan dengan sukses. Jika salah satu pernyataanSQL gagal  seluruh transaksi dikembalikan (roll back) SQL gagal, seluruh transaksi dikembalikan (roll‐back) ke keadaan awal database yang ada sebelum transaksidimulai. Sebuah transaksi yang berhasil mengubah database dari satu kondisi ke kondisi konsisten lain. Sebuahkondisi database konsisten adalah di mana semuakendala integritas data terpenuhi.

7

Contoh transaksiSELECT CUST_NUMBER, CUST_BALANCEFROM CUSTOMERWHERE CUST_NUMBER=10016;

8

Contoh transaksiINSERT INTO INVOICEVALUES (1009, 10016,'18‐Jan‐2010', 256.99, 20.56, 277.55,'cred',0.00, 277.55);277.55, cred ,0.00, 277.55);

INSERT INTO LINEVALUES (1009, 1,'89‐WRE‐Q',1,256.99, 256.99);

Atau

UPDATE PRODUCTSET PROD_QOH=PROD_QOH–1WHERE PROD_CODE='89‐WRE‐Q';

9

Properti transaksiAtomicityC i tConsistencyIsolationIsolationDurabilitySerializability

10

Atomicity mensyaratkan bahwa semua operasi (SQL request) dari transaksi akan selesai, jika tidak, transaksi tersebut dibatalkan  transaksi tersebut dibatalkan. Jika transaksi T1 memiliki empat permintaan SQL, keempat permintaan harus berhasil diselesaikan  jikakeempat permintaan harus berhasil diselesaikan, jikatidak, seluruh transaksi dibatalkan. Dengan kata lain, transaksi diperlakukan sebagai satu unit, tidak terbagi, kerja logis.

11

Consistency menunjukkan kondisi permanen daridatabase yang konsisten. Sebuah transaksi mengambildatabase dari satu kondisi konsisten ke keadaandatabase dari satu kondisi konsisten ke keadaankonsisten yang lain. Ketika transaksi selesai  database harus dalam keadaanKetika transaksi selesai, database harus dalam keadaankonsisten, jika salah satu bagian transaksi melanggarkendala integritas, seluruh transaksi dibatalkan.

12

Isolation berarti bahwa data yang digunakan selamapelaksanaan transaksi tidak dapat digunakan olehtransaksi kedua sampai yang pertama selesai. Dengantransaksi kedua sampai yang pertama selesai. Dengankata lain, jika T1 transaksi yang sedang dieksekusi danmenggunakan item data X, bahwa item data tidakdapat diakses oleh transaksi lain (T2  Tn) sampaidapat diakses oleh transaksi lain (T2 ... Tn) sampaiberakhir T1. Properti ini sangat berguna dalam lingkunganp g g g gdatabase multiuser karena beberapa pengguna dapatmengakses dan memperbarui database pada saat yang sama.sama.

13

Durability memastikan bahwa perubahan transaksisekali selesai (berkomitmen), mereka tidak dapatdibatalkan atau hilang  bahkan dalam hal terjadidibatalkan atau hilang, bahkan dalam hal terjadikegagalan sistem.

14

Serializabilitymemastikan bahwa jadwal untukpelaksanaan bersamaan dari transaksi menghasilkanproperti results  properti results. Konsistensi adalah penting dalam database multiuser dan terdistribusi  di mana beberapa transaksidan terdistribusi, di mana beberapa transaksikemungkinan akan dieksekusi secara bersamaan. Tentu saja, jika hanya satu transaksi dijalankan, serializability tidak menjadi masalah.

15

Manajemen Transaksi SQL Sebuah pernyataan COMMIT akan tercapai, dalam halini semua perubahan secara permanen dicatat dalampernyataan database  COMMIT secara otomatispernyataan database. COMMIT secara otomatismengakhiri transaksi SQL.Sebuah pernyataan ROLLBACK akan tercapai  dalamSebuah pernyataan ROLLBACK akan tercapai, dalamhal ini semua perubahan yang dibatalkan dandatabase di’roll‐back’ kembali ke keadaan konsistensebelumnya.

16

Contoh COMMITUPDATE PRODUCTSET PROD_QOH=PROD_QOH–2WHERE PROD_CODE='1558‐QW1';UPDATE CUSTOMERSET CUST_BALANCE=CUST_BALANCE+87.98WHERE CUST_NUMBER='10011';COMMIT;

17

Log TransaksiSebuah DBMS menggunakan log transaksi untukmelacak semua transaksi yang memperbarui database. I f i  di i d l l  i i di k l hInformasi yang disimpan dalam log ini digunakan olehDBMS untuk kebutuhan pemulihan yang dipicu olehpernyataan ROLLBACK  terminasi abnormal suatupernyataan ROLLBACK, terminasi abnormal suatuprogram, atau kegagalan sistem seperti perbedaanjaringan atau disk crash. 

18

Beberapa RDBMS menggunakan log transaksi untukmemulihkan database kembali ke keadaan saatkonsisten  konsisten. Setelah kegagalan server, misalnya, Oracle otomatisakan ‘roll‐back’ transaksi dan ‘roll‐forward’ transaksiakan roll back  transaksi dan roll forward  transaksiyang dilakukan tetapi belum ditulis ke database fisik.

19

Isi Log TransaksiSebuah catatan untuk awal transaksi.Untuk setiap komponen transaksi (pernyataan SQL):

1 Jenis operasi yang dilakukan (memperbarui  menghapus  1. Jenis operasi yang dilakukan (memperbarui, menghapus, menyisipkan).

2. Nama‐nama obyek dipengaruhi oleh transaksi (namab l)tabel).

3. Nilai‐nilai "sebelum" dan "setelah" untuk bidang yang sedang diperbarui.g p

4. Pointer ke entri transaksi sebelumnya dan berikutnya log untuk transaksi yang sama.

Akhir (COMMIT) dari transaksiAkhir (COMMIT) dari transaksi.

20

Transaction Log

21