预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Transact-SQL编程规范 Version1.1 发布日期:2007-10-26 更新日期:2007-10-26 1.概述 1.1.基本原则 以大小写敏感编写SQL语句。 尽量使用Unicode数据类型。 优先使用连接代替子查询或嵌套查询。 尽量使用参数化SQL查询代替语句拼接SQL查询。 禁止使用[拼音]+[英语]的方式来命名SQL对象或变量。 尽量使用存储过程代替SQL语句。 1.2.基本规范 建议采用Pascal样式或Camel样式命名数据库对象。 大写T-SQL语言的所有关键字,谓词和系统函数。 2.命名规范 在一般情况下,采用Pascal样式或Camel样式命名数据库对象,使在开发基于数据库应用程序的时候通过ORM工具生成的数据访问代码不需要调整就符合程序开发语言(比如C#)命名规范。另外,关系型数据库同Xml结合得越来越紧密,规范的命名越来越重要。 在实际数据库开发过程中,如果需求方已经提供数据库设计方案,建议以提供的方案为准;在原有数据库上进行升级开发时,在可行的情况下可适当做出设计调整以符合编程规范。 1.3.对象命名 1.3.1.数据库 第一种方式,采用Pascal样式命名,命名格式为[项目英文名称]。 示例:AdventureWorks 第二种方式,采用Pascal样式命名,命名格式为[项目英文名称]+Db。 示例:AdventureWorksDb BizTalkRuleEngineDb 建议采用第一种方式。 1.3.2.数据库文件 数据文件:[数据库名称]+_Data.mdf 日志文件:[数据库名称]+_Log.ldf 示例:AdventureWorks_Data.mdf AdventureWorks_Log.ldf 1.3.3.关系型数据仓库 采用Pascal样式命名,命名格式为[项目英文名称]+DW。 示例:AdventureWorksDW 1.3.4.数据架构 除SQLServer系统定义的数据架构外,新建架构采用Pascal样式命名,命名格式为[架构名]。 示例:HumanResources Production 对数据库对象Table,View,Procedure,Function等使用数据架构进行归类。在SQLServer2000中dbo为默认架构。 1.3.5.数据表 采用Pascal样式命名,命名格式为[表名]。 示例:Employee Product 表名以英文单数命名,主要是参考SQLServer2005示例数据库,个人理解不采用复数是为了更好的使用ORM工具生成符合编程规范的代码(比如C#)。 示例:使用Product 而不是Products 1.3.6.数据视图 视图名称采用Pascal样式命名,命名格式为view_[主表名称]。 示例:View_Employee View_SalesPerson 1.3.7.数据列 列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。采用Pascal样式命名,命名格式为[列名称]。 示例:AddressID PostalCode 尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。 示例:宁波Ningbo 经营方式JingYFS 1.3.8.存储过程 建议采用Pascal样式命名,命名格式为proc_[存储过程名称]。 示例:Proc_GetUser Proc_AddUser 备注:在SQLServer2005示例数据库中使用Camel样式命名。 1.3.9.函数 自定义函数采用Pascal样式命名,命名格式为[函数名],系统函数使用全部大写。 示例:SELECTISNULL(@LastName,'Unknownlastname'); GETDATE() 1.3.10.用户定义数据类型 采用Pascal样式命名,命名格式为[自定义数据类型名称]。 示例:Flag NameStyle 1.3.11.DML触发器 DML触发器是当数据库服务器中发生数据操作语言(DML)事件时要执行的操作。DML事件包括对表或视图发出的UPDATE、INSERT或DELETE语句。根据事件不同命名规则使用前缀进行区分,格式为TR_[表名|视图名]_ForInsert|Update|Delete 示例:TR_Employee_ForInsert TR_Employee_ForUpdate TR_Employee_ForInsertUpdate 1.3.12.DDL触发器 响应各种数据定义语言(DDL)事件而激发。这些事件主要与以关键字CREATE、ALTER和DROP开头的Transact-SQL语句对应。执行DDL式