ระบบต้องอัปเดตสถานะ low_stock อัตโนมัติทุกครั้งหลังยอดคงเหลือถูก INSERT หรือ UPDATE ควรกำหนดวัตถุใดในฐานข้อมูล?

สร้าง view ที่แก้ไขยอดคงเหลือในตารางฐานเองทุกครั้งที่ผู้ใช้เปิดรายงาน
สร้าง trigger ที่ทำงานหลังเหตุการณ์เปลี่ยนยอดและเรียกฟังก์ชันอัปเดตสถานะ
สร้าง index บนคอลัมน์ยอดคงเหลือแล้วให้ดัชนีเปลี่ยนค่าสถานะของแต่ละแถว
สร้าง foreign key จากยอดคงเหลือไปยังคอลัมน์สถานะเพื่อให้ค่าทั้งสองเปลี่ยนพร้อมกัน

เฉลยอธิบาย

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

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับระบบฐานข้อมูล (Database System) และ ระบบการบริหารจัดการข้อมูล (Database Management System)

ดูข้อสอบวิชานี้ทั้งหมด →