规范.docx
- 文档编号:15476117
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:17
- 大小:123.59KB
规范.docx
《规范.docx》由会员分享,可在线阅读,更多相关《规范.docx(17页珍藏版)》请在冰点文库上搜索。
规范
总局数据应用开发规范
(V1.1)
文档编号:
文档名称:
总局数据应用开发规范
编写:
王复梅
编写日期:
2006-09-22
审核:
审核日期:
批准:
批准日期:
神州数码软件有限公司
总局数据处理项目
文档修订记录
序号
修改时间
修改人
审核人
备注
1
2006-11-2
项目组全体人员
Ø
2
Ø
3
Ø
4
5
6
7
8
9
10
11
12
13
14
15
16
目录
第1章引言4
1.1编写目的4
1.2使用者4
第2章数据库设计规范4
2.1标准词汇4
2.2表(Table)命名规范5
2.3视图(View)命名规范7
2.4序列(Sequence)命名规范7
2.5存储过程(Procedure)命名及编写规范7
2.6包(Package)命名及编写规范9
2.7函数(Function)命名及编写规范9
2.8触发器(Trigger)命名及编写规范12
2.9索引(Index)命名规范15
2.10约束(Constraint)命名规范15
第1章引言
1.1编写目的
编写本文档是为了规范总局数据应用开发小组成员的开发设计行为,提高开发成果的质量和一致性。
1.2使用者
本文档供总局数据应用开发小组所有开发组成员作为日常开发工作的准则。
第2章数据库设计规范
使用Oracle8.1.7/9i数据库管理系统。
2.1标准词汇
为使文档可读性强,消除歧义,请使用标准词汇。
1、表(Table):
严格区分“表”和“库”,禁止“代码库”等不规范用法,而应使用“代码表”等词汇。
2、表名(TableName):
避免“表名称”等用法。
3、表汉字名:
避免“汉字表名”、“表中文名”等用法。
4、字段(Field):
指数据库实体表的属性。
字段为行和列的交。
严格区分“列(column)”和“字段”的用法。
5、列名(ColumnName):
避免“字段名”等用法。
6、列汉字名:
避免“汉字列名”、“列中文名”等用法。
7、记录:
表的数据以记录形式存储。
8、数据类型:
指字段的数据类型,如数字型、字符型等。
指datatype时,一律用“数据类型”,不要简称“类型”等
9、“行”与“列”:
对表数据的查询通常以行(指横向)和列(指纵向)的形式展现与用户界面。
行对应于数据表的记录,行和记录(record)含义相同,在文档中应尽量使用“行”。
列对应于数据表的字段。
10、数、列数:
避免使用“记录数”、“字段数”等用法。
11、代码和名称:
避免使用“编码”。
“编码”只当作动词使用。
12、序号:
避免使用“编号”等用法。
13、标志:
用于真、假的二意性判断,数据类型char
(1),值域统一使用{“Y”,“’N”}。
避免使用“标识”等用法。
2.2表(Table)命名规范
表名和字段、视图名、存储过程名、存储函数名、序字段、触发器名称、索引名、约束名称等数据库对象的名称一律使用大写字母。
1、表名:
表名的长度不超过30个字符,由英文字符和数字以及“_”组合而成。
分为前缀和标题两部分。
前缀与标题两部分之间使用“_”相连接。
对某一主题分析的事实表命名如下:
FT_业务大类_业务小类_需求主题
例:
分析申报异常情况可以如下命名表名FT_ZSJK_SB_SBYC
围绕对应的事实表需要使用的临时表命名如下:
TM_业务大类_业务小类_需求主题_序号
例:
分析申报异常情况使用的临时表可以如下命名TM_ZSJK_SB_SBYC_1
前缀:
表名前缀根据表所操作的业务及功能进行分类,使用具体业务名称的汉语拼音,长度为两个字符。
例如:
前缀
业务/功能
数据应用业务用表:
DI
维度表DimensionTable
FT
事实表FactTable
数据应用功能用表:
SJJZ
数据集中
CTAIS业务用表:
业务大类
业务小类
小类名称
DM
代码表
GLFW
DJ
税务登记和认定管理
FP
发票管理
ZJ
证件管理
WS
文书审批
HD
核定应纳税额
XX
信息采集
DA
档案管理
ZL
资料管理
ZSJK
SB
申报征收
NP
纳税评估
JH
税收计划
KJ
税收会计
TJ
税收统计
PZ
票证管理
SWJC
JC
稽查管理
XA
稽查选案
SSFZ
WZ
违法违章
FY
行政复议
YS
行政应诉
PC
行政赔偿
SWZX
ZX
一般执行
BQ
税收保全
QZ
强制执行
SJYW
RC
日常业务(市局)
KH
质量考核(市局)
BB
报表管理(市局)
CTAIS功能用表:
QX
权限管理
TX
数据通讯
ZD
数据字典
XT
系统参数
(2)标题:
使用规范的汉语拼音缩写,可以附带数字,但尽量不用。
标题的内容以词组或短语为单位,每词组或短语不得超过10个字符,词组与词组之间使用“_”相连接。
举例:
A.税务登记登记模块中纳税人信息的表名为:
DJ_NSRXX
B.申报征收模块中,营业税申报表的表名为:
SB_YYS
2、列名
列名由长度不超过30个英文字符和数字的组合,使用规范的汉语拼音缩写,可以附带数字,但尽量不用。
命名规则如下:
(1)凡是参照代码表的列,字段一律加“_DM”后缀,并且尽量使用与被参照列相同的名称。
(2)“XX标志”列,当其取值为“真/假”时,数据类型用Char
(1),取值范围为“Y或N”,列名加“_BZ”或“BZ”后缀 ;如果标志位不做真假判断,则建议用char
(2)来进行表示01-99。
(3)为便于记忆,尽量使用原始表上的标准的列名。
例如:
标准列
标准列名称
数据类型
**_DM
代码表中的代码
Char
**_MC
代码表中的代码名称
Varchar
XH
序号
Char
NSRSBH
纳税人识别号
Varchar2(20)
NSRMC
纳税人名称
Varchar2(80)
XZQH_DM
行政区划代码
Char(6)
DHHM
电话号码
Varchar2(20)
YZBM
邮政编码
Char(6)
SWJG_DM
税务机关代码
Char(11)
LRR_DM
录入人代码
Char(11)
LRRQ
录入日期
Date
XGR_DM
修改人代码
Char(11)
XGRQ
修改日期
Date
CSBZ_S
上传标志
Char
(1)
CSBZ_X
下传标志
Char
(1)
用于业务的表中有关列的数据类型规定如下:
涉及销售额等金额的数值:
Number(16,2)
涉及税率、比例、分成的数值:
Number(10,6)
涉及货物单价的数值:
Number(16,6)
涉及人数的数值:
Number(10)或Integer
涉及人名的:
Varchar2(10)
涉及单位名称、地址的:
Varchar2(80)
2.3视图(View)命名规范
视图名以“V_”开头,其视图名的命名规则同表名的命名规范。
2.4序列(Sequence)命名规范
在Oracle数据库中,序列以“SEQ_”开头。
序列名的命名规范同表名的命名规范。
在表中引用序列产生值的列汉字名称应为“XX序号”,英文名称为“**XH”。
2.5存储过程(Procedure)命名及编写规范
●存储过程(Procedure)的命名规范:
调用Function的Proceduer如此命名call_fun_name
为了与CTAIS的存储过程区分,以“CP_”+代表其含义的汉语拼音缩写命名。
●存储过程(Procedure)的编写要求
(1)编写过程中不允许使用自动缩排,也不允许使用TAB键缩进,要求每个缩进使用8个空格符。
(2)变量以标识+’_’+名称命名。
标识包括作用域及数据类型两部分。
作用域:
aArgumentVariable
lLocalVariable
数据类型:
bBoolean
cChar
dtDate
iInteger
lLong
nNumber
vcVarchar2
eException
(3)游标(Cursor)以“Cur_”+名称命名。
(4)所有变量必须加注释明确作用。
(5)每个功能段之间必须加注释。
(6)过程的功能必须加注释加以说明。
●
存储过程脚本文件编写规范,如下:
说明:
1、创建编写人填写过程说明、功能描述等内容;
2、修改编写人填写修改序号、修改人、修改日期和修改说明,修改序号从1开始按修改次数递增;
3、原则上,程序体中每一DML语句应包含在一PL/SQL块中,以捕获异常。
2.6包(Package)命名及编写规范
1、包(Package)的命名规范
包以“PKG_”+代表其含义的汉语拼音缩写命名。
2、包(Package)的编写要求
(1)编写过程中不允许使用自动缩排,也不允许使用TAB键缩进,要求每个缩进使用8个空格符。
(2)变量的命名方式
变量以标识+“_”+名称命名。
T_前缀TYPE类型
V_前缀存放实际数据变量
2.7函数(Function)命名及编写规范
现在函数的命名规则也暂时按照存储过程处理。
1、存储函数(Function)的命名规范
为了与CTAIS的存储过程区分,函数以“CP_”+代表其含义的汉语拼音缩写命名。
如果存在单一业务小类则如此命名:
CP_业务大类_业务小类_需求主题
如果存在多个业务小类则如此命名:
CP_业务大类_需求主题
2、存储函数(Function)的编写要求
(1)编写过程中不允许使用自动缩排,也不允许使用TAB键缩进,要求每个缩进使用空格符。
详见图示
(2)变量的命名方式
变量以标识+“_”+名称命名。
标识包括作用域及数据类型两部分。
作用域:
aArgumentVariable(函数头中定义变量)要求将日期型参数统一为number
lLocalVariable(函数体自定义变量)
数据类型:
bBoolean
cChar
dtDate
iInteger
lLong
nNumber
vcVarchar2
eException
(3)游标(Cursor)以“Cur_”+名称命名。
(4)所有变量尽量加注释。
--
(5)每个功能段之间必须加注释。
(6)对于返回值的含义,必须加以注释。
--在头部进行说明
(7)对于使用Out参数的函数,其返回值必须是标明其操作成功与否的标志。
存储函数
脚本文件编写规范,如下:
说明:
1、创建编写人填写过程说明、功能描述等内容;
2、修改编写人填写修改序号、修改人、修改日期和修改说明,修改序号从1开始按修改次数递增;
3、原则上,程序体中每一DML语句应包含在一PL/SQL块中,以捕获异常。
4、原则上,成功返回值100
2.8触发器(Trigger)命名及编写规范
1、触发器命名规范
“TRIG_”+触发顺序标识+”_”+事件操作触发标识+”_”+表名(+”_”+行级/语句级标识)
其中:
(1)Insert触发器命名规范:
“TRIG_IN_”+表名
BEFORE型:
”TRIG_BE_IN_”+表名
AFTER型:
”TRIG_AF_IN_”+表名
(2)Update触发器命名规范
“TRIG_UP_”+表名
BEFORE型:
”TRIG_BE_UP_”+表名
AFTER型:
”TRIG_AF_UP_”+表名
(3)Delete触发器命名规范
“TRIG_DE_”+表名
BEFORE型:
”TRIG_BE_DE_”+表名
AFTER型:
”TRIG_AF_DE_”+表名
2、触发顺序标识
AF:
after类型触发器
BE:
before类型触发器
行级/语句级标识
SM:
statement缩写,表示语句级触发器
ROW:
表示行级触发器
缺省:
表示行级触发器
3、事件操作触发标识
IN:
将被Insert操作触发的触发器
UP:
将被Update操作触发的触发器
DE:
将被Delete操作触发的触发器
INST:
INSTEADOF触发器,主要用于对视图进行数据操作时,对数据表进行替代操作。
例如:
SB_ZSXX的语句级afterupdate触发器:
TRIG_AF_UP_SB_ZSXX_SM
WZ_CLCFXX的行级beforeinsert触发器:
TRIG_BE_IN_WZ_CLCFXX_ROW
4、触发器编写要求
(1)编写过程中不允许使用使用自动缩排,也不允许使用TAB键缩进,要求每个缩进使用4个空格符。
(2)变量的命名方式同存储过程。
(3)游标(Cursor)以“Cur_”+名称命名。
(4)所有变量尽量加注释。
(5)每个功能段之间必须加注释。
(6)触发器脚本文件编写规范,如下:
说明:
1、创建编写人填写过程说明、功能描述等内容;
2、修改编写人填写修改序号、修改人、修改日期和修改说明,修改序号从1开始按修改次数递增;
3、为保证复制到目标点的记录不执行触发器,统一在触发器前端屏蔽ctais_maint用户。
4、原则上,程序体中每一DML语句应包含在一PL/SQL块中,以捕获异常。
2.9索引(Index)命名规范
索引以“IDX_”+“表名”+“有关列名”命名。
不允许使用自动生成的索引。
IDX_业务大类_(/业务小类/)_需求主题_COLUNAME
2.10约束(Constraint)命名规范
表内约束命名规则
主键(PrimaryKeyConstraint):
“PK_”+表名
外键(ForeignKeyConstraint):
“FK_”+表名+列名+被参照(referenced)表名
一般不会有两个外键参照同一张表。
唯一键(UniqueConstraint):
“UNI_”+表名+列名
涉及多列时列出所有列名
检查约束(CheckConstraint):
“CHK_”+表名+列名
涉及多列时列出所有列名
缺省值约束(DefaultConstraint):
DEFAULT约束没有名字。
以上命名优先级由高到低,即当一个约束具有多个选项时,按优先级最高的选项命名。
唯一索引(UNIQUEINDEX):
“IDX_U_”+”表名”+“有关列名”
以上有关数据库对象的建立请与DBA联系,不得擅自建立。
在添加表(或者视图)时,或者增加、修改、减少表(或者视图)的列时请同步修改数据字典的内容。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 规范