MariaDB - İşlemler
İşlemler, sıralı grup işlemleridir. Tek bir birim olarak işlev görürler ve grup içindeki tüm işlemler başarıyla yürütülene kadar sona erdirilmezler. Gruptaki tek bir hata, tüm işlemin başarısız olmasına neden olur ve veritabanı üzerinde hiçbir etkisinin olmamasına neden olur.
İşlemler ACID'ye uygundur (Atomiklik, Tutarlılık, İzolasyon ve Dayanıklılık) -
Atomicity - Arızaları iptal ederek ve değişiklikleri geri alarak tüm işlemlerin başarılı olmasını sağlar.
Consistency - Veritabanının başarılı bir işlemde değişiklikleri uygulamasını sağlar.
Isolation - İşlemlerin bağımsız işlem yapmasını sağlar.
Durability - Sistem arızası durumunda başarılı bir işlemin kalıcılığını sağlar.
Bir işlem bildiriminin başında START TRANSACTION deyimi ve ardından COMMIT ve ROLLBACK deyimleri bulunur -
İŞLEMİ BAŞLAT, işlemi başlatır.
COMMIT, verilerdeki değişiklikleri kaydeder.
ROLLBACK, herhangi bir değişikliği yok ederek işlemi sonlandırır.
Başarılı bir işlemde COMMIT harekete geçer. Bir başarısızlık durumunda, ROLLBACK harekete geçer.
Note- Bazı ifadeler örtük bir kesinliğe neden olur ve işlemlerde kullanıldıklarında da bir hataya neden olurlar. Bu tür ifadelerin örnekleri arasında, bunlarla sınırlı olmamak üzere, CREATE, ALTER ve DROP bulunur.
MariaDB işlemleri ayrıca SAVEPOINT ve LOCK TABLES gibi seçenekleri de içerir. SAVEPOINT, ROLLBACK ile kullanılacak bir geri yükleme noktası ayarlar. KİLİT TABLOLARI, belirli zaman dilimlerinde değişiklikleri önlemek için oturumlar sırasında tablolara erişimin kontrol edilmesini sağlar.
AUTOCOMMIT değişkeni, işlemler üzerinde kontrol sağlar. 1 ayarı, tüm işlemlerin başarılı işlemler olarak kabul edilmesini zorlar ve 0 ayarı, değişikliklerin kalıcılığının yalnızca açık bir COMMIT deyiminde gerçekleşmesine neden olur.
Bir İşlemin Yapısı
Bir işlem bildiriminin genel yapısı, START TRANSACTION ile başlamaktan oluşur. Bir sonraki adım, bir veya daha fazla komut / işlem eklemek, hataları kontrol eden ifadeler eklemek, bulunan hataları yönetmek için ROLLBACK ifadeleri eklemek ve son olarak başarılı işlemlere değişiklikleri uygulamak için bir COMMIT ifadesi eklemek.
Aşağıda verilen örneği inceleyin -
START TRANSACTION;
SELECT name FROM products WHERE manufacturer = 'XYZ Corp';
UPDATE spring_products SET item = name;
COMMIT;