首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查询用户有哪些好友,数据库怎么设计实现

2012-02-03 
查询用户有哪些好友,数据库如何设计实现请教各位我想做一个类似于qq、msn的程序,请问关于用户好友方面数据

查询用户有哪些好友,数据库如何设计实现
请教各位我想做一个类似于qq、msn的程序,请问关于用户好友方面数据库该如何设计优化。
比如一个用户拥有多个好友,是采用一张好友表,所有用户的好友都放在其中,然后每个好友都对应一个用户,还是每个用户都单独有一张他自己拥有的好友表,哪种更好呢?
此外,当一个用户的好友可能也是其他用户的好友,在数据库中采取什么方式来表示更有效率呢?
现在很多网站也有好友圈,用户有自己的好友列表,我想知道数据库是如何设计实现的?



[解决办法]
创建一个表(用户ID,好友ID,邀请状态,邀请日期,...)
其中,“用户ID”和“好友ID”体现的是一种双向的好友关系,即用户ID是好友ID的好友,同时好友ID也是用户ID的好友。
[解决办法]
1.用户是好友,好友也是用户
2.用户有不少的字段(例如:姓名,电话等等)
所以写一张表里,太多的重复字段,太浪费数据库资源了
写两张表
1.用户表(用户ID,姓名,电话等等)
2.用户好友联系表(用户ID,好友ID)其实都是用户的ID
我只说明这么多了,往下怎么走,看着办?
[解决办法]
用户 A,B,C,D,E,F (这些都是数字ID)
好友关系表
id(自动) uid(索引) fid (uid+fid 聚集索引)
1 A B
2 A C
3 B A
4 B D
5 C A
6 D B



[解决办法]
两个表

表1
------------------
用户编码 用户名称 ......

表2
------------------
用户编码 好友编码

热点排行