Transact-SQL编程规范.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Transact-SQL编程规范 Version 1.1 ?? 摘要: 本文是笔者通过几年软件开发技术的积累,以及参考相关资料总结的一篇关于T-SQL语言编程规范的文章,旨在为需要这方面资料的IT公司设计开发人员提供一个参考。文章内容谈不上面面俱到,并且一些见解也不一定恰当,如果读者对本文有建议或意见,请在/zhzuo上留言和交流。 ? 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.? 数据架构 除SQL Server 系统定义的数据架构外,新建架构采用Pascal样式命名,命名格式为[架构名]。 示例:HumanResources ??? ? Production ? 对数据库对象 Table,View,Procedure,Function等使用数据架构进行归类。在SQL Server 2000中dbo为默认架构。 ? 1.3.5.? 数据表 采用Pascal样式命名,命名格式为[表名]。 示例:Employee ??? ? Product ? 表名以英文单数命名,主要是参考SQL Server 2005示例数据库,个人理解不采用复数是为了更好的使用ORM工具生成符合编程规范的代码(比如C#)。 示例:使用Product ? 而不是Products ? 1.3.6.? 数据视图 视图名称采用Pascal样式命名,命名格式为v + [视图名称]。 示例:vEmployee ??? ? vSalesPerson ? 1.3.7.? 数据列 列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。采用Pascal样式命名,命名格式为[列名称]。 示例:AddressID ??? ? PostalCode ? 尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。 示例:宁波 Ningbo ??经营方式 JingYFS ? 1.3.8.? 存储过程 建议采用Pascal样式命名,命名格式为[存储过程名称]。 示例:GetUser ?? ??AddUser ? 备注:在SQL Server 2005示例数据库中使用Camel样式命名。 ? 1.3.9.? 函数 自定义函数采用Pascal样式命名,命名格式为[函数名],系统函数使用全部大写。 示例:SELECT ISNULL(@LastName,Unknown last name); GETDATE() ? 1.3.10.???? 用户定义数据类型 采用Pascal样式命名,命名格式为[自定义数据类型名称]。 示例:Flag ??? ? NameStyle ? 1.3.11.???? DML触发器 DML触发器是当数据库服务器中发生数据操作语言 (DML) 事件时要执行的操作。DML 事件包括对表或视图发出的 UPDATE、INSERT 或 DELETE 语句。根据事件不同命名规则使

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档