- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于BBS数据库的设计
关于数据库的设计一个简单的论坛系统 1:包含下列信息: 2:每天论坛访问量300万左右,更新帖子10万左右。 请给出数据库表结构设计,并结合范式简要说明设计思路。 一. 发帖主题和回复信息存放在一张表,并在这个表中增加user_name字段 对数据库的操作而言,检索数据的性能基本不会对数据造成很大的影响(精确查找的情况下),而对表与表之间的连接却会产生巨大的影响, 特别在有巨量数据的表之间;因此对问题的定位基本可以确定:在显示和检索数据时,尽量减少数据库的连接以及表与表之间的连接;
引用
1: user:用户基本信息表 字段有:user_id,user_name,email,homepage,tel,add... 2: forum_item:主题和回复混合表 字段有:id,parent_id,user_id,user_name,title,content,
parent_id=0或者null表示是主题,否则=n表示是id=n那条帖子的回复 UserName字段是冗余的,因此在用户修改UserName的时候就会产生同步数据的问题,这个需要程序来进行弥补 二. 主题表和主题回复分开保存
引用
1: user:用户基本信息表 字段有:user_id,user_name,email,homepage,tel,add... 2: forum_topic:主题表 字段有:id,user_id,title,content, 3: forum_topic_back:主题回复表 字段有:id,topic_id,user_id,title,content,
三. 主题表的内容单独设计成一个表
引用
1: user:用户基本信息表 字段有:user_id,user_name,email,homepage,tel,add... 2: forum_topic:主题表 字段有:id,user_id,title, 3: forum_topic_content:主题内容表 字段有:id,topic_id,content 4: forum_topic_back:主题回复表 字段有:id,topic_id,user_id,title,content,
四.用户信息分2个表保存,并对相关表进行分表处理
引用
1: 简单用户表 tb_user: id , username 2: 用户详细信息表 tb_userinfo id,userid , email , homepage , phone , address ... 3: 论坛主题表 tb_bbs id , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime 4: 论坛内容标 tb_bbs_content (此表可按照bbsid进行分表存储) id,bbsid , content; 5: 论坛回复表 tb_bbs_reply (此表可按照bbsid进行分表存储) id , bbsid , userid , content , replytime , ip
五.增加一个主题缓存表,取每个区的前面100条记录
引用
1: 简单用户表 tb_user: 字段有:id , username 2: 用户详细信息表 tb_userinfo 字段有:id,userid , email , homepage , phone , address ... 3: 论坛主题表 tb_bbs 字段有:id , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime 4: 论坛内容标 tb_bbs_content (此表可按照bbsid进行分表存储) 字段有:id,bbsid , content; 5: 论坛回复表 tb_bbs_reply (此表可按照bbsid进行分表存储) 字段有:id , bbsid , userid , content , replytime , ip 6: 主题缓存表 tb_bbs_cache 字段有:id , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime
下面是针对上面的方案展开的讨论: 1:方案一表面上看起来好像少查了一张表,但由于冗余,因为帖子数量极大,会占用大量的空间。这种数据量大,但是对实时和数据绝对安全性要求较低的应用,大量使用缓存的话可以极
文档评论(0)