请问一下类似QQ的好友关系表是怎么设计的?
难道只是简单的id,userId,friendId吗?
我这边做设计的时候,是考虑了群组的功能的,所以将两个人的好友关系也转换为了群组
整个应该会出现三张表
一个是用户表
一个是群组表
一个是用户-群组对应关系表
通过三张表来确定的
应该是多对多关系。
1个用户可以有多个好友。
也可以被多个用户加为好友。
多对多关系,在关系型数据库里面,一般使用中间表来实现。
这时候中间表一般只存用户ID和好友ID。但是便于业务实现,可以在中间表加上是否验证通过、好友分组ID、排序编号等、
这个多对多中间表和一般多对多不同的地方在于,这个的关联表是自身。也就是user表对user表的多对多关联。
我以前就有这样简单的设计过,但是具体还是看你的需求而行。
1、用户表
id,name
例如数据:
1,张三
2,王二
2、好友表
id,u_id,c_id
例如数据
1,1,2 (代表) 张三 加了 王二
2,2,1 王二 加了 张三
比较简单的想法,希望对你有帮助。
4 回答1.6k 阅读✓ 已解决
8 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
4 回答2.1k 阅读
2 回答1.7k 阅读
1 回答937 阅读✓ 已解决
其实没有必要把事情想得太复杂了,按照需求慢慢递进就可以了。
这是我做关注功能的表结构,可以参考一下。