采用26个英文字母(区分大小写)和0-9这十个天然数,加上下划线'_'组成,共63个字符.不能出现其余字符(注释除外).web
注意事项:sql
1)以上命名都不得超过30个字符的系统限制.变量名的长度限制为 29(不包括标识字符@).数据库
2)数据对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.spa
3)当心保留词,要保证你的字段名没有和保留词、数据库系统或者经常使用访问方法冲突设计
4)保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候必定要保证一致性.假如数据类型在一个表里是整数,那在另外一个表里可就别变成字符型了.调试
5)用尽可能少的存储空间来存数一个字段的数据.对象
数据库名使用小写英文以及下划线组成.好比: 索引
my_db token
snepr 文档
备份数据库名使用正式库名加上备份时间组成,如:
dbname_20070403
数据表名使用小写英文以及下划线组成,尽可能说明是那个应用或者系统在使用的.
相关应用的数据表使用同一前缀,如论坛的表使用cdb_前缀,博客的数据表使用supe_前缀,前缀名称通常不超过5字 好比:
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;
1)逻辑主键使用惟一的成组索引,对系统键(做为存储过程)采用惟一的非成组索引,对任何外键列采用非成组索引.考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用做读写.
2)大多数数据库都索引自动建立的主键字段,可是可别忘了索引外键,它们也是常常使用的键,好比运行查询显示主表和全部关联表的某条记录就用得上.
3)不要索引blob/text等字段,不要索引大型字段(有不少字符),这样做会让索引占用太多的存储空间.
4)不要索引经常使用的小型表
不要为小型数据表设置任何键,假如它们常常有插入和删除操做就更别这样做了.对这些插入和删除操做的索引维护可能比扫描表空间消耗更多的时间.
全部sql关键词所有大写,好比 SELECT,UPDATE,FROM,ORDER,BY等,表名与字段名不须要大写如:
SELECT COUNT(*) FROM cdb_members WHERE userName='aeolus';
1)避免使用触发器触发器的功能一般能够用其余方式实现.在调试程序时触发器可能成为干扰.假如你确实须要采用触发器,你最好集中对它文档化.
2)避免使用存储过程
3)使用经常使用英语(或者其余任何语言)而不要使用拼音首字母缩写