O管理DO数据库命名编码规范.docx

上传人:b****6 文档编号:3186278 上传时间:2022-11-19 格式:DOCX 页数:28 大小:30.67KB
下载 相关 举报
O管理DO数据库命名编码规范.docx_第1页
第1页 / 共28页
O管理DO数据库命名编码规范.docx_第2页
第2页 / 共28页
O管理DO数据库命名编码规范.docx_第3页
第3页 / 共28页
O管理DO数据库命名编码规范.docx_第4页
第4页 / 共28页
O管理DO数据库命名编码规范.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

O管理DO数据库命名编码规范.docx

《O管理DO数据库命名编码规范.docx》由会员分享,可在线阅读,更多相关《O管理DO数据库命名编码规范.docx(28页珍藏版)》请在冰豆网上搜索。

O管理DO数据库命名编码规范.docx

O管理DO数据库命名编码规范

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

文件标识:

QD-30-08密级:

内部

版本号:

Ver1.0

 

大庆金桥软件开发作业体系

Oracle数据库命名编码规范

 

变更历史

操作

责任人

日期

版本

变更内容

创建

李富华

2010-04-20

创建文档

编辑

周强

2010-04-21

修改文档

1.文档介绍4

1.1文档目的4

1.2文档范围4

1.3定义4

1.4参考资料4

2.命名规范4

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_

t_user

表名长度原则上不超过25个字符;表、视图、字段名中不出现复数,创建表必须要注释,comments必须要填写。

视图(view)

v_

v_user

如果表名或字段名过长,则用表名或字段名的缩写。

序列(sequence)

s_

s_user

一般索引(normalindex)

i_

_

i_user_username

field:

字段名,遇上长字段名可采用缩写

唯一索引(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_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_

save_

表的保存点

事务的保存点

事务(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

展开阅读全文
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1