Junior
Veritabanlarında işlemler neden kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
İşlemlerin atomiklik, tutarlılık, izolasyon ve kalıcılık (ACID) ilkelerini sağladığı işlemler.
- Atomiklik: Bir işlemdeki tüm işlemler ya tamamen gerçekleştirilir ya da hiç yapılmaz. Bir işlem başarısız olursa, tümü geri alınır.
- Tutarlılık: İşlem, veritabanını tutarlı bir durumdan başka bir tutarlı duruma getirir. Kısıtlamaların ihlali (örneğin, benzersiz anahtarlar) engellenir.
- İzolasyon: Her işlem, sistemde tek başına çalışıyormuş gibi yürütülür. Bir işlemin yaptığı değişiklikler, tamamlanana kadar diğerleri tarafından görülmez.
- Kalıcılık: Bir işlem başarılı bir şekilde tamamlandıktan sonra, değişiklikler kaydedilir ve sistem arızası olsa bile kaybolmaz.
İşlemler, özellikle birlikte veya hiç yapılmaması gereken birden fazla ilişkili işlemi gerçekleştirirken veri bütünlüğünü sağlamak için önemlidir. Bir örnek, tasarruf hesabından cari hesaba para transferidir.
-- İşlemin başlatılması
START TRANSACTION;
-- İlk hesaptan düşüm
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Önceki işlem başarılıysa, ikinci hesaba ekleme
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Her iki işlemin de başarılı olduğunu ve hatasız olduğunu kontrol et
-- IF hata durumu THEN
-- ROLLBACK; -- Tüm değişiklikleri geri al
-- ELSE
-- COMMIT; -- Tüm değişiklikleri onayla
-- END IF;
-- Örnekte, her iki komutun başarıyla tamamlandığını varsayıyoruz
COMMIT; -- İşlemi onayla
-- ROLLBACK; -- Hata durumunda işlemi geri al