
المعاملات في قواعد البيانات: حفظ خطوات مترابطة كوحدة واحدة
تسجيل دفعة قد يغير عدة سجلات: إنشاء حركة مالية، تحديث الإجمالي وربطها بالفاتورة. إذا نجحت خطوة وفشلت أخرى، تصبح البيانات متناقضة. المعاملة تساعد على…
تسجيل دفعة قد يغير عدة سجلات: إنشاء حركة مالية، تحديث الإجمالي وربطها بالفاتورة. إذا نجحت خطوة وفشلت أخرى، تصبح البيانات متناقضة. المعاملة تساعد على التعامل مع الخطوات المرتبطة ضمن حدود محددة.
حدد الوحدة التي يجب أن تنجح كاملة
اكتب ما يجب حفظه معًا، وما يمكن تنفيذه بعد الحفظ. إرسال البريد مثلًا لا يعادل كتابة سجل في قاعدة البيانات؛ قد ينجح الإرسال ثم ينقطع الاتصال. فصل الإشعار عن القرار المحفوظ يجعل إعادة المحاولة أوضح.
انتبه للتنفيذ المتزامن
موظفان قد يسجلان دفعة في الوقت نفسه، أو يكرر المتصفح الطلب. راجع كيفية قراءة المبلغ المتبقي وحماية السجل أثناء التحديث. استخدم قيودًا أو آلية منع تكرار مناسبة لمنطق العمل، ولا تعتمد على تعطيل الزر في الواجهة وحده.
مثال اختبار
في بيئة تجريبية، اجعل خطوة لاحقة تفشل عمدًا وتأكد أن السجلات السابقة لا تبقى جزئيًا. كرر الطلب نفسه وتحقق من عدم إضافة حركة ثانية. ثم جرب طلبين مختلفين متزامنين وراجع النتيجة الحسابية.
- اجعل المعاملة قصيرة دون أعمال شبكة طويلة داخلها.
- تعامل مع الفشل والاسترجاع بشكل صريح.
- وثق القيود التي تحمي صحة الأرقام.
- اختبر محرك الجداول المستخدم وإمكاناته.
راجع التحكم في المعاملات في MySQL عند التنفيذ. التصميم الجيد يجمع أدوات القاعدة مع قواعد العمل واختبارات التكرار والتزامن.

▢ التعليقات (0)