数据库命名及书写规范(一)

2014-11-24 12:08:50 · 作者: · 浏览: 0
数据库命名及书写规范
一 对象和字段的命名规范
1.1 命名的几种方式
UserPrivilege
适合那些英文比较好,并且喜欢抑扬顿挫和有艺术美感的人
userprivilege
适合那些英文好,且比较严谨的人,毕竟全部小写很容易与数据库关键字区别
tbl_user_privilege
适合那些做开发的人,开发的人会习惯性地给变量加前缀
yhqx
热爱中文的人,前提是恐怕你得对这些缩写先做好相关备注,等大家习惯了才行
命名规范表
实际上这几种命名规范各有千秋,很难去指责或否定哪种不好,完全取决于整个公司多数人的习惯,只有绝大多数人心甘情愿地去遵从了,那就是好的命名规范。
注意规则:
不建议使用数据库关键字和保留字(不建议并不意味着不能使用),只是为了避免不必要的冲突和麻烦。
例如,name,id,level,remark,description等。
如果有兴趣,则大家可以参考SELECT *FROM v$reserved_words WHERE reserved='Y'。
实际上Oracle 不建议大家使用v$reserved_words表中所有的关键字,因为这些关键字太多了;reserved='Y'的关键字则是被完全禁止的。
1.2 对象命名规范
用户自定义的数据库对象名包括表、视图、主外键、索引、触发器、函数、存储过程、序列等。
除数据库名长度为1-8个字符外,其余为1-30字符,命名只能用数据、字母、下划线表示。
各对象命名规范表:
对象名
前缀
书写规范
表 (table )
tbl_/t_(或不加前缀)
userinfo/t_user_info/
视图 (view)
v_/v
v_user_info/vuserinfo
序列 (sequence)
seq_
seq_user_info
簇 (cluster)
c_
c_user_info
触发器(trigger )
trg_
trg_user_info
存储过程(procedure )
sp_/p_
sp_user_info/p_user_info
物化视图(materialized view )
mv_
mv_user_info
函数(function)
f_/fn_
fn_user_info/f_user_info
包和包体(package & package body)
pkg_
pkg_user_info
类和类体(type & type body)
typ_
typ_user_info
主键 (primary key )
pk_
pk_user_info
外键 (foreign key)
fk
fk_user_info_fieldname
唯一索引(unique index )
uk_
uk_user_info_fieldname
普通索引(normal index )
idx
idx_user_info_fieldname
同义词(synonym)
依所分配的表所属模块
数据库链接(database link)
无特殊要求
对象命名规范表
1.3 变量命名
所有PL/SQL 中的变量与对象命名规则相似,如下表所示:
变量类型
前缀
范例
输入变量
i_/i
i_user_id/iuserid
输出变量
o_/o
o_user_name/ousername
输出输入变量
io_/io
io_user_name/iousername
普通变量
v_/v
v_user_id/vuserid
全局变量
gv_/gv
gv_user_id/gvuserid
常量
大写
PI
游标
cur_
cur_userinfo
用户自定义类型
type_
type_user_info
变量命名表
注意规则:
1. 命名不允许使用中文或者特殊字符。
2. 命名中若使用特殊约定或缩写,则要注释说明。
3. 使用有意义、易于记忆、描述性强、简短及唯一的英文单词/拼音缩写。保持自己特有的命名风格,不可来回变化。
说明:个人命名风格,在符合所在项目组的命名规则的前提下,才可以使用。对于变量命名,禁止取单个字符(如i、j ),建议除了要有具体含义外,还要能表明变量类型等。
二 书写规范
2.1 注释规范
注释的书写体现了一个人思考问题的全过程和步骤,就算代码写得很差,只要注释写得好,至少也会给人以良好的感觉。注释的原则是有助于对程序阅读理解,语言需准确、易懂、简洁、精炼。
统一文件头的注释:
主要是对相关过程、函数进行功能性描述、修订记录,以及入参出参说明。
对存储过程、函数的任何修改,都需要在注释后添加修改人、修改日期及修改原因等修订说明。
/***********************************************************
名称: sp_xxx
功能描述:
修订记录:
版本号 编辑时间 编辑人 修改描述
1.0.0 2013-01-01 John 1. 创建此存储过程
1.0.1 2013-02-01 Sandy 2. 增加传入参数
入参出参描述:
iparameter1 IN VARCHAR2(20) 传入参数1
iparameter2 IN VARCHAR2(20) 传入参数2
iparameter1 OUT VARCHAR2(20) 传出参数1
iparameter2 OUT VARCHAR2(20) 传出参数2
返回值描述:(主要针对函数)
0 -