Odak modu

Java Spring

Transaction Kavramı

Bu yazıda veri tabanlarında transaction konusunu ele aldık. Şimdi, commit ve rollback kavramlarına göz atalım. Veri tabanları, update, insert ve delete işlemlerinde onay bekler. İşlemleri onaylamak için "commit" sözcüğünü kullanırız. Ancak, işlemleri geri almak veya kaydetmemek için "rollback" sözcüğünü kullanabiliriz.

Transactionlar, birbiriyle ilişkili işlemleri gruplamamıza olanak tanır. Örneğin, bir veritabanına yeni bir kategori eklerken aynı anda ürün de ekliyorsak ve bu işlemler birbirine bağlıysa, herhangi bir sorun çıkarsa rollback kullanarak işlemleri geri alabiliriz.

Transaction, bir veya birden fazla SQL sorgusunun gruplandığı ve bu sorguların ya tamamının başarılı bir şekilde gerçekleştirileceği ya da hiçbirinin gerçekleştirilmeyeceği mantığını temsil eder. Bu, veri tabanındaki bir dizi değişikliği bir araya getirir ve bu değişikliklerin ya tamamının uygulanacağını ya da hiçbirinin uygulanmayacağını belirler. Bu durumu "Hep Ya Hiç" (ACID) ilkesi olarak adlandırılır.

Commit, bir transaction'ın başarıyla tamamlandığını belirten bir işlemidir. Yani, transaction içindeki tüm SQL sorguları başarılı bir şekilde çalıştıysa, commit komutu kullanılarak bu değişiklikler veri tabanında kalıcı hale getirilir. Eğer commit yapılmazsa, yapılan değişiklikler geri alınır.

Rollback ise bir transaction içindeki bir ya da birden fazla sorgunun hatalı olduğu durumda, bütün işlemin geri alınmasını sağlar. Yani, transaction içinde bir hata oluştuğunda, rollback kullanılarak bu hatalı işlemler geri alınır ve veri tabanı başlangıç durumuna döner. Bu, veri tabanının tutarlılığını koruma açısından önemlidir.

Transaction, commit ve rollback konuları genellikle veri tabanı işlemlerini yönetirken kullanılır. Bu işlemler genellikle birbirleriyle bağlantılıdır ve biri hata aldığında diğerinin de geri alınması gerekebilir. Örneğin, bir alışveriş işlemi sırasında stoktan ürün çıkarma ve müşterinin hesabına para ekleme işlemleri birlikte düşünülebilir.

Sonuç olarak, transactionlar, veritabanında yapılan işlemleri gruplayarak, başarılı bir şekilde tamamlanmalarını veya hatalar durumunda geri alınmalarını sağlar.

Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!