เมื่อออกแบบฐานข้อมูลร้านค้าออนไลน์ สร้างตาราง "ตะกร้าสินค้า" ด้วยฟิลด์ (ตะกร้า_ID, ลูกค้า_ID, สินค้า_ID, จำนวน) ปัญหาคืออะไรเมื่อลูกค้าเพิ่มสินค้าเดียวกันเข้าตะกร้าหลายครั้ง
กจะมีแถวซ้ำหลายแถวในตาราง ทำให้สูญเปลืองพื้นที่จัดเก็บข้อมูลอย่างมาก
ขคีย์หลักควรเป็น (ลูกค้า_ID, สินค้า_ID) เพื่อให้แต่ละสินค้ามีแถวเดียวในตะกร้าของลูกค้า
คเนื่องจากไม่มี Primary Key สำหรับการระบุตัวตนของแต่ละแถวในตาราง
งไม่มีปัญหาในการออกแบบ การเพิ่มหลายครั้งจะทำให้จำนวนสินค้าเพิ่มขึ้นอย่างถูกต้อง
เฉลยอธิบาย
เมื่อกำหนด Primary Key เป็น (ลูกค้า_ID, สินค้า_ID) จะป้องกันให้แต่ละสินค้ามีแถวเดียวเท่านั้นในตะกร้าของลูกค้า เมื่อลูกค้าเพิ่มสินค้าเดียวกันหลายครั้ง ระบบจะอัปเดตคอลัมน์ "จำนวน" แทนการสร้างแถวใหม่