程序员培训-SQL编码规范.doc
《程序员培训-SQL编码规范.doc》由会员分享,可在线阅读,更多相关《程序员培训-SQL编码规范.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 http:/福州星网视易信息系统有限公司 MS SQL 脚本编码规范脚本编码规范福州星网视易信息系统有限公司福州星网视易信息系统有限公司http:/福州星网视易信息系统有限公司 目录目录Transact-SQL 编程规范.1 一、概述.1 1.基本原则 .1 2.基本规范 .1 二、对象命名.1 1.数据库.1 2.数据库文件 .1 3.数据表.2 4.数据视图.2 5.数据列.2 6.存储过程.2 7.函数.3 8.用户定义数据类型 .3 9.主键、索引 .3 三、参数命名.3 1.数据列参数 .3 2.非数据列参数 .4 3.常用字段命名 .4 四、SQL 编写.4 1.大小写.4 2.
2、存储格式.4 3.类型选择.4 4.默认值.5 5.字段长度.5 6.使用“”.5 7.语句缩进 .5 8.语句换行 .5 9.语句分割 .5 10.使用“*”.5 11.表名别名 .5 12.类型转换 .5 13.数值比较 .6 14.排序.6 15.Unicode 字符串.6 16.BEGIN.END 块.6 17.TOP 子句.6 18.TRANSACTION 编写.6 19.存储过程 .7 五、代码注释.7 1.代码头部注释 .7 2.TRANSACTION 注释.7http:/福州星网视易信息系统有限公司第 1 页 Transact-SQL 编程规范编程规范一、一、概述概述本规范主要
3、规定 SQL 脚本在书写过程中所应遵循的规则及注意事项。编写该规范的目的是 使公司软件开发人员的源代码书写习惯保持一致。这样做可以使每一个组员都可以理解其 它组员的代码,以便于源代码的二次开发记忆系统的维护。1. 基本原则基本原则以大小写敏感编写 SQL 语句。 尽量使用 Unicode 数据类型。 优先使用连接代替子查询或嵌套查询。 尽量使用参数化 SQL 查询代替语句拼接 SQL 查询。 尽量使用存储过程代替 SQL 语句。 禁止使用拼音+英语的方式来命名 SQL 对象或变量。 禁止使用触发器。 禁止在表间创建外键关系。 禁止创建自增长主键列2. 基本规范基本规范采用 Pascal 样式命
4、名数据库对象。大写 T-SQL 语言的所有关键字,谓词和系统函数。 Pascal 大小写大小写: 组成标识符的每个单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词, 要求全部大写。 例如:ApplicationExceptionID二、二、对象命名对象命名1.数据库数据库命名格式为项目英文名称。 示例:AdventureWorks2.数据库文件数据库文件数据文件:数据库名称 + _Data.mdf 日志文件:数据库名称 + _Log.ldf 示例:AdventureWorks_Data.mdfAdventureWorks_Log.ldfhttp:/福州星网视易信息系统有限公司第
5、2 页 3.数据表数据表命名格式为BL_TBL_+表名。 示例:BL_TBL_Employee BL_TBL_Product表名以英文单数命名。 示例:使用BL_TBL_Product 而不是BL_TBL_Products4.数据视图数据视图命名格式为 BL_V_+ 视图名称。 示例:BL_V_EmployeeBL_V_SalesPerson5.数据列数据列列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。 命名格式为列名称。 示例:AddressIDPostalCode尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列 名比较复杂,可以
6、采用首个字用全拼,其它字用首字母大写表示。 示例:宁波 Ningbo经营方式 JingYFS6.存储过程存储过程命名格式为 BL_HV_ +存储过程名称。 示例:BL_HV_GetUserBL_HV_AddUser 每个过程必须要有两个输出参数ErrorCode 和ErrorMessage。 存储过程书写格式如下:if exists(select 1 from sysobjects where id=object_id(bl_hv_Checkout) drop procedure bl_hv_Checkout go create procedure Checkout (. ErrorCode
7、int output, -返回错误代码 0 表示成功 非 0 表示失败 ErrorMessage varchar(100) output -返回错误信息) as declarecheckoutid int, -变量声明在此处 begin http:/福州星网视易信息系统有限公司第 3 页 end go7.函数函数命名格式为 BL_Fn_ +函数名 。 示例:BL_Fn_GetUser 系统函数使用全部大写。 示例:SELECT ISNULL(LastName,Unknown last name); GETDATE()8.用户定义数据类型用户定义数据类型命名格式为自定义数据类型名称。 示例:Fl
8、agNameStyle9.主键、主键、索引索引主键: PK_表名称_主键;如果是组合主键,使用 PK_表名_主键 1_主键 2。 示例:PK_ BL_TBL_Store_CustomerIDPK_ BL_TBL_StoreContact_CustomerID_ContactID聚集索引:PK_表名称_主键;如果是组合主键,使用 PK_表名_主键 1_主键 2。 示例:PK_Store_CustomerID PK_StoreContact_CustomerID_ContactID唯一非聚集索引:AK_表名称_列名称。 示例:AK_Store_rowguid 不唯一非聚集索引:PK_表名称_列名称
9、。 示例:IX_Store_SalesPersonID 主 XML 索引:PXML_表名称_Xml 类型列名称。 示例:PXML_Store_Demographics三、三、参数命名参数命名1. 数据列参数数据列参数命名格式为 + 列名称。 示例:EmployeeID 在列名不符合 Pascal 样式时(早期遗留系统) ,例如使用全部大写的列名称,或使用“_” 进行连接的字段名称,参数名称定义使用 + 列名称,这里的列名称尽量符合 Pascal 样 式命名。http:/福州星网视易信息系统有限公司第 4 页 2.非数据列参数非数据列参数在参数无法跟列名称进行关联时,使用能够反映该参数功能的英文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序员 培训 SQL 编码 规范
限制150内