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

一、综述

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

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参数返回错误编号和错误文本,以供弹出提示;

 

 

数据库设计规范-编码规范 数据库设计规范-编码规范全文共25页,当前为第1页。数据库设计规范-编码规范全文共25页,当前为第1页。数据库编码规范 数据库设计规范-编码规范全文共25页,当前为第1页。 数据库设计规范-编码规范全文共25页,当前为第1页。 1 目的 为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。 2 范围 本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。 3 术语 Ø 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。 Ø 物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。 Ø 逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计数据库配置有关的设计以及数据库中其他特性处理相关的设计等。 4 设计概要 4.1 设计环境 a) ORACLE 11G R2 数据库 ORACLE 11G R2 操作系统 LINUX 6以上版本,显示图形操作界面 b) MS SQL SERVER 2005 数据库设计规范-编码规范全文共25页,当前为第2页。数据库设计规范-编码规范全文共25页,当前为第2页。数据库 SQL SERVER 2005 企业版 打sp3以上补丁和安全补丁 操作系统 WINDOWS 2008 SERVER 4.2 设计使用工具 a) 使用PowerDesigner 做为数据库设计工具,要求为主要字段做详尽说明。对于SQL Server 尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQL Server中) b) 通过PowerDesigner 定制word格式报表,并导出word文档,作为数据字典保存,格式。(PowerDesigner v10 才具有定制导出word格式报表的功能)。对于SQL Server 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。 c) 编写数据库数据库、建数据库对象、初始化数据脚本文件 4.3 设计原则 a) 采用多数据文件 b) 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MB c) oracle数据库中必须将索引建立在索引表空间里。 d) 基本信息表在建立时就分配足够的存储空间,禁止其自动扩展功能 e) 大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列 f) 为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。 4.4 设计的更新 a) 在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。 b) 运行阶段,由数据库管理员进行维护。 c) 如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。 数据库设计规范-编码规范全文共25页,当前为第3页。数据库设计规范-编码规范全文共25页,当前为第3页。d) 编写更新的SQL代码,如果使用PowerDesigner,禁止由PowerDesigner直接连数据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面进行修改) e) 修改数据库要通过SQL,禁止其它方式对数据进行修改 f) 修改数据库SQL要添加说明后保存备查 5 命名总体原则 Ø 设定的前缀一律用小写字母 Ø 标识名称命名全部小写 Ø 整个命名的全长不得超过30个字母 Ø 全部使用字母和下划线'_',不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1, t_Finace2... Ø 命名名称来自于业务,全部采用英文单词 Ø 英文单词过长可以采用通用的缩写,尽量表达出业务的义 Ø 如需要两个以上的英文单词做标识名称,单词之间要用下划线'_'连接 Ø 名称全是由名词组成的,名词由大范围到小范围排序取名 Ø 完成某功能的名称,如函数和过程,以动宾形式取名 6 命名规范(逻辑对象) 6.1 数据库结构命名 a) 数据库命名 数据库命名要求使用与数据库意义相关联的英文字母,即<业务系统名称>。 例如:china care 数据库命名为ccnet; 客户资料数据库命名为Customer_Info。 b) 数据库日志设计命名 数据库设计规范-编码规范全文共25页,当前为第4页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值