شرح صفوف ومحتوى الفقرة
يلخص الجدول المرجعي التالي الفروق الجوهرية بين المشغلات القبلية (BEFORE) والمشغلات البعدية (AFTER) والأحداث المجدولة (EVENTS) في MySQL 8.4:
| الكائن المخزن | محفز التشغيل | الوصول لـ NEW وOLD | الاستخدام الهندسي الأمثل |
|---|---|---|---|
مشغل BEFORE | قبل تنفيذ INSERT أو UPDATE أو DELETE على الصف. | يمكن قراءة وتعديل NEW.col، وقراءة OLD.col. | تنقية المدخلات والتحقق الصارم وإطلاق SIGNAL SQLSTATE '45000'. |
مشغل AFTER | بعد نجاح حفظ التعديل على الصف وتوليد المعرف التلقائي. | قراءة فقط لكلا السجلين NEW وOLD. | كتابة سجلات التدقيق (Audit Logs) في جداول المراجعة المنفصلة. |
حدث ONE TIME EVENT | ON SCHEDULE AT timestamp | لا يوجد (يعمل على مستوى الجداول بالوقت). | أتمتة مهمة مستقبلية لمرة واحدة مثل إغلاق حملة ترويجية. |
حدث RECURRING EVENT | ON SCHEDULE EVERY n unit | لا يوجد (يتكرر دورياً في الخلفية). | تنظيف الجلسات المنتهية وأرشفة السجلات وتحديث الإحصائيات الدورية. |
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس إنشاء المشغلات التلقائية BEFORE وAFTER على مستوى الصف، واستخدام السجلين NEW وOLD للتنقية والتدقيق، وإيقاف العمليات الخاطئة بـ SIGNAL SQLSTATE '45000'، وجدولة المهام الزمنية في الخلفية بـ CREATE EVENT.
الخطوة التالية والدرس القادم
في الوحدة القادمة سننتقل إلى دوال النوافذ التحليلية (Window Functions) باستخدام OVER وPARTITION BY لإجراء التحليلات المتقدمة والترتيب التراكمي.