Oracle命名规范

1、编写目的

  使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。

  2、适用范围

  本规范适用于公司范围内所有以ORACLE作为后台数据库的应用系统和项目开发工作。

  3、对象命名规范

  3.1 数据库和SID

  数据库名定义为系统名+模块名

  ★ 全局数据库名和例程SID 名要求一致

  ★ 因SID 名只能包含字符和数字,所以全局数据库名和SID 名中不能含有“_”等字符

  3.2 表相关

  3.2.1 表空间

  ★ 面向用户的专用数据表空间以用户名+_+data命名 ,如Aud 用户专用数据表空间可命名为Aud_data

  ★ 面向用户的专用索引表空间以用户名+_+idx命名

  ★ 面向用户的专用临时表空间以用户名+_+tmp命名

  ★ 面向用户的专用回滚段表空间以用户名+_+rbs 命名

  ★ 面向应用的表空间以应用名+_data/应用名+_idx/应用名+_tmp/应用名+_rbs 命名

  ★ LOB 段数据专用表空间以其数据表空间+_+lobs 命名,如上例中数据表空间为Aud_data,则LOB 段表空间可命名为Aud_data_lobs

  3.2.2 表空间文件

  表空间文件命名以表空间名+两位数序号(序号从01开始)组成,如Aud_data01 等

  3.2.3 表

  表命名要遵循以下原则:

  ★ 一般表采用“系统名+t_+模块名+_+表义名” 格式构成

  ★ 若数据库中只含有单个模块,命名可采用“系统名+t_+表义名”格式构成

  ★ 模块名或表义名均以其汉语拼音的首字符命名,表义名中汉语拼音均采用小写,且字符间不加分割符;

  ★ 表别名命名规则:取表义名的前3 个字符加最后一个字符。如果存在冲突,适当增加字符(如取表义名的前4 个字符加最后一个字符等)

  ★ 临时表采用“系统名+t_tmp_+表义名” 格式构成

  ★ 表的命名如

  dft_gy_cbap:系统名(电费 df)+t_+模块名(高压 gy)+_+表义名(抄表安排 cbap)

  dft_cbbj: 系统名(电费 df)+t_+表义名(抄表标记 cbbj)

  dft_tmp_hj: 系统名(电费 df)+tmp+表义名(合计hj)(此处为临时表)

  ★ 关联表命名为Re_表A_表B,Re 是Relative的缩写,表A 和表B均采用其表义名或缩写形式。

  3.2.4 属性(列或字段)

  属性命名遵循以下原则:

  ★ 采用有意义的列名,为实际含义的汉语拼音的首字符,且字符间不加任何分割符

  ★ 属性名前不要加表名等作为前缀

  ★ 属性后不加任何类型标识作为后缀

  ★ 不要使用“ID”作为列名

  ★ 关联字段命名以 “cd+_+关联表的表义名(或缩写)+_+字段名”进行

  3.2.5 主键

  ★ 任何表都必须定义主键

  ★ 表主键命名为:“pk+_+表名(或缩写)+_+主键标识”如“pk_YHXX_IDKH”等

  3.2.6 外键

  表外键命名为: “fk+_+表名(或缩写)+_主表名(或缩写)+_+主键标识”如“fk_YHLX_YHXX_SFZH”等

  3.2.7 CHECK约束

  CHECK 约束命名为: “chk+_+CHECK约束的列名(或缩写)”

  3.2.8 UNIQUE约束

  UNIQUE 约束命名为: “unq+_+UNIQUE约束的列名(或缩写)”

  3.2.9 索引

  索引的命名为:“表名(或缩写)+_+列名+_idx”。其中多单词组成的属性列列名取前几个单词首字符再加末单词首字符组成如yd_kh 表khid 上的index: yd_kh_khid_idx

  3.2.10 触发器

  ★ AFTER型触发器

  系统名+tr_+<表名>_+ +[_row]

  ★ BEFORE型触发器

  系统名+tr_+<表名>_+bef_+[_row]

  ★ INSTEAD OF型触发器

  系统名+ti_+<表名>+_++[_row]

  ★ 各种类型的触发器中

  i,u,d 分别表示insert、update 和delete行级触发器,后加_row 标识,语句级触发器不加,如 yddftr_CSH_i_row

  3.2.11 簇

  簇以簇中要存储的各个表(或表别名)及表间加and的组成 命名,即表“A+And+表B…”,如存储GR(工人)和GRJN(工人技能)表的簇命名为GRAndGRJN

  3.3 视图

  视图命名以系统名v_+模块名作为前缀,其他命名规则和表的命名类似

 3.4 序列

  序列命名以seq_+含义名组成

  3.5 同义词

  同义词命名与其基础对象的名称一致,但要去除其用户前缀或含有远程数据库链接的后缀

  3.6 存储对象相关

  3.6.1 存储过程

  存储过程命名由“系统名+sp+_+存储过程标识(缩写)”组成存储过程标识要以实际含义的汉语拼音的首字符构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储过程为“sfsp_ZJDLSZH”。

  3.6.2 函数

  函数命名由“系统名+f+_+函数标识”组成

  3.6.3 包

  包命名由“系统名+pkg+_+包标识”组成

  3.6.4 函数文本中的变量采用下列格式命名:

  ★ 参数变量命名采用“i (o或io)+_+名称”形式,前缀i 或o 表输入还是输出参数

  ★ 过程变量命名采用“l+_+名称”形式

  ★ 全局包变量命名采用“g+_+名称”形式

  ★ 游标变量命名采用“名称+_+cur”形式

  ★ 常量型变量命名采用“c+_+名称”形式

  ★ 变量名采用小写,若属于词组形式,用下划线分隔每个单词

  ★ 变量用来存放表中的列或行数据值时,使用%TYPE、%ROWTYPE 方式声明变量,使变量声明的类型与表中的保持同步,随表的变化而变化

  3.7 用户及角色

  ★ 用户命名由“系统名称+_+user+_+名词(或缩写)或名词短语(或缩写)”组成

  ★ 角色命名由“系统名称+_+role+_+名词(或缩写)或名词短语(或缩写)”组成

  3.8 数据库链接

  ★ 数据库链接命名由“远程服务器名+_+数据库名+_+link”组成

  ★ 若远程服务器名和数据库名一致,上式“_+数据库名”部分省去

  3.9 命名中的其它注意事项

  ★ 命名都不得超过30个字符。

  ★ 不要在对象名的字符之间留空格

  ★ 小心保留词,要保证你的命名没有和保留词、数据库系统或者常用访问方法冲突

  4、 编码规范

  4.1 一般性注释

  4.1.1 注释尽可能简洁、详细而全面

  4.1.2 创建每一数据库对象时都要加上COMMENT ON注释,以说明该对象的功能和用途;建表时,对某些数据列也要加上COMMENT ON注释,以说明该列和/或列取值的含义。如:XX 表中有CZZT列属性为NUMBER(10, 0)可加COMMENT ON 注释如下COMMENT ON COLUMN XX.CZZT IS ‘0 = 正常, 1 = 等待, 2 = 超时, 3 = 登出‘

  4.1.3 注释语法包含两种情况:单行注释、多行注释

  单行注释:注释前有两个连字符(--),一般对变量、条件子句可以采用该类注释。

  多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。

  4.2 函数文本注释

  4.2.1 在每一个块和过程(存储过程、函数、包、触发器、视图等)的开头放置注释

  /************************************************************************

*name : --函数名

*function : --函数功能

*input : --输入参数

*output : --输出参数

*author : --作者

*CreateDate : --创建时间

*UpdateDate : --函数更改信息(包括作者、时间、更改内容等)

  *************************************************************************/

  CREATE [OR REPLACE] PROCEDURE dfsp_xxx

  …

  4.2.2 传入参数的含义应该有所说明。如果取值范围确定,也应该一并说明。取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。

  4.2.3 在每一个变量声明的旁边添加注释。说明该变量要用作什么

  通常,简单使用单行注释就行了,例如l_sfzh CHAR(11) --身份证号码

  4.2.4 在块的每个主要部分之前添加注释

  在块的每个主要部分之前增加注释,解释下—组语句目的,最好是说明该段语句及算法的目的以及要得到的结果,但不要对其细节进行过多的描述

  4.2.5 在块和过程的开头注释中还可以增加要访问的数据库等信息

  4.3 常用SQL 语句的编写规范

  4.3.1 CREATE语句

CREATE TABLE dft_dksz(

YHBS VARCHAR2(20) NOT NULL,

ZHGX DATE,

DKKHD VARCHAR2(24),

CONSTRAINT pk_dksz_yhbs PRIMARY KEY (YHBS)

)

推荐:http://www.cnblogs.com/roucheng/p/3506033.html

时间: 2024-10-10 09:03:52

Oracle命名规范的相关文章

触发器使用教程和命名规范

目  录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三:INSTEAD OF触发器 6 7,例四:语句级触发器之一 8 8,例五:语句级触发器之二 9 9,例六:用包封装触发器代码 10 10,触发器命名规范 11 1,触发器简介 触发器(Trigger)是数据库对象的一种,编码方式类似存储过程,与某张表(Table)相关联,当有DML语句对表进行操作时,可以引起触发器的执 行

Html+CSS命名规范:

 Html+CSS命名规范: 1.样式命名: 2.样式文件命名: 数据库命名规范(Oracle表名长度不要超过30个字符,sql不限制): 1.数据库命名: 2.数据表命名:架构名+产品名+模块名.如:Report.Rept_ReportTemplateData 3.数据列命名:

plsql 书写命名规范

俗话说事不预则废,无规矩不成方圆. 对sql脚本程序的设计,个人认为应该是从编码规范开始. 前段时间公司一些同事提交的脚本,风格迥异,让我审核起来倍感难受,丝毫没有审核代码的快感. 特整理了公司部分常规的编码规范,对新人进行了培训,希望同志们写的代码更美观和高效(注:规范部分收集于网络,感谢网络大虾们的贡献): 1.1. PL/SQL 程序命名规范 1.              无论是 PL/SQL 对象还是 PL/SQL 对象内部用的变量和游标等,都必须能从名称上能让人理解变量和游标的含义,

sql server命名规范

命名规范 表 表名如Order/UserAccout 符合以下规范: 1.     统一采用单数形式,反对Orders 2.     首字母大写,多个单词的话,单词首字母大写,反对order/Useraccout/ORDER 3.     避免中文拼音,反对AgentBaoCi 4.     避免下划线连接,反对User_Accout(下划线适用Oracle数据库) 5.     避免名称过长,反对WebsiteInfomationModifyRecord 6.     多对多关系表,以Mapp

dos命令-环境变量-数据类型-命名规范

JAVA第一天笔记--dos命令-环境变量-数据类型-命名规范 1.能够阐述JDK和JRE之间区别 JDK(Java Development Kit)是提供给开发人员使用的JAVA开发工具包(javac.exe;java.exe),包含JRE(Java Runtime Environment). JRE(Java Runtime Environment)是Java程序运行环境,包含JVM(Java Virtual Machine)及核心类库. 总结为:开发人员使用JDK开发的程序,在JRE中运行

【html/css】html/css命名规范

无论做什么,规则总是最重要的.无规矩不成方圆,有了规矩,我们才能有规可循,有则可依,人与人之间才能正常的交流交往. 人人都有自己的命名习惯,不过,代码是需要交流的,当有些命名习惯仅只自己能看懂,甚至自己在过后都看不懂时,就成为了交流中的障碍了.所以,有一个规范的命名规则是很重要的.命名规则有很多,大家各取所需,这里介绍一下在html/css中一些约定俗成的命名规范,权作记录: 1.所有的命名最好都小写 2.属性的值一定要用双引号("")括起来,且一定要有值如class="di

CSS命名规范

html页面的CSS.DIV命名规则 CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:

Android 你不可不看的命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所

Android开发必备:命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所