当前位置:文档之家› 数据库设计规范 编码规范

数据库设计规范 编码规范

数据库编码规范目的1为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。

2 范围本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。

术语3数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻?辑结构的对象。

物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、? 目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。

一般对数据库服产品的概要设计阶段予以规划。

务器物理设备的管理规程,在整个项目/逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段? 域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据/ 库配置有关的设计以及数据库中其他特性处理相关的设计等。

4 设计概要4.1 设计环境R2 ORACLE 11G a)数据库ORACLE 11G R2操作系统 LINUX 6以上版本,显示图形操作界面b) MS SQL SERVER 2005数据库企业版 SQL SERVER 2005以上补丁和安全补丁打sp3操作系统 WINDOWS 2008 SERVER4.2 设计使用工具做为数据库的设计工具,要求为主要字段做详尽说明。

对于PowerDesignera) 使用尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说SQL Server明(这些将作为扩展属性存入SQL Server中)文档,作为数据字典保存,PowerDesigner b) 通过定制wordword格式报表,并导出SQL Server PowerDesigner v10 格式。

(才具有定制导出word格式报表的功能)。

对于一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。

编写数据库建数据库、建数据库对象、初始化数据脚本文件c)设计原则4.3采用多数据文件a)500MB 2GB,windowb) 禁止使用过大的数据文件,系统不超过unix系统不大于数据库中必须将索引建立在索引表空间里。

c) oracle基本信息表在建立时就分配足够的存储空间,禁止其自动扩展功能d)blob(或大文本列)和大文本字列、e) blob列要独立出一张表,此表只有id或saf) 为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用者系统管理员身份进行数据库设计。

4.4 设计的更新a) 在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。

b) 运行阶段,由数据库管理员进行维护。

c) 如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。

如果修改的是数据库字典表,必须由数据库管理员进行。

直接连代码,如果使用PowerDesigner,禁止由PowerDesignerd) 编写更新的SQL数据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面进行修改)e) 修改数据库要通过SQL,禁止其它方式对数据进行修改要添加说明后保存备查修改数据库的SQLf)命名总体原则5设定的前缀一律用小写字母?? 标识名称命名全部小写整个命名的全长不得超过30个字母?,不能使用中文和其他字符,有特别情况允许使用末尾数‘_'? 全部使用字母和下划线t_Finace1, t_Finace2... 字编号。

例如:? 命名名称来自于业务,全部采用英文单词英文单词过长可以采用通用的缩写,尽量表达出业务的含义?如需要两个以上的英文单词做标识名称,单词之间要用下划线‘_'? 连接? 名称全是由名词组成的,名词由大范围到小范围排序取名? 完成某功能的名称,如函数和过程,以动宾形式取名6 命名规范(逻辑对象)数据库结构命名6.1a) 数据库命名业务系统名称<>。

数据库的命名要求使用与数据库意义相关联的英文字母,即ccnet;数据库的命名为例如:china care客户资料数据库的命名为Customer_Info。

b) 数据库日志设计命名为有意义的日志名>格式命名。

其中,日志名>.log<>_<数据库日志的的命名以<数据库名数据库日志名称。

ccnet_logredo.log 例如:c) 数据库配置设计命名数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。

>_cfg.ini格式命名。

数据库类型简写〉_<应用系统标志数据库配置文件的命名以:<表示该文件是数据库配置文其中,数据库类型简写见附件2《数据库类型简写》,cfq 件。

ORA_ ccnet_cfg.ini 例如:d) 数据库复制与存储设计命名数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。

格式命数据库复制与存储设计文件的命名以:<数据库类型简写>_rep.txt>_<应用系统标志名。

表示该文件是数据库复制与存储其中,数据库类型简写见附件2《数据库类型简写》,rep 文件。

e) 数据库连接设计命名数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。

格式命名。

数据库类型简写>_<应用系统标志>_dbl. sql数据库连接设计文件的命名以:<表示该文件是数据库连接设计文2《数据库类型简写》,dbl其中,数据库类型简写见附件件。

主要针对(表空间、数据文件命名Oracle) f)索引表空间:表空间命名格式:ts<系统标识>_i>_i[n].dbf系统标识ts<数据库文件命名格式:临时表空间:>_t 系统标识ts<表空间命名格式:>_t[n].dbf 系统标识数据库文件命名格式:ts<回滚表空间:>_r 系统标识ts<表空间命名格式:>_r[n].dbf ts<系统标识数据库文件命名格式:数据表空间:>_d 表空间命名格式:ts<系统标识>_d[n].dbf 数据库文件命名格式:ts<系统标识注:表空间名不超过8位,n 可取,根据系统数据量确定。

00-99或0-96.2 数据库对象命名表a)表标数据表类型标识>_<t_[Table缩写)开头,格式为:系统标识]_<“t_”表的命名必须以(。

识>要求与表意义相关联的英文字母,> 表示可选项,依据实际情况而增加;<表标识其中,[ ] 。

例如:t_Customers数据表大致分为:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表;基本编码表用base标志累计数据表用count标志... info标志系统信息表用例如:t_trade_base_trade_code,t_trade_info_help ...b) 字段/域根据业务要求进行命名,不需设定固定的前缀。

.c) 索引隔“idx_”开头,索引列名间用_针对数据库表中一个或多个字段建立的索引的命名格式应以开,即为idx_ColumnName1_ColumnName2_…是数据库表中(第一个)索引字段的名称或名称简写;其中,ColumnName1是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需ColumnName2 符合数据库的规定。

) 表示在字段cert_number上创建索引例:idx_cert_number (作为索引的命名,但是> >_<表名为了避免重名索引出现,可选命名方式为 idx_<递增号要求在数据字典中进行详细说明d) 视图视图标系统标识] _<缩写视图的命名必须以“v_”(View )开头,格式为: v_<视图类型>_[ 。

识>视图标<其中,视图类型参见“表的分类说明”;_][系统标识是可选项,依据情况而增加; > 应与视图意义相关联的英文字母。

识v_user_detail_info 例:e) 存储过程格式。

存储过程的命名必须符合sp_[系统标识]_<存储过程标识>是与系统标识表示是存储过程;[>]为可选项,依据情况而增加;<存储过程标识其中,sp 。

存储过程意义相关联的英文字母,例如:USP_Query_Write_to_Disk(以动宾方式取名)例: sp_check_user_auth触发器f)格式。

>_<i,u,d的任意组合> 表名触发器的的命名必须符合tr_<>是与触发器意义相关联的英文字母。

的任意组合其中,tr表示是触发器;<i,u,d例:tr_user_info_iu (表示对user_info表进行插入、更新的触发器)g) 函数>格式。

]_<函数的命名必须符合fn_[系统标识函数标识是与函数意义相关函数标识>系统标识]为可选项,依情况而定;<其中,fn表示是函数,[ 联的英文字母。

fn_create_id(以动宾方式取名)例:h) 自定义数据类型> 数据类型ud_<自定义数据类型标识>_<自定义数据类型的命名格式为:i) (缺省)Default;对于非绑定的默认可取系统默认>df_<Default标识Default(缺省)的命名格式一般为:点实例绑定具体字段。

的名字,请参见第8.1例:df_begin_date 缺省开始日期‘20030101'if exists (select * from sysobjects where type = 'D' and name = 'df_begin_date')drop default dbo.df_begin_dategocreate default df_begin_date as '20030101'go、j) CheckConstraint(约束);一些约束可直接放在生成表的语句>表名>_ <Check标识ck_<约束的命名格式一般为:中。

参见第8.1点实例,约束字段flag只能取字符‘0'ck_flag 例:到‘9':constraint ck_flag CHECK (flag between '0' and '9' ).k) Rule(规则)可取系统默认的名字,规则的命名格式一般为:rl_<Rule标识>;对于非绑定规则(约束) 参见第10点设计实例绑定具体字段。

相关主题