MYSQL 数据库命名设计规范
作者: _Approaching 分类: PHP 发布于: 2012-03-18 22:26 浏览:11,414 没有评论
MYSQL 数据库命名设计规范,主要还是命名方面的规范。
一、数据库涉及字符规范
1) 采用26 个英文字母 ( 区分大小写 )、0-9十个自然数及下划线‘_’ 组成,共63 个字符,除注释外,不能出现其他字符
2) 命名不得超过30 个字符的系统限制,变量名的长度限制为29( 不包括标识字符 @)
3) 数据对象、变量的命名都采用英文字符, 禁止使用中文命名 . 绝对不要在对象名的字符之间留空格
4) 小心保留词, 要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
5) 保持字段名和类型的一致性, 在命名字段并为其指定数据类型的时候一定要保证一致性 .
二、命名规范
| 识别符 | 最大长度( 字节 ) | 允许的字符 |
| 数据库 | 64 | [a-z_] (所有字符均小写 , 字之间用 _ 分割 ) |
| 表 | 64 | [a-z_] (所有字符均小写 , 字之间用 _ 分割 ) |
| 列 | 64 | [a-z_] (所有字符均小写 , 字之间用 _ 分割 ) |
| 索引 | 64 | [a-z_] (所有字符均小写 , 字之间用 _ 分割 ) |
| 别名 | 255 | [a-z_] (所有字符均小写 , 字之间用 _ 分割 ) |
1) 数据库、表、列、索引、别名的命名应尽可能描述其真实的意思。
2) 统一命名
三、数据库命名规范
1) 数据表一律使用前缀
2) 正式数据库名使用小写英文以及下划线组成, 尽量说明是那个应用或者系统在使用的 . 比如 :ecknow_cn
3) 备份数据库名使用正式库名加上备份时间组成, 如 :ecknow_cn_20120316
四、数据表命名规范
1) 数据表名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的。
2) 相关应用的数据表使用同一前缀
如论坛的表使用bbs前缀 , 博客的数据表使用blog前缀 , 前缀名称一般不超过 5 字比如 :
bbs_user bbs_group blog_userspace
3) 备份数据表名使用正式表名加上备份时间组成, 如 :
bbs_user_20120303 bbs_group_20120303 blog_userspace_20120303
五、字段命名规范
1) 字段名称使用单词组合完成,字段名全部小写.如 bbs_user 表的字段 : userid bbs_user_name 表中的字段 userpassword
2) 表与表之间的相关联字段要用统一名称, 如 bbs_user 表里面的 userid 和 bbs_group 表里面的 userid 相对应
六、字段类型规范规则
1) 用尽量少的存储空间来存数一个字段的数据.
比如能用int 的就不用 char 或者 varchar,能用tinyint 的就不用 int,能用varchar(20) 的就不用 varchar(255)
2) 时间戳字段尽量用int 型
七、索引使用原则:
1) 逻辑主键使用唯一的成组索引, 对系统键 ( 作为存储过程 ) 采用唯一的非成组索引 , 对任何外键列采用非成组索引 . 考虑数据库的空间有多大 , 表如何进行访问 , 还有这些访问是否主要用作读写 .
2) 大多数数据库都索引自动创建的主键字段, 但是可别忘了索引外键 , 它们也是经常使用的键 , 比如运行查询显示主表和所有关联表的某条记录就用得上 .
3) 不要索引blob/text 等字段 , 不要索引大型字段 ( 有很多字符 ), 这样作会让索引占用太多的存储空间 .
4) 不要索引常用的小型表不要为小型数据表设置任何键, 假如它们经常有插入和删除操作就更别这样作了 . 对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间 .
八、SQL语句规范
1) 所有sql 关键词全部大写 , 比如 SELECT、UPDATE、FROM、ORDER BY等
2) 所有的表名和库名及字段名都要用“ 包含。
本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。
本文永久链接: https://www.zh30.com/mysql-database-named-design-specifications.html