在给别人做交友网站时候遇到两个有关数据库设计的问题,以前没有弄,请高手解答。
问题一:
查看对方联系方式的权限:客户要求会员之间是不可以随便查看联系方式的,查看联系方式要申请,并支付网站一定费用后有权查看,那么就面临着要设计一个表来存放好友之间查看联系方式的数据。我的做法:
表里面两个字段,一个为用户ID,一个为有权查看的用户ID,就目前为止,我的水平只能这样做。
但这样做的问题是数据量是成几何增长的。比如A可以查看B、C、D、E的联系方式那么就有4条记录,反过来,如果这4个用户也有权查看A的联系方式,那么就是有8条记录,更甚者,这4个用户之间互相也有权查看对方的联系方式。如果有N个会员之间是可以互相查看对方联系方式的那么就是有(n-1)*n条记录。
如果有10000个用户,那惨了,有99990000条记录。那不是急死人了吗?求教高手帮忙优化设计。
问题二:
好友关系链问题,比上面那个还复杂:
B是A的好友,c是B的好友,那么C也是A的好友,依此类推,这样的表要怎么设计。请教高手了。
问题一:
查看对方联系方式的权限:客户要求会员之间是不可以随便查看联系方式的,查看联系方式要申请,并支付网站一定费用后有权查看,那么就面临着要设计一个表来存放好友之间查看联系方式的数据。我的做法:
表里面两个字段,一个为用户ID,一个为有权查看的用户ID,就目前为止,我的水平只能这样做。
但这样做的问题是数据量是成几何增长的。比如A可以查看B、C、D、E的联系方式那么就有4条记录,反过来,如果这4个用户也有权查看A的联系方式,那么就是有8条记录,更甚者,这4个用户之间互相也有权查看对方的联系方式。如果有N个会员之间是可以互相查看对方联系方式的那么就是有(n-1)*n条记录。
如果有10000个用户,那惨了,有99990000条记录。那不是急死人了吗?求教高手帮忙优化设计。
问题二:
好友关系链问题,比上面那个还复杂:
B是A的好友,c是B的好友,那么C也是A的好友,依此类推,这样的表要怎么设计。请教高手了。
解决方案 »
- 急求!VB连接SQL采用WINDOWS信任连接时的问题!!
- 如何在SQL顺序显示最后输入的20条记录
- sqlserver 2005中如何创建一个普通用户nmsdb 对master库中的视图sys.sysperfinfo 具有select 权限,sp_monitor 具有exec 权限?
- 一个计算排名的问题,也许高手能实现,也许实现不了...欢迎讨论!
- 求高手解答!
- 小弟请教 charindex()的用法,请各位帮忙!!
- 有个棘手的问题!类似行转换列,数据库是SQL2005,如果谁把这个不限制列数目的也解决了,那O在CSDN放分7天,答对的人回帖优先得分
- 求教一条Update的语句的写法
- 请sql server DBA 看过来!
- 无唯一关键字的表如何实现分页查询?(在线等待,急急急)
- 如何迭代sql update语句更新的记录?
- SQLSERVER 连接一段时间无交互后自动被关闭
问题2: 用树结构表示,如 id,parentid
仅供参考,非高手