Informatica - PowerCenter平台ETL开发规范(7)

2019-06-17 10:16

Informatica PowerCenter平台 ETL开发规范

6.3 游标尽量少使用

数据库计算的优势在于集合计算,而人为的使用游标使得集合计算演变为单记录计算,这样不仅很难充分利用数据库本身的优化器,而且影响事务处理的原子性。所以对游标有以下建议:

1. 在数据进行清洗的过程中,需使用游标来对脏数据进行清洗; 2. 在数据清洗完成后的业务计算,全部采用集合计算,即不要使用游标;

6.4 异常捕捉

存储过程中,不允许对异常捕捉后不做任何处理(即异常丢失)。 所有的SQL都需要检查其SQLCODE值,并做相应记录。对SQLCODE为非零的情况一定要返回给父进程进行后处理,这部分处理一般有两种方法:其一是标记错误;其二直接出错退出。前者适合一般错误,如字段不符合业务规则等,后者则针对严重错误,如维度表为空。

7. SQL编写规范

7.1 原则定义

1、 要求代码行清晰、整齐,具有一定的可观赏性; 2、 代码编写要充分考虑执行速度最优的原则;

Page: 31 of 39

Informatica PowerCenter平台 ETL开发规范 3、 代码行整体层次分明、结构化强;

4、 代码中应有必要的注释以增强代码的可读性;

7.2 大小写规则

? 所有的SQL语句中的保留字均采用全部大写,不要使用缩写;表别名小写;

如ALL AS CASE CREATE DATABASE DELETE FROM IN INSERT JOIN LEFT NO NOT NULL OUT SELECT TABLE TITLE UPDATE VIEW WHERE 等。 ? 表名、视图名、宏和存储过程名:全部小写; ? 字段名:全部小写;

? 存储过程中的内部变量名,全部小写;

注:ORACLE 建议统一使用大写,Gree

7.3 缩进与换行

整个的SQL语句最好按照子句进行分行编写,SELECT FROM WHERE UPDATE INSERT 等每个关键字都要另起一行 如

? 同一级别的子句间要对齐 ? 逗号放在每行的开头

? 分号放在SQL语句的最后,单独占一行

? 每行宽度不超过120字符(每个字符为8个点阵宽),超过行宽的代码可折行与上行对齐编排; 下面的编写方式不是好的形式:

在所有需要缩进的地方,每次缩进4格;在以下情况下需要缩进: ? 不同层次的SQL语句之间

? SELECT INSERT等关键字之后的字段列表和关键字之间

Page: 32 of 39

Informatica PowerCenter平台 ETL开发规范 7.4 别名

SQL语句别名的命名,分层命名,从第一层次至第四层次,分别用P 、S、 U 、D(都是大写字母)表示,取意为Part, Segment, Unit, Detail。

对于同一层次的多个子句,在字母后加1、2、3、4……区分。 如下图所示:

7.5 运算符前后间隔要求

算术运算符、逻辑运算符的前后至少要保留一个空格,如下图所示:

Page: 33 of 39

Informatica PowerCenter平台 ETL开发规范 7.6 变量引用

? 在SQL语句中引用主机变量(如PERL、SHELL等)时,要在变量名两端加花括号 ? 对日期变量的引用要在单引号内,如'${MYDATE}'

7.7 注释

针对复杂的SQL语句,请尽量增加相应的注释说明,以便自己和其它同事事后可以比较容易的读懂和修改。

注释中应包含以下内容: ? 创建人/创建日期 ? 修改人/修改日期

? 该脚本的编写目的与主要内容

? 如果有特殊处理、特别的技巧等内容,一定要在注释中详细说明 ? 每一大的模块之前要有注释,说明该模块的主要作用 以下是注释必需项:

1. 程序头注释,应说明以下几项:

? 功能 ? 创建日期 ? 创建人

? 修改记录(修改人、修改日期、修改描述) ? 源表 ? 目标表 ? 参数 ? 调用

2. 程序体注释,应说明以下几项:

? 变量声明区 ? 变量初始化区 ? 主程序开始 ? 垃圾回收区

Page: 34 of 39

Informatica PowerCenter平台 ETL开发规范 7.8 其它

对于内连接和外连接的使用,要求该使用外连接的地方都已经使用了外连接,不需要外连接的地方一定不使用外连接。

表中的字段若是从其它表引用的,要确保该字段在被引用的表中存在。 此外,SQL代码中禁止使用 *,必须明确具体字段列表。

8. 脚本编写规范

8.1 UltraEdit

编写SQL 。

8.2 SHELL

9. ETL开发流程

9.1 ETL开发流程

ETL的开发通常会以PDM的一个表或几个相关表为单位,我们称之为JOB。每一个JOB的开发通常会包含以下步骤:

Page: 35 of 39


Informatica - PowerCenter平台ETL开发规范(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2017新教材苏教版二年级数学下册全册教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: