บริษัทโลจิสติกส์ต้องการออกแบบฐานข้อมูลสำหรับติดตามพัสดุ โดยพัสดุหนึ่งชิ้นอาจผ่านหลายสถานีขนส่ง และแต่ละสถานีมีพัสดุหลายชิ้นที่ผ่านในช่วงเวลาต่างกัน ควรออกแบบตารางอย่างไร

ตารางสถานีที่มีคอลัมน์ 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 เพราะเก็บหลายค่าในคอลัมน์เดียว

ข้อสอบอื่นในวิชาความรู้ความสามารถในการวิเคราะห์ ออกแบบ ฐานข้อมูล

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