表结构初设计
目标:做一个家族内部用来发布信息和交流的论坛。
初定表结构如下:
字段名称 | 中文名称 | PK | 是否标识 | 字段类型 | 长度 | 空值 | 索引 | 默认值 | 备注 | 数据示例 |
表名 | userinfo | |||||||||
中文名称 | 用户信息 | |||||||||
userid | 用户账号 | ● | varchar | 50 | Not Null | |||||
password | 密码 | varchar | 16 | Not Null | ||||||
name | 真实姓名 | varchar | 50 | |||||||
pichead | 用户头像 | Image | ||||||||
isboss | 是否版主 | bit | Not Null | |||||||
isadmin | 是否管理员 | bit | Not Null | |||||||
表名 | boss | |||||||||
中文名称 | 版块信息 | |||||||||
bossid | 版块账号 | ● | smallint | Not Null | ||||||
bossname | 版块名 | varchar | 50 | Not Null | ||||||
userid | 用户账号 | varchar | 50 | |||||||
refer | 注释 | text | ||||||||
表名 | topic | |||||||||
中文名称 | 主帖 | |||||||||
userid | 用户账号 | ● | varchar | 50 | Not Null | |||||
topicid | 帖号 | ● | int | Not Null | ||||||
publishtime | 修改时间 | datetime | Not Null | |||||||
title | 标题 | varchar | 255 | Not Null | ||||||
content | 内容 | text | Not Null | |||||||
bossid | 版块账号 | smallint | Not Null | |||||||
表名 | comments | |||||||||
中文名称 | 回帖 | |||||||||
userid | 用户账号 | ● | varchar | 50 | Not Null | |||||
floor | 楼层号 | ● | int | Not Null | ||||||
topicuserid | 主帖用户账号 | ● | varchar | 50 | Not Null | |||||
topicid | 主帖帖号 | ● | int | Not Null | ||||||
content | 内容 | text | Not Null | |||||||
publishtime | 修改时间 | datetime | Not Null | |||||||
表名 | visit | |||||||||
中文名称 | 访问量统计 | |||||||||
userid | 主帖用户账号 | ● | varchar | 50 | Not Null | |||||
topicid | 主帖帖号 | ● | int | Not Null | ||||||
visitnum | 访问量 | bigint | Not Null | |||||||
answernum | 回复量 | bigint | Not Null |
基本想法是这样的,回帖使用率很高,主贴除访问量之外的字段全部用于读,所以把主贴回复量独立出来,和访问量另成一表,减少对回帖求count()的次数。