Collabnet Overview v 1.2 021201 Informatika BAB XIII Menangani Transaksi.

Slides:



Advertisements
Presentasi serupa
SQL – DML.
Advertisements

MATA KULIAH : “LOGIKA DAN ALGORITMA”
STORED PROCEDURED Stored procedure dan stored function merupakan fasilitas baru dari MySQL versi 5.0.
KUMPULAN PERINTAH SQL PENDY.
Penerapan Locking pada DBMS berbasis Web
Manajemen Transaksi & Kontrol Konkurensi
Database Create-Retrieve-Update-Delete (CRUD)
Sistem Manajemen Basis Data Teknik Konkurensi
Proteksi data BASIS DATA.
Presentasi Keamanan Basis Data “Transaction Management”
Manajemen Basis Data menggunakan SQL Server
BASIS DATA Proteksi data.
Pertemuan 4 Database dengan MySQL.
Basis Data Bab 3 Structured Query Language (SQL).
DATABASE CONTROL.
Proteksi data BASIS DATA.
PENGONTROLAN KONKURENSI & RECOVERY
Quiz Before UAS Perancangan database.
TRIGGER.
1 Bab 3 Structured Query Language (SQL) Basis Data
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
Collabnet Overview v Informatika BAB IX Mengenal SQL.
1 OTORISASI. Aturan Otorisasi Aturan otorisasi: kontrol yang melekat dalam sistem manajemen data yang membatasi akses thd data dan tindakan- tindakan.
PERTEMUAN 8 Teknik recovery.
Manajemen Transaksi (1)
Transaksi Konsep Transaksi Status transaksi
P E R T E M U A N 12 SISTEM BASIS DATA.
Data Types Data Definition Language Referential Constraint SQL Query
SQL (Structure Query Language)
Sistem Basis Data Pertemuan 11 Presented by :
TRANSACTION MANAGEMENT
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
1 concurrency. Concurrency Sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam aktu yang bersamaan.
1 JDBC-Update Java2 Advanced JDBC Update – Java2 Advanced.
Serializabilitas Two Phase Locking
Manajemen Transaksi #5 D. SINAGA, M.KOM.
Mengekspor, Menyalin, dan Mengimpor Data
Pertemuan ke-sekian Structure Query Language (SQL) Lanjut
BAB 4 QUERY FORMULATION with SQL
Proteksi data BASIS DATA.
TRIGGER SYAIFUL HUDA, S.Kom.
Pertemuan 13 LINGKUNGAN DATABASE.
TRANSACTION MANAGEMENT
SQL.
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
Sistem Basis Data ABU SALAM, M.KOM.
~ Presentasi Basis Data ~
Materi Kuliah ke 14 Proteksi data BASIS DATA.
TRIGGER.
SQL OVERVIEW.
Dml(Data manipulation language)
Created By Amir Ali,S.Kom.,M.Kom
Pertemuan <<10>> Transaksi Manajemen
Serializabilitas Two Phase Locking
Konkurensi (Lanjutan)
Transaksi Konsep Transaksi Status transaksi
Data Manipulation Language (DML)
Basis Data [TK1064] I. Pengenalan Basis Data
EXERCISE DML Part I Buatlah sebuah tabel baru nama = Dosen
Konsep dasar sistem basis data By K’ ILO ^_^
Pemulihan Basis Data D. Sinaga, M.Kom.
Manajemen Transaksi D. SINAGA, M.KOM.
Basis Data Bab 3 Structured Query Language (SQL).
Membuat Query ACCESS Query adalah fasilitas untuk mengakses data dengan cara  yang memungkin bagi kita untuk menampilkan data-data dari database dalam.
DATA MANIPULATION LANGUAGE
Lingkungan Basis Data.
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
BAHASA BASIS DATA Data Manipulation Languange
Proteksi Data Pertemuan 13.
Transcript presentasi:

Collabnet Overview v Informatika BAB XIII Menangani Transaksi

Informatika 2 Transaksi  ATM : pemasukan kartu ATM, pemasukan PIN, penentuan jumlah uang, pengambilan uang.  Ada 2 kemungkinan dalam transaksi: - transaksi dianggap berhasil, jika semua proses berjalan dengan lancar - transaksi dianggap gagal, kalau ada salah satu bagian proses yang gagal

Informatika 3 Menandai awal transaksi  dBase IV : BEGIN TRANSACTION  PostgreSQL : BEGIN WORK  ORACLE : SAVEPOINT

Informatika 4 Menyetujui transaksi  Sintaks: COMMIT [WORK];  Contoh: COMMIT; atau COMMIT WORK;

Informatika 5 Membatalkan transaksi  Sintaks: ROLLBACK [WORK];  Contoh: ROLLBACK; atau ROLLBACK WORK;

Informatika 6 Gambaran COMMIT dan ROLLBACK  Tes 1 : melihat isi pegawai dengan NIP=12345 SELECT nip, nama FROM pegawai WHERE nip = ‘12345’;  Tes 2 : mengawali transaksi BEGIN WORK;  Tes 3 : mengubah gaji & depart UPDATE pegawai SET gaji = , depart = ‘EDP’ WHERE nip = ‘12345’;

Informatika 7 Gambaran COMMIT dan ROLLBACK  Tes 4 : melihat isi baris NIP = SELECT * FROM pegawai WHERE nip = ‘12345’;  Tes 5 : membatalkan perubahan ROLLBACK;  Tes 6 : melihat isi baris NIP = SELECT * FROM pegawai WHERE nip = ‘12345’;

Informatika 8 Gambaran COMMIT dan ROLLBACK  Tes 7 : mengawali transaksi, mengubah gaji & depart BEGIN WORK; UPDATE pegawai SET gaji = , depart = ‘EDP’ WHERE nip = ‘12345’;  Tes 8 : Menyetujui perubahan COMMIT;  Tes 9 : melihat isi baris NIP = SELECT * FROM pegawai WHERE nip = ‘12345’;

Informatika 9 Problem pada multiuser  Pemutakhiran yang hilang (lost update)  Pembacaan kotor (dirty read)  Pembacaan yang tidak sama (non-repeatable read)  Penyisipan yang tak dikehendaki (phantom insert)

Informatika 10 lost update Transaksi #1 (butuh 4 kursi)Isi basis dataTransaksi #2 (butuh 3 kursi) SELECT kosong FROM kursi WHERE jadwal = 300; Kosong = 10 SELECT kosong FROM kursi WHERE jadwal = 300; UPDATE kursi SET kosong = 6 WHERE jadwal = 300; Kosong = 6 COMMIT WORK;Kosong = 7UPDATE kursi SET kosong = 7 WHERE jadwal = 300; COMMIT WORK;

Informatika 11 dirty read Transaksi #1Isi basis dataTransaksi #2 SELECT kosong FROM kursi WHERE jadwal = 300; Kosong = 10 UPDATE kursi SET kosong = 6 WHERE jadwal = 300; Kosong = 6 SELECT kosong FROM kursi WHERE jadwal = 300; ROLLBACK WORK;Kosong = 10

Informatika 12 non-repeatable read Transaksi #1Isi basis dataTransaksi #2 Kosong = 10 SELECT kosong FROM kursi WHERE jadwal = 300; UPDATE kursi SET kosong = 6 WHERE jadwal = 300; Kosong = 6 SELECT kosong FROM kursi WHERE jadwal = 300;

Informatika 13 phantom insert Transaksi #1keadaan basis dataTransaksi #2 SELECT jadwal, COUNT(kosong) FROM kursi GROUP BY jadwal, kosong; INSERT INTO kursi (kosong, jadwal) VALUES (350, 321); Sebuah baris ditambahkan SELECT jadwal, COUNT(kosong) FROM kursi GROUP BY jadwal, kosong;

Informatika 14 Penanganan multiuser  Mekanisme penanganan multiuser disebut penguncian (locking)  Untuk mencegah orang lain mengubah baris sebelum transaksi di-COMMIT, tambahkan FOR UPDATE pada perintah SELECT (PostgreSQL). Misal: SELECT * FROM pegawai WHERE nip = ‘12345’ FOR UPDATE;

Informatika 15 Macam level isolasi Level isolasilost updatedirty readnon-repeatable readphantom insert SERIALIZABLETIDAK REPEATABLE READTIDAK YA READ COMMITEDTIDAK YA READ UNCOMMITEDTIDAKYA

Informatika 16 Macam level isolasi  SERIALIZABLE, merupakan level kontrolyang paling tinggi. Level isolasi ini memperlakukan sistem seperti kalau berjalan dalam lingkungan single user  REPEATABLE READ, memungkinkan terjadinya kasus panthom insert.  READ COMMITED, memperkenankan query yang dieksekusi beberapa kali memberikan hasil yang berbeda, tetapi hanya bisa membaca transaksi yang telah di-COMMIT  READ UNCOMMITED, memungkinkan pembacaan data yang belum di-COMMIT

Informatika 17 Level isolasi  Penentuan level isolasi SET TRANSACTION ISOLATION LEVEL level_isolasi;  Contoh: SET TRANSACTION ISOLATION LEVEL READ COMMITED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

Informatika 18 Level isolasi  Default untuk PostgreSQL adalah READ COMMITED  PostgreSQL hanya mendukung READ COMMITED dan SERIALIZABLE

Collabnet Overview v Informatika Terima Kasih Tanya & Jawab