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

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

كيف تفكر فيه؟

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

تطبيق عملي

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

example.sqlsql
BEGIN;
UPDATE inventory SET quantity = quantity - 1 WHERE product_id = 9;
-- COMMIT when all checks pass; otherwise ROLLBACK;
ROLLBACK;

جرّب بنفسك

Practice

تمرين COMMIT وROLLBACK

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

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

الخلاصة