表以及字段命名
考虑到标准化和国际化的需要,我们在表以及字段设置上应该尽量使用标准名称.而由于使用了一对多的关系映射,在可以预见的地方内容与项目之间都不可能使用联合查询,而是用多次*联动查询*,来取出多行关联数据.所以内容表与项目表的字段是可以重名的(在联合查询中,重名字段会被覆盖).以下是我对各数据表的命名
内容表 – contents
关系表 – relationships
项目表 – metas (meta的意思为关于什么的什么)
评论表 – comments
配置表 – options
用户表 – users
contents表
键名 |
类型 |
属性 |
解释 |
cid |
int(10) |
主键,非负,自增 |
post表主键 |
title |
varchar(200) |
可为空 |
内容标题 |
slug |
varchar(200) |
索引,可为空 |
内容缩略名 |
created |
int(10) |
索引,非负,可为空 |
内容生成时的GMT unix时间戳 |
modified |
int(10) |
非负,可为空 |
内容更改时的GMT unix时间戳 |
text |
text |
可为空 |
内容文字 |
order |
int(10) |
非负,可为空 |
排序 |
authorId |
int(10) |
非负,可为空 |
内容所属用户id |
template |
varchar(32) |
可为空 |
内容使用的模板 |
type |
varchar(16) |
可为空 |
内容类别 |
status |
varchar(16) |
可为空 |
内容状态 |
password |
varchar(32) |
可为空 |
受保护内容,此字段对应内容保护密码 |
commentsNum |
int(10) |
非负,可为空 |
内容所属评论数,冗余字段 |
allowComment |
char(1) |
可为空 |
是否允许评论 |
allowPing |
char(1) |
可为空 |
是否允许ping |
allowFeed |
char(1) |
可为空 |
允许出现在聚合中 |
relationships表
键名 |
类型 |
属性 |
解释 |
cid |
int(10) |
主键,非负 |
内容主键 |
mid |
int(10) |
主键,非负 |
项目主键 |
键名 |
类型 |
属性 |
解释 |
mid |
int(10) |
主键,非负 |
项目主键 |
name |
varchar(200) |
可为空 |
名称 |
slug |
varchar(200) |
索引,可为空 |
项目缩略名 |
type |
varchar(32) |
可为空 |
项目类型 |
description |
varchar(200) |
可为空 |
选项描述 |
count |
int(10) |
非负,可为空 |
项目所属内容个数 |
order |
int(10) |
非负,可为空 |
项目排序 |
键名 |
类型 |
属性 |
解释 |
coid |
int(10) |
主键,非负,自增 |
comment表主键 |
cid |
int(10) |
索引,非负 |
post表主键,关联字段 |
created |
int(10) |
非负,可为空 |
评论生成时的GMT unix时间戳 |
author |
varchar(200) |
可为空 |
评论作者 |
authorId |
int(10) |
非负,可为空 |
评论所属用户id |
ownerId |
int(10) |
非负,可为空 |
评论所属内容作者id |
mail |
varchar(200) |
可为空 |
评论者邮件 |
url |
varchar(200) |
可为空 |
评论者网址 |
ip |
varchar(64) |
可为空 |
评论者ip地址 |
agent |
varchar(200) |
可为空 |
评论者客户端 |
text |
text |
可为空 |
评论文字 |
type |
varchar(16) |
可为空 |
评论类型 |
status |
varchar(16) |
可为空 |
评论状态 |
parent |
int(10) |
可为空 |
父级评论 |
options表
键名 |
类型 |
属性 |
解释 |
name |
varchar(32) |
主键 |
配置名称 |
user |
int(10) |
主键,非负 |
配置所属用户,默认为0(全局配置) |
value |
text |
可为空 |
配置值 |
users表
键名 |
类型 |
属性 |
解释 |
uid |
int(10) |
主键,非负,自增 |
user表主键 |
name |
varchar(32) |
唯一 |
用户名称 |
password |
varchar(32) |
可为空 |
用户密码 |
mail |
varchar(200) |
唯一 |
用户的邮箱 |
url |
varchar(200) |
可为空 |
用户的主页 |
screenName |
varchar(32) |
可为空 |
用户显示的名称 |
created |
int(10) |
非负,可为空 |
用户注册时的GMT unix时间戳 |
activated |
int(10) |
非负,可为空 |
最后活动时间 |
logged |
int(10) |
非负,可为空 |
上次登录最后活跃时间 |
group |
varchar(16) |
N/A |
用户组 |
authCode |
varchar(40) |
可为空 |
用户登录验证码 |