基于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 的几个配置文件函数
Dec 21 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
Jan 28 PHP
php学习笔记 类的声明与对象实例化
Jun 13 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
destoon二次开发模板及调用语法汇总
Jun 21 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
May 21 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 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排序算法的复习和总结
2012/02/15 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
深入探究node之Transform
2017/07/20 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Python全排列操作实例分析
2018/07/24 Python
Python Series从0开始索引的方法
2018/11/06 Python
详解Python3注释知识点
2019/02/19 Python
python下载微信公众号相关文章
2019/02/26 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
python安装gdal的两种方法
2019/10/29 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
大学生实习感言
2014/01/16 职场文书
经典禁毒标语
2014/06/16 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
代办社保委托书范文
2014/10/06 职场文书
人事任命通知书
2015/04/21 职场文书
革命电影观后感
2015/06/18 职场文书