我目前正在一个社交网站上工作。 (是的,我知道,这里有一大堆,我不是想让Facebook全部结束)设计一个与用户之间的关系表的好方法是什么?
我想知道如果有人能告诉我,我的思维方式如何,或者如果它是它实际上完成了。
我想让用户能够拥有朋友。而且,对于这一点,我想我应该有一个用户表像这样: USER
- 的uId
- 的userName
- 电子邮件
- 等。
这大概应该是一个1:N的关系,所以我认为表格“联系人”应该包含用户和他们的朋友列表,如下所示:联系人
- UID(从USER)
- FriendId(来自USER表)
- 友谊类型ENUM [活动,不活动,待定]
难道是进行排序UID该表中的一个有效的解决方案,以便查询结果看起来类似于此:
uID | friendId
1 | 2
1 | 6
1 | 97
75 | 1
75 | 34
等
还是有这个任何不同的解决方案?
你能解释一下你的意思是“这将是这个排序表中的有效的解决方案......”。更具体地说,你为什么要排序数据呢?你是否在查询表并返回大量行,并使用不同的uID? – csjohn
我想知道这是否会成为选择与给定uId相关联的朋友的有效方式,或者如果随着表越来越大,它将成为db上的一大负担?而且,如果是这样,是否有更好的方法来进行查询? –
这取决于你的需要,如果你想获得与特定用户有关的记录没关系,但作为排序点,如果记录在表中增加,则需要时间对记录进行排序。 – punit