WEB开发网
开发学院数据库MySQL 基于MySQL的BBS设计(3) 阅读

基于MySQL的BBS设计(3)

 2005-11-06 17:13:38 来源:WEB开发网   
核心提示: 5,版面模块设计 所谓分类,基于MySQL的BBS设计(3)(2),更多的是为telnet服务端考虑的,在cq66模式下,效果也 是和modifyboardinfo一样,一个版的分类属性可以为空,用户可以按照自己的意愿进行分类,反正最后都是直接以版为基本单位访问的
5。版面模块设计

   所谓分类,更多的是为telnet服务端考虑的,在cq66模式下,用户可以按照自己的意愿进行分类,反正最后都是直接以版为基本单位访问的。
  对于版面文章的访问,存放的时候以整篇文章为参数,文章的分块由本层完成,如果上层以块为单位传送,则在上层全部传完,组合后,再传参到本层分解;在读取 的时候,本层则以块为单位访问,如果上层要以全文为单位访问,则在上层做合并 工作,本层不管。
  至于要不要独立出索引,不影响上层的操作,主要和下层的数据库构造有关,主要考虑可行性,效率需求等。
  权限的检查放在哪里进行呢?还是放在上层吧,其实就telnet服务器端,和cq66 的客户端,根本不会给一般用户显示特殊指令的菜单,当然,用户可以直接发送cq66 的指令,服务器方还是要检查的。但应该不用在它下面的功能模块层再检查一次吧 。

Class BoardManage {
private:

public:
// 有关分类的操作
int GetClassNameInfo( int maxclass, char **classid,
char ** classname );
返回分类的信息,中英文名。
int GetBoardName( int maxboards, char *classid,
char **boardname );
返回某分类中的版面信息,一般分类,直接select ..
from sboard
where boardclass == .... 特殊分类则查相应的表。。。。

// 修改需要版面管理员以上的特权
int NewClass( char * newclassname, int type );
新建分类,普通分类还是特殊分类,
int DeleteClass( char *newclassname );
删除分类,但不cascade,即本层不负责一致性,由上层负责将
相应的版面的分类信息改为别的。分类改名也是先删再建,
int AddClassBoard( const char *classname, char *newboardname );
将已建好的版加入某分类中,专门针对特殊分类,对一般分类,其
效果和modifyboardinfo一样,
int DeleteClassBoard( const char *classname, char *boardname );
从分类中删除某个版,也是针对特殊分类,对一般分类,效果也
是和modifyboardinfo一样,一个版的分类属性可以为空,即不属
于任何分类。

Tags:基于 MySQL BBS

编辑录入:coldstar [复制链接] [打 印]
赞助商链接