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 在每一个块和过程(存储过程、函数、包、触发器、视图等)的开头放置注释
/************************************************************************
|
*************************************************************************/
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语句
|
Oracle命名规范相关推荐
- 什么是oracle命名,ORACLE数据库命名规范
ORACLE数据库命名规范 1 目的 规范数据库各种对象的命名规则. 2 数据库命名原则 2.1 数据文件 如果数据库采用文件系统,而不是裸设备,约定下列命名规则: 1)数据文件以表空间名为开始,以. ...
- Oracle 数据库管理脚本 命名规范
Oracle 中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有 Oracle 用户(从应用的最终用户.应用的设计开发者到数据库管理员)的非常重要的信息来源.数据字典的创建,是 ...
- Java 命名规范(非常全)
欢迎关注方志朋的博客,回复"666"获面试宝典 在本文中,将从大到小,从外到内,总结Java编程中的命名规范.文中将会涉及到日常工作中常见的命名示例,如包命名,类命名,接口命名,方 ...
- Java 命名规范(非常全面)
来源:https://www.ramostear.com/blog/2020/03/20/2vxdaqjq.html 最近发现很多初级程序员写代码时很不规范,比如方法名 类名 等,如果遇到有代码洁癖的 ...
- 数据库命名规范(转)
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 数据库命名规范 1 目的 规范数据库各种对象的命名规则. 2 数据库命名原则 2.1 数据文件 如果数据库采用文件系统 ...
- mysql密码命名规则_MySql命名规范
数据库环境 dev:开发环境,开发可读写,可修改表结构.开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事. qa:测试环境,开发可读写,开发人员可以通过工具修改表结构. s ...
- 触发器使用教程和命名规范
触发器使用教程和命名规范 目 录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三 ...
- 【Java】Java命名规范
1. 包命名规范 包(Package)的作用是将功能相似或相关的类或者接口进行分组管理,便于类的定位和查找,同时也可以使用包来避免类名的冲突和访问控制,使代码更容易维护.通常,包名使用小写英文字母进行 ...
- 阿里mysql命名规范_MySQL命名、设计及使用规范《MySQL命名、设计及使用规范》
数据库环境 dev:开发环境,开发可读写,可修改表结构.开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事. qa:测试环境,开发可读写,开发人员可以通过工具修改表结构. s ...
最新文章
- SpringCloud Alibaba微服务实战(四) - Nacos Config 配置中心
- 近来工作和面试一些人的感受(原)
- java ee核心技术_【科普】JavaEE的核心技术
- RHEL/CENTOS 性能优化
- javasript 面向对象
- mysql g月份分组_PowerBI快捷键——视觉对象分组功能
- 160 - 8 Andrnalin.1
- bi可视化工具_适用于您的BI解决方案的最佳数据可视化和Web报告工具
- CentOS安装mysql*.rpm提示conflicts with file from package的解决的方法
- ****CentOS下安装JDK1.7
- ogg初始化mysql数据_利用OGG进行数据库表的初始化
- HTM皮质学习算法资料
- 解决OpenCV4出现“/usr/bin/ld:cannot find -lcudart_static.../usr/bin/ld: cannot find -lx86_64-linux-gnu“问题
- android fastboot驱动,fastboot驱动
- amazeui验证遇到的坑
- 【面经】Thoughtworks软开实习
- GPS从入门到放弃(一) --- GPS基础原理
- 如何用电脑录制视频?图文教学,快速学会
- 还记得那些老国手吗? 07
- 企业邮箱怎么开通?手机微信怎么绑定公司邮箱?
热门文章
- 用Excel计算个人工资所得税的四套方案(转)
- stm32f4xx标准外设固件库
- dataframe去掉行索引_DataFrame按索引删除行、列
- 考计算机专业要理科好吗,大学想念计算机系是不是该高中读理科?
- 外泌体介绍 - MedChemExpress
- 用 Linux 办公和开发到底靠谱吗?
- 51单片机8位带符号乘法运算(汇编)
- 【趣味编程】第1期。用python做简易版音乐下载器
- (PC+WAP)织梦模板财经新闻资讯类网站
- 2021年施工员-土建方向-岗位技能(施工员)考试技巧及施工员-土建方向-岗位技能(施工员)实操考试视频