大数据库设计要求规范_编码要求规范_第1页
大数据库设计要求规范_编码要求规范_第2页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库编码规范1 目的为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。2 范围本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。3 术语0数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。0物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。0逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域

2、、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。4 设计概要4.1设计环境a) ORACLE11GR2数据库ORACLE11GR2操作系统LINUX6以上版本,显示图形操作界面b) MSSQLSERVER2005文案大全数据库SQLSERVER2005企业版打sp3以上补丁和安全补丁操作系统WINDOWS2008SERVER4.2设计使用工具a) 使用PowerDesigner做为数据库的设计工具,要求为主要字段做详尽说明。对于SQLServer尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明

3、(这些将作为扩展属性存入SQLServer中)b) 通过PowerDesigner定制word格式报表,并导出word文档,作为数据字典保存,格式。(PowerDesignerv10才具有定制导出word格式报表的功能)。对于SQLServer一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典c)编写数据库建数据库、建数据库对象、初始化数据脚本文件4.3设计原则a) 采用多数据文件b) 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MBc)oracle数据库中必须将索引建立在索引表空间里。d)基本信息表在建立时就分配足够的存储空间,

4、禁止其自动扩展功能e)大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列f)为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。4.4设计的更新a)在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。b)运行阶段,由数据库管理员进行维护。c) 如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。d) 编写更新的SQL代码,如果使用PowerDesigner,禁止由PowerDesigner直接连数据库进行数据库操作(如果是更改表或者字段的说明

5、性文字可以通过数据库管理器图形界面进行修改)e) 修改数据库要通过SQL,禁止其它方式对数据进行修改f) 修改数据库的SQL要添加说明后保存备查5 命名总体原则0设定的前缀一律用小写字母0标识名称命名全部小写0整个命名的全长不得超过30个字母0全部使用字母和下划线_',不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1,t_Finace2.0命名名称来自于业务,全部采用英文单词0英文单词过长可以采用通用的缩写,尽量表达出业务的含义0如需要两个以上的英文单词做标识名称,单词之间要用下划线T连接0名称全是由名词组成的,名词由大范围到小范围排序取名0完成某功能的

6、名称,如函数和过程,以动宾形式取名6 命名规范(逻辑对象)6.1数据库结构命名a) 数据库命名数据库的命名要求使用与数据库意义相关联的英文字母,即业务系统名称。例如:chinacare数据库的命名为ccnet;客户资料数据库的命名为Customejlnfo。b) 数据库日志设计命名数据库日志的的命名以数据库名_日志名.log格式命名。其中,日志名为有意义的数据库日志名称。例如:ccnet_logredo.logc) 数据库配置设计命名数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。数据库配置文件的命名以:数据库类型简写_应用系统标志_cfg.ini格式命名。其中

7、,数据库类型简写见附件2数据库类型简写,cfq表示该文件是数据库配置文件。例如:ORA_ccnet_cfg.inid) 数据库复制与存储设计命名数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。数据库复制与存储设计文件的命名以:数据库类型简写_应用系统标志_rep.txt格式命名。其中,数据库类型简写见附件2数据库类型简写,rep表示该文件是数据库复制与存储文件。e) 数据库连接设计命名数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。数据库连接设计文件的命名以:数据库类型简写_应用系统标志_dbl.sql格式

8、命名。其中,数据库类型简写见附件2数据库类型简写,dbl表示该文件是数据库连接设计文件。f) 表空间、数据文件命名(主要针对Oracle)索引表空间:表空间命名格式:ts系统标识_i数据库文件命名格式:七$系统标识_in.dbf临时表空间:表空间命名格式:ts系统标识_t数据库文件命名格式:ts系统标识_tn.dbf回滚表空间:表空间命名格式:ts系统标识_r数据库文件命名格式:七$系统标识_rn.dbf数据表空间:表空间命名格式:ts系统标识_d数据库文件命名格式:ts系统标识_dn.dbf注:表空间名不超过8位,n可取00-99或0-9,根据系统数据量确定。6.2数据库对象命名a) 表表的

9、命名必须以“t_”(Table缩写)开头,格式为:t_系统标识_数据表类型标识_表标识。其中,表示可选项,依据实际情况而增加;表标识要求与表意义相关联的英文字母,例如:t_Customers。数据表大致分为:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表;基本编码表用base标志累计数据表用count标志系统信息表用info标志.例如:t_trade_base_trade_code,t_trade_info_help.b) 字段/域根据业务要求进行命名,不需设定固定的前缀。C)索引针对数据库表中一个或多个字段建立的索引的命名格式应以“idx_”开头,索引列名

10、间用隔开,即为idx_ColumnName1_ColumnName2_其中,ColumnNamel是数据库表中(第一个)索引字段的名称或名称简写;ColumnName2是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需符合数据库的规定。例:idx_cert_number(表示在字段cert_number上创建索引)为了避免重名索引出现,可选命名方式为idx_表名_递增号作为索引的命名,但是要求在数据字典中进行详细说明d)视图视图的命名必须以“v_”(View缩写)开头,格式为:v_视图类型_系统标识_视图标识。其中,视图类型参见“表的分类说明”;系统标识是可选项,依据情况而增加;

11、视图标识应与视图意义相关联的英文字母。例: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)

12、函数函数的命名必须符合fn_系统标识_函数标识格式。其中,fn表示是函数,系统标识为可选项,依情况而定;函数标识是与函数意义相关联的英文字母。例:fn_create_id(以动宾方式取名)h)自定义数据类型自定义数据类型的命名格式为:ud_自定义数据类型标识_数据类型i)Default(缺省)Default(缺省)的命名格式一般为:df_Default标识;对于非绑定的默认可取系统默认的名字,请参见第8.1点实例绑定具体字段。例:df_begin_date缺省开始日期20030101'ifexists(select*fromsysobjectawheretype二'D'

13、andname='df_begin_date')dropdefauItdbo.df_begin_dategocreatedefauItdf_begin_dateas'20030101'goj)Check、Constraint(约束)约束的命名格式一般为:ck_表名_Check标识;一些约束可直接放在生成表的语句中。例:ck_flag参见第8.1点实例,约束字段flag只能取字符0'到9':constraintck_flagCHECK(flagbetween'0and'9')k)Rule(规则)规则的命名格式一般为:rl_R

14、ule标识;对于非绑定规则(约束)可取系统默认的名字,参见第10点设计实例绑定具体字段。例:rl_not_zero(定义一个不等于0的规则)ifexists(select*fromsysobjectswheretype二'R'andname二'rl_not_zero')dropruledbo.rl_not_zerogocreaterulerl_not_zeroasi0gol)主键主键的命名格式为pk_表名_主键标识。例:pk_user_info_userid(表user_info以字段userid创建主键)m)外键外键的命名格式为fk_表名_主表名_外键标识。可

15、选命名方式为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:*/另外,过程中声明的重要变量要有注

16、释,例如:iActionFlagint二0/*0二Checkout,1=>GetLatest,2=>UndoCheckOut*/b)如果只对存储过程或触发器进行部分修改时须添加以下注释:/*rewriter:YYYYMMDD>add(rewriter):date:<格式:startl:修改描述:*/*原代码内容*/(修改时)/*rewriter:date:<格式:YYYY-MM-DD>endl:*/*rewriter:add(rewriter):date:格式:YYYY-MM-DD>start2:*/新代码内容/*rewriter:date:<格

17、式:YYYY-MM-DD>end2:*/c)如果对存储过程或触发器有较大的修改,可增加修改内容的注释。/*LogId:Log编号,从1开始一次增加rewriter:rewritedate:格式:YYYY-MM-DDDepiction:*/7.2自定义函数a)每一个自定义函数都要在其前面写注释,注释如下/*functionname:xxxxDepiction:对此函数的描述param(a,b)a功能或描述.b功能或描述output:xx=0表示x=1表示writer:createdate:<创建日期,格式:YYYY-MM-DD>ver:remark:另外,函数中声明的重要变量要

18、有注释,例如:iActionFlagint二0/*0二Checkout,1=>GetLatest,2=>UndoCheckOut*/b)如果只对函数进行部分修改时须添加以下注释:/*rewriter:YYYYMMDD>add(rewriter):startl:date:格式:修改描述:*/*原代码内容*/(修改时)/*rewriter:date:<格式:YYYY-MM-DD>end1:*/*rewriter:YYYYMMDD>add(rewriter):start2:*/date:格式:新代码内容/*rewriter:date:<格式:YYYY-MM-

19、DD>end2:*/c)如果对函数有较大的修改,可增加修改内容的注释。/*Logid:<Log编号,从1开始一次增加rewriter:rewritedate:<修改日期,格式:YYYY-MM-DD>Depiction:*/8 数据库操作原则8.1建立、删除、修改库表操作0在开发环境中,对于自己的库表可任意进行修改、删除操作;但需保留相应的建表语句和说明,与建表人建表时间。8.2添加、删除、修改表数据0在开发环境中,开发人员所开发模块独自使用的库表,可自由操作表中数据;0对其他模块关联的库表,应取得其他模块的开发人员同意后再执行操作;0系统的信息表、字典表的修改应向数据库

20、的管理员提出操作需求,由数据库的管理员执行操作。9 常用字段命名(参考)9.1系统信息常用字段字段名称字段代码ORACLESQLSERVER值说明用户标识user_idchar(8)char(8)用于登录应用系统的标识,填写数字。一般做主键,要填满长度。用户名称user_namevarchar2(20)varchar(20)用户标识对应的名称组标识grp_idchar(4)char(4)用户所属的组标识,填写数字。一般做主键,要填满长度。组名称grp_namevarchar2(50)varchar(50)组标识对应名称组权限标识grp_auth_idchar(2)char(2)由低到高,从00

21、到99。要填满长度组权限名称grp_auth_namevarchar2(50)varchar(50)组权限标识对应名称密码passwordvarchar2(30)varchar(30)9.2客户个人信息常用字段字段名称字段代码ORACLESQLSERVER值说明客户标识customer_idcharchar业务系统使用的客户标识,一般做主键,不用可变长类型。要填满长度。客户姓名customer_namevarchar2(50)varchar(50)部门标识dept_idchar(?)char(?)般做主键,不用可变长类型。要填满长度。部门名称dept_namevarchar2(50)varch

22、ar(50)性别sexchar(1)char(1)F/M以下没有标识的,直接在字段中填写具体值婚姻状况marriagestatusvarchar2(50)varchar(50)出生日期birthdaydatesmalldatetime身高hightnumber(5,2)dec(5,2)单位为厘米体重weightnumber(5,2)dec(5,2)单位为公斤民族nationalityvarchar2(20)varchar(20)联系电话phonevarchar2(50)varchar(50)家庭电话home_phonevarchar2(50)varchar(50)办公电话1office_pho

23、ne1varchar2(50)varchar(50)办公电话2office_phone2varchar2(50)varchar(50)区号zonevarchar2(20)varchar(20)传真号码office_faxvarchar2(50)varchar(50)移动电话mobil_phonevarchar2(50)varchar(50)电子信箱emailvarchar2(50)varchar(50)邮政编码post_codevarchar2(20)varchar(20)国籍countryvarchar2(50)varchar(50)居住省provincevarchar2(20)varcha

24、r(20)居住市cityvarchar2(20)varchar(20)家庭住址home_addrvarchar2(80)varchar(80)办公地点office_addrvarchar2(80)varchar(80)证件号码cert_numbervarchar2(50)varchar(50)证件名称cert_namevarchar2(20)varchar(20)职业标识occupation_idchar(4)char(4)要填满长度职业名称occupationvarchar2(50)varchar(50)教育程度educationvarchar2(20)varchar(20)9.3铺助信息常

25、用字段字段名称字段代码ORACLESQLSERVER值说明记录状态标识flagchar(1)char(1)A/DA:有效;D:删除;S:暂停记录序号idnumberint9.4业务信息常用字段字段名称字段代码ORACLESQLSERVER值说明业务发生日期oper_datedatesmalldate开始日期begin_datedatesmalldate结束日期end_datedatesmalldate操作日期curr_datedatesmalldate操作员编号user_idchar(4)char(4)即为系统信息中的用户标识发生额number(7,2)dec(7,2)余额balancenum

26、ber(10,2)dec(10,2)描述descriptionvarchar2(50)varchar(50)10设计实例(SQLSERVER2005参考)10.1表、主键、外键、索引、规则、约束名称:t_base_user中文名称:用户基本信息表简单说明:存放用户的基本信息名称代码数据类型键、规则、约束注释用户IDuser_idchar(8)PK用户唯一标识用户姓名user_namevarchar(20)用户真实姓名身高hightdecimal(7,2)rl_not_zero为举例子而设定此三个字段,原表没有。体重weightdecimal(7,2)开始日期begin_datesmalldat

27、etimedf_begin_date部门iddepartment_idchar(4)FK用户所属的部门id参照主表:department用户职务1idheadship1_idchar(4)FK用户的职务id参照主表:用户职务2idheadship2_idchar(4)FK用户的职务id参照主表:用户职称idtitle_idchar(4)FK用户的职称id参照主表:电话号码phonevarchar(50)用户的电话号码emailvarchar(50)银行账号account_novarchar(50)用户的工资银行账号身份IDcert_numbervarchar(30)UNIINDEX用户的身份ID停用flagchar(1)NOTNULL识别用户是否被注销/*Table:t_base_user*/createtablet_base_user(user_iduser_namehightweightbegin_datedepartment_idhe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论