ikd312-10-transaksi

584 views

Published on

2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
584
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

ikd312-10-transaksi

  1. 1. Transaksi16 Desember 2011
  2. 2. Transaksi Apa yang terjadi jika sebuah tabel diakses multi-user? Satu user mengupdate sebuah row, apa yang dilihat oleh users lainnya? Satu user mengupdate sebuah row, apakah diijinkan users lain mengupdate row yang sama? Read operations  SELECT Write operations  INSERT, UPDATE, DELETE Normal Form 2
  3. 3. Anomalies Read-read operation  no-conflict Conflicts  Write-read conflicts (reading uncommitted data)  Read-write conflicts (unrepeatable reads)  Write-write conflicts (overwriting uncommitted data)
  4. 4. Write-Read Conflict Sebuah session / transaksi melakukan operasi Write Transaksi lain melakukan Read Apakah hasil Write langsung terupdate? Normal Form 4
  5. 5. Read-Write Conflict Sebuah session melakukan Read Transaksi lain mengupdate data yang dibaca oleh transaksi pertama Data consistency? Normal Form 5
  6. 6. Write-Write Conflict Sebuah session mengupdate data Session lain mengupdate data Update siapa yang disimpan di database, session pertama? Session kedua? Normal Form 6
  7. 7. Commit dan Rollback Commit  Save all updates Rollback  Undo all updates Normal Form 7
  8. 8. Database Transactions  Dimulai ketika pernyataan DML pertama dijalankan  Dimulai secara eksplisit  BEGIN TRANSACTION  Berakhir pada kejadian-kejadian berikut:  Pernyataan COMMIT atau ROLLBACK diberikan  Sebuah pernyataan DDL atau DCL dijalankan (automatic commit)  User keluar dari sebuah session  Sistem mengalami crash
  9. 9. Keuntungan commit danrollback Meyakinkan konsistensi data Melakukan preview terhadap perubahan data sebelum membuat perubahan data tersebut permanen Mengelompokkan operasi-operasi perubahan terhadap data secara logis Normal Form 9
  10. 10. Mengendalikan Transaksi Time COMMIT Transaction DELETE SAVEPOINT A INSERT UPDATE SAVEPOINT B INSERT ROLLBACK ROLLBACK ROLLBACK to SAVEPOINT B to SAVEPOINT A
  11. 11. Savepoint  Penanda dalam transaksi dapat dibuat dengan pernyataan SAVEPOINT.  Roll back ke penanda yang sudah dibuat dengan pernyataan ROLLBACK TO SAVEPOINT.  Jika penanda kedua dibuat dengan nama yang sama dengan penanda sebelumnya, penanda sebelumnya secara otomatis terhapus. UPDATE... SAVEPOINT update_done; Savepoint created. INSERT... ROLLBACK TO update_done; Rollback complete.
  12. 12. Deadlock Dua atau lebih session saling menunggu session yang lain COMMIT/ROLLBACK Terjadi karena urutan eksekusi Read-Write yang tidak sama Contoh Demo Normal Form 12
  13. 13. Pustaka Ramakhrisnan, Raghu & Johannes Gehrke, "Database Management Systems", 2nd ed., McGraw-Hill, 2000. Elmasri dan Navathe, "Foundation of Database System" http://tjerdastangkas.blogspot.com/search/label/ikd312 Normal Form 13
  14. 14. Jumat, 16 Desember 2011

×