基于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 相关文章推荐
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
PHP浮点数精度问题汇总
May 13 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
php中__toString()方法用法示例
Dec 07 PHP
php格式化时间戳
Dec 17 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP chop()函数讲解
Feb 11 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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可逆加密函数(分享)
2013/06/06 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
AngularJS基础知识
2014/12/21 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
python练习程序批量修改文件名
2014/01/16 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python paramiko模块的使用示例
2018/04/11 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python实现PCA降维的示例详解
2020/02/24 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
毕业生个人求职信范例分享
2013/12/17 职场文书
打架检讨书300字
2014/02/02 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
创建青年文明号材料
2014/05/09 职场文书
微笑服务演讲稿
2014/05/13 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android