SQL设计与命名规范
一.设计规范:
? ? ? ?1.采用有意义的字段名:尽可能的把字段描述的清楚些(见名之意);
? ? ? ?2.遵守数据库三范式(3NF)规定:
? ? ? ? ? ? ? ?A:表内的每一个值都只能被表达一次;
? ? ? ? ? ? ? ?B:表内的每一行都应该被唯一的标识(有唯一键);
? ? ? ? ? ? ? ?C:表内不应该存储依赖于其他键的非键信息。
? ? ? 3.小心保留词:要保证你的字段名没有和保留词、数据库系统或者常用的访问方法冲突;
? ? ? 4.表应该避免可为空的列; ??
? ? ? 5.保持字段名和类型的一致性;
二.命名规范
? ? ? 1.数据库的定义:
? ? ? ? ? ? ? ?数据库名称=数据库内容标识(首字母大写)
? ? ? 2.表的定义:
? ? ? ? ? ? ? ? 命名应尽量反映存储的数据内容;
? ? ? ? ? ? ? ? 表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识;
? ? ? ? ? ? ? ? 表名称=表名前缀+表内容标识(首字母大写);
? ? ? ?符合以下规范:
? ? ? ? ? ? ? ?统一采用单数形式,反对如:ErpCsUsers;
? ? ? ? ? ? ? ?首字母大写,多个单词的话,单词首字母大写,反对如:erpCsUser/ErpCsuser/ErpCsUSER;
? ? ? ? ? ? ? ?避免中文拼音,反对如:ErpCsYongHu;
? ? ? ? ? ? ? ?避免下划线连接:反对如:ErpCs_User;
? ? ? ? ? ? ? ?避免保留字;
? ? ? ? 3.字段
? ? ? ? 符合以下规范: ?
? ? ? ? ? ? ? 首字母小写,多个单词的话,单词首字母大写,如userName,反对如UserID/useid;
? ? ? ? ? ? ? 必须有一主键,主键直接用id;
? ? ? ? ? ? ? 常用的字段name/desc,不直接用name/desc,而是表名+Name/表名+Desc,如usrName/userDesc;
? ? ? ? ? ? ? 大写字母前必须包含至少两个小写字母,反对uID;
? ? ? ? ? ? ? 避免中文拼音;?
? ? ? ? ? ? ? 避免下划线连接;
? ? ? ? ? ? ? 避免名称过长;
? ? ? ? ? ? ? 避免保留字;
4.变量名:
? ? ? ? ? ? 首个字母小写,多个单词的话,每个单词的首个字母要求大写,如@userName;
5.对象:
? ? ? ? ? ? 存储过程以SP_为前缀;
? ? ? ? ? ? 触发器以TR_为前缀;
? ? ? ? ? ? 函数以FN_为前缀;
? ? ? ? ? ? 主键以PK_为前缀;
? ? ? ? ? ? 索引以IX_为前缀;
? ? ? ? ? ? 前缀后的首字母大写。多个单词的话,单词首字母大写,如ErpSP_CountFee;
? ? ? ? ? ? 所有的关键字的所有字母必须大写,如 SELECT * FROM User;
6.命名中的其他注意事项:
? ? ? ? ? ? 禁止使用中文命名;
? ? ? ? ? ? 命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@);
? ? ? ? ? ? 命名都采用英文字符,每个单词的首字母要大写;
7.SQL语句的编写规范:
? ? ? ? ? ?关键字大写:如SELECT、ORDER BY、GROUP BY、FROM、WHERE、UPDATE、SET、INSERT INTO、BEGIN、END等;
8.内容注释
? ? ? ? ? 存储过程,触发器、函数、视图等都应该加上内容注释;
? ? ? ? ? 表的陌生字段应当加上简要的字段说明和内容说明;?
? ??