บริษัทโลจิสติกส์ต้องการออกแบบฐานข้อมูลสำหรับติดตามพัสดุ โดยพัสดุหนึ่งชิ้นอาจผ่านหลายสถานีขนส่ง และแต่ละสถานีมีพัสดุหลายชิ้นที่ผ่านในช่วงเวลาต่างกัน ควรออกแบบตารางอย่างไร
กตารางสถานีที่มีคอลัมน์ ParcelList เก็บรายการพัสดุทุกชิ้นที่ผ่านสถานีนั้น
ขตารางพัสดุ ตารางสถานี และตารางการเคลื่อนย้าย (MovementID PK ParcelID FK StationID FK ArrivalTime DepartureTime)
คตารางพัสดุที่มีคอลัมน์ StationList เก็บรายการสถานีทั้งหมดคั่นด้วยจุลภาค
งตารางพัสดุ (ParcelID PK) และตารางสถานี (StationID PK) โดยเพิ่ม StationID FK ในตารางพัสดุ
เฉลยอธิบาย
ความสัมพันธ์นี้เป็น Many-to-Many ระหว่างพัสดุและสถานี และยังต้องเก็บข้อมูลเพิ่มเติมของแต่ละการเคลื่อนย้าย (เวลาเข้า-ออก) ซึ่งต้องใช้ตารางเชื่อมที่มีแอตทริบิวต์เพิ่มเติม ตัวเลือก A ผิดเพราะแสดงความสัมพันธ์เป็น 1:N เท่านั้น ตัวเลือก C และ D ละเมิด 1NF เพราะเก็บหลายค่าในคอลัมน์เดียว