ระบบต้องอัปเดตสถานะ low_stock อัตโนมัติทุกครั้งหลังยอดคงเหลือถูก INSERT หรือ UPDATE ควรกำหนดวัตถุใดในฐานข้อมูล?
กสร้าง view ที่แก้ไขยอดคงเหลือในตารางฐานเองทุกครั้งที่ผู้ใช้เปิดรายงาน
ขสร้าง trigger ที่ทำงานหลังเหตุการณ์เปลี่ยนยอดและเรียกฟังก์ชันอัปเดตสถานะ
คสร้าง index บนคอลัมน์ยอดคงเหลือแล้วให้ดัชนีเปลี่ยนค่าสถานะของแต่ละแถว
งสร้าง foreign key จากยอดคงเหลือไปยังคอลัมน์สถานะเพื่อให้ค่าทั้งสองเปลี่ยนพร้อมกัน
เฉลยอธิบาย
Trigger เรียกฟังก์ชันที่กำหนดโดยอัตโนมัติก่อน หลัง หรือแทนเหตุการณ์ INSERT UPDATE DELETE TRUNCATE ดังนั้นคำตอบที่เหมาะที่สุดคือ “สร้าง trigger ที่ทำงานหลังเหตุการณ์เปลี่ยนยอดและเรียกฟังก์ชันอัปเดตสถานะ” ส่วนตัวลวงที่ใกล้เคียงที่สุดไม่ผ่านเพราะ View ปกติเป็น query สำหรับแสดงผลและไม่ได้ทำงานอัตโนมัติหลังเหตุการณ์เขียน