数据库命名规则 - 下载本文

1.1.1 数据库的命名规则

1) 一般概念

? 尽量使用完整的英文描述符,尽量采用驼峰式; ? 尽量采用适用于相关模块的术语;

? 尽量少用缩写,但如果用了,要明智地使用,在整个项目中进行统一; ? 避免使用长的名字,应少于15 个字母;

? PL/SQL 关键字第一个字面应大写,如Select、Number;

2) 数据表

? 存储:所有的客户化表都定义统一的客户化的数据库用户下

? 注释:表应有注释说明此表的目的、作者、日期,所有的表列都应加注释。

? 命名:表的名称以“模块_”开头,,如果式临时表,以TEMP 结尾,如果是实例化视图,以MV 结尾;中间用能够描述本表作用的说明性名词填写,中间用_ 区分,如: FIN_AP_VENDOR,

3) 视图

? 注释:视图的目的、作者、日期注释应以单独行加在CREATE 和AS 之间,对视图的重要列应加以注释。

? create or replace view apps.cux_ap_vendor_v as-- Purpose 总帐批视图select

? 3、 格式:视图定义的脚本中一般情况不能有空行。

? 4、 命名:视图名称以“模块_”开头,以“_V” 结尾, 中间用能够描述本表作用的英文缩写填写,可以是多段,中间用_ 区分,如FIN_AP_VENDOR_V;

4) 序列

? 存储:所有的客户化序列都定义在自定义的数据库用户下,如CUX。 ? 注释:序列的目的、作者、日期注释应以单独行加在CREATE 之后。(建立脚本安装文件时要加注释)

? 格式:视图定义的脚本中不能有空行。

? 命名:视图名称以“模块_”开头,中间用能够描述本表作用的说明性名词填写,中间用_ 区分,以_s 结尾,如CUX_AP_VENDOR_S;

5) 同义词

? 存储:所有的同义词都定义在数据库用户APPS 下。 ? 注释:同义词不需要注释。

? 命名:同义词名称和客户化对象名称相同(尽量相同)。 ? 其它:应对所有的自定义数据库用户下的对象建立同义词。

6) 函数和过程

? 避免编写独立的函数和过程,尽量使用程序包中的函数和过程;函数、过程名称第一个单词尽可能采用一个生动的动词,第一个字母小写,例如:opeFile(), addAccout();

? 在函数、过程中用到的记录(游标、数组), 采用完整的英文描述说明,前四个字符应为‘rec_’(’cur_’、‘arr_‘),后跟一个说明性的名词,说明此记录(游标、数组)的功能,例如:rec_item(cur_mai 、arr_quality);

? 将作用相近的函数和过程打包在一个程序包中;

? 注释:函数和过程的注释应包括:目的、每个参数的说明、返回值说明(函数),且每项独占一行。如果包定义不是自己开发的,则在包中添加函数或过程时,需要函数或过程之前加上注释:作者、时间。如:

? ---------------------------------------------------------- ? -- Purpose 设置起止日期 ? -- param p_start_date:起始日期 ? -- param p_end_date : 结束日期

? PROCEDURE set_start_end_date(p_start_date DATE,p_end_date DATE) AS

? 格式:函数和过程中的代码应有适当的缩进格式,每个函数和过程的结尾应加上名称,如end func1。每个参数独占一行。

? 命名:函数或过程中的局部变量命名应以l_开头,全局变量以g 开头,输入参数以p_开头,输出参数以x_开头,后面都以说明性的名词添加;

7) 包

? 存储:所有的客户化包都定义在数据库用户APPS 下。

? 注释:包的目的、作者、日期注释应加在包头的CREATE ? AS 之后,函数、变量或过程之前。对包中的全局变量应加注释。如:

? CREATE OR REPLACE PACKAGE APPS.CUX_AP_UTIL_F_PKG IS ? -- Author : KEVIN

? -- Created : 2007-9-11 9:43:09 ? -- Purpose : 合同相关的计算

? 格式:包中的代码应有适当的缩进格式(一般为两个格)。

? 程序包以“模块_”开头,以_PKG 结尾(报表用的包以RPT结尾),如果是报表package,以R_PKG 结尾,F_PKG 代表非报表package;中间用能够描述本表作用的说明性名词填写,用_ 区分,如:CUX_AP_INVOICE_F_PKG;

? 命名:函数或过程中的局部变量命名应以l_开头,全局变量以g 开头,输入参数以p_开头,输出参数以x_开头,后面都以说明性的名词添加;

8) 触发器(编程中尽量少的使用触发器)

? 注释:包的目的、作者、日期注释应加在包头的CREATE ? AS 之后。 ? 格式:触发器中的代码应有适当的缩进格式。

? 命名:触发器以CUX_模块简写_开头,以_TRG 结尾,变量的命名参照函数和过程中的变量命名。