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

Transitive Dependency: แก้ไขโดยการแยกฟิลด์ที่ขึ้นอยู่กับ Non-Key Attribute ออกเป็นตารางใหม่ (3NF)
Transitive Dependency: แก้ไขโดยการลบฟิลด์ที่ซ้ำซ้อนออกจากตาราง
Partial Dependency: แก้ไขโดยการแยกฟิลด์ที่ขึ้นกับ Primary Key บางส่วนออกเป็นตารางใหม่ (2NF)
First Normal Form Violation: แก้ไขโดยการทำให้แต่ละฟิลด์มีค่าเดียว (Atomic Values)

เฉลยอธิบาย

ปัญหานี้คือ Transitive Dependency ซึ่งเกิดเมื่อ Non-Key Attribute ขึ้นอยู่กับ Non-Key Attribute อื่น (ชื่อลูกค้า → รหัสลูกค้า → รหัสคำสั่งซื้อ) การแก้ไขคือแยกออกเป็นตารางใหม่ตามหลัก 3NF (Third Normal Form) ตัวเลือก B ผิดเพราะ Partial Dependency คือเมื่อ Non-Key Attribute ขึ้นอยู่กับ Primary Key เพียงส่วนหนึ่ง (ในกรณี Composite Primary Key) แก้ไขด้วย 2NF ซึ่งต่างจากกรณีนี้ ตัวเลือก A ผิดเพราะชื่อถูกแต่วิธีแก้ผิด และตัวเลือก D ผิดเพราะเป็นปัญหาคนละประเภท

ข้อสอบอื่นในวิชาการวิเคราะห์และออกแบบระบบสารสนเทศ

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