AzLearn

اختبار المعاملات

Transactions Quiz

اختبار ~22 دقيقة

اختبار المعاملات — Transactions Quiz

هذا الاختبار يراجع أهم نقطة في SQL الإنتاجية: لا تفصل القرارات الحساسة عن التحديث. إذا كان المخزون يجب ألا يصبح سالباً، اجعل الشرط داخل UPDATE، وأضف CHECK, ونفذ داخل معاملة عندما تكون هناك خطوات مرتبطة.

مراجعة

query.sql

هذا نمط صغير، لكنه يحمل عقلية كبيرة: الشرط والتغيير معاً.

متى تكون المعاملة ضرورية حقاً؟

UPDATE المفرد هو بالفعل ذري (atomic) على مستوى الجملة — إما تنجح كل الصفوف المطابقة أو لا شيء. تغليفه في BEGIN/COMMIT لا يضيف شيئاً للأمان.

المعاملة تصبح ضرورية حين تكون هناك جملتان أو أكثر يجب أن تنجحا معاً أو تفشلا معاً:

query.sql

لو فشلت الجملة الثانية (مثل انقطاع الكهرباء) بعد نجاح الأولى — ROLLBACK التلقائي يُلغي كلتيهما. هذا هو جوهر Atomicity.

تحدي — Challenge