数据库编程规范Word下载.docx

上传人:b****3 文档编号:15210930 上传时间:2022-10-28 格式:DOCX 页数:12 大小:26.57KB
下载 相关 举报
数据库编程规范Word下载.docx_第1页
第1页 / 共12页
数据库编程规范Word下载.docx_第2页
第2页 / 共12页
数据库编程规范Word下载.docx_第3页
第3页 / 共12页
数据库编程规范Word下载.docx_第4页
第4页 / 共12页
数据库编程规范Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库编程规范Word下载.docx

《数据库编程规范Word下载.docx》由会员分享,可在线阅读,更多相关《数据库编程规范Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

数据库编程规范Word下载.docx

《编写可移植的Transact-SQL代码》

第二部分对象命名规则

2

2.1通用规则

Pascal规则

每个单词的首字母大写。

如:

TestEmployee。

Camel规则

除了第一个单词外的其他单词的首字母大写。

testEmployee。

Upper规则

仅用于被广泛认可的缩写命名。

一般不超过四个字符,超过四个字符长度应该使用Pascal规则,如:

OLAP、PIN。

2.2数据库

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

数据库名全部采用小写。

2.3数据库文件

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

只有一个时可以不加。

文件后缀:

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

文件名全部采用小写。

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

2.4表

表命名要遵循以下原则:

Ø

规范要求使用表义名,不使用任何前缀。

但考虑到有可能存在表重名的问题,建议公司的项目数据库表命名采用“ORG_”作为前缀。

以示区分。

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

表义名尽量以英文命名,也可使用汉语拼音的首字符命名。

表义名中汉语拼音均采用小写,且字符间不加分割符;

单词命名的表义名采用名词性质的单词,各单词的首字符大写,其它字符小写。

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

名词全部采用单数形式。

表别名取表义名(不含前缀)的前3个字符加最后一个字符。

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

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

2.5属性(列或字段)

属性命名遵循以下原则:

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

如果字段为bool型,则使用"

IsShow"

"

IsValid"

HasPassed"

HasExamined"

IgnoreCase"

这种形式表示。

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

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

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

2.6主键

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

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

2.7外键

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

在表Department中,其字段有:

ID,DepartmentName

在表UserInfo中,其字段有:

UserId,UserName,DepartmentsID

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

2.8索引

索引的命名为:

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

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

2.9Default标识

由“df+_+<

default标识名>

”组成。

2.10Rule标识

由“ru+_+<

Rule标识名>

2.11自定义数据类型

自定义数据类型由“ud+_+<

自定义数据类型标识>

+_+<

数据类型>

2.12触发器

AFTER型触发器

系统名+tr_+<

表名>

_+<

i,u,d的任意组合>

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

INSTEADOF型触发器系统名+ti_+<

2.13视图

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

2.14存储过程

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

存储过程标识要以实际含义的英语单词或以动宾的形式构成,并用下划线分割各个组成部分。

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

2.15函数

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

2.16变量名

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

2.17角色

全部使用小写字符命名。

由“系统名称+_+role+_+名词(或缩写)或名词短语(或缩写)”组成如用电系统的查询角色:

yd_role_query。

2.18用户

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

如用电系统的管理用户:

yd_user_sa。

2.19命名中的其它注意事项

命名都不得超过30个字符,变量名长度不要超过29个字符(不包括标识字符@)。

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

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

第三部分编程规范

3

3.1一般性注释

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

在触发器、存储过程中包含描述性注释将会大大增加文本的可读性和可维护性。

注释尽可能详细、全面。

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

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

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

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

注释语法包含两种情况:

单行注释、多行注释。

单行注释:

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

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

多行注释:

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

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

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

3.2函数头注释

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

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

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

*name:

--函数名

*function:

--函数功能

*input:

--输入参数

*output:

--输出参数

*author:

--作者

*CreatedDate:

--创建时间

*UpdateDate:

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

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

CREATEPROCEDUREdfsp_xxx

3.3大小写约定

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

3.4代码缩进约定

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

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

3.5多表连接约定

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

表别名的命名参见。

3.6常用SQL语句的编写规范

3.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'

3.6.2SELECT语句

SELECT<

选择列列表>

[INTO<

新表名>

]

FROM<

要选择的表名>

[WHERE<

搜索条件>

[GROUPBY<

分组条件>

[HAVING<

[ORDERBY<

排序规则>

[ASC|DESC]]

禁止使用SELECT*

3.6.3INSERT语句

INSERTINTO<

要插入的表名>

(<

列1>

<

列2>

..,<

列n-1>

列n>

VALUES(<

列1值>

列2值>

列n-1值>

列n值>

3.6.4UPDATE语句

UPDATE<

要更新的表名>

SET<

要更新的列>

=<

列值>

3.6.5DELETE语句

DELETEFROMauthors

WHEREau_lname='

McBadden'

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

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

IF<

条件表达式>

BEGIN

<

命令行或程序块>

END

[ELSEIF<

END]

注:

1>

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

也常省略

2>

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

当嵌套

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

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

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

CASE<

运算式>

WHEN<

THEN<

[ELSE<

]

CASE

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

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

WHILE<

[BREAK]

[CONTI

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

当前位置:首页 > 初中教育 > 数学

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

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