其中包括《Oracle PL/SQL最佳实践(Oracle PL/SQL Best Practices)》和《Oracle PL/SQL编程(Oracle PL/SQL Programming)》。他还是Quest Software公司的资深技术顾问。
对象名称结构注释生成(DDL)文件表<abbrev>_<entity>表名,如SM_TASK,用于在普通的Mentat组件中定义的任务。<abbrev>_<entity>.tab 主键列id标准是:(几乎)每个表都包含一个按一个序列生成的id列。对于交叉表等有一些例外。N/A用于生成主键的序列<abbrev>_<entity>_seq用于一个表主键的序列名,如SG_SCRIPT_SEQ,它为Mentat产生脚本表生成一个新主键。<abbrev>_<entity>.seq查询封装包<abbrev>_<entity>_qp包含用以在基础表(如SL_SOURCE_QP)中检索数据的标准API,它有助于在Mentat可重用库中查询各元素的源代码。说明:<abbrev>_<entity>_qp.pks 主体:<abbrev>_<entity>_qp.pkb改变封装包<abbrev>_<entity>_cp包含用以改变(INSERT、UPDATE、DELETE)某基础表(如ST_UNITTEST_CP)中的数据的标准API,它使我能够维护单元测试定义。说明:<abbrev>_<entity>_cp.pkb 主体:<abbrev>_<entity>_cp.pks类型封装包<abbrev>_<entity>_tp包含用于指定表(如SG_GEN_RUN_TP)的预定义类型--包括集合、REF CURSORS、记录。说明:<abbrev>_<entity>_tp.pks 主体:NA (type definitions do not need a package body)规则封装包<abbrev>_<entity>_rp包含程序,通常是函数,它隐藏了关系到该实体的商务规则的细节。说明:<abbrev>_<entity>_rp.pks 主体:<abbrev>_<entity>_rp.pkb其他物件包 <abbrev>_<entity>_xp包含特定实体的自定义逻辑。说明:<abbrev>_<entity>_xp.pks 主体:<abbrev>_<entity>_xp.pkb