基于mysql的bbs设计(二)


Posted in PHP onOctober 09, 2006

3。数据库设计
  关键还是mysql的效率问题,合理分配mysql的内存,特别是table cache的
大小。另外,当系统突然掉电呢?mysql是否robust?
  table的名字设计,采用一位前缀表明类型,全部用小写表示(?),例如:
系统的数据库,以s为前导,如用户表:suser(sUSER 呢?),具体如下:
  s :系统表,suser,sclass
  m :用户信件表,msysop,mdrangon
  w :用户消息表,wsysop,wdrangon
  a :版面索引表,alinux,acampus
  b :版面文章表,blinux,bcampus
  c :特殊分类版面表,cnewboard
  i :精华区索引表,ilinux,ilinux01,icampus,icampus04
  j :精华区文章表,jlinux,jcampus,

  另外,是使用字串还是数字作为标识呢?例如,一个叫sysop的帐号,其
id是1,他的信的表是msysop还是m00001呢?同样,一个叫campus的版,对应的
代码是5,则这个版的文章的表名是bcampus还是b00005呢?可能用字串会容易
理解,查错吧。

  用户信息表:suser
  usernum int unique, // 唯一标识符,最多30000个帐号,会不会太少了?
  userid char[20] primary key, // 排序的关键字,id,全小写。
  passwd char[20], // 密码,存放加密后的密文。
  realid char[20], // 实际id,大小写混合。
  username  char[24], // 用户的泥称
  userlevel  longint,  // 64种权限?
  numlogins  int,
  numposts  int,
  firstlogin time,
  lastlogin  time,
  staytime  time,    /* 总共停留时间 */
  lasthost  char[32],
  email    varchar[100],
  address   varchar[100],
  // 还需要其他数据吗?是否需要留出一定的保留值,以后alter table来
  // 增加新的字段时,效率如何?

  版面分类表:sclass
  classnum  int unique, // 分类标识
  classid   char[20],  // 分类的英文id:computer
  classname  varchar[100],// 分类的中文描述:电脑世界
  classtable char[20],  // 特殊分类对应的版面表
  // 一般来说,每个版面只属于一个分类,对于特殊分类,例如拳头版块,
  // 新版面,可以用专门的表来描述

  版面表:sboard
  boardnum  int unique,   // 版面的标识(需要吗?)
  boardid   char[20],    // 版面的英文名
  boardname  varchar[100],  // 版面的中文名
  boardclass char[20],    // 版面所属分类
  boardsysop varchar[100],  // 斑竹名单
  boardposts int,      // 版面的文章数
  boardlevel int,      // 版面的读写权限
  indextable char[20],    // 版面对应的索引表的名称:aboardid?
  texttable  char[20],    // 版面对应的文章表名称:  bboardid?
  // 最后两项有没有必要出现,是否可以作为必然对应关系,还是允许
  // 出现更大的灵活性?另外版面的大小写问题是否可以直接默认
  // 只开头字母大写,

  特殊分类版面表:snewboard, sstarboard
  boardid   char[20],  // 版面的id
  // 这样的表有必要吗?

  版面索引表:acampus,alinux,afootball。。。。。。
  id   int,      // 文章序数,要手动调整????
  mark  char[1],    // 文章标记,m,g,b,d。。。。
  title  varchar[100],  // 文章标题
  writer char[20],    // 文章作者id
  posttime time,     // 发表时间
  textnum  longint,   // 对应的编号???不调整

  版面文章表
  textnum   longint,  // 文章编号?
  textword  text,    // 文章内容?
  // 有必要将索引和文章内容分开吗?从效率上看,况且lazy flush
  // 是必然的。删除也是先做个标记。

  // 用户中的版面文章是否未读的数据比较繁,是否应该再建一堆的表
  // 才能实现呢?
  // 投票功能暂不考虑。。。。

PHP 相关文章推荐
php4的session功能评述(三)
Oct 09 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
php生成图片验证码的方法
Apr 15 PHP
php中this关键字用法分析
Dec 07 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
基于mysql的bbs设计(三)
Oct 09 #PHP
支持oicq头像的留言簿(一)
Oct 09 #PHP
NT IIS下用ODBC连接数据库
Oct 09 #PHP
怎样在UNIX系统下安装php3
Oct 09 #PHP
怎样在UNIX系统下安装MySQL
Oct 09 #PHP
关于文本留言本的分页代码
Oct 09 #PHP
支持oicq头像的留言簿(二)
Oct 09 #PHP
You might like
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
Python中使用SAX解析xml实例
2014/11/21 Python
Python返回真假值(True or False)小技巧
2015/04/10 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Django工程的分层结构详解
2019/07/18 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
python怎么对数字进行过滤
2020/07/05 Python
python输入中文的实例方法
2020/09/14 Python
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
基层党组织公开承诺书
2014/03/28 职场文书
售房协议书范本2014
2014/10/23 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
Python中request的基本使用解决乱码问题
2022/04/12 Python