分类广告


推荐文章

  • 没有找到任何内容!
您当前的位置:中国站长下载网络编程PHP专区 → 文章内容

基于mysql的bbs设计(二)

  • 作者:佚名    来源:不详    发布时间:2006-2-26 2:03:47
  • 字体大小:
3。数据库设计

关键还是mysql的效率问题
合理分配mysql的内存特别是table cache的

大小。另外
系统突然掉电呢mysql是否robust

table的名字设计
采用一位前缀表明类型全部用小写表示例如

系统数据库
以s为前导如用户表susersUSER 呢具体如下

s
系统susersclass

m
用户信件表msysopmdrangon

w
用户消息表wsysopwdrangon

a
版面索引表alinuxacampus

b
版面文章表blinuxbcampus

c
特殊分类版面表cnewboard

i
精华区索引表ilinuxilinux01icampusicampus04

j
精华区文章表jlinuxjcampus



另外
是使用字串还是数字作为标识呢例如一个叫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], // 分类的英文idcomputer

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

// 这样的表有必要吗



版面索引表
acampusalinuxafootball。。。。。。

id
int, // 文章序数要手动调整

mark char
[1], // 文章标记mgbd。。。。

title varchar
[100], // 文章标题

writer char
[20], // 文章作者id

posttime time
, // 发表时间

textnum longint
, // 对应的编号不调整



版面文章表

textnum longint
, // 文章编号

textword text
, // 文章内容

// 有必要将索引和文章内容分开吗从效率上看况且lazy flush

// 是必然的。删除也是先做个标记。



// 用户中的版面文章是否未读的数据比较繁是否应该再建一堆的表

// 才能实现呢

// 投票功能暂不考虑。。。。
<