1. 好友列表数据库设计
3种解决方法,也谈谈这三种的弊端吧!
方法:
一.每创建一个用户.自动创建一个该用户的好友用户表.每一行的记录是一个好友记录.
二.做一个Frient的表,表中有两列,第一列UID是用户ID,第二列FID是对应该用户的好友
三,在用户信息的表中,有一个字段10000长度的varchar 里边用','号分割各个好友的ID
弊端:
一:只适合少量的用户论坛,如果有100万个注册用户,就得有100万张好友表,这样当用户一多,数据库会很大!
二:这种方法是给用户注册表创建一张好友关联表,这样或许是这三种方法中最好的方式了吧,但是注意记得要添加索引,不然查询起来,数据一多,会非常慢;
三、这样在程序方面会比较麻烦,先取出来,后添加数据,再update,感觉速度会上不来...........
2. 类似qq加好友的功能数据库应该怎么设计比较合理
建议建2个表
个人表user
(id,qq)id
为序列,qq为存渣咐梁放你自己的qq号码,这样你有几个qq号简汪就有几列
好友表friend
(id,friend_qq,userid)id同样为序列,为以后业务扩充做准备,friend_qq
为好友的qq号如运,userid为个人表
user
的id,
这样2表通过userid连接,
如
select
*
from
friend
b,user
a
where
a.id=b.userid
and
a.qq=?????
就可以查出你的某个qq号对应的所有好友
3. 聊天系统的好友列表数据库如何设计
关系型数据库:个人觉得如果是单向好友,直接userid friendid groupname,直接通过userid查询列表的内容就回行。如果是双向好答友,添加两个个字段,addstatus forme 是否通过添加 好友添加方向。剩下就是userinfo表和messagelist表,非关系型数据库还真没想到比较好又科学的方法
4. 关于 QQ 好友数据库设计
针对sql server数据库来说(sql server比mysql好一些,比oracle差),如果有一个万个用户就一万张表。数据库对表数量的支持也是有限制的。
并且创建表需要有相应的级别比较高的权限,如果每注册一个用户就新建一张表,用户的权限太高了。
再次,按照你的说法,一个人假设有1000个好友,每个表也就1000条数据,相对于数据库来说,这个存储量是相当小的,没有发挥到很好的性能。sql server数据库几百万万条数据是没问题的。
最后,这样查询可能会带来方面之处,但是如果用到了存储过程,复杂的联合查询等(这些都是在数据库中常用的),你这样做就很难完成了。
所以,为何不把这些数据集中到一张表里面呢?
5. QQ 的好友分组功能在数据库中是怎样设计的
您好:
简单画了一张数据库关系图。希望能对您有所启发。
6. 好友关系数据库怎么设计的
好友关系是双向的:user1 > user2与 user2 > user1是重复的。目前业务很简单就是好友关系。预想4个字段解决:id(自增)to_user(添加用户)
form_user(被添加用户)relation(用户关系)0:好友 1:拉黑但是还是想来问问看,想多了解一下相关的思路。
7. ASP.NET网站中好友功能怎么做,数据库怎么设计
做一个表,里面字段 会员Id,要添加为好友的会员Id,状态(是否对方通过审核)。
例:
如当前会员Id为1,目标会员Id为2
当加对方为好友时。写入:
会兄隐扒员id:1,目标会员Id:2,状态:未审。同时你可以通过站内信功能通知对方。站内信里可以加链接,接受或拒绝。
当对方登录后,点击接受,则再次写入记录,当前会员Id:2,目标会员:1,状态:羡昌已审。同时更新前一条记录。的审核状态。
如果是携滚拒绝则删除对方的添加记录。就是前面的那个。同时发站内信通知会员1.
在显示我的好友时,调用出所有审核状态为通过的记录即可。
8. 数据库表设计 QQ好友间的多对多关系
1.用户表
列:抄id, 姓名, 等
2.分组表
列:id, 组名, 用户id
3.好友表
列:id, 好友id, 分组id
示例:
1.用户1 创建新分组"我的好友"
INSERT INTO 分组表 (组名, 用户id) VALUES('我的好友', 1);
2.用户1 将 用户2 添加到"我的好友"
INSERT INTO 好友表 (好友id, 分组id) VALUES(2, (SELECT id FROM 分组表 WHERE 组名='我的好友' AND 用户id=1))
3.查询 用户1 "我的好友" 分组下的全部好友
SELECT id, 姓名 FROM 用户表
WHERE id IN(
SELECT id FROM 好友表 JOIN 分组表 ON 好友表.分组id=分组表.id
WHERE 分组表.组名='我的好友' AND 分组表.用户id=1
)
9. 微博 好友关注和推送功能的数据库设计是怎么实现的底层设计
我虽然没参与过微博底层的开发,如果是我设计这个数据库的话我会用回2张表解决这个答问题
第一张表 用户信息表, 主要依靠ID主键识别用户
第二张表,关系表, 关键col3列 前两列 分别是 好友源 和 好友目标 ,第三列是 关系状态
然后加了好友 只要不断地 在第二张表加入 新行 比如
用户A,用户C ,好友
用户A,用户B ,黑名单
用户B,用户A, 好友
如果是QQ这类 检索关系时候 0, 1字段一起搜索ID 就是互为好友
微博这种 就是单向的 关注。
大概就是这样的模型
可能的问题是用户过多时候表2可能会非常巨大。检索速度可能会受影响
用资源换效率的方式
还可以每个用户一张表
10. 【 数据库设计】好友关系表该如何去设计
单独设计一张表
两个字段 我的id (local_user_id) 好友的id(remote_user_id) 编号(rela_id)可有可无