采用26 个英文字母(区分大小写)和0-9 这十个自然数,加上下划线’_’组成,共63 个字符.不能出现其他字符(注释除外).
注意事项:
1) 以上命名都不得超过30 个字符的系统限制.变量名的长度限制为29(不包括标识字符@).
2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.
3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性.假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了.
###二、数据库命名规范
数据库名使用小写英文以及下划线组成.比如:
my_db
snepr
备份数据库名使用正式库名加上备份时间组成,如:
dbname_20070403
###三、数据库表命名规范
数据表名使用小写英文以及下划线组成
比如:
info_user
system_destination
信息类采用:info_xxx
文件类采用:file_xxx
关联类采用:inter_xxx
备份数据表名使用正式表名加上备份时间组成,如:
info_user_20070403
system_destination_20070403
###四、字段命名规范
字段名称使用单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀.
如web_user 表的字段:
user _id
user_name
如果表名过长,可以取表名的前5 个字母。如果表名为多个单词组合,可以取前一个单词,外加后续其它单词的首字母作为字段名。
表与表之间的相关联字段要用统一名称,如info_user 表里面的userId 和group 表里面的userId 相对应;业务流水号统一采用:表名_seq;
###五、外键命名规范
外键名称为FK_表名A_表名B_关联字段名;
其中表名和关联字段名如果过长,可以取表名、关联字段名的前5 个字母。
如果表名、关联字段为多个单词组合,可以取前一个单词,外加后续其它单词的
首字母作为字段名。
如:FK_user_token_user_phnum;
###六、字段类型规范
规则:用尽量少的存储空间来存数一个字段的数据.
比如能用int 的就不用char 或者varchar
能用varchar(20)的就不用varchar(255)
时间戳字段尽量用int 型,如created:表示从'1970-01-01 08:00:00'开始的int 秒数,采用英文单词的过去式;gmtCreated:表示datetime 类型的时间,
即形如'1980-01-01 00:00:00'的时间串,Java 中对应的类型为Timestamp
###七、索引使用原则:
1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引.考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写.
2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上.
3) 不要索引blob/text 等字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间.
4) 不要索引常用的小型表
不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了.对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间.
###八、sql 语句规范
所有 sql 关键词全部大写,比如SELECT,UPDATE,FROM,ORDER,BY 等,表名与字段名不需要大写
如:
SELECT COUNT(*) FROM cdb_members WHERE userName= 'aeolus';
###九、其他设计技巧
1) 避免使用触发器
触发器的功能通常可以用其他方式实现.在调试程序时触发器可能成为干扰.
假如你确实需要采用触发器,你最好集中对它文档化.
2) 避免使用存储过程
3) 使用常用英语(或者其他任何语言)而不要使用拼音首字母缩写
摘自pdf:https://cdn.bigjin.com/usr/uploads/2014/09/985158627.pdf