所以,好友列表的现代概念:
假设我们有一个名为 Person 的表。现在,那个 Person 需要有很多伙伴(其中每个伙伴也在 person 类中)。构建关系的最明显方法是通过连接表。
即
buddyID person1_id person2_id
0 1 2
1 3 6
但是,当用户想要查看他们的好友列表时,程序必须检查“person1_id”和“person2_id”列以找到他们所有的好友。
这是实现这种表的合适方法吗,还是将记录添加两次会更好......即
buddyID person1_id person2_id
0 1 2
1 2 1
因此只需搜索一列。
提前致谢。
最佳答案
这里有几种可能的情况。
首先你需要确定好友关系是否可以是单向的。如果 B 不是 A 的好友,A 可以成为 B 的好友吗?我假设不会,但值得明确说明。
常识会建议您查询多于更新关系。因此,为此优化您的数据。创建好友关系时,创建两个记录:A 到 B 和 B 到 A。这将使查询变得微不足道。所以是的,按照您已经考虑的那样使用这两个记录。
关于database-design - 好友列表 : Relational Database Table Design,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058281/