- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库编码规范
版本:1.2
规范目的、适用范围
规范的目的是保证代码的稳定性、可读性、一致性以及效率。
规范涵盖SQL语句编写和各种数据库对象的命名,适用于新创建或修改的数据库对象。
SQL语句可读性
SQL语句关键词全部用大写,除declare和类型名称。
示例:下面的代码是正确的。
SELECT * FROM surveyEntity
复杂的多表 JOIN 查询语句,为阅读方便,对表使用别名。
较长的SQL(超过80字必须换行),使用多行书写,JOIN、WHERE、括号、等结构性语句放在新行之首。
对于存储过程、函数、视图和触发器中的批量SQL语句:
使用缩进策略,缩进单位为4个空格(注意不要使用TAB键);
程序块的分界符(BEGIN和END)应各独占一行并且位于同一列,同时与引用它们的语句左对齐;
IF, BEGIN ,END,WHILE等结构性语句自占一行
示例:下面的代码是正确的。
IF exists(SELECT * FROM surveyEntity WHERE surveyid=@surveyid)
BEGIN
SELECT @status=status FROM surveyEntity WHERE surveyid=@surveyid
IF(@status=0) --还未发布
BEGIN
SET @@result=-1
RETURN
END
IF(@status=2) --已关闭
BEGIN
SET @@result=-2
RETURN
END
END
注释
SQL语句
在存储过程、函数、视图和触发器中的批量SQL语句中,对关键代码、关键算法使用注释,注 释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置, 不可放在下面,如果放于上方则需与其上面的代码用空行隔开。
变量如果其命名不是充分自注释的,或者特别重要的,在声明时都必须加以注释,
分支语句(条件分支、循环语句等)除非逻辑特别简单,都要编写注释
在代码交付前,应删除无关注释
存储过程注释:
存储过程定义开始之前必须加注释,注释中描述 存储过程的功能,参数,作者,修改者,脚 本日期;
示例:下面的代码是正确的。
/*
功能:新增一个用户
参数:@UserName 用户名
@@UserId 用户id
作者:james
创建时间:2007-11-15
*/
CREATE PROCEDURE [dbo].[p_User_Add]
… …
3.视图注释:
视图定义开始之前必须加注释,注释中描述视图程的功能,作者,脚本日期;
示例:下面的代码是正确的。
/*
功能:查询所有用户
作者:james
创建时间:2007-11-15
*/
CREATE View [dbo].[v_VoteAllList]
… …
4.函数注释:
示例:下面的代码是正确的。
/*
功能:根据开始日期,有效周期计算有效的结束日期
参数:@start 开始日期, @period 有效的周期@isBefore 是否为有效期内的CREATE FUNCTION [dbo].[getValidDate](@start datetime, @period int =0, @isAfter bit = 1)
RETURNS datetime
AS
… …
5.其他对象注释:
定义其他对象时,也要添加注释,标明功能,作者,创建时间。
命名规范
总则
命名使用有意义的英文名称,除数据名称长度为1-个字符,其余为1-30个字符,Database ? link名称也不要超过30个字符
示例:BitAuto,UcarMis
表名
规则:同一项目下的表名,用模块名缩写(或者Schema名称)+实际表名(一律单数)
注意:表名不要加下划线。
示例: CarBrand ,CarEngine
存储过程
规则:p_表名_动作名
示例:p_Student_Insert
视图
规则:v_单表名+查询类型
v_有意义的名称 或者 v_单表名_单表名_...
示例:v_CarBrandList v_CarBrandBeijing
索引
规则:ix_表名_字段名;
多字段:ix_表名_字段名1_字段名2
复合索引可适当简写
字段命名
规则:
主键:表名或表名缩写+ID
其他字段:Pascal式命名,即每个单词的首字母均大写
字符类型:中文(nvarchar)
注意事项:列名不要使用关键字,比如id,type等。
无须在字段名中加类型标识作为前后缀,如 intMonth 是不允许的。
字段
文档评论(0)