erwin 특정 테이블 reverse 하기 (sql script 사용)

2018. 1. 26. 10:19tool/ERwin


erwin 특정 테이블 reverse 하기

 

 

버전 : erwin 7.3

 

 

ERwin 특정 테이블 reverse 하기 (sql script 사용)

 

ERwin reverse 한 뒤 comment 로 logical 만들기

 

 

 

 

erwin 에서 reverse 할 때 user 단위 또는 tablespace 단위로 많이 했었다.

 

하지만 이번엔 특정한 테이블들만 reverse해야 할 경우가 생겼다.

 

테이블이 한 300개 되는데 그 중에서 일부만 erd를 그려야 하기 때문이다.

 



 

erwin에서는 테이블 단위로는 reverse를 지원하지 않는다.

 

그래서 생각한 방법이 sql script 를 가지고 reverse 하면 되겠다고 생각했다.

 

완전 자동은 아니지만 table create script 만 있다면 해결할 수 있다.

 

 

 

CREATE TABLE TB_SAMPLE
(
  SEQ           VARCHAR2(38 BYTE) NOT NULL,
  NAME          VARCHAR2(4 BYTE),
  ADDR  VARCHAR2(1 BYTE),
  CONSTRAINT PK_TB_SAMPLE PRIMARY KEY (SEQ)
);

COMMENT ON TABLE TB_SAMPLE IS '샘플';

COMMENT ON COLUMN TB_SAMPLE.SEQ IS '순번';

COMMENT ON COLUMN TB_SAMPLE.NAME IS '이름';

COMMENT ON COLUMN TB_SAMPLE.ADDR IS '주소';


CREATE TABLE TB_SAMPLE_SUB
(
  SUB_SEQ VARCHAR2(38 BYTE) NOT NULL,
  SEQ  VARCHAR2(38 BYTE) NOT NULL,
  NAME  VARCHAR2(4 BYTE),
  ADDR  VARCHAR2(1 BYTE),
  CONSTRAINT PK_TB_SAMPLE_SUB PRIMARY KEY (SUB_SEQ),
  CONSTRAINT FK_TB_SAMPLE_SUB FOREIGN KEY (SEQ)
  REFERENCES TB_SAMPLE (SEQ)
);

COMMENT ON TABLE TB_SAMPLE_SUB IS '샘플 서브';

COMMENT ON COLUMN TB_SAMPLE_SUB.SUB_SEQ IS '샘플 순번';

COMMENT ON COLUMN TB_SAMPLE_SUB.SEQ IS '순번';

COMMENT ON COLUMN TB_SAMPLE_SUB.NAME IS '이름';

COMMENT ON COLUMN TB_SAMPLE_SUB.ADDR IS '주소';

 

 

1. 위와 같은 Table Create 문을 temp.sql 파일로 저장한다. 파일명은 자유롭게...

 

 

2. ERwin 실행 후 Tools > Reverse Engineer 클릭


 

3. Reverse Engineer - Selete Template 팝업

- New Model Type는 Logical/Physical 선택 (Physical 만 작성한다면 Physical 선택)

- Target Database는 알맞는 DB와 Version 선택

- Next 클릭

 

4. Reverse Engineer- Set Options 팝업

- Reverse Engineer From 에서 Script File 을 체크하고 Browse 를 클릭해서 위에서 저장한 스크립트 파일(.sql)을 불러온다.

- Infer 항목에서 사용할 옵션을 체크한다. Primary Key : 기본키, Relations : 관계

- Next 클릭

 



 

5. 이미지를 준비하지 못했는데 만약에 스크립트 문에 오류가 발생한다면 오류팝업이 뜬다.

오류 팝업이 뜰 경우에는 올바르게 reverse 되지 않으니 스크립트를 수정한 후 다시 시도하여야 한다.

 

6. 오류가 없다면 다음과 같은 팝업이 뜬다. 예 클릭. 

 

7. 오류가 없다면 다음과 같은 팝업이 뜬다. 예 클릭. 

8. 위와 같이 erd가 reverse 된 것을 확인할 수 있다.