数据表设计规范


一、命名规范.....................................................................................................
数据表命名...............................................................................................................
数据表字段命名......................................................................................................
索引名称命名.............................................................................................................
二、字段类型选择...........................................................................................................
数字类型....................................................................................................................
字符类型................................................................................................................
三、注释..................................................................................................................
新增数据表............................................................................................................
修改数据表结构注释...............................................................................................
四、索引.............................................................................................................
主键索引............................................................................................................
组合索引.................................................................................................................
唯一索引..............................................................................................................
普通索引..............................................................................................................
五、数据表引擎.........................................................................................................
六、字符集......................................................................................................................
七、初始值.............................................................................................................
八、表结构调整...............................................................................................................
九、数据表管理平台...................................................................................................
版本管理..................................................................................................................
文档中心管理..............................................................................................................
人工收集整理........................................................................................................
最新数据表邮件...........................................................................................................
十、数据表审查...........................................................................................................
十一、压力测试环境...................................................................................................


一  、命名规范 命名规范
数据表命名使用 26 个英文字母、数字和下划线组成,字母统一小写,数字只适应于分表情
况。
数据表命名
数据表名称以 pw_为前缀,实例如下:
1, 普通数据表命名:pw_tablename;
2, 数据表分表命名:pw_tablename1、pw_tablename2、pw_tablename3;
论坛数据表命名通用格式为 pw_tablename(pw 前缀+下划线+表名),可以扩展二级命名空
间,如果是扩展产品数据表,必须指定二级命名空间,如房产程序数据表: pw_hs_tablename,
其中 hs(house)为房产数据表的二级命名空间。
同时必须检查是否存在数据表名重复的情况。
数据 数据数据 数据表 表表 表字段命名 字段命名
数据表字段尽量避免保留字做字段名,字段名称必须简单易懂,采用英文单词做字段名称,
保证字段名称意义明确,如 subject、content 等,字母全部小写。实例如下:
1, 标题subject
2, 内容content
3, 发贴时间postdate
索引名称命名
索引名称以 idx 为前缀,采用字段名+下划线的形式,如下实例:
1, 唯一索引idx_uid_ (uid)
2, 组合索引idx_uid_aid (uid,aid)
二 二、 、 、字段类型选择 字段类型选择
数据表字段类型可选范围为数字类型和字符类型,可选枚举类型,具体类型如下:
数字类型 数字类型:bigint、int、mediumint、smallint、tinyint;
字符类型 字符类型:varchar、char、text
枚举类型 枚举类型:enum
字段类型必须指定长度,特别是字符类型。
phpwind——开发规范文档系列
5
数字类型
类型 字节 最小值(有/无符号) 最大值(有/无符号)
tinyint 1 -128 127
0 255
smallint 2 -32768 32767
0 65535
mediumint 3 -8388608 8388607
0 16777215
int 4 -2147483648 2147483647
0 4294967295
bigint 8 -9223372036854775808 9223372036854775807
0 18446744073709551615
部分实例
1, 自增 ID :int(10)
2, 状态字段:tinyint(1)
请指定数字类型是否有无符号和默认值。
各类型的默认长度分别如下:int(10)、mediumint(8)、smallint(6)、tinyint(1)
字符类型
1,varchar 可变长字符
2,char 定长字符
3, text 文本字符
如果明确字段长度请选择 char 类型,如 password,ip 等
字段类型选择范围默认为以上数字与字符两种类型,其它字段类型请仔细考虑并沟通后再使
用。
三 三、 、 、注释 注释
新增数据表
提供的注释应该包括以下部分:
1, 数据表名描述
2, 数据表创建者,创建时间
3, 数据表引擎
4, 字段名称详细描述
5, 索引名称详细描述
6, 历史修改记录描述,包括修改者,修改时间和描述
phpwind——开发规范文档系列
6
实例如下:

/*
@TableName:动态数据表pw_feed
@Created By zhangjuzheng@2010-6-6
@Engine:MyISAM (可选)
@Primary Key:id (可选)
@Fields id 主键ID 
@Fields uid 用户名ID
@Fields type 动态类型
@Fields descrip 动态描述
@Index:idx_uid 根椐用户uid获取动态内容
@Modified By zhangjuzheng@2010-6-6 调整type字段类型
@Modified By wuqiong@2010-6-8 调整索引名称
*/
CREATE TABLE`pw_feed` ( 
`id` int(10) unsigned NOT NULLAUTO_INCREMENT, 
`uid` mediumint(8) unsigned NOT NULL DEFAULT '0', 
`type` varchar(20) NOT NULL DEFAULT '0', 
`descrip` text NOT NULL, 
PRIMARY KEY(`id`), 
KEY`idx_uid` (`uid`) 
) ENGINE=MyISAM;
修改数据表结构 修改数据表结构注释 注释注释 注释
提供数据表名称信息与修改记录信息,便于数据表结构调整信息记录
/*
@TalbeName:动态数据表pw_feed
@Modified By zhangjuzheng@2010-6-6 增加postdate字段用于记录动态生成时间
*/
alter tablepw_feed add`postdate` int(10) unsigned not null default '0'; 

 


四 四、 、 、索引 索引
数据表索引的创建与使用必须在设计时考虑清楚,尽量避免冗余索引,索引设计采用最左原
则(leftmost),字符型索引请指定索引前缀长度,如 key idx_username(username(12))
主键索引
主键索引尽量采用整型类型字段(int,mediumint,smallint,tinyint),如 tid,fid 等
phpwind——开发规范文档系列
7
组合索引
组合索引请尽量覆盖 WHERE 查询,优先考虑基数大的字段,提高索引的可选性。
唯一索引
Replace 查询请创建唯一索引,提高访问速度与避免数据重复
普通索引
避免查询语句存在 filesort 文件排序。
五 五、 、 、数据表引擎 数据表引擎
默认统一为 MyISAM 存储引擎,如果有事务操作请选择 InnoDB 存储引擎,建议不要混合使
用多种存储引擎,特别是事务操作。
1, MyISAM
2, InnoDB
3, Memory
六 六、 、 、字符集 字符集
默认字符集为 gbk 编码。
七 七、 、 、初始值 初始值
默认的字段类型请指定默认初始值,如下:
1, 数字类型默认初始值为:0;
2,字符类型默认初始值为:’’;
3,其它自定义默认值
八 八、 、 、表结构调整 表结构调整
统一采用 alter table 语法新增/删除/修改字段和索引,同时必须带有规范的注释。
phpwind——开发规范文档系列
8
1, ,, , 新增字段
alter tablepw_feed add`postdate` int(10) unsigned not null default '0';
2, ,, , 删除字段
alter tablepw_feed drop`postdate`;
3, ,, , 修改字段
alter tablepw_feed change `postdate` `postdate` smallint(5) unsigned not null
default '0';
九 九、 、 、数据表管理平台 数据表管理平台
版本管理
Phpwind 版本开发 doc 目录
文档中心管理
http://docs.phpwind.com
人工收集整理
最新数据表邮件
每天提供最新数据表更新邮件提醒
十 十、 、 、数据表审查 数据表审查
新增数据表审查流程与原则
1, 命名规范审查
2, 字段类型选择审查
3, 注释审查
4, 索引审查
5, 数据表存储引擎审查
严格按数据表设计规划审查。
phpwind——开发规范文档系列
9
十一、 、压力测试环境 压力测试环境
新增数据表的模拟数据压力测试环境搭配。针对数据表结构与功能特性选择压力测试级别。
1,100 万级
2,1000 万级
3,5000 万级
4,10000 万级

posted @ 2013-05-31 16:00  Kiwi0921  阅读(596)  评论(0编辑  收藏  举报