文档介绍:1
sinoSoft
状态:草案
审批者:审批日期:
软件开发规范——数据库结构设计规范
中科软股份有限公司
2004-2-19
编号:
地节省了或者你可以想出在更合适的时候输入这些在你大脑中的信息。
12、Domain
凡是需要建Domain的,请先和管理员联系,并提供所要求的数据类型
要求,个人请不要自己去建立。
14、每次修改PDM前,请先从库中提取。
15、列中涉及以下有关数据项时,请采用domain进行类型定义:
■
涉及销售额等金额的数值:
Numeric(16,2)
■
涉及比率、比例、分成的数值:
Numeric(10,6)
■
涉及货物单价的数值:
Numeric(16,6)
■
涉及人数、数量的数值:
Numeric(10)
■
涉及人名的:
Varchar2(40)
7
•涉及单位名称的:
Varchar2(100)
VARCHAR2(200)
TIMESTAMP
•地址、备注
•序号
日期时间
VARCHAR2(20)
日期格式为2004-02-09
时间格式为2004-02-0923:12:10
16、如果在PDM中有定义规定列类型、宽度的domain,在进行这些列类型、宽度定义时必须使用相应的domain,不能对这些列的类型、宽度进行自由定义。
17、在把PDM生成数据库表时,不要把表之间的关系带入,如外键、约束。
三、表(Table)命名规则
表名和列名前缀一律使用大写字母。
1、表名
表名的长度不超过32个字符,由英文字符和数字以及'_'组合而成。分为前缀和标题两部分。前缀与标题两部分之间使用'_'相连接。
•前缀:
表名前缀根据表所操作的子系统进行分类,使用子系统名称的英文,长度为2-4字符。
子系统与表名前缀的对应关系见附录1。
•标题使用规范的英文单词缩写,可以附带数字,但尽量不用。
标题的内容以词组或短语为单位,每词组或短语不得超过10个字符,词组与词组之间使用'_'相连接。
◊举例:
2、列名列名由长度不超过32个英文字符和数字的组合,使用规范的英文缩写,可以附带数字,但尽量不用。
8
命名规则:
凡是参照码表的列,列名一律加'DD_'前缀。
时间列名一律加‘TM_前缀'
日期列名一律加‘DT_前缀'
名称列名一律加‘NM_前缀’
简称列名一律加‘AB_前缀’
“XX序号”列,列名一律加SEQ_'前缀,并说明序号产生规则。
“XX编号”列,列名一律加‘ID_'前缀,并说明编号产生规则。
如果列的长度为变长,且为字符串,其数据类型必须为varchar2。
状态用STATUS且为字符串,其数据类型必须为varchar2(10)。
为便于记忆,尽量使用标准的列名。具体标准列名及其数据类型见附录2。
四、视图(View)命名规则
视图名='v_'+子系统前缀+‘_'+标题,其标题的命名规则同表名标题的命名规则。
五、序列表(Sequence)命名规则(项目组审批)
序列表命名规则='seq_'+子系统前缀+‘_'+标题。其标题的命名规则同表名标题的命名规则。
在表中引用序列产生值的列应为“XX序号”。
六、存储过程(Procedure)编写规范
1、存储过程(Procedure)的命名规则存储过程命名规则='p_'+子系统前缀+‘_'+标题。其标题的命名规则同表名标题的命名规则。
2、存储过程(Procedure)的编写要求
编写过程中应使用TAB键缩进。
变量以标识+'_'+名称命名。标识包括作用域及数据类型两部分,
名称使用规范的英文缩写。
9
作用域:
a
ArgumentVariable
l
LocalVariable
数据类型:
bl
Boolean
c
Char
sdt
smalldatetime
d
Date
dt
datetime
l
Long
I
integer
n
Number
vc
Varchar
游标(Cursor)以'Cur_'+名称命名。
所有变量必须加注释。
每个功能段之间必须加注释。
存储过程最后都必须把临时表删除、游标释放
七、触发器(Trigger)编写规范(项目组审批)
1、Insert触发器命名规则
BEFORE型:’trig_be_in_'+表名
AFTER型:'trig_af_in_'+表名
2、Update触发器命名规则
BEFORE型:'trig_be_up_'+表名
AFTER型:'trig_af_up_'+表名