บริษัทขายสินค้าออนไลน์ต้องการออกแบบฐานข้อมูลสำหรับจัดเก็บข้อมูลลูกค้า สินค้า และใบสั่งซื้อ ความสัมพันธ์ใดที่ควรมีในระบบนี้
กสินค้าหนึ่งรายการ สามารถปรากฏในใบสั่งซื้อได้เพียงครั้งเดียว
ขลูกค้าหนึ่งราย สามารถสั่งซื้อได้เพียงครั้งเดียว และใบสั่งซื้อหนึ่งใบประกอบด้วยสินค้ารายการเดียว
คลูกค้าหนึ่งราย สามารถสั่งซื้อได้หลายครั้ง และใบสั่งซื้อหนึ่งใบประกอบด้วยสินค้าหลายรายการ
งลูกค้าหนึ่งราย สามารถสั่งซื้อได้หลายครั้ง แต่ใบสั่งซื้อหนึ่งใบประกอบด้วยสินค้ารายการเดียวเท่านั้น
เฉลยอธิบาย
ความสัมพันธ์ที่ถูกต้องคือ One-to-Many ระหว่างลูกค้า-ใบสั่งซื้อ และ Many-to-Many ระหว่างใบสั่งซื้อ-สินค้า เนื่องจากลูกค้าสามารถสั่งซื้อหลายครั้ง (One Customer : Many Orders) และในแต่ละใบสั่งซื้ออาจมีสินค้าหลายรายการ (One Order : Many Products) ตัวเลือก A จำกัดสินค้าไว้เพียงใบสั่งซื้อเดียว B จำกัดทั้งลูกค้าและรายการสินค้า และ D จำกัดใบสั่งซื้อไว้สินค้าเดียว ตัวเลือก C จึงถูกต้อง โดยควรใช้ OrderItem เป็นตารางเชื่อม Order กับ Product