ฐานข้อมูลของห้างสรรพสินค้ามีตารางสินค้าและตารางหมวดหมู่ เมื่อผู้ดูแลระบบพยายามลบหมวดหมู่ที่ยังมีสินค้าอยู่ DBMS ควรทำอย่างไร?
กลบหมวดหมู่โดยไม่สนใจว่ามีสินค้าอยู่หรือไม่ โดยถือว่าเป็นแนวทางหลักที่หน่วยงานควรใช้ในทุกกรณี
ขปฏิเสธการลบเพราะจะทำให้เกิด Referential Integrity Violation หรือลบสินค้าในหมวดหมู่นั้นพร้อมกัน (CASCADE)
คเปลี่ยนสถานะสินค้าทั้งหมดในหมวดหมู่นั้นเป็น 'ไม่ใช้งาน' โดยไม่ต้องพิจารณานโยบาย บทบาท หรือความเสี่ยงด้านข้อมูลเพิ่มเติม
งย้ายสินค้าทั้งหมดไปยังหมวดหมู่อื่นโดยอัตโนมัติ โดยถือว่าเป็นแนวทางหลักที่หน่วยงานควรใช้ในทุกกรณี
เฉลยอธิบาย
Referential Integrity คือความสมบูรณ์เชิงอ้างอิง ซึ่ง DBMS จะปฏิเสธการลบข้อมูลในตารางแม่ (หมวดหมู่) ที่ยังถูกอ้างอิงโดยตารางลูก (สินค้า) เว้นแต่จะตั้งค่า ON DELETE CASCADE เพื่อลบข้อมูลที่เกี่ยวข้องพร้อมกัน ตัวเลือก A ผิดเพราะจะทำให้เกิด Orphan Record ในตารางสินค้า ตัวเลือก C ผิดเพราะ DBMS ไม่มีกลไกย้ายข้อมูลอัตโนมัติ ตัวเลือก D ผิดเพราะการเปลี่ยนสถานะเป็นตรรกะทางธุรกิจ ไม่ใช่พฤติกรรมมาตรฐานของ DBMS