200分相送,求一个 关于朋友关系 的数据库的设计

yeah920 2007-04-03 08:51:07
http://community.csdn.net/Expert/topic/5437/5437876.xml?temp=2.039737E-02

谢谢,帮顶也有分。
...全文
243 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyu1980 2007-04-11
  • 打赏
  • 举报
回复
顶起
heyu1000 2007-04-11
  • 打赏
  • 举报
回复
有这么一个user表:
id name
------------------------------
1 A
2 B
3 C
4 D
.......

有这么一个friend表:
userID friendID
--------------------------
1 2,3,4
2 1,2,4
3 1,2
4 1

将每个人的好友都放到一个字段里面,有逗号分开,这样加一个好友的时候就去更新字段,
而不是去加一条记录,这样记录会少很多,不过程序可能会麻烦一点,不过应该也不会麻烦很多,
并且一般来说一个人不可能加10000个好友吧,这样的小概率事件可以不考虑,呵呵,
一般最多可能500个好友已经很多了,所以不用担心字段会长得不可想象。
黑名单也可以一样的设计。

还有一种思想就是根本不需要friend表,就把friend作为一个字段放到user表里面,
这样查询更新也是比较方便的,所有好友用一个符号分开编程的时候去分就OK了
startomeyhuang 2007-04-09
  • 打赏
  • 举报
回复
怎么看不见呢?郁闷
yeah920 2007-04-09
  • 打赏
  • 举报
回复
如果有1万个用户,就1万个表;
如果有10万个用户,就,,,,
十豆三 2007-04-04
  • 打赏
  • 举报
回复
每个用户一个表

四个字段(好友,陌生人,黑名单,待审批的好友申请)

好友:表示对方是自已的好友
陌生人:非好友
黑名单:不用说了吧。
待审批的好友申请:对方已加我的申请,等待我的通过或拒绝
hdevil 2007-04-03
  • 打赏
  • 举报
回复
去看看
CathySun118 2007-04-03
  • 打赏
  • 举报
回复
看了,lz的意思不是很明确
warace 2007-04-03
  • 打赏
  • 举报
回复
有意思,关注下下

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧