一、概念
Model模型:
描述关系型数据的模型. 是一组存放在特定的技术(如Oracle)的数据存储的集合。例如当技术为Oracle时,对应于数据库的Scheme
DataStore: 数据存储
一个模型中包含的元数据,对应于模型所在scheme中的表或视图。可以通过反向工程(reverse-engineered) 从真实的环境导入, 也可以在ODI 中创建
二、支持的操作
测试表格
DROP TABLE DEPT; CREATE TABLE DEPT ( DEPTNO NUMBER (2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2 (14), LOC VARCHAR2 (13) ); DROP TABLE EMP; CREATE TABLE EMP ( EMPNO NUMBER (4) CONSTRAINT PK_EMP PRIMARY KEY, ENAME VARCHAR2 (10), JOB VARCHAR2 (9), MGR NUMBER (4), HIREDATE DATE, SAL NUMBER (7, 2), COMM NUMBER (7, 2), DEPTNO NUMBER (2) CONSTRAINT FK_DEPTNO REFERENCES DEPT );
插入数据
INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS'); INSERT INTO DEPT VALUES (30,'SALES','CHICAGO'); INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON'); INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20); INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30); INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30); INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20); INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30); INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30); INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10); INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20); INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10); INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30); INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20); INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30); INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20); INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
2.1 创建模型并逆向工程
设计器->模型->新模型图标,
在模型对话框的“定义”标签下,输入名称ODI_SRC,选择技术Oracle和逻辑方案ODI_SRC
在“逆向工程”标签下,选择上下文,如果没创建上下文就是Global,选择“要进行反向工程的对象类型”如“表、视图”等,此处只选择了表,保存。
右键模型->逆向工程 对逻辑方案对应的物理方案下的所有的表进行逆向工程。
也可以在“选择性逆向工程” 勾选”选择性逆向工程”和要进行逆向工程的表,点击逆向工程,只针对选择的表进行逆向工程。
逆向工程中
逆向工程完成后,会在Designer的模型框中看到建立好的模型:
同理,新建模型ODI_TAG并进行逆向工程
2.2 模型的导入导出
右键模型,导出,
会生成一个MOD_ODI_SRC.xml文件,可以用于导入
2.3 查看Datastore(数据存储)数据
右键模型,查看数据
2.4 新建数据存储并同步到数据库
Step1 右键模型,新建数据存储
Step2 输入表名
Step5 生成DDL,会在你指定的路径下生成一个过程
Step6 执行过程就可以同步到数据库
数据库多了一张表