لماذا يهم هذا الدرس؟
فهم أساسيات التزامن وربطه بمثال علائقي عملي واضح. تجعل Transactions مجموعة Statements تنجح أوتفشل كوحدة واحدة. ينشر COMMIT العمل ويلغيه ROLLBACK وتحمي Concurrency Controls الحالة المشتركة من Transactions المتداخلة.
كيف تفكر فيه؟
- في درس أساسيات التزامن، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
- في سياق أساسيات التزامن، الخطر الذي يجب أن يبقى تحت السيطرة: قراءة قيمة ثم تحديثها لاحقًا بلا Transaction أوLock مناسب قد تسبب Lost Update عندما تعمل جلستان بالتزامن.
- تطبيق أساسيات التزامن: انقل قيمة بين Rowين داخل Transaction وافرض خطأ لاختبار Rollback ثم حاك Concurrent Update مع Row Lock.
تطبيق عملي
في التطبيق الخاص بدرس أساسيات التزامن: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
example.sqlsql
BEGIN;
SELECT quantity FROM inventory WHERE product_id = 9 FOR UPDATE;
UPDATE inventory SET quantity = quantity - 1 WHERE product_id = 9;
COMMIT;جرّب بنفسك
تمرين أساسيات التزامن
انقل قيمة بين Rowين داخل Transaction وافرض خطأ لاختبار Rollback ثم حاك Concurrent Update مع Row Lock.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
