ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 《剑破冰山》读书之数据库编码规范

《剑破冰山》读书之数据库编码规范

原创 Linux操作系统 作者:zzuiezhangqihui 时间:2011-03-24 09:51:40 0 删除 编辑
一、对象编码规范
表 table  t_/tbl_  或者不加前缀。
视图view  v_/v
序列  sequence  seq_
蔟  cluster c_
触发器 trigger  trg_
存储过程 procedure sp_/p_/proc_
函数 function fn_/f_
物化视图   materialized view mv_
包或者包体 package & package body   pkg_
类或者类体  type &type body typ_
主键   primary key  pk_
外键 foreign key   fk_
唯一索引  unique index  uk_
普通索引  normal index  idx_
位图索引  bitmap index  bk_
同义词     synonym        主要依据分配表所属的模块或者模式
数据库连接 database link   无特殊要求
二、变量命名
输入变量    i_/i
输出变量  o_/o
输入输出变量  io_/io
普通变量  v_/v
全局变量  gv_/gv
常量     大写
游标    cur_
用户自定义类型  type_
保存点(save point)               spt_
三、sql语句结构
1、避免使用方言,decode完全可以用case when 语句代替,这样编码性更强。
(+)=又关联用right outer join
(- )=左关联用left outer join
2、复杂的sql(特别是多层嵌套、带子句或者相关的查询),应该考虑是否由于涉及不当引起的,对于复杂的sql可以考虑使用程序实现,原则上遵循一句话只做一件事情。
静态sql>动态sql
绑定变量的sql>动态sql(在oltp系统中建议这么做)
sql>pl/sql的过程,极端的sql除外。
sql>游标遍历。
oracle函数>自定义函数。
用oracle的分析函数代替统一表多次的关联。
3、一定要又异常处理
exception
          when other then
           rollback to savepoint  spt_xxx;
         v_err_num:=sqlcode;
          v_err_msg=substr(sqlerrm,1,100);
           insert /update ;
           commit;
end ;
四、部署的顺序
1、创建数据库角色,用户脚本
2、创建数据库表空间,数据文件脚本。
3、创建数据类型脚本,自定义数据类型。
4、创建业务表脚本,表四其他依赖关系的基础。
5、创建临时表脚本,可能会在过程脚本中用到。
6、创建视图脚本。
7、创建主外键脚本。
8、创建索引脚本。
9、创建触发器脚本。
10、创建函数,存储过程脚本。
11、创建初始化数据脚本。
12、创建job脚本。
应该将脚本按照功能存放到不同的目录下,并在相应的目录下创建一个运行所有脚本的总脚本。
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25296295/viewspace-690324/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-02-19

  • 博文量
    9
  • 访问量
    6608