Oracle数据库编码规范
1目的
使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。
2适用范围
本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。
3规范
3.1书写规范
丑陋的书写规范不仅可读性较差,而且给人以敬而远之的感觉;而良好的书写规范则给人以享受和艺术的体验。
3.1.1大小写风格
规则3.1.1.1
所有数据库关键字和保留字命名使用大小写不做要求。
3.1.2缩进风格
规则3.1.2.1
程序块严格采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4个。
必须使用空格,不允许使用【Tab】键。以免在用不同的编辑器阅读程序时,因【Tab】键所设置的空格数目不同而造成程序布局不整齐。
规则3.1.2.2
当同一条语句需要占用多于一行时,每行的其他关键字与第一行的关键字进行右对齐。
IF flag = True THEN
  Select username
Into vUserInfo
From userInfo
  Where userId = ‘id’
END IF;
3.1.3空格及换行
规则3.1.3.1
不允许把多个语句写在一行中,即一行只写一条语句且一行最长不能超过80字符 
规则3.1.3.2
避免将复杂的SQL语句写到同一行,建议要在关键字和谓词间换行。
WHERE子句书写时,每个条件占一行。
规则3.1.3.3
相对独立的程序块之间必须加空行。
BEGIN、END独立成行。
3.1.4其它
规则3.1.4.1
确保变量和参数在类型和长度上与表数据列相匹配。如果与表数据列宽度不匹配,则当较宽或较大的数据传进来时会产生运行异常。
3.2命名规范
对于命名规范来说,想要做到完全统一的确是不可能的任务。命名规范更多的是个人层面的爱好,既使无法完全做到一致,但是我们仍然要尽量去遵守。
3.2.1字段命名规范
在此仅提供几种常见的命名方法,如表3-2-1所示。
表3-2-1  命名规范表
UserName
适合英语比较好,并且喜欢抑扬顿挫的人
username
适合英语比较好,且比较严谨的人
userName
适合做XX开发的人
规则3.2.1.1
不建议使用数据库关键字和保留字,原因是为了避免不必要的冲突和麻烦。
规则3.2.1.2
严禁使用带空格的名称来给字段命名。
3.2.2变量命名
规则3.2.2.1
所有PL/SQL中的变量与对象命名规则相似,如表3-2-2-1 所示
表3-2-2-1  变量命名规范表
变量类型
前缀
范例
输入变量
遵询事实,不做要求
输出变量
遵询事实,不做要求
输出输入变量
遵询事实,不做要求
参数
cv_
cv_userName
普通变量
lv_
lv_userName
全局变量
gv_
gv_userName
常量
大写
PI
游标
cur_
cur_userInfo
用户自定义类型
type_
type_userInfo
保存点(save point)
spt_oracle游标的使用
spt_userInfo
变量代表列
%type
Sorganization.id%type
规则3.2.2.2
命名不允许使用中文或者特殊字符。
命名中若使用特殊约定或缩写,则要注释说明。
命名中多个词组合较长时,使用单词的缩写。
规则3.2.2.3
使用有意义、易于记忆、描述性强、简短及唯一的英文单词/拼音缩写。
说明:个人命名风格,在符合所在项目组的命名规则的前提下,才可以使用。
规则3.2.2.4
对于变量命名,禁止取单个字符(如i、j),建议除了要有具体含义外,还要能表明变量类型等。
3.2.3其他对象命名
用户自定义的数据库对象名包括表、视图、主外键、索引、触发器、函数、存储过程、序列、同义词、包和包体等。
规则3.2.3.1
其他对象的命名也与字段的命名规则类似,风格保持一致即可。
规则3.2.3.2
除数据库名称长度为1~8个字符外,其余为1~30个字符。
命名只能使用英文字母、数字和下划线。
规则3.2.3.3
除表外,其他各种对象的命名最好用不同的前缀加以区别,如表3-2-3-3。
表 3-2-3-3  其他对象命名规范表
对象名
前缀
范例
表(table)
业务表
B_
B_ORDER
系统表
S_
S_SUSER
附加表
BR_
BR_PRINTSPECPRICE
视图(view)
v_
v_border
序列(sequence)
seq_
seq_sdept
触发器(trigger)
tri_
tri_border
存储过程(procedure)
sp_/p_
sp_userInfo/p_userInfo
函数(function)
fn_/f_
fn_userInfo/f_userInfo
物化视图(materialized view)
mv_
mv_border
包和包体(package & package body)
Osb(oracle service bus)
类和类体(type & type body)
typ_
typ_userInfo
主键(primary key)
pk_
pk_border_fieldname
外键(foreign key)
fk_
fk_border_fieldname
唯一索引(unique index)
uk_
uk_border_fieldname
普通索引(normal index)
ind_
ind_border_fieldname
位图索引(bitmap index)
bk_
bk_border_fieldname
同义词(synonym)
依据所分配的表所属模块/模式
数据库链接(database link)
无特殊要求
3.3注释规范
规则3.3.1
一般情况下,源程序有效注释量必须在30%左右。
说明:注释的原则是有助于对程序阅读理解,在该加的地方加,注释不宜太多也不能太少,注释语言需准确、易懂、简洁、精练。
规则3.3.2
统一文件头的注释。
主要是对相关过程、函数进行功能性描述、修订记录,以及入参出参说明等。
对存储过程、函数的任何修改,都需要在注释后添加修改人、修改日期及修改原因等修订说明。
示例:
名称:GetVipCode_max

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。