กรณีวิเคราะห์ฐานข้อมูล d470f0e708e911a8da3a18065668f581395c2af854d80fb6ec3fbefd64740afe: หากต้องออกแบบระบบ ควรคำนึงถึงความถูกต้อง ความปลอดภัย และผลกระทบเกี่ยวกับ ระบบจัดการโรงเรียนต้องการให้นักเรียนลงทะเบียนวิชาได้เฉพาะวิชาที่เปิดสอน และต้องมีที่นั่งว่าง ควรใช้กลไกใดใน DBMS เพื่อตรวจสอบเงื่อนไขเหล่านี้โดยอัตโนมัติ?
กใช้ Stored Procedure หรือ Trigger ที่ตรวจสอบสถานะวิชาและจำนวนที่นั่งก่อนบันทึกการลงทะเบียน
ขใช้ Default Value บนคอลัมน์จำนวนที่นั่ง
คใช้ Index บนคอลัมน์รหัสวิชา
งใช้ Primary Key บนตารางการลงทะเบียน
เฉลยอธิบาย
Trigger คือชุดคำสั่งที่ทำงานอัตโนมัติเมื่อมีเหตุการณ์บางอย่างเกิดขึ้น (เช่น INSERT) ซึ่งสามารถตรวจสอบเงื่อนไขทางธุรกิจก่อนบันทึกข้อมูล หรือ Stored Procedure ก็สามารถรวมตรรกะการตรวจสอบไว้ได้ ตัวเลือก A ผิดเพราะ Default Value ใช้กำหนดค่าเริ่มต้น ไม่ใช่ตรวจสอบเงื่อนไข ตัวเลือก C ผิดเพราะ Primary Key ป้องกันข้อมูลซ้ำ ไม่ใช่ตรวจสอบเงื่อนไขทางธุรกิจ ตัวเลือก D ผิดเพราะ Index ช่วยเรื่องประสิทธิภาพการค้นหาเท่านั้น