版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库编码规范目的为了统一公司软件开发的设计过程中关于数据库设计时的命名规范和具体工作时的编程规 范,便于交流和维护,特制定此规范。范围本规范适用于全体开发人员,作用于软件项目开发的数据库设计、维护阶段。术语? 数据库对象:在数据库软件开发中,数据库服务器端涉及的对象包括物理结构和逻 辑结构的对象。?物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。一般对数据库服务 器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。?逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段 /域、
2、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库 配置有关的设计以及数据库中其他特性处理相关的设计等。设计概要设计环境a) ORACLE 11G R2数据库ORACLE 11GR2操作系统LINUX 6以上版本,显示图形操作界面b)MS SQL SERVER 2005数据库SQL SERVER 2005 企业版打sp3以上补丁和安全补丁操作系统WINDOWS 2008 SERVER设计使用工具a)使用PowerDesigner做为数据库的设计工具,要求为主要字段做详尽说明。对于 SQL Server尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明
3、(这 些将作为扩展属性存入 SQL Server中)通过PowerDesigner定制word格式报表,并导出 word文档,作为数据字典保存, 格式。(PowerDesigner v10才具有定制导出 word格式报表的功能)。对于SQL Server 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。编写数据库建数据库、建数据库对象、初始化数据脚本文件设计原则采用多数据文件禁止使用过大的数据文件,unix系统不大于2GB,window 系统不超过500MBoracle数据库中必须将索引建立在索引表空间里。基本信息表在建立时就分配足够的存储空间,禁止其自动
4、扩展功能大文本字列、blob列要独立出一张表,此表只有id和blob(或大文本)列为每一个数据库创建独立的管理员用户,使用该用户进行设计,尽量不要使用sa或者系统管理员身份进行数据库设计。设计的更新在设计阶段,由数据库管理员或指定的项目组其一成员进行维护。运行阶段,由数据库管理员进行维护。如对表结构进行修改,应先在数据字典文档进行修改,最后在数据库中进行修改。如果修改的是数据库字典表,必须由数据库管理员进行。编写更新的 SQL代码,如果使用 PowerDesigner ,禁止由PowerDesigner 直接连数 据库进行数据库操作(如果是更改表或者字段的说明性文字可以通过数据库管理器图形界面
5、 进行修改)修改数据库要通过 SQL ,禁止其它方式对数据进行修改修改数据库的SQL要添加说明后保存备查命名总体原则?设定的前缀一律用小写字母?标识名称命名全部小写?整个命名的全长不得超过30个字母?全部使用字母和下划线,_?,不能使用中文和其他字符,有特别情况允许使用末尾数字编号。例如:t_Finace1, t_Finace2?命名名称来自于业务,全部采用英文单词?英文单词过长可以采用通用的缩写,尽量表达出业务的含义?如需要两个以上的英文单词做标识名称,单词之间要用下划线,_旗接?名称全是由名词组成的,名词由大范围到小范围排序取名?完成某功能的名称,如函数和过程,以动宾形式取名命名规范(逻辑
6、对象)数据库结构命名数据库命名数据库的命名要求使用与数据库意义相关联的英文字母,即业务系统名称。例如:china care 数据库的命名为 ccnet ;客户资料数据库的命名为Customer_Info 。数据库日志设计命名 数据库日志的的命名以V数据库名日志名.log格式命名。其中,日志名为有意义的数 据库日志名称。例如: ccnet_logredo.log数据库配置设计命名数据库配置设计方案是以文件形式保存的,其内容是关于特定数据库的配置项目的具体值。数据库配置文彳的命名以:数据库类型简写_应用系统标志_cfg.ini格式命名。其中,数据库类型简写见附件2数据库类型简写,cfq表示该文件是
7、数据库配置文件。例如:ORA_ ccnet_cfg.ini数据库复制与存储设计命名数据库复制与存储设计方案是以文件形式保存的,其内容是关于特定数据库之间的复制策略的具体细节。数据库复制与存储设计文件的命名以:数据库类型简写应用系统标志rep.txt格式命名。其中,数据库类型简写见附件2数据库类型简写,rep表示该文件是数据库复制与存储文件。数据库连接设计命名数据库连接设计方案是以文件形式保存的,其内容是关于特定分布式数据库之间的连接设计的具体细节。数据库连接设计文件的命名以:数据库类型简写应用系统标志dbl. sql格式命名。其中,数据库类型简写见附件 2数据库类型简写,dbl表示该文件是数据
8、库连接设计文件。表空间、数据文件命名(主要针对Oracle)索引表空间:表空间命名格式:1$系统标识_i数据库文件命名格式:1$系统标识_in.dbf临时表空间:表空间命名格式:1$系统标识_t数据库文件命名格式:1$系统标识_tn.dbf回滚表空间:表空间命名格式:1$系统标识_r数据库文件命名格式:1$系统标识_rn.dbf数据表空间:表空间命名格式:1$系统标识_d数据库文件命名格式:1$系统标识_dn.dbf注:表空间名不超过 8位,n可取00-99或0-9,根据系统数据量确定。数据库对象命名表表的命名必须以t(Table缩写)开头,格式为:t系统标识数据表类型标识表标版 O其中,表示
9、可选项,依据实际情况而增加;表标识要求与表意义相关联的英文字母,例如:t_Customers 。数据表大致分为:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结算数据表、决策数据表;基本编码表用base标志累计数据表用count标志系统信息表用info标志.例如:t trade base trade code,t trade info help .字段/域根据业务要求进行命名,不需设定固定的前缀。索引针对数据库表中一个或多个字段建立的索引的命名格式应以“idx开头,索引列名间用 隔开,即为 idx_ColumnName1_ColumnName2_其中,ColumnNamel 是数
10、据库表中(第一个)索引字段的名称或名称简写;ColumnName2 是数据库表中(第二个)索引字段的名称或名称简写;索引名的总长必需符合数据库的规定。例:idx_cert_number ( 表示在字段 cert_number 上创建索引)为了避免重名索引出现,可选命名方式为idx表名递增号 作为索引的命名,但是要求在数据字典中进行详细说明视图视图的命名必须以“v(VieWt写)开头,格式为:v视图类型系统标识视图标版 O其中,视图类型参见 表的分类说明”;系统标识是可选项,依据情况而增加;视图标识应与视图意义相关联的英文字母。例:v_user_detail_info存储过程存储过程的命名必须符
11、合 sp_系统标识L存储过程标识 格式。其中,sp表示是存储过程;系统标识为可选项,依据情况而增加;存储过程标识 是与存储过程意义相关联的英文字母,例如:USP_Query_Write_to_Disk 。例:sp_check_user_auth(以动宾方式取名)触发器触发器的的命名必须符合 tr_表名_i,u,d的任意组合 格式。其中,tr表示是触发器;i,u,d的任意组合 是与触发器意义相关联的英文字母。例:tr_user_info_iu (表示对user_info表进行插入、更新的触发器)函数函数的命名必须符合 fn_系统标识_函数标识 格式。其中,fn表示是函数,系统标识为可选项,依情况
12、而定;函数标识 是与函数意义相关联的英文字母。例:fn_create_id (以动宾方式取名)自定义数据类型自定义数据类型的命名格式为:ud_自定义数据类型标识_数据类型Default (缺省)Default (缺省)的命名格式一般为:df_Default标识;对于非绑定的默认可取系统默认的名字,请参见第 8.1点实例绑定具体字段。例:df_begin_date 缺省开始日期 ,20030101?if exists (select * from sysobjects where type = D and name = df_begin_date)drop default dbo.df_begi
13、n_dategocreate default df_begin_date as 20030101 goCheck、Constraint (约束)约束的命名格式一般为:ck_表名_ Check标识 ;一些约束可直接放在生成表的语句中。例:ck_flag参见第8.1点实例,约束字段 flag只能取字符,0例,9?constraint ck_flag CHECK (flag between 0? and 9?)Rule (规则) 规则的命名格式一般为:rlRule标识;对于非绑定规则(约束)可取系统默认的名字,参 见第10点设计实例绑定具体字段。例:rl_not_zero (定义一个不等于0的规则)
14、if exists (select * from sysobjects where type = R and name = rl_not_zero)drop rule dbo.rl_not_zerogocreate rule rl_not_zero as i 0go主键主键的命名格式为 pk_表名_主键标识。例:pk_user_info_userid (表 user_info 以字段 userid 创建主键)外键外键的命名格式为fk_表名_主表名_外键标识。可选命名方式为fk_表名_递增号 作为索引的命名,但是要求在数据字典中进行详细说 明例:fk user info department d
15、eptid(在表 user info 的字段 department id 上创建夕卜键,参照主表 department )n) 同义词(ORACLE ) 同义词的命名格式为:sy_同义词标识例:sy_user_info (为所有权属于 ben的表user_info的公共同义词)脚本注释存储过程或触发器每一个存储过程或触发器都要在最前面写注释,注释如下/*writer :create date :ver : |Depiction :remark :*/另外,过程中声明的重要变量要有注释,例如:iActionFlag int = 0 /* 0 = Checkout, 1 =GetLatest, 2
16、 =UndoCheckOut */如果只对存储过程或触发器进行部分修改时须添加以下注释:/*rewriter : add (rewriter ) :date : start1 :修改描述:*/*原代码内容*/ (修改时)/*rewriter : date : end1 : */*rewriter : add (rewriter )date : start2 :*/新代码内容/*rewriter : date : 格式:YYYY-MM-DD end2 :*/如果对存储过程或触发器有较大的修改,可增加修改内容的注释。/*Log Id : Log编号,从1开始一次增加rewriter :rewrit
17、e date : 格式:YYYY-MM-DDDepiction :*/自定义函数每一个自定义函数都要在其前面写注释,注释如下/*function name:xxxxDepiction : 对此函数的描述param (a,b)a功能或描述.b功能或描述output: x x=0 表示. x=1 表示writer :create date :创建日期,格式: YYYY-MM-DDver :remark :* /另外,函数中声明的重要变量要有注释,例如:iActionFlag int = 0 /* 0 = Checkout, 1 =GetLatest, 2 =UndoCheckOut */如果只对函
18、数进行部分修改时须添加以下注释:/*rewriter : add (rewriter ) :date : start1 :修改描述:*/*原代码内容*/ (修改时)/*rewriter : date : end1 : */*rewriter : add (rewriter) :date : start2 :*/新代码内容/*rewriter : date : end2 :*/如果对函数有较大的修改,可增加修改内容的注释。/*Log id : rewriter :rewrite date :修改日期,格式: YYYY-MM-DDDepiction :*/数据库操作原则建立、删除、修改库表操作?在
19、开发环境中,对于自己的库表可任意进行修改、删除操作;但需保留相应的建表语句和说明,与建表人建表时间。添加、删除、修改表数据?在开发环境中,开发人员所开发模块独自使用的库表,可自由操作表中数据;?对其他模块关联的库表,应取得其他模块的开发人员同意后再执行操作;?系统的信息表、字典表的修改应向数据库的管理员提出操作需求,由数据库的管理员执行操作。常用字段命名(参考)系统信息常用字段 字段名称:字段代码ORACLESQLSERVER值说明 用户标识user_idchar(8)char(8)用于登录应用系统的标识,填写数字。一般做主键,要填满长度。用户名称user_namevarchar2(20)va
20、rchar(20) |用户标识对应的名称 组标识grp_idchar(4)char(4)用户所属的组标识,填写数字。一般做主键,要填满长度。组名称grp_name varchar2(50) varchar(50)组标识对应名称组权限标识 grp_auth_id char(2) char(2)由低到高,从00到99。要填满长度组权限名称 grp_auth_name varchar2(50) varchar(50)组权限标识对应名称 密码password | varchar2(30) varchar(30)客户个人信息常用字段字段名称字段代码:ORACLESQLSERVER值说明客户标识 cust
21、omerjd char(?)char(?)业务系统使用的客户标识,一般做主键,不用可变长类型。要填满长度。客户姓名customer_name varchar2(50) varchar(50)部门标识 dept_id char(?) char(?)般做主键,不用可变长类型。要填满长度。部门名称dept_name varchar2(50) varchar(50) |性别sexchar(1)char(1)F/M以下没有标识的,直接在字段中填写具体值 婚姻状况marriagestatus varchar2(50) varchar(50) |出生日期birthday date smalldatetime
22、 身高hight number(5,2) dec(5,2)单位为厘米j体重weight number(5,2) dec(5,2)单位为公斤 民族|nationality varchar2(20) varchar(20)联系电话 phone varchar2(50) varchar(50) 家庭电话 home_phone varchar2(50) varchar(50)办公电话1office_phone1 varchar2(50) varchar(50) 办公电话2office_phone2 varchar2(50) varchar(50)区号zonevarchar2(20) varchar(2
23、0)传真号码office_fax varchar2(50) varchar(50)移动电话mobil_phone varchar2(50) varchar(50)电子信箱 email varchar2(50) varchar(50)J邮政编码 post_code varchar2(20) varchar(20)国籍countryvarchar2(50) varchar(50)J居住省province varchar2(20) varchar(20)居住市cityvarchar2(20)varchar(20)家庭住址 home_addr varchar2(80) varchar(80)办公地点o
24、ffice_addr varchar2(80) varchar(80)证件号码cert_number varchar2(50) varchar(50)J证件名称cert_name varchar2(20) varchar(20)职业标识 occupation_id char(4) char(4)1要填满长度职业名称 occupation varchar2(50)varchar(50) |教育程度 education varchar2(20) varchar(20)铺助信息常用字段字段名称字段代码:ORACLESQLSERVER值说明 记录状态标识flagchar(1)char(1)A/D-A:
25、有效;D:删除;S:暂停记录序号id numberint业务信息常用字段字段名称 字段代码 ORACLESQLSERVER 值 说明业务发生日期 oper_date date smalldate开始日期 begin_date date smalldate结束日期 end_date date smalldate操作日期 curr_date date smalldate操作员编号 user_id char(4) char(4)即为系统信息中的用户标识 发生额number(7,2)dec(7,2)J余额balance number(10,2) dec(10,2)描述description varch
26、ar2(50) varchar(50)10设计实例(SQL SERVER 2005 参考)10.1 表、主键、外键、索引、规则、约束名称:t_base_user中文名称:用户基本信息表 简单说明:存放用户的基本信息 名称代码 数据类型 键、规则、约束 注释n用户ID user_id char(8) PK用户唯一标识 用户姓名user_namevarchar(20) |用户真实姓名身高hightdecimal (7, 2)rl_not_zero为举例子而设定此三个字段,原表没有。体重weightdecimal (7, 2)J开始日期begin_datesmalldatetimedf_begin_
27、date一 一部门iddepartment_idchar(4)FK用户所属的部门id 参照主表:department 用户职务1id headship1_id char(4) FK用户的职务id用户职务2id headship2_id char(4)FK用户的职务id用户职称idtitle_id char(4) FK用户的职称id电话号码 phone varchar(50) |用户的电话号码nemailvarchar(50)银行账号 account_no varchar(50)用户的工资银行账号身份ID cert_number varchar(30)UNI INDEX用户的身份IDI停用flagchar(1)NOT NULL识别用户是否被注销/*=*/* Table: t_base_user */*=*/ create table t_base_user (user_idchar(8)not null,user_namevarchar(20)null,high
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育行业智能化体育场馆智能化运营与管理方案
- 六年级上册数学教案1
- 六年级上册科学教案
- 企业市场营销中统计分析的应用及作用探析
- 保温材料采购合同
- 贵州省清镇市2026届中考四模英语试题含答案
- 黑龙江省佳木斯市重点达标名校2026届中考历史对点突破模拟试卷含解析
- 2026 学龄前自闭症精细动作启蒙课件
- 母婴健康护理知识精讲
- 能源管理与可持续发展
- 经销商管理系统
- 吾悦广场内部管理制度
- 融通地产集团社会招聘考试题
- 2026年叉车机械理论考试题库及一套答案
- 2026秋招:江苏苏豪控股集团笔试题及答案
- 弹性力学-第六章-平面问题的基本理论
- 2026年中国化工经济技术发展中心招聘备考题库附答案详解
- 2025至2030中国无源和互连电子元件行业市场深度研究与战略咨询分析报告
- T-GDSX 001-2024 装配式园林景观设计指引
- 高危VTE患者的护理
- 汉服文化融合的现代化办公空间设计
评论
0/150
提交评论