ERWin 다루기 요약

[블로그 통계 인기글]최다 스크랩, 감사덧글 잴많은 포스트

 

1. ERWin으로 리버스 엔지니어하기
1.1 Ctrl+DownArrow 로 물리모델로 바꾼다.
1.2 Databse>Choose Database 에서 아이디 암호/TNS네임을 입력한 후 연결한다.
1.3 Tool>Reverse Engineer 에서 한다.

1.4 옵션에서 All로 하면 모든유저에대해서 분석하므로 시간이 많이 걸린다.

특정 사용자를 반드시 지정 할것!(처음에 물어보는 compare 유저는 all,

두번째 물어보는 Owned by 에서 user는 특정 유저

prefix user 체크 해제, using owner 체크 해제   user owner 관련된 체크박스는 모두 해제)

 

2. 모델간/DB 스키마와 모델간 비교하기
2.1 Tool>Complet Compare에서 한다.

 

3. 모델에서 스크립트 생성하기

3.1 오른쪽이 DB이고 왼쪽이 모델로 개념을 잡는다.

3.2 생성하면 Erwin용으로 트리거까지 만들어지므로 유의한다.

 

4. 모델과 DB스키마의 내용을 가지고 alter내용 생성하기

4.1 3에서와 비슷하다.

 

5. 모델 찾기

5.1 Ctrl+G

 

6. 모델의 물리/논리 모델 사이즈 변경을 고정하기

6.1 사이즈 자동조절 체크 해제

 

7. 모델간 관계선의 옵티마이즈

7.1 Format>Preference>Layout Entier Diagram버튼클릭

 

8. 다이어그램 입력법

8.1 물리에서 다이어그램 그리고나서 도형에서 마우스 오른쪽버튼클릭 후 Column클릭 한다.

8.2 더블클릭한다.

8.2 테이블명은 …을클릭하여 변경한다.

 

9. Create Script생성

9.1 생성할 엔티티를 주제영역으로 모아둔다. Model>Subject Area

9.2 주제영역에 엔티티를 재배치한다.

9.3 tool>Forward Engineer를 선택한다. 만약 메뉴가 안보이면 Ctrl+화살표아래를 클릭한다.

9.4 유의할것은 generate를 하면 실행이되어 DB에 반영이 되어 버리고 Preview를 해야 미리보기를 할 수 있다.

 

10. 보고서

10.1 tool>data browser> 새창이틈 , File> New ERWin Report>

새창이 뜸

보고서이름지정,physical선택,카테고리는 table선택

옵션은 talbe name, attribute name, entity name, property name 을 선택하고 OK버튼클릭

RMB하여 Excute 실행

컬럼해더를 적당히 이동

RMB하여 Export버튼 클릭 > DDE선택>Export버튼 클릭>tabular with Duplicate 선택 후

Export 해야 데이터가 잘 나온다.

 

11. 스크립트로 ERwin생성

11.1 모델비교에서 DDL script로 ER-Diagram을 생성할 수 있다.

 

12. 실수방지

12.1 논리명에 물리명 적거나 물리명에 논리명 적어버리는 실수를 하는경우가 있다.

12.2 Attribut와 Column은 각각 논리와 물리에서 사용되는 용어이다. 아래와 같은 구조다.

12.3    上Attribute(논리)   |

—————–| 右 (DB)

下Column(물리)   |

12.4 위와 같은 구조로 되있다고 생각하면 이해하기 쉽다.

12.5 엔티티를 복사해서 붙여넣기 하면 다른주제영역에 있다고 하다라도

중복된 엔티티로 생기게 되므로 유의한다.

골라서 중복된것을 지우고, 지우고 나니 관계가 있는 놈이 관계가 끊어져서

삽질하는 수가 있다.

— special thanks 김병모 차장님

13. 엔티티와 관계있는 엔티티를 선택하기

주제영역을 추가할때 (첨부파일 참고) 부모 2Level 자식 1레벨로 추가한다.

 

14. 속성이 많아 한눈에 안들어 올때 (테이블명만 출력할때)

바닥에 대고 마우스 클릭하여 display level > table 을 선택한 후 refresh 한다.

복구는 display level > column 을 선택하고 refresh한다.

유의) 엔티티를 선택하고 하면 display level 메뉴가 안떠요~

 

15. 논리모델만으로 작성된것에 물리모델뷰도 추가하고 싶을때

논리 물리로 신규 파일 만들어서 기존거 import한다.

 

 

16. 모델에 있는것을 db와 동기화 할때.. import하는 경우 삭제는 되지 않으므로

그림과 같이 삭제를 따로 해야 동기화가 완료된다. (첨부파일2 참고)

삭제를 해도 관계가 걸려있는 놈들은 삭제가 안된다.

 

17. 주제영역을 복사해서 다른 주제영역에 복사해 넣기

Ctrl+C, Ctrl+V로 하면 안돼요. (중복된 엔티티가 생겨요. 나중에 중복된거 지우느라

쌩고생했음. 지우고 나니까 관계 있는 놈을 지워서 결국 관계 다시파악해서 맺었음.ㅠㅠ)

(첨부파일3참고)

 

18. 디비와 Sync할때 테이블단위로 하면 작업효율이 빠르다.

엔티티 선택 후 더블클릭하여 Column정의 팝업을 연 다음 DB Sync.. 버튼을 클릭한 후

Sync Action 을 Bidirectional 로 선택한다. 그 후 다음 다음 진행 해서 Sync를 맞춘다.

 

19. Sync할때 retrive를 하지 않고 Oracle 테이블 목록이 안보이는 경우가 있는데

connection 이 끊어질경우 그러하다. connection 끊고 다시 연결하면 해결된다.

 

20. Physical 만 있을때 Logical을 추가하고 싶다.

어떻게 하나? 메뉴에도 그런 기능 없는데..

답: 신규로 Physical 과 Logical을 만든 후

Physical을 가져오기 한다.