qq数据库设计
⑴ 求一个QQ空间留言板的数据库设计思路
id 留言ID
userid 用户ID,标示该条留言谁发的
parentid 上一级的留言ID,如果是最高级的(新发的留言) 上级为0, 如果该条留言是 id为56的 留言的回复,则其上级parentid为56。
contents 留言内容
time 留言时间
⑵ QQ数据库表设计
随心所欲
⑶ 关于 QQ 好友数据库设计
针对sql server数据库来说(sql server比mysql好一些,比oracle差),如果有一个万个用户就一万张表。数据库对表数量的支持也是有限制的。
并且创建表需要有相应的级别比较高的权限,如果每注册一个用户就新建一张表,用户的权限太高了。
再次,按照你的说法,一个人假设有1000个好友,每个表也就1000条数据,相对于数据库来说,这个存储量是相当小的,没有发挥到很好的性能。sql server数据库几百万万条数据是没问题的。
最后,这样查询可能会带来方面之处,但是如果用到了存储过程,复杂的联合查询等(这些都是在数据库中常用的),你这样做就很难完成了。
所以,为何不把这些数据集中到一张表里面呢?
⑷ 数据库表设计 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
)