hun*_*aub 3 database-design relational-database jointable
所以,好友列表的现代概念:
假设我们有一个名为Person的表.现在,那个人需要有很多好友(其中每个好友也属于人类).构建关系最明显的方法是通过连接表.即
buddyID person1_id person2_id
0 1 2
1 3 6
Run Code Online (Sandbox Code Playgroud)
但是,当用户想要查看他们的好友列表时,该程序必须检查列'person1_id'和'person2_id'以找到他们所有的好友.
这是实现这种表的适当方式,还是两次添加记录更好..即
buddyID person1_id person2_id
0 1 2
1 2 1
Run Code Online (Sandbox Code Playgroud)
因此只需要搜索一列.
提前致谢.
这里有几种可能的情况.
首先,您需要确定好友关系是否可以是一种方式.A人可以成为B的伙伴而B不是A的伙伴吗?我不会假设,但值得明确.
常识会建议您查询的内容多于更新关系.因此,为此优化您的数据.在创建伙伴关系时,创建两个recrods:A到B,B到A.这将使查询变得微不足道.所以,是的,按照你已经考虑过的两个记录.