Salı, Temmuz 24, 2007

Transaction

Aynı zamanda birbiriyle ilişkili işlemler bütünlüğü anlamına gelir.Bütünlük, biri işlemlerden bir bile olmadan bütün işlemlerin var olamayacağı, geçerli olmayacağı anlamına gelir.Bir bankada ki hesabından ötekine para transferi yapılacak olsun.İlk işlem bir hesaptan para çekmek, sonraki işlem de diğerine para yatırmaktır.Bir aksilik oldu ilk hesaptan çekildi bağlantı koptu ve diğerine para yatırılamadı.Bu durumda hesaplada dengesizlik olacaktır.Yatırma işlemi gerçekleşmediyse para çekme işleminin de geçersiz olması gerekir.İşte bu şekilde bir bütün halinde değerlendirilmesi sağlayan işlemler transaction anlamına gelir.
Veritabanına veya veritabanına erişen kütüphaneler hangi veritabanı işlemlerinin kendi aralarında bir bütün oluşturduğu anlayamaz.Programcı işlem başlayacağı zaman begin() komutunu kullanır.İşlem bittiğinde ise commit(). Bir hata olursa da geriyedönebilmesi için rollback() denir.Transaction ile ilgili örnek kod aşağıdadır.

try{
transaction.begin();
do_operations();
transaction.commit();
}
catch (System.Exception ex)
{
transaction.rollback();
throw ex;
}

Hiç yorum yok: