เมื่อวิเคราะห์ข้อกำหนดระบบสำหรับแอปพลิเคชันโซเชียลมีเดีย ต้องออกแบบเพื่อจัดเก็บข้อมูล ผู้ใช้ โพสต์ ความเห็น และการติดตาม (Follow) ความสัมพันธ์ 'ผู้ใช้ A ติดตามผู้ใช้ B' ควรออกแบบด้วยตารางอะไร

สร้างตาราง Following ที่มี FollowingID UserID FK FollowingUserID FK
เพิ่มแอตทริบิวต์ 'FollowingList' ในตาราง Users
สร้างตาราง Followers ที่มี FollowerID UserID FK
ไม่ต้องสร้างตารางแยก เพียงแค่บันทึกในตาราง Users ด้วยการเพิ่มคอลัมน์สำหรับการติดตาม

เฉลยอธิบาย

ความสัมพันธ์ 'ติดตาม' เป็น Many-to-Many ที่เชื่อมโยงกับตาราง Users ตัวอย่าง ผู้ใช้ A อาจติดตามผู้ใช้หลายคน และผู้ใช้ A ก็อาจได้รับการติดตามจากผู้ใช้หลายคน ดังนั้นต้องสร้าง Junction Table ชื่อ Following (หรือ Follows) ที่มี UserID FK (ผู้ติดตาม) และ FollowingUserID FK (ผู้ถูกติดตาม) ตัวเลือก A และ D ไม่ปฏิบัติตาม 1NF ตัวเลือก C ไม่ครบถ้วน เพราะขาด UserID ของผู้ติดตาม

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

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