ในการทบทวนการออกแบบฐานข้อมูลของบริษัท พบว่า ตารางสินค้า (Product) มี CategoryID FK และตารางหมวดหมู่ (Category) มี ParentCategoryID FK ที่อ้างอิงถึง CategoryID ในตารางเดียวกัน (Self-Reference) นี่คือออกแบบประเภทใด และมีข้อเด่นและข้อเสียอย่างไร

เป็นการออกแบบ Redundant Relationship ที่สามารถหลีกเลี่ยงได้
เป็นการออกแบบ Recursive Relationship ข้อเด่นคือแสดงความสัมพันธ์แบบลำดับชั้น ข้อเสียคือค้นหายุ่งซับซ้อน
เป็นการออกแบบ Self-Referential Relationship ซึ่งไม่ปฏิบัติตาม 3NF
เป็นการออกแบบ Circular Reference ซึ่งไม่ควรใช้ในฐานข้อมูลที่ดี

เฉลยอธิบาย

การอ้างอิงตัวเอง (Self-Reference) ในตาราง Category ที่มี ParentCategoryID FK อ้างอิงถึง CategoryID ในตารางเดียวกัน เป็นการออกแบบ Recursive Relationship ข้อเด่นคือสามารถแสดงความสัมพันธ์แบบลำดับชั้น (Hierarchy) เช่น หมวดหมู่ย่อย หมวดหมู่หลัก ข้อเสียคือการค้นหา (Query) อาจซับซ้อน และต้องใช้ Recursive Query บางคิวรี ตัวเลือก B ใช้คำผิด Circular Reference โดยทั่วไปหมายถึงการอ้างอิงแบบวนกลับที่กำหนดไม่ได้ ตัวเลือก C ไม่ถูกต้องเพราะนี่คือวิธีเดียวในการแสดงลำดับชั้น ตัวเลือก D ไม่ถูกต้องเพราะปฏิบัติตาม 3NF ได้

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

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