مفهوم Trigger في قواعد البيانات

من المفاهيم المهمة في قواعد البيانات هو Trigger (طبعا ترجمته للعربي تنطي غير معنى ) ، هذا قصته مشابهه لStored Procedure (واذا ماعندك فكرة عنها فعادي ).
خلي نتخيل سيناريو معين ، عندك جدول معين بقاعدة البيانات ،وتريد كلما تعدل على بيانات بداخله يحفظ البيانات الجديدة والقديمة ! طبعا هذا السيناريو يتعلق ب  Versions يعني تحتفظ بأكثر من نسخة للبيانات الي صارت عليها تغييرات .
المهم بالطرق التقليدية لحل هذا السيناريو تسوي جدول ثاني ، وتربطه بالجدول الاساسي بعلاقة one to many ، وبعدين عند اي تحديث تعمل اضافة insert للجدول الثاني  قبل استعلام update على الجدول الاول.
هنا لو ردنا نطبق مفهوم Trigger فممكن تكتب كود(مثلا اضافة للجدول الثاني ) وعند اي تعديل يصير على الجدول الاول فأن الكود يشتغل بصورة تلقائية .
هذي فكرة  trigger انو يكون عندك كود يشتغل كلما يصير حدث على جدول معين ، والحدث نقصد مثلا اضافة سجل ، حذف سجل او تعديل على سجل (هذا النوع من التريجر يسموه DML ) ، او عند حذف جدول ، اضافة جدول ، او التعديل على جدول (وهذا النوع يسموه DDL Trigger ).

أضف تعليق