网站大量收购闲置独家精品文档,联系QQ:2885784924

T-SQL编程规范.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
T-SQL编程规范

Transact-SQL編程規範 ? 1.? 基本原則 以大小寫敏感編寫SQL語句。 儘量使用Unicode 資料類型。 優先使用連接代替子查詢或嵌套查詢。 儘量使用參數化SQL查詢代替語句拼接SQL查詢。 禁止使用[拼音]+[英語]的方式來命名SQL物件或變數。 ? 2.? 命名規範 在一般情況下,採用Pascal樣式或Camel樣式命名資料庫物件,使在開發基於資料庫應用程式的時候通過ORM工具生成的資料訪問代碼(比如C#)更好的符合命名規範。另外,關係型數據庫同Xml結合得越來越緊密,規範的命名很有必要。 在實際資料庫開發過程中,如果需求方已經提供資料庫設計方案,以提供的方案為准;在原有資料庫上進行升級開發時,在可行的情況下可適當做出設計調整以符合編程規範。 ? 1.1. 對象命名 1.1.1.? 資料庫 第一種方式,採用Pascal樣式命名,命名格式為[項目英文名稱]。 示例:AdventureWorks 第二種方式,採用Pascal樣式命名,命名格式為[項目英文名稱] + Db。 示例:AdventureWorksDb ? BizTalkRuleEngineDb 建議採用第一種方式。 ? 1.1.2.?數据庫 使用大寫名字。 ? 1.1.3.? 數據架構 除SQL Server 系統定義的資料架構外,新建架構採用Pascal樣式命名,命名格式為[架構名]。 示例:HumanResources ??? ? Production ? 對資料庫物件 Table,View,Procedure,Function等使用資料架構進行歸類。在SQL Server 2000中dbo為默認架構。 ? 1.1.4.? 數據表 採用Pascal樣式命名,命名格式為[表名]。 示例:Employee ??? ? Product ? 表名以英文單數命名,主要是參考SQL Server 2005示例資料庫,個人理解為更好的使用ORM工具生成符合編程規範的代碼(比如C#)。典型的例子,使用Product ,而不是Products。 ? 1.1.5.? 資料視圖 視圖名稱採用Pascal樣式命名,命名格式為Vew + [視圖名稱]。 示例:VewEmployee ??? ? VewSalesPerson ? 1.1.6.? 數據列 列名稱命名採用英文單詞或縮寫,英文單詞只來自于具體業務定義,儘量表達清楚含義。採用Pascal樣式命名,命名格式為[列名稱]。 示例:AddressID ??? ? PostalCode ? 儘量避免使用拼音命名,如果不可避免,對於比較短的列名,採用拼音全寫,如果拼音列名比較複雜,可以採用首個字用全拼,其他字用首字母大寫表示。 示例:寧波 Ningbo ??經營方式 JingYFS ? 1.1.7.? 存儲過程 建議採用Pascal樣式命名,命名格式為[存儲過程名稱]。 示例:USP_GetUser 備註:在SQL Server 2005示例資料庫中使用Camel樣式命名。 如果存在嵌套調用情況﹐避免使用#t1,#t2等臨時表名﹐應用存儲過程名加編號的方式﹐如#SP_GetUser_t1 1.1.8.? 函數 自定義函數採用Pascal樣式命名,命名格式為[函數名],系統函數使用全部大寫或者全部小寫。 示例:SELECT ISNULL(@LastName,Unknown last name); GETDATE() ? 1.1.9.? 用戶定義資料類型 採用Pascal樣式命名,命名格式為[自定義資料類型名稱]。 示例:Flag ??? ? NameStyle ? 1.1.10.???? DML觸發器 DML 觸發器是當資料庫伺服器中發生資料操作語言 (DML) 事件時要執行的操作。DML 事件包括對表或視圖發出的 UPDATE、INSERT 或 DELETE 語句。根據事件不同命名規則使用首碼進行區分,格式為 [u|i|d] + [表名|視圖名] 示例:Employee_UPD ? Employee_INS ? Employee_DEL ?如果存在嵌套調用情況﹐避免使用#t1,#t2等臨時表名﹐應用存儲過程名加編號的方式﹐如# Employee_UPD_t1 ? 1.1.11.???? DDL觸發器 回應各種資料定義語言 (DDL) 事件而激發。這些事件主要與以關鍵字 CREATE、ALTER 和 DROP 開頭的 Transact-SQL 語句對應。執行 DDL 式操作的系統存儲過程也可以激發 DDL 觸發器。 示例: CREATE TRIGGER [ddlDatabaseTriggerLog] ON DATABASE FOR DDL_DATABASE_LEVEL_EVENTS AS ? 1.1.12.???? 主

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档