类似QQ好友的设计,已经有一张表用来保存用户了,我朋友教我说还要一张表跟这个表关联,保存某个用户好友的,我的问题是这个表怎么做?怎么跟已经有的用户表关联,才可以通过用户表里的ID(主键)查询到这张表(用户的好友表)的内容?
不知道我说清楚没,就是跟QQ的用户,与用户的好友那种设计。

解决方案 »

  1.   

    类似于:好友表(用户ID,好友ID,好友分组,好友昵称,是否隐身可见)
      

  2.   

    楼主的问题有点让人摸不清头脑,之前了解 设计范式 或者 SQL操作么?如果了解的话,用户表和好友表,借助(用户ID,好友ID)应该说非常容易进行关联啊。
      

  3.   

    如果楼主希望像QQ那样,我建议完全可以在用户表中再加上一列,这一列保存的是该用户的所有朋友的Id,Id之间用逗号或者其他符号分隔开,这样虽然没有遵守数据库设计范式,但是却有其他好处。而且很可能QQ的表就是类似这样设计的,因为我们每次登陆后,如果网络流量不是特别好的话,发现朋友列表很多信息都没有呈现出来。也就是说当用户登陆时,只查询用户表,把该用户的所有数据都拿到客户端,然后再在客户端采用异步方式再去取朋友的相关信息,这种设计避免了关联表扩张的问题。当然了,我分析的纯属个人之见,很可能不对。给楼主提一种实现思路吧,希望能帮上楼主,之前我们的一张表也是这样设计的,效果不错。