类似QQ的好友关系表是怎么设计的?

我的想法
1.用户表(一个用户对应一个群组)
2.好友组表(有几个用户就有几个好友组)
3.中间表 (一个群组对应多个用户)

这样设计吗,假如有10000个用户,一个用户100个好友,中间表就100*10000条数据?

有什么好的设计吗? 只用关系型数据库

阅读 5.3k
3 个回答

虽然不符合你的要求...

但是图数据库对这种关系网络非常好用,非要用关系型数据库的话那就智能麻烦一点呗

一个用户对应多个群组(好友组),一个群组对应多个好友。一张是用户群组表,主要记录用户id以及对应的群组id,一张是群组成员表,主键关联用户群组表群组id,然后记录里对应每个好友的id。

用户和群组是多对多的关系

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题