ในการออกแบบฐานข้อมูลสำหรับร้านค้าออนไลน์ มีตารางสินค้า (Product) ตารางคำสั่งซื้อ (Order) และตารางรายละเอียดคำสั่งซื้อ (OrderDetail) ทำไมจึงต้องมีตารางรายละเอียดคำสั่งซื้อแยกต่างหาก?

เพิ่มรายการของอีกฝ่ายเป็นหลายคอลัมน์ซ้ำกันในตารางหลักตารางใดตารางหนึ่ง
เก็บรหัสของอีกฝ่ายเป็นข้อความคั่นด้วยจุลภาคในคอลัมน์เดียวของแต่ละแถว
สร้างตารางเชื่อมที่เก็บคีย์นอกของทั้งสองฝ่ายและข้อมูลของความสัมพันธ์
คัดลอกข้อมูลเต็มของทั้งสองฝ่ายมาเก็บซ้ำในทุกแถวที่เกิดความสัมพันธ์

เฉลยอธิบาย

ความสัมพันธ์หลายต่อหลายแทนด้วยตารางที่สามซึ่งแบ่งเป็นสองความสัมพันธ์หนึ่งต่อหลาย ดังนั้นคำตอบที่เหมาะที่สุดคือ “สร้างตารางเชื่อมที่เก็บคีย์นอกของทั้งสองฝ่ายและข้อมูลของความสัมพันธ์” ส่วนตัวลวงที่ใกล้เคียงที่สุดไม่ผ่านเพราะ คอลัมน์ซ้ำมีจำนวนไม่แน่นอนและไม่สร้างความสัมพันธ์เชิงสัมพันธ์ที่เหมาะสม

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

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