Ya mungkin mau ngejawab ... tapi mungkin tidak sempurna banget ya .. entar biar 
temen temen yang lain nambahin atau ngeralat kalo saya salah.

Transaksi adalah kasus di mana sebuah resource database di akses oleh banyak 
orang .. dan dalam waktu yang bisa jadi dilakukan secara bersamaan ... dimana 
dalam kasus ini database harus mampu merepresentasikan transaksi tersebut 
seperti kenyataan yang terjadi di dunia nyata.

Transaksi mungkin akan dilakukan dalam sebuah query ... nah contohnya seperti 
ini :

A transfer ke B 50 . Rekening A mula mula 100 , B juga 100.
Nah prosedur transaksi yang dilakukan adalah sebagai berikut :

        A                                        ||                             
           B
===============================================
read(A);        // A = 100                     ||
A := A - 50 ; // A = 50                     ||
write(A);       // A = 50                      ||
                                                              || read(B); // B 
= 100;
                                                              || B := B + 50; 
// B = 150;
                                                              || write(B); 

transaksi didalam database harus memenuhi 4 syarat yaitu :
A: Atomicity             => Transaksi harus berjalan secara atomik .. kalo 
dalam                                          eksekusi sebuah transaksi ada 
gagal ... maka lebih baik                                  bagi  DBMS untuk 
menggagalkan transaksi tersebut ..                                      agar 
kondisi database tetap konsisten .. 

                                Dalam kasus di atas terjadi kalo misalkan 
setelah A                                         berkurang 50 , ternyata 
jaringan putus sehingga transaksi                                 B yang 
harusnya bertambah 50 tidak di laksanakan .. nah                                
 kondisi seperti ini harus di tanggulangi oleh DBMS , kalo                      
           seperti itu kan nilai rekening B tetap 100 tetapi rekening A         
                        dah jadi 50 .. nah duit yang 50 kemana  ?? he..he.. 
Oleh                                     karena itu DBMS harus menjamin kalo 
transaksi gagal di                                 tengah jalan lebih baik di 
gagalkan sekalian .. jadi rekening                                 si A tetap 
seperti semula sebelum transfer .. A = 100 dan                                 
B pun tetap 100.

C: Consistency    => adalah kondisi dimana database harus konsisten ..          
                                 merefleksikan kondisi real yang terjadi di 
dunia nyata.
                                      Mungkin dalam kasus di atas .. konsisten 
adalah ketika                                   transfer berarti jumlah A + B 
sebelum transaksi transfer kan                               harusnya sama 
dengan kondisi jumlah A + B setelah                                       
transfer. jadi A + B sebelum transfer kan 200 (asalnya dari                     
          100 + 100) , nah kondisi setelah transfer harusnya  tetep             
                      200 dengan rincian  ( A = 50 dan B = 150).

I : Isolation        => kalo ini berkaitan dengan transparansi sebuah transaksi 
dari                                pengaruh transaksi lain yang sama sama 
mengakses sebuah                            resource .. pada waktu yang 
bersamaan . Nah DBMS                                        memberikan pilihan 
bagi kita untuk menset pilihan                                            
transparansi.Macam macamnya read committed , serializable                       
     ,  read only , repeatable read .  Nah penjelasan dari masing               
                 masing bisa di lihat di                                   
                           
http://www.answers.com/topic/isolation-computer-science  

                                   Intinya pada saat bertransaksi  , sejauh 
mana kita bisa                                     melihat perubahan perubahan 
yang terjadi pada resource                                 yang kita akses dari 
 perubahan yang sedang dilakukan pada                             resource 
tersebut oleh transaksi yang lain pada saat itu juga.


D: Durability     =>  Artinya ketika sebuah transaksi dinyatakan lancar dan     
                                sukses , maka  effek dari transaksi tersebut 
harus di jamin                              terrefleksikan di database kita . 
Jadi dalam kasus di atas kalo                             misalkan transaksi 
transfer tersebut sukses ... maka harus di                             jamin 
data rekening A di databse sudah berubah menjadi 50.                            
 dan rekening B menjadi 150 


Dalam kasus distributed database berarti resource di ambil dari lebih dari satu 
 database server . Nah dalam konsepnya mungkin agak berbeda sedikit dengan 
single transaction database .. karena memerlukan pengaturan dari transaction 
manajer pada tiap tiap site yang berpartisipasi dalam menjalankan sebuah 
transaksi tersebut . Diperlukan pengaturan conncurency dan locking yang 
terkoordinasi dengan baik antar site site tersebut agar jalannya transaksi 
tetap tidak mengganggu integrasi dari database itu sendiri . 

Mungkin temen temen ada yang menambahkan ... maaf bila ada yang salah dan 
kurang menjawab pertanyaan .

Heriyanto KO <[EMAIL PROTECTED]> wrote:                                  oh ya 
buat sobat-sobat indo-oracle,
  g agak bingung nih dgn yg namanya traksanski pada oracle.
  
  sebenarnya transaksi itu apa sih?
  bedanya dengan PL/SQL atau SQL apa?
  
  kalo di distributed database transaction menjadi kata nomor 1 yang sering 
dibicarakan?
  
  thanks b4
  
 
 __________________________________________________
 Do You Yahoo!?
 Tired of spam?  Yahoo! Mail has the best spam protection around 
 http://mail.yahoo.com 
 
 [Non-text portions of this message have been removed]
 
 
     
                       



Hormat, 
 
Tora Fahrudin

                
---------------------------------
Groups are talking. We&acute;re listening. Check out the handy changes to 
Yahoo! Groups. 

[Non-text portions of this message have been removed]



--
-----------I.N.D.O - O.R.A.C.L.E---------------
Keluar: [EMAIL PROTECTED]
Website: http://indo-oracle.blogspot.com
Mirror: http://indooracle.wordpress.com
-----------------------------------------------

Bergabung dengan Indonesia Thin Client User Groups, 
Terminal Server, Citrix, New Moon Caneveral, di:
http://indo-thin.blogspot.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/indo-oracle/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Kirim email ke