数据库命名规范Word文档格式.docx
《数据库命名规范Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库命名规范Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![数据库命名规范Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/8/d9902498-1c95-46b6-86c0-34c080826dd4/d9902498-1c95-46b6-86c0-34c080826dd41.gif)
★表的命名如
∙
dmst_vorder_declare:
系统名(经销商管理系统dms)+t_+模块名(整车订单vorder)+_+表义名(申报declare)
★关联表命名为Re_表A_表B,Re是Relative的缩写,表A和表B均采用其表义名或缩写形式。
3.2.4属性(列或字段)
属性命名遵循以下原则:
★采用有意义的列名,为实际含义的英文截取,且字符间可有下划线
★属性名前不要加表名等作为前缀
★属性后不加任何类型标识作为后缀
★关联字段命名以“cd+_+关联表的表义名(或缩写)+_+字段名”进行
所有表必须有以下字段:
字段名
中文
字段类型
备注
Id
Id号
Number
表主键,对应sequence为seq_+表名
factorycode
工厂编码
Varchar2(50)
createtime
创建时间
Date
默认系统时间
createby
创建人
Varchar2(100)
updatedtime
修改时间
updatedby
修改人
Lockedflag
锁定标记
Varchar2
(2)
默认为0,1为锁定,0为解锁
Lockedtime
锁定时间
Lockedby
锁定人
Deleteflag
删除标记
默认为0,1为删除,0为正常可用
注意:
在用POWERDESIGNER进行设计时,注意将每个字段的备注都填上(内容可为其中文含义及特殊说明,以便数据库文档的生成及后续开发的人员的理解)
3.2.5主键
★任何表都必须定义主键
★表主键命名为:
“pk+_+表名(或缩写)+_+主键标识
3.2.6外键
表外键命名为:
“fk+_+表名(或缩写)+_主表名(或缩写)+_+主键标识
3.2.7CHECK约束
CHECK约束命名为:
“chk+_+CHECK约束的列名(或缩写)”
3.2.8UNIQUE约束
UNIQUE约束命名为:
“unq+_+UNIQUE约束的列名(或缩写)”
3.2.9索引
索引的命名为:
“idx_+表名(或缩写)+_+列名”。
其中多单词组成的属性列列名取前几个单词首字符再加末单词首字符组成如yd_kh表khid上的index:
idx_yd_kh_khid
3.2.10触发器
★AFTER型触发器
系统名+tr_+<
表名>
_+aft+[_row]
★BEFORE型触发器
_+bef_+[_row]
★INSTEADOF型触发器
系统名+ti_+<
+_++[_row]
★各种类型的触发器中
i,u,d分别表示insert、update和delete行级触发器,后加_row标识,语句级触发器不加,如yddftr_CSH_i_row
3.2.11簇
簇以簇中要存储的各个表(或表别名)及表间加and的组成命名,即表“A+And+表B…”,如存储GR(工人)和GRJN(工人技能)表的簇命名为GRAndGRJN
3.3视图
视图命名以系统名+v_+模块名作为前缀,其他命名规则和表的命名类似
3.4序列
序列命名以seq_+含义名(一般为表名)组成
3.5同义词
同义词命名与其基础对象的名称一致,但要去除其用户前缀或含有远程数据库链接的后缀
3.6存储对象相关
3.6.1存储过程
存储过程命名由“系统名+sp_+存储过程标识(缩写)”组成存储过程标识要以实际含义的汉语拼音的首字符构成,并用下划线分割各个组成部分。
如增加代理商的帐户的存储过程为“dfsp_ZJDLSZH”。
3.6.2函数
函数命名由“系统名+fn_+函数标识”组成
3.6.3包
包命名由“系统名+pkg_+包标识”组成
3.6.4函数文本中的变量
采用下列格式命名:
★参数变量命名采用“i(o或io)+_+名称”形式,前缀i或o表输入还是输出参数
★过程变量命名采用“l_+名称”形式
★全局包变量命名采用“g_+名称”形式
★游标变量命名采用cur_“名称”形式
★常量型变量命名采用“c+_+名称”形式
★变量名采用小写,若属于词组形式,用下划线分隔每个单词
★变量用来存放表中的列或行数据值时,使用%TYPE、%ROWTYPE方式声明变量,使变量声明的类型与表中的保持同步,随表的变化而变化
3.7用户及角色
★用户命名由“系统名称+_+user+_+名词(或缩写)或名词短语(或缩写)”组成
★角色命名由“系统名称+_+role+_+名词(或缩写)或名词短语(或缩写)”组成
3.8数据库链接
★数据库链接命名由“远程服务器名+_+数据库名+_+link”组成
★若远程服务器名和数据库名一致,上式“_+数据库名”部分省去
3.9命名中的其它注意事项
★命名都不得超过50个字符。
★不要在对象名的字符之间留空格
★小心保留词,要保证你的命名没有和保留词、数据库系统或者常用访问方法冲突
4、编码规范
4.1一般性注释
4.1.1注释尽可能简洁、详细而全面
4.1.2创建每一数据库对象时都要加上COMMENTON注释
以说明该对象的功能和用途;
建表时,对某些数据列也要加上COMMENTON注释,以说明该列和/或列取值的含义。
如:
XX表中有CZZT列属性为NUMBER(10,0)可加COMMENTON注释如下COMMENTONCOLUMNXX.CZZTIS'
0=正常,1=等待,2=超时,3=登出'
4.1.3注释语法包含两种情况:
单行注释、多行注释
单行注释:
注释前有两个连字符(--),一般对变量、条件子句可以采用该类注释。
多行注释:
符号/*和*/之间的内容为注释内容。
对某项完整的操作建议使用该类注释。
4.2函数文本注释
4.2.1在每一个块和过程(存储过程、函数、包、触发器、视图等)的开头放置注释
/************************************************************************
*name:
--函数名
*function:
--函数功能
*input:
--输入参数
*output:
--输出参数
*author:
--作者
*CreateDate:
--创建时间
*ChangeHistory:
--函数更改历史(包括作者、时间、更改内容等)
2010-04-15李成明修改原因和修改内容
*************************************************************************/
CREATE[ORREPLACE]PROCEDUREdfsp_xxx
…
4.2.2传入参数的含义应该有所说明
如果取值范围确定,也应该一并说明。
取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。
4.2.3在每一个变量声明的旁边添加注释。
说明该变量要用作什么
通常,简单使用单行注释就行了,例如l_sfzhCHAR(11)--身份证号码
4.2.4在块的每个主要部分之前添加注释
在块的每个主要部分之前增加注释,解释下—组语句目的,最好是说明该段语句及算法的目的以及要得到的结果,但不要对其细节进行过多的描述
4.2.5在块和过程的开头注释中还可以增加要访问的数据库等信息
4.3常用SQL语句的编写规范
4.3.1CREATE语句
CREATETABLEdft_dksz(
YHBSVARCHAR2(20)NOTNULL,
ZHGXDATE,
DKKHDVARCHAR2(24),
CONSTRAINTpk_dksz_yhbsPRIMARYKEY(YHBS)
)
4.3.2SELECT语句
查询语句采用以下原则编写(可最大化重用共享池中的SQL语句,提高应用程序性能):
★将SELECT语句分为5部分:
(1)由SELECT开头,后跟一个显示查询结果的列表;
(2)由FROM开头,后跟一个或多个获取数据所涉及的表;
(3)由WHERE开头,后跟一个或多个确定所需值的条件;
(4)由GROUPBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行汇总;
(5)由ORDERBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行排序。
★每个部分分行编写,将每一行的第一个关键字与第一行的SELECT尾部对齐,如
SELECTcol1,col2,col3
FROMtable1
WHEREcol1>
col2
GROUPBYcol1,col2
ORDERBYcol1;
★关键字用大写,列名和表名采用小写
★语句中嵌入逗号时,在逗号后面加一空格,当逗号是最后一个字符时,把它放在本行
★当语句的同一部分要延续到下一行时,按下列格式排列:
SELECTcol1,col2,col3,col4,col5,col6,
col7,col8,col9,col10
★将语句中WHERE和AND部分格式化,书写布局类似于
WHERE
AND
AND
★当语句中出现括号时,括号的两边不留空格
★在SQL语句使用运算符时,操作两边应各留一个空格,如
WHEREX=Y
ANDA=B
ANDC=D
4.3.3INSERT语句
INSERTINTO<
要插入的表名>
(<
列1>
<
列2>
..,<
列n-1>
列n>
)
VALUES(<
列1值>
列2值>
列n-1值>
列n值>
4.3.4UPDATE语句
UPDATE<
要更新的表名>
SET<
要更新的列>
=<
列值>
4.3.5DELETE语句
DELETEFROMtable1
WHEREcol1='
?
'
4.4条件执行语句(IF)编写规范
条件执行语句IF…ELSE按以下格式编写
IF<
条件表达式>
THEN
<
一条或多条语句>
[ELSE(或ELSIF<
ENDIF;
注:
(1)在IF…THEN和ELSE(或ELSIF)及ELSE…THEN和ENDIF间可包含一条或多条PL/SQL
语句,而不需要加BEGIN和END
(2)IF…ELSE…ENDIF语句可以嵌套
(3)注意ELSIF的写法
4.5循环语句编写规范
4.5.1简单循环语句
LOOP
零条或多条语句>
EXITWHEN<
ENDLOOP;
4.5.2FOR循环语句
FOR变量IN[变量取值范围]
4.5.3WHILE循环语句
WHILE<
4.6函数文本(存储过程、函数和包等)
★对于存储过程、函数等程序块都要有异常处理部分,在异常部分的最后都要设置OTHERS异常情态处理器,以提高程序的自检能力,格式如下:
BEGIN
…
EXCEPTION
WHENexcep—name1THEN
WHENexcep—name2THEN
WHENOTHERSTHEN
END;
★对于子程序、触发器、包等带名的程序块,要使用结束标识,如
CREATEORREPLACEPROCEDUREXXXsp_XXXIS
ENDXXXsp_XXX;
/*此处的过程名XXXsp_XXX是可选的,规范要求写上,与块开始的CREATE相对应*/