กรณีวิเคราะห์ฐานข้อมูล fc64961d69f1dea056c97ecd0e6ee6c313e1f3b9b07c135f33d3f06b1257b785: เมื่อปรับปรุงระบบ ควรป้องกันความผิดพลาด รักษาความถูกต้อง และลดผลกระทบของ ในการออกแบบฐานข้อมูลสำหรับร้านค้าออนไลน์ มีตารางสินค้า (Product) ตารางคำสั่งซื้อ (Order) และตารางรายละเอียดคำสั่งซื้อ (OrderDetail) ทำไมจึงต้องมีตารางรายละเอียดคำสั่งซื้อแยกต่างหาก?
กเพื่อเก็บข้อมูลราคาสินค้าที่เปลี่ยนแปลงตามเวลาหรือตามโปรโมชั่น
ขเพื่อความเข้าใจง่ายของผู้ใช้เท่านั้นและไม่เกี่ยวข้องกับการออกแบบ
คเพื่อแสดงความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-Many Relationship) ระหว่างคำสั่งซื้อและสินค้า
งเพื่อลดขนาดของฐานข้อมูลให้เล็กลงและประหยัดพื้นที่จัดเก็บ
เฉลยอธิบาย
ตารางรายละเอียดคำสั่งซื้อถูกสร้างขึ้นเพื่อจัดการความสัมพันธ์แบบ Many-to-Many เนื่องจากคำสั่งซื้อหนึ่งอาจมีสินค้าหลายชิ้น และสินค้าหนึ่งชิ้นอาจปรากฏในคำสั่งซื้อจำนวนมาก โดยตารางนี้เป็นตารางระดับกลาง (Junction Table) ตัวเลือก A เป็นประเด็นรองลงมา ตัวเลือก B ไม่ใช่เหตุผลทางวิศวกรรม ตัวเลือก D ไม่ใช่เหตุผลหลักสำหรับการออกแบบ