กรณีวิเคราะห์ฐานข้อมูล 1d823dd9be1294ef445e6c670f16d41929b6bb4538e53e958c0a245789d7c139: หากต้องออกแบบระบบ ควรคำนึงถึงความถูกต้อง ความปลอดภัย และผลกระทบเกี่ยวกับ ในการออกแบบฐานข้อมูลสำหรับระบบจองห้องประชุม องค์กรต้องการให้ผู้ใช้สามารถจองห้องได้ แต่ต้องป้องกันการจองห้องเดียวกันมากกว่าหนึ่งครั้งในช่วงเวลาเดียวกัน และต้องตรวจสอบว่าผู้ใช้นั้นมีสิทธิ์ในการจองหรือไม่ แนวคิดใดที่เหมาะสมที่สุด?

ใช้ Stored Procedure เพื่อจัดการการจองอย่างเดียว
ใช้ Check Constraint เพื่อป้องกันการจองซ้ำซ้อน
ใช้ Trigger เพื่อตรวจสอบข้อมูลก่อนอนุญาตการจอง และใช้ Row-Level Lock เพื่อป้องกันการจองซ้ำซ้อน
ใช้ View เพื่อแสดงข้อมูลห้องว่างเท่านั้น

เฉลยอธิบาย

สำหรับการจองห้องประชุม ต้องรวมกลไกหลายชนิดเข้าด้วยกัน โดยใช้ Trigger เพื่อตรวจสอบเงื่อนไข (เช่น สิทธิ์ของผู้ใช้) และใช้ Row-Level Lock เพื่อล็อคข้อมูลห้องในช่วงเวลาจอง เพื่อป้องกันการจองซ้ำซ้อนจากผู้ใช้หลายคน ตัวเลือก B เป็นแค่การแสดงข้อมูล ตัวเลือก C เป็นส่วนหนึ่งของวิธีแก้ไข แต่ไม่ได้พูดถึง Concurrency Control และตัวเลือก D เป็นเพียงข้อจำกัดบนคอลัมน์

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

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