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

เก็บ ProductPrice เพียงในตาราง Products เท่านั้น และใช้ JOIN เมื่อต้องใช้ข้อมูล
ใช้ Trigger หรือ Stored Procedure เพื่อทำให้การอัปเดตอัตโนมัติ
ไม่เก็บ Price ในตาราง Inventory แล้ว แต่เรียกข้อมูลจาก Products ทุกครั้ง
ส่วนที่ฉันแบ่งของตาราง Inventory ออกเป็นสองตารางเพื่อลดความซ้ำซ้อน

เฉลยอธิบาย

ปัญหานี้คือการทำให้ข้อมูลซ้ำซ้อน (Redundancy) ซึ่งเป็นสาเหตุของความไม่สอดคล้องกัน วิธีแก้ไขที่ดีที่สุดคือไม่เก็บ ProductPrice ในตาราง Inventory แต่เก็บเพียง ProductID และ Quantity ในการค้นหา จะใช้ JOIN เพื่อเรียกราคาจาก Products ตัวเลือก A ใช้ Trigger ได้ แต่ต้องอาศัยการอัปเดตอัตโนมัติ ตัวเลือก C ซ้ำกับ B ตัวเลือก D ไม่ชัดเจน

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

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