优品(O管理)DO数据库命名编码规范

上传人:口口****O 文档编号:142828389 上传时间:2020-08-23 格式:DOC 页数:41 大小:547KB
返回 下载 相关 举报
优品(O管理)DO数据库命名编码规范_第1页
第1页 / 共41页
优品(O管理)DO数据库命名编码规范_第2页
第2页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《优品(O管理)DO数据库命名编码规范》由会员分享,可在线阅读,更多相关《优品(O管理)DO数据库命名编码规范(41页珍藏版)》请在金锄头文库上搜索。

1、优品(O管理)DO数据库命名编码规范文件标识:QD-30-08密级:内部版本号:Ver1.0大庆金桥软件开发作业体系Oracle数据库命名编码规范变更历史操作责任人日期版本变更内容创建李富华2010-04-20无创建文档编辑周强2010-04-21无修改文档目录1.文档介绍41.1文档目的41.2文档范围41.3定义41.4参考资料42.命名规范42.1一般规则42.2对象命名汇总表53.编码规范63.1一般性规定63.2CREATE语句73.3SELECT语句73.4INSERT语句83.5UPDATE语句83.6DELETE语句93.7游标语句93.8IF语句93.9简单循环语句113.1

2、0FOR循环语句113.11WHILE循环语句113.12程序块规范123.13语法规范124.设计规范144.1一般表设计144.2特殊表设计原则154.3索引设计原则154.4完整性设计原则154.5触发器154.6视图设计154.7性能优化165.书写规范205.1缩进风格205.2空格及换行206.注释说明216.1一般性注释216.2函数文本注释217.异常规范227.1pl/sql异常规范227.2后台验证异常信息规范238.附录238.1附一 开发工具238.2附二 预定义异常248.3附三 范式258.3.1第一范式258.3.2第二范式258.3.3第三范式258.3.4Bo

3、yce-Codd范式268.3.5第四范式268.3.6第五范式268.3.7反规范化261. 文档介绍1.1 文档目的本文档用于指导开发设计人员对Oracle数据库进行设计和编码。使用统一的命名和编码规范,使数据库对象命名及编码风格标准化,可增加程序的可读性,增强系统的可维护性,提高软件的质量。本文档仅仅针对Oracle数据库做的规范,对其他数据库不具有指导意义。1.2 文档范围本规范适用于公司范围内所有以Oracle作为后台数据库的应用系统和项目开发工作。对公司2010年以前用Oracle数据库开发的项目不做限制。1.3 定义无1.4 参考资料2. 命名规范2.1 一般规则Oracle中的

4、各种数据对象,包括实例、数据库、表空间、表、视图、存储过程、函数、解发器等的命名都要遵循Oracle的标准命名规则:1) 以字符打头,30个字符以内,名称超过长度的情况下适当采用缩写。2) 只能包含A-Z,a-z,0-9,_。3) 不能和同一个表空间下的其他对象重名。4) 不能是Oracle服务器的保留字。5) 数据对象尽量不要使用缩写;如要缩写最好使用容易看懂的缩写。2.2 对象命名汇总表对象对象名前缀范例描述表(table)t_t_user表名长度原则上不超过25个字符;表、视图、字段名中不出现复数,创建表必须要注释,comments必须要填写。视图(view)v_v_user如果表名或字

5、段名过长,则用表名或字段名的缩写。序列(sequence)s_s_user一般索引(normalindex)i_i_user_usernamefield:字段名,遇上长字段名可采用缩写唯一索引(uniqueindex)i_u_i_u_user_birthday主键(primarykey)pk_pk_user_userid外键(foreignkey)fk_fk_student_user_userid簇(cluster)cl_cl_user_student触发器(triger)tr_i_tr_u_tr_d_tr_iud_tr_i_add_user_birthdayi:insertu:updated

6、: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_save_表的保存点事务的保存点事务(transaction)trans_trans_insert_userinfo字段(field)create_date单词小写,

7、中间用下划线隔开,字段必须要注释,comments必须要填写。游标(cursor)cur_cur_user_info数据库链接(databaselink)link_若远程服务器名和数据库名一致,采用link_用户及角色3. 编码规范3.1 一般性规定1、 sql语句中的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。【推荐】2、 连接符OR、IN、AND、以及、=等前后各加上一个空格。当语句中出现括号时,括号的两边不留空格。3、 “不等于”统一使用。虽然!=和是等价的,为了统一,不等于一律使用表示。4、 对较为复杂的sql语句加上注释,说明算法、功能。5、 使用空行将逻辑相

8、关的代码段之间分隔开。6、 程序块采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2个。必须使用空格,不允许使用TAB键,以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。7、 一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进。8、 where子句书写时,每个条件占一行,保留字或者连接符放到行的最后面,含有键的条件放到其他条件的前面。3.2 CREATE语句CREATETABLEt_dksz(YHBSVARCHAR2(20)NOTNULL,ZHGXDATE,DKKHDVARCHAR2(24),CONSTRAINTpk_dksz_yhbsPR

9、IMARYKEY(YHBS)3.3 SELECT语句查询语句采用以下原则编写(可最大化重用共享池中的SQL语句,提高应用程序性能):(1) 由SELECT开头,后跟一个显示查询结果的列表;【推荐】(2) 语句中嵌入逗号时,在逗号后面加一空格,当逗号是最后一个字符时,把它放在本行;(3) 由FROM开头,后跟一个或多个获取数据所涉及的表,如果后面跟多个表,关键字右对齐;【推荐】(4) 由WHERE开头,后跟一个或多个确定所需值的条件,如果后面有多个条件,关键字右对齐;【推荐】(5) 由GROUPBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行汇总,关键字右对齐;【推荐】(6) 由ORD

10、ERBY开头,后跟一个或多个表列名,通过这些列以对查询结果进行排序,关键字右对齐;【推荐】(7) 当语句中出现括号时,括号的两边不留空格;(8) 在SQL语句使用运算符时,操作两边应各留一个空格;(9) 每个部分分行编写,将每一行的第一个关键字与第一行的SELECT尾部对齐;例如:SELECTcol1,col2,col3FROMtable1WHEREcol1col2GROUPBYcol1,col2ORDERBYcol1;SELECTcol1,col2,col3,col4,col5,col6,col7,col8,col9,col10FROMsb_sbqkxx,sb_bb011101WHEREsb

11、_sbqkxx.czwdbh=sb_bb.czwdbhANDsb_sbqkxx.swdjbh=avc_swdjbhANDsb_sbqkxx.sbsssq=avc_sbsssq;3.4 INSERT语句 关键字用大写,列名和表名采用小写;【推荐】 语句中嵌入逗号时,在逗号后面加一空格,当逗号是最后一个字符时,把它放在本行; 当语句的同一部分要延续到下一行时,按下列格式排列: 当语句中出现括号时,括号的两边不留空格。格式如下:【推荐】INSERTINTO(,.,)VALUES(,.,)例如:insertintosm_user(user_id,user_name,login_name)values(

12、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)selectduty_id,duty_name,created_by,creation_date,last_updated_by,last_update_date,disable_datefromsm_dutywhereduty_id=:duty_id3.5 UPDATE语句 关键字右对齐;格式如下:【推荐

13、】UPDATESET=,=,=3.6 DELETE语句格式如下:【推荐】DELETEFROMtable1WHEREcol1=?3.7 游标语句格式如下:【推荐】程序中使用显示游标。格式如下OPENcur_name;LOOPFETCHcur_into;EXITWHENcur_name%notfound;ENDLOOP;CLOSEcur_name;3.8 IF语句条件执行语句IFELSE按以下格式编写:【推荐】IFTHENELSE(或ELSIF)THENENDIF; 在IFTHEN和ELSE(或ELSIF)及ELSETHEN和ENDIF间可包含一条或多条PL/SQL语句,而不需要加BEGIN和END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号