O管理DO数据库命名编码规范文档格式.docx
- 文档编号:16096039
- 上传时间:2022-11-19
- 格式:DOCX
- 页数:28
- 大小:30.67KB
O管理DO数据库命名编码规范文档格式.docx
《O管理DO数据库命名编码规范文档格式.docx》由会员分享,可在线阅读,更多相关《O管理DO数据库命名编码规范文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
2.1一般规则4
2.2对象命名汇总表5
3.编码规范6
3.1一般性规定6
3.2CREATE语句7
3.3SELECT语句7
3.4INSERT语句8
3.5UPDATE语句8
3.6DELETE语句9
3.7游标语句9
3.8IF语句9
3.9简单循环语句11
3.10FOR循环语句11
3.11WHILE循环语句11
3.12程序块规范12
3.13语法规范12
4.设计规范14
4.1一般表设计14
4.2特殊表设计原则15
4.3索引设计原则15
4.4完整性设计原则15
4.5触发器15
4.6视图设计15
4.7性能优化16
5.书写规范20
5.1缩进风格20
5.2空格及换行20
6.注释说明21
6.1一般性注释21
6.2函数文本注释21
7.异常规范22
7.1pl/sql异常规范22
7.2后台验证异常信息规范23
8.附录23
8.1附一开发工具23
8.2附二预定义异常24
8.3附三范式25
8.3.1第一范式25
8.3.2第二范式25
8.3.3第三范式25
8.3.4Boyce-Codd范式26
8.3.5第四范式26
8.3.6第五范式26
8.3.7反规范化26
1.文档介绍
1.1文档目的
本文档用于指导开发设计人员对Oracle数据库进行设计和编码。
使用统一的命名和编码规范,使数据库对象命名及编码风格标准化,可增加程序的可读性,增强系统的可维护性,提高软件的质量。
本文档仅仅针对Oracle数据库做的规范,对其他数据库不具有指导意义。
1.2文档范围
本规范适用于公司范围内所有以Oracle作为后台数据库的应用系统和项目开发工作。
对公司2010年以前用Oracle数据库开发的项目不做限制。
1.3定义
1.4参考资料
2.命名规范
2.1一般规则
Oracle中的各种数据对象,包括实例、数据库、表空间、表、视图、存储过程、函数、解发器等的命名都要遵循Oracle的标准命名规则:
1)以字符打头,30个字符以内,名称超过长度的情况下适当采用缩写。
2)只能包含A-Z,a-z,0-9,_。
3)不能和同一个表空间下的其他对象重名。
4)不能是Oracle服务器的保留字。
5)数据对象尽量不要使用缩写;
如要缩写最好使用容易看懂的缩写。
2.2对象命名汇总表
对象
对象名
前缀
范例
描述
表(table)
t_<
table>
t_user
表名长度原则上不超过25个字符;
表、视图、字段名中不出现复数,创建表必须要注释,comments必须要填写。
视图(view)
v_<
v_user
如果表名或字段名过长,则用表名或字段名的缩写。
序列(sequence)
s_<
s_user
一般索引(normalindex)
i_<
_<
field>
i_user_username
field:
字段名,遇上长字段名可采用缩写
唯一索引(uniqueindex)
i_u_<
i_u_user_birthday
主键(primarykey)
pk_<
pk_user_userid
外键(foreignkey)
fk_<
father_table>
fk_student_user_userid
簇(cluster)
cl_<
table1>
table2>
cl_user_student
触发器(triger)
tr_i_<
功能>
tr_u_<
tr_d_<
tr_iud_<
tr_i_add_user_birthday
i:
insert
u:
update
d:
delete
存储过程(procedure)
p_i_<
p_u_<
p_d_<
p_s_<
p_i_user_birthday
函数(function)
f_<
f_get_username_by_userid
包及包体(package&
packagebody)
pkg_<
pkg_user_info
类及类体(type&
typebody)
type_<
type_user_class
同义词(synonym)
inv_<
inv_user
保存点(savepoint)
save_<
transaction>
表的保存点
事务的保存点
事务(transaction)
trans_<
trans_insert_userinfo
字段(field)
create_date
单词小写,中间用下划线隔开,字段必须要注释,comments必须要填写。
游标(cursor)
cur_<
名称>
cur_user_info
数据库链接(databaselink)
link_<
服务器名>
数据库名>
若远程服务器名和数据库名一致,采用link_<
用户及角色
3.编码规范
3.1一般性规定
1、sql语句中的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。
【推荐】
2、连接符OR、IN、AND、以及=、<
=、>
=等前后各加上一个空格。
当语句中出现括号时,括号的两边不留空格。
3、“不等于”统一使用"
<
>
"
。
虽然"
!
="
和"
是等价的,为了统一,不等于一律使用"
表示。
4、对较为复杂的sql语句加上注释,说明算法、功能。
5、使用空行将逻辑相关的代码段之间分隔开。
6、程序块采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2个。
必须使用空格,不允许使用TAB键,以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。
7、一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进。
8、where子句书写时,每个条件占一行,保留字或者连接符放到行的最后面,含有键的条件放到其他条件的前面。
3.2CREATE语句
CREATETABLEt_dksz(
YHBSVARCHAR2(20)NOTNULL,
ZHGXDATE,
DKKHDVARCHAR2(24),
CONSTRAINTpk_dksz_yhbsPRIMARYKEY(YHBS)
)
3.3SELECT语句
查询语句采用以下原则编写(可最大化重用共享池中的SQL语句,提高应用程序性能):
(1)由SELECT开头,后跟一个显示查询结果的列表;
(2)语句中嵌入逗号时,在逗号后面加一空格,当逗号是最后一个字符时,把它放在本行;
(3)由FROM开头,后跟一个或多个获取数据所涉及的表,如果后面跟多个表,关键字右对齐;
(4)由WHERE开头,后跟一个或多个确定所需值的条件,如果后面有多个条件,关键字右对齐;
(5)由GROUPBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行汇总,关键字右对齐;
(6)由ORDERBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行排序,关键字右对齐;
(7)当语句中出现括号时,括号的两边不留空格;
(8)在SQL语句使用运算符时,操作两边应各留一个空格;
(9)每个部分分行编写,将每一行的第一个关键字与第一行的SELECT尾部对齐;
例如:
SELECTcol1,col2,col3
FROMtable1
WHEREcol1>
col2
GROUPBYcol1,col2
ORDERBYcol1;
SELECTcol1,col2,col3,col4,col5,col6,
col7,col8,col9,col10
FROMsb_sbqkxx,sb_bb011101
WHEREsb_sbqkxx.czwdbh=sb_bb.czwdbh
ANDsb_sbqkxx.swdjbh=avc_swdjbh
ANDsb_sbqkxx.sbsssq=avc_sbsssq;
3.4INSERT语句
✓关键字用大写,列名和表名采用小写;
✓语句中嵌入逗号时,在逗号后面加一空格,当逗号是最后一个字符时,把它放在本行;
✓当语句的同一部分要延续到下一行时,按下列格式排列:
✓当语句中出现括号时,括号的两边不留空格。
格式如下:
INSERTINTO<
要插入的表名>
(<
列1>
<
列2>
..,<
列n-1>
列n>
VALUES
列1值>
列2值>
列n-1值>
列n值>
insertintosm_user
(user_id,user_name,login_name)
values
(p_user_id,p_user_name,p_login_name)
insertintosm_duty_bak
(duty_id,duty_name,created_by,creation_date,last_updated_by,
last_update_date,disable_date)
select
duty_id,duty_name,created_by,creation_date,last_updated_by,
last_update_date,disable_date
fromsm_duty
whereduty_id=:
duty_id
3.5UPDATE语句
✓关键字右对齐;
UPDATE<
要更新的表名>
SET<
要更新的列>
=<
列值>
3.6DELETE语句
DELETEFROMtable1
WHEREcol1='
?
'
3.7游标语句
程序中使用显示游标。
格式如下
OPENcur_name;
LOOP
FETCHcur_into…;
EXITWHENcur_name%notfound;
处理语句>
…
ENDLOOP;
CLOSEcur_name;
3.8IF语句
条件执行语句IF…ELSE按以下格式编写:
IF<
条件表达式>
THEN
一条或多条语句>
[ELSE(或ELSIF<
)THEN
ENDIF;
✓在IF…THEN和ELSE(或ELSIF)及ELSE…THEN和ENDIF间可包含一条或多条PL/SQL语句,而不需要加BEGIN和END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 DO 数据库 命名 编码 规范