基于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 相关文章推荐
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
php中关于socket的系列函数总结
May 18 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
php+ajax实现仿百度查询下拉内容功能示例
Oct 20 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
PHP无限分类(树形类)
2013/09/28 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
解析Python中的二进制位运算符
2015/05/13 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python 实现单通道转3通道
2019/12/03 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
优秀教师工作感言
2014/02/16 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
化妆品活动策划方案
2014/05/23 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
先进员工事迹材料
2014/12/20 职场文书
单位委托函范文
2015/01/29 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
python对文档中元素删除,替换操作
2022/04/02 Python
Java实现注册登录跳转
2022/06/16 Java/Android