MS SQL Server命名及编码规范.docx

上传人:b****0 文档编号:12777388 上传时间:2023-04-22 格式:DOCX 页数:12 大小:20.06KB
下载 相关 举报
MS SQL Server命名及编码规范.docx_第1页
第1页 / 共12页
MS SQL Server命名及编码规范.docx_第2页
第2页 / 共12页
MS SQL Server命名及编码规范.docx_第3页
第3页 / 共12页
MS SQL Server命名及编码规范.docx_第4页
第4页 / 共12页
MS SQL Server命名及编码规范.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

MS SQL Server命名及编码规范.docx

《MS SQL Server命名及编码规范.docx》由会员分享,可在线阅读,更多相关《MS SQL Server命名及编码规范.docx(12页珍藏版)》请在冰豆网上搜索。

MS SQL Server命名及编码规范.docx

MSSQLServer命名及编码规范

MSSQLServer命名及编码规范

 

制定人:

iSoftStonePMO

制定日期:

2010-03-01

 

变更前

版本

变更后

版本

修改内容

变更日期

制作人

批准人

批准日期

1

1.0

1.0

Initial

2010-01-12

iSoftStonePMO

2

1.0

2.0

补充,添加内容

2011-03-01

iSoftStonePMO

1.分发范围5

2.编写目的5

3.适用范围5

4.对象命名规范5

1.1通用规则5

1.2数据库名5

1.3数据库文件6

1.4表6

1.5属性(列或字段)6

1.6主键6

1.7外键6

1.8索引7

1.9Default标识7

1.10Rule标识7

1.11自定义数据类型7

1.12触发器7

1.13视图7

1.14存储过程7

1.15函数8

1.16变量名8

1.17角色8

1.18用户8

1.19命名中的其它注意事项8

5.编码规范8

1.1一般性注释8

1.1.18

1.1.28

1.1.38

1.1.49

1.1.59

1.2函数头注释9

1.3大小写约定9

1.4代码缩进约定9

1.4.19

1.4.29

1.5多表连接约定9

1.6常用SQL语句的编写规范10

1.6.1CREATE语句10

1.6.2SELECT语句10

1.6.3INSERT语句10

1.6.4UPDATE语句10

1.6.5DELETE语句11

1.7条件执行语句(IF)编写规范11

1.8条件选择语句(CASE)编写规范11

1.9循环执行语句(WHILE)编写规范12

1.分发范围

本文档分发范围包括:

公司技术部门管理人员、开发人员、项目管理人员。

2.编写目的

编写本文档的目的是在使用MSSQLServer数据库的过程中,使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。

3.适用范围

本规范适用于公司范围内所有以SQLSERVER2000/2005/2008作为后台数据库的应用系统和项目开发工作。

4.对象命名规范

1.1通用规则

Pascal规则

每个单词开头的字母大写(如:

TestCounter).

Camel规则

除了第一个单词外的其他单词的开头字母大写.如:

testCounter.

Upper规则仅用于被广泛认可的缩写命名(一般不超过四个字符,超过四个字符长度应该应用Pascal规则)。

如:

OLAP、PIN

1.2数据库名

数据库名定义为系统名_模块名,如“crm_customer”表示CRM系统的customer处理模块数据库。

数据库名全部采用小写。

1.3数据库文件

数据文件命名采用数据库名+_+文件类型+[文件序号]+文件后缀,[文件序号]为1、2、3…9等数值,当数据库中某一文件类型的文件有多个时加上文件序号以区别。

只有一个时可不加。

文件后缀:

主数据文件为.mdf,其它数据文件为.ndf,日志文件为.ldf

文件名全部采用小写。

比如系统名为“crm_customer”,则数据库数据文件命名为“crm_customer_data.mdf”,日志文件命名为“crm_customer_log.ldf”。

1.4表

表命名要遵循以下原则:

Ø直接使用表义名,不使用任何前缀。

Ø整个表名的长度不要超过30个字符

Ø表义名需遵循[3.1]表述的规则,尽量以英文命名,也可使用汉语拼音的首字符命名。

表义名中汉语拼音均采用小写,且字符间不加分割符;单词命名的表义名采用名词性质的单词,各单词的首字符大写,其它字符小写。

多个单词间不加任何分割符,如果整个单词太长,则使用完整的第一音节或经过仔细选择的缩写词。

名词全部采用单数形式。

Ø表别名取表义名的前3个字符加最后一个字符。

如果存在冲突,适当增加字符(如取表义名的前4个字符加最后一个字符等)

Ø关联表命名为“Re_表A_表B”形式,Re是Relative的缩写,表A和表B均采用其表义名或缩写形式。

1.5属性(列或字段)

属性命名遵循以下原则:

Ø采用有意义的列名,尽量使用英文,或有实际含义的汉语拼音的首字符,且字符间不加任何分割符。

Ø属性名前不要加表名等作为前缀。

Ø属性后不加任何类型标识作为后缀。

Ø关联字段命名以“cd+_+关联表的表义名(或缩写)+_+字段名”进行

1.6主键

任何表都必须定义与业务无关的自增形式的键值,一律命名为ID。

表主键命名为“表名+ID”,如Customer表的主键命名为CustomerID。

1.7外键

外键名称为主表名+对应列名,如

在表Department中,其字段有:

ID,DepartmentName

在表UserInfo中,其字段有:

UserId,UserName,DepartmentsID

其中,DepartmentID为外键,参照Depertment表的ID字段

1.8索引

索引的命名为:

“idx_表名(或缩写)+_+列名”。

其中多单词组成的属性列列名取前几个单词首字符,加末单词组成,如Customer表中字段LastName上的索引可命名为idx_Customer_LastName

1.9Default标识

由“df+_+”组成

1.10Rule标识

由“ru+_+”组成

1.11自定义数据类型

自定义数据类型由“ud+_+<自定义数据类型标识>+_+<数据类型>”组成

1.12触发器

ØAFTER型触发器

系统名+tr_+<表名>_+

其中i,u,d分别表示insert、update和delete

ØINSTEADOF型触发器

系统名+ti_+<表名>+_+

其中i,u,d分别表示insert、update和delete

1.13视图

视图命名由v_+表名+描述,如v_Customer_Top100

1.14存储过程

存储过程命名由“usp+_+存储过程标识”组成

存储过程标识要以实际含义的汉语拼音的首字符或以动宾形式构成,并用下划线分割各个组成部分。

对于在某个表上进行操作的存储过程可以命名为“usp_表明_操作”方式,如在Customer表上进行插入操作的存储过程命名为usp_Customer_Insert

1.15函数

函数命名由“ufn_+函数标识”组成

1.16变量名

Ø变量命名采用Camel规则,使用有明确说明性的名字。

1.17角色

全部使用小写字符命名

由“系统名称+_+role+_+名词(或缩写)或名词短语(或缩写)”组成

如用电系统的查询角色:

yd_role_query

1.18用户

全部使用小写字符命名

由“系统名称+_+user+_+名词(或缩写)或名词短语(或缩写)”组成。

如用电系统的管理用户:

yd_user_sa

1.19命名中的其它注意事项

Ø命名都不得超过30个字符。

变量名长度不要超过29个字符(不包括标识字符@)

Ø不要在对象名的字符之间留空格

Ø要保证命名没有和保留词、数据库系统或者常用访问方法冲突

5.编码规范

1.1一般性注释

注释可以包含在批处理中。

在触发器、存储过程中包含描述性注释将会大大增加文本

的可读性和可维护性。

1.1.1注释尽可能详细、全面。

1.1.2创建每一数据对象前,应具体描述该对象的功能和用途。

1.1.3传入参数的含义应该有所说明。

如果取值范围确定,也应该一并说明。

取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。

1.1.4注释语法包含两种情况:

单行注释、多行注释

单行注释:

注释前有两个连字符(--),最后以行尾序列(CR-LF)结束。

一般,对变量、条件子句可以采用该类注释。

多行注释:

符号/*和*/之间的内容为注释内容。

对某项完整的操作建议使用该类注释。

1.1.5注释应当简洁,同时应描述清晰。

1.2函数头注释

编写函数文本--如视图、函数、触发器、存储过程以及其他数据对象时,必须为每个函数增加适当注释。

该注释以多行注释为主,主要结构如下:

/************************************************************************

*name:

--函数名

*function:

--函数功能

*input:

--输入参数

*output:

--输出参数

*author:

--作者

*CreatedDate:

--创建时间

*UpdateDate:

--函数更改信息(包括作者、时间、更改内容等)

*************************************************************************/

CREATEPROCEDUREdfsp_xxx

1.3大小写约定

SQL语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。

1.4代码缩进约定

1.4.1一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进

1.4.2where子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐。

1.5多表连接约定

多表连接时,使用表的别名来引用列。

表别名的命名参见[3.4]。

1.6常用SQL语句的编写规范

常用SQL语句的编写示例如下

1.6.1CREATE语句

CREATETABLEpublishers

pub_idchar(4)NOTNULL--标识

CONSTRAINTUPKCL_pubindPRIMARYKEYCLUSTERED

CHECK(pub_idIN(''1389'',''0736'',''0877'',''1622'',''1756'')

ORpub_idLIKE''99[0-9][0-9]''),

pub_namevarchar(40)NULL,--名称

cityvarchar(20)NULL,--城市

statechar

(2)NULL,--州

countryvarchar(30)NULL--国家

DEFAULT(''USA'')

1.6.2SELECT语句

SELECT<选择列列表>

[INTO<新表名>]

FROM<要选择的表名>

[WHERE<搜索条件>]

[GROUPBY<分组条件>]

[HAVING<搜索条件>]

[ORDERBY<排序规则>[ASC|DESC]]

禁止使用SELECT*

1.6.3INSERT语句

INSERTINTO<要插入的表名>

(<列1>,<列2>,..,<列n-1>,<列n>)

VALUES(<列1值>,<列2值>,..,<列n-1值>,<列n值>)

1.6.4UPDATE语句

UPDATE<要更新的表名>

SET<要更新的列>=<列值>

1.6.5DELETE语句

DELETEFROMauthors

WHEREau_lname=''McBadden''

1.7条件执行语句(IF)编写规范

条件执行语句IF…ELSE按以下格式编写

IF<条件表达式>

BEGIN

<命令行或程序块>

END

[ELSEIF<条件表达式>

BEGIN

<命令行或程序块>

END]

注:

<1>上式若BEGIN…END之间只包含单独一命令行,为使代码紧凑,BEGIN和END边界

也常省略

<2>IF…ELSE语句可以嵌套,为提高代码的可读性,嵌套层次不应多于5层。

当嵌套

层次太多时应考虑使用CASE语句。

1.8条件选择语句(CASE)编写规范

条件选择语句CASE…WHEN按以下格式编写

CASE<运算式>

WHEN<运算式>THEN<运算式>

WHEN<运算式>THEN<运算式>

[ELSE<运算式>]

END

CASE

WHEN<条件表达式>THEN<运算式>

WHEN<条件表达式>THEN<运算式>

[ELSE<运算式>

END

1.9循环执行语句(WHILE)编写规范

循环执行语句WHILE…CONTINUE…BREAK按以下格式编写

WHILE<条件表达式>

BEGIN

<命令行或程序块>

[BREAK]

[CONTINUE]

<命令行或程序块>

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1