数据库设计(6)_命名及编码规范_SQL SERVER

本文详细介绍了在信息技术领域中编写代码和数据库时的命名规范,包括命名原则、数据库结构、编码规则以及可编程对象的命名建议。遵循这些规范有助于提高代码可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、综述

命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。

1)避免使用中文,尽量使用全拼音或全英文,以方便国际化;

2)避免拼音和英文的中西合璧,如:CAOZUO_TIME

3)避免在命名中包括空格及特殊字符;

4)避免使用保留字;

5)避免名称太长,注意缩写的使用,缩写规则为单词前4个字母,合成词取每个单词前两位组成4位缩写,对于约定束成的缩写不必遵守取4位的规则,比如:NO代表NUMBER,如果取NUMB反而让人费解。

 

二、命名规范

2.1、数据库

前缀:使用与数据库业务对象相对应的英文单词或英文缩写;

名称:使用与数据库业务性质相对应的英文单词或英文缩写;

举例:BHO_STATISTIC

注意:

1)名称一律使用单数形式;

2)动词一律保持动宾结构,通常增、删、改、查、统计的动作,使用ADDDELUPDQRYSTA作为缩写,以降低命名的长度;

 

2.2、数据库文件及文件组

1)数据库文件存放路径:D:/DATAE:/LOG

2)数据库文件组命名:主文件组 PRIMARY,次文件组 FG_业务模块_数据分类,如:FG_CONFIG_ACCOUNT

3)数据库主数据文件命名:DBNAME_DATA.MDF,如:BHO_STATISTIC_DATA.MDF

4)数据库从数据文件命名:DBNAME_DATA_XX.NDFXX为两位整数,不足两位第1位用0补齐,如:BHO_STATISTIC_DATA_01.NDF

5)数据库日志文件命名:DBNAME_LOG_XX.LDFXX为两位整数,不足两位第1位用0补齐,如:BHO_STATISTIC_LOG_01.LDF

 

2.3、数据库逻辑对象

2.3.1、架构

通常使用业务模块名作为架构名,如:配置模块(CONFIG)。

1)方便数据库对象分类;

2)方便权限管理。

 

2.3.2、表

 

前缀、名称、后缀均以下划线(_)间隔,字母均使用大写。

1 实体表

前缀:ETBE表示ENTITY

名称:架构名.ETB_名词

举例:PUBLIC.ETB_LEAGUE

 

2)关系表

前缀:RTBR表示RELATION

名称:架构名.RTB_实体英文单词缩写_实体英文单词缩写[_实体英文单词缩写…]

举例:PUBLIC.RTB_HOPA_LEAG(CONFIG.RTB_HOMEPAGE_LEAGUE)

 

3)事实表

前缀:FACT

名称:架构名.FACT_动宾结构

举例:CONFIG.FACT _ADD_USER

 

 

4)报表

前缀:RPTREPORT的简写)

名称:架构名.RPT_动宾结构

举例:CONFIG.RPT_ ADD_USER

 

5)字段

名称:词_词,全部大写

举例:FIRST_NAME

注意:

a)避免字段名中包含表名,如:EMPLOYEE_FIRST_NAME

b)避免使用数字,如:COLUMN_1COLUMN_2

c)避免字段名包含数据类型,如:COLUMN_CHARCOLUMN_NUMBER

c)冗余字段可考虑加上前缀XR,如:X_COL_NAME

 

6)索引

前缀:IX,用两个字母是为了和约束一致起来,约束:PKFKUQCKDFNL

名称:表名_列名1[_列名2…],为避免索引名太长,也可以使用表名_NN为自然数;

举例:IX_ CONFIG _FACT_ADD_USER_FACT_IDIX_ CONFIG _FACT_ADD_USER_1

 

2.3.3、视图

前缀:V

名称:架构名.V_动宾结构

举例:CONFIG .V_QRY_USER

 

2.3.4、存储过程

前缀:P

名称:架构名.P_动宾结构

举例:CONFIG .P_ADD_USER

 

2.3.5、触发器

前缀:Tr

名称:架构名.Tr_动宾结构

举例:CONFIG.Tr_ADD_USER

 

2.3.6、函数

前缀:F

名称:架构名.F_动宾结构

举例:CONFIG.F_QRY_USER

 

其他未列举的数据库逻辑对象,可参考以上规则进行命名。

 

三、编码规范

3.1、外部参数

1)对使用频繁、关键性的变量,请在定义时加上注释标明其含义;

2)尽量少用单字母变量,禁止使用诸如ij等作为变量名;

3)注意小写字母l和数字1之间的区别使用

4)参数命名约定:@名称_名称,变量名称全部用小写,以示与表中大写字段区别,如:@user_name

 

3.2、内部参数

同外部参数

 

3.3、关键字及系统内置对象

1)关键字、系统函数、系统变量等,全部大写;

2)数据类型使用小写,以与参数一致;

 

3.4、代码块

1)使用TAB来缩进,设置TAB = 4,并将TAB自动转换为空格;

2)每行控制在列边界80以内;

3)注释全部另起一行,不要和代码合在一行,单行注释采用--,,多行注释采用/* 注释内容 */。另外注释内容尽量使用英文,中文注释在英文版的DBMS中可能会导致错误。

4)多个Begin…End语句嵌套时采用如下方式

BEGIN /*1*/

    ...

    BEGIN /*1.1*/

       ...

       BEGIN /*1.1.1*/

           ...

       END /*1.1.1*/

        

       BEGIN /*1.1.2*/

           ...

       END /*1.1.2*/

    END /*1.1*/

END /*1*/

 

其中1表示第一级嵌套,1.1表示第二级嵌套,1.1.1表示第三级嵌套,1.1.2表示第三级的第二个嵌套,一般不要超过三级嵌套。

5在保证缩进格式的前提下,可以通过对齐关键字来提高代码的可读性,如下:

 

SELECT *

  FROM SCHEMA_NAME.TABLE_NAME

 WHERE COL_NAME = 'XXX'

 

3.5、可编程对象

3.5.1、代码模板

推荐使用SQL  SERVER开发工具中的模板来生成格式,再根据个人习惯进行适当修改即可。

 

3.5.2、全文注释

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

 

   途:

   者:

创建日期:

调用举例:

修订记录:

<修订日期>  <修订人>:修改内容简要说明           

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

 

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

Function:

Author:

Createdate:

execute e.g:

modify record:

<date> <whom>:description

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

 

3.5.3、返回值

存储过程中的返回值,分两种:RETURNOUTPUT参数。

1RETURN值作为存储过程的执行状态,0为正常结束,非0为异常结束。

2)使用OUTPUT参数返回错误编号和错误文本,以供弹出提示;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值