لماذا يهم هذا الدرس؟

فهم مفهوم Transaction وربطه بمثال علائقي عملي واضح. تجعل Transactions مجموعة Statements تنجح أوتفشل كوحدة واحدة. ينشر COMMIT العمل ويلغيه ROLLBACK وتحمي Concurrency Controls الحالة المشتركة من Transactions المتداخلة.

كيف تفكر فيه؟

  • في درس مفهوم Transaction، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
  • في سياق مفهوم Transaction، الخطر الذي يجب أن يبقى تحت السيطرة: قراءة قيمة ثم تحديثها لاحقًا بلا Transaction أوLock مناسب قد تسبب Lost Update عندما تعمل جلستان بالتزامن.
  • تطبيق مفهوم Transaction: انقل قيمة بين Rowين داخل Transaction وافرض خطأ لاختبار Rollback ثم حاك Concurrent Update مع Row Lock.
Diagram

دورة Transaction

تطبيق عملي

في التطبيق الخاص بدرس مفهوم Transaction: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.

example.sqlsql
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

جرّب بنفسك

Practice

تمرين مفهوم Transaction

انقل قيمة بين Rowين داخل Transaction وافرض خطأ لاختبار Rollback ثم حاك Concurrent Update مع Row Lock.

  • سجل النتيجة المتوقعة قبل التنفيذ
  • اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
  • اشرح في سطرين أين يوجد الحد المسؤول عن القرار

الخلاصة