数据库设计是比较重要的工作,只有熟悉了解项目的各种逻辑业务,才可能把数据库尽可能完整地设计出来。但对于我这种不是神级程序猿来说,大多时候在后面测试的时候还是需要对数据库进行改动的。
现在我觉得,对于不是很复杂的项目,是可以很快把数据库设计搞定的。抓住一个重点,先把各页面功能写清楚,每个页面每个功能各操作什么数据(也就是所关联的数据库表),当把这些理清楚之后,其实数据库设计就是用来参考、记录与维护的。
这是我第一次做这类“信息发布”类的项目(之前觉得这类源码一抓一把,没必要再做了),对于之间的数据关系,也没做什么参考,就直接按照目前的理解来做吧。
一: 数据库表
1 T_User:Id,QQ,Role //记录登陆过的用户,标记角色
2 T_UserMessage:UserId,OpenId,AccessToken,HeadPic,Name,Gender,PhoneNum,Address //用户详情。此表暂不启用(OpenId,AccessToken是QQ登录用来唯一标识QQ用户的)
3 T_BBSClassify:Id,Classify //论坛的类型。
4 T_BBS:Id,Name,UserId,BBSClassifyId //论坛。名字,拥有者,论坛类型
5 T_BBSSection:Id,BBSId,Name,Weight,Intro,Pic //论坛版块。对应论坛,版块名称,显示权重,简介,图标
6 T_Moderator:Id,UserId,BBSSectionId,Rank //版主。管理的论坛版块,管理级别(暂时不用。Single单个版块管理,Multiple多个版块管理,SingleBanToPost单个版块且只有禁言权限。……)
7 T_Artide:Id,UserId,Title,Content,Time //文章。用户文章标题,内容,发布时间
8 T_ArtideList:Id,UserId,BBSSectionId,Title,Intro,ArticleId,Weight,Time //文章列表。用户文章标题,简介,权重,发布时间
9 T_Comment:Id,UserId,ArtideId,Comment,Time //评论。
二:数据库表之间的关系
三:数据库表与页面间的关系