您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 大数据库设计要求规范-编码要求规范
实用标准文档文案大全数据库编码规范1目的为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。2范围本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。3术语Ø数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。Ø物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。Ø逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。4设计概要4.1设计环境a)ORACLE11GR2数据库ORACLE11GR2操作系统LINUX6以上版本,显示图形操作界面b)MSSQLSERVER2005实用标准文档文案大全数据库SQLSERVER2005企业版打sp3以上补丁和安全补丁操作系统WINDOWS2008SERVER4.2设计使用工具a)使用PowerDesigner做为数据库的设计工具,要求为主要字段做详尽说明。对于SQLServer尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQLServer中)b)通过PowerDesigner定制word格式报表,并导出word文档,作为数据字典保存,格式。(PowerDesignerv10才具有定制导出word格式报表的功能)。对于SQLServer一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。c)编写数据库建数据库、建数据库对象、初始化数据脚本文件4.3设计原则a)采用多数据文件b)禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MBc)oracle数据库中必须将索引建立在索引表空间里。d)基本信息表在建立时就分配足够的存储空间,禁止其自动扩展功能e)大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列f)为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。4.4设计的更新a)在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。b)运行阶段,由数据库管理员进行维护。c)如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。实用标准文档文案大全d)编写更新的SQL代码,如果使用PowerDesigner,禁止由PowerDesigner直接连数据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面进行修改)e)修改数据库要通过SQL,禁止其它方式对数据进行修改f)修改数据库的SQL要添加说明后保存备查5命名总体原则Ø设定的前缀一律用小写字母Ø标识名称命名全部小写Ø整个命名的全长不得超过30个字母Ø全部使用字母和下划线‘_’,不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1,t_Finace2...Ø命名名称来自于业务,全部采用英文单词Ø英文单词过长可以采用通用的缩写,尽量表达出业务的含义Ø如需要两个以上的英文单词做标识名称,单词之间要用下划线‘_’连接Ø名称全是由名词组成的,名词由大范围到小范围排序取名Ø完成某功能的名称,如函数和过程,以动宾形式取名6命名规范(逻辑对象)6.1数据库结构命名a)数据库命名数据库的命名要求使用与数据库意义相关联的英文字母,即业务系统名称。例如:chinacare数据库的命名为ccnet;客户资料数据库的命名为Customer_Info。实用标准文档文案大全b)数据库日志设计命名数据库日志的的命名以数据库名_日志名.log格式命名。其中,日志名为有意义的数据库日志名称。例如:ccnet_logredo.logc)数据库配置设计命名数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。数据库配置文件的命名以:数据库类型简写〉_应用系统标志_cfg.ini格式命名。其中,数据库类型简写见附件2《数据库类型简写》,cfq表示该文件是数据库配置文件。例如:ORA_ccnet_cfg.inid)数据库复制与存储设计命名数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。数据库复制与存储设计文件的命名以:数据库类型简写_应用系统标志_rep.txt格式命名。其中,数据库类型简写见附件2《数据库类型简写》,rep表示该文件是数据库复制与存储文件。e)数据库连接设计命名数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。数据库连接设计文件的命名以:数据库类型简写_应用系统标志_dbl.sql格式命名。其中,数据库类型简写见附件2《数据库类型简写》,dbl表示该文件是数据库连接设计文件。f)表空间、数据文件命名(主要针对Oracle)索引表空间:表空间命名格式:ts系统标识_i实用标准文档文案大全数据库文件命名格式:ts系统标识_i[n].dbf临时表空间:表空间命名格式:ts系统标识_t数据库文件命名格式:ts系统标识_t[n].dbf回滚表空间:表空间命名格式:ts系统标识_r数据库文件命名格式:ts系统标识_r[n].dbf数据表空间:表空间命名格式:ts系统标识_d数据库文件命名格式:ts系统标识_d[n].dbf注:表空间名不超过8位,n可取00-99或0-9,根据系统数据量确定。6.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是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需符合数据库的规定。例:idx_cert_number(表示在字段cert_number上创建索引)为了避免重名索引出现,可选命名方式为idx_表名_递增号作为索引的命名,但是要求在数据字典中进行详细说明d)视图视图的命名必须以“v_”(View缩写)开头,格式为:v_视图类型_[系统标识]_视图标识。其中,视图类型参见“表的分类说明”;[系统标识_]是可选项,依据情况而增加;视图标识应与视图意义相关联的英文字母。例:v_user_detail_infoe)存储过程存储过程的命名必须符合sp_[系统标识]_存储过程标识格式。其中,sp表示是存储过程;[系统标识]为可选项,依据情况而增加;存储过程标识是与存储过程意义相关联的英文字母,例如:USP_Query_Write_to_Disk。例:sp_check_user_auth(以动宾方式取名)f)触发器触发器的的命名必须符合tr_表名_i,u,d的任意组合格式。其中,tr表示是触发器;i,u,d的任意组合是与触发器意义相关联的英文字母。例:tr_user_info_iu(表示对user_info表进行插入、更新的触发器)g)函数实用标准文档文案大全函数的命名必须符合fn_[系统标识]_函数标识格式。其中,fn表示是函数,[系统标识]为可选项,依情况而定;函数标识是与函数意义相关联的英文字母。例:fn_create_id(以动宾方式取名)h)自定义数据类型自定义数据类型的命名格式为:ud_自定义数据类型标识_数据类型i)Default(缺省)Default(缺省)的命名格式一般为:df_Default标识;对于非绑定的默认可取系统默认的名字,请参见第8.1点实例绑定具体字段。例:df_begin_date缺省开始日期‘20030101’ifexists(select*fromsysobjectswheretype='D'andname='df_begin_date')dropdefaultdbo.df_begin_dategocreatedefaultdf_begin_dateas'20030101'goj)Check、Constraint(约束)约束的命名格式一般为:ck_表名_Check标识;一些约束可直接放在生成表的语句中。例:ck_flag参见第8.1点实例,约束字段flag只能取字符‘0’到‘9’:constraintck_flagCHECK(flagbetween'0’and'9’)实用标准文档文案大全k)Rule(规则)规则的命名格式一般为:rl_Rule标识;对于非绑定规则(约束)可取系统默认的名字,参见第10点设计实例绑定具体字段。例:rl_not_zero(定义一个不等于0的规则)ifexists(select*fromsysobjectswheretype='R'andname='rl_not_zero')dropruledbo.rl_not_zerogocreaterulerl_not_zeroas@i0gol)主键主键的命名格式为pk_表名_主键标识。例:pk_user_info_userid(表user_info以字段userid创建主键)m)外键外键的命名格式为fk_表名_主表名_外键标识。可选命名方式为fk_表名_递增号作为索引的命名,但是要求在数据字典中进行详细说明例:fk_user_info_department_deptid(在表user_info的字段department_id上创建外键,参照主表department)实用标准文档文案大全n)同义词(ORACLE)同义词的命名格式为:sy_同义词标识例:sy_user_info(为所有权属于ben的表user_info的公共同义词)7脚本注释7.1存储过程或触发器a)每一个存储过程或触发器都要在最前面写注释,注释如下/*writer:createdate:ver:Depiction:remark:*/另外,过程中声明的重要变量要有注释,例如:@iActionFlagint=0/*0=Checkout,1=GetLatest,2=UndoCheckOut*/b)如果只对存储过程或触发器进行部分修改时须添加以下注释:/*rewriter:add(rewriter):date:格式:YYYY-MM-DDstart1:修改描述:*/实用标准文档文案大全/*原代码内容*/(修改时)/*rewriter:date:格式:YYYY-MM-DDend1:*//*rewriter:add(rewriter):date:格式:YYYY-MM-DDstart2:*/新代码内容/*rewriter:date:格式:YYYY-MM-DDend2:*/c)如果对存储过程或触发器有较大的修改,可增加修改内容的注释。/*LogId:Log编号,从1开始一
本文标题:大数据库设计要求规范-编码要求规范
链接地址:https://www.777doc.com/doc-4929166 .html