ER/Studio [매크로활용] 공용테이블을 제외하고 DDL문 생성
2012.04.10 20:43
생산성 향상을 위한 매크로
ER/Studio Enterprise에는 데이터모델링 시 반복되는 작업을 자동화하기 위해 많은 유용한 매크로(macro)를 제공한다.
내장된 매크로 중 바로 업무에 적용할 수 있는 유용한 매크로의 사용법을 하나하나 실습을 통해 익혀보자.
공용테이블을 제외하고 DDL문 생성하기(Attachment 활용)
행정 업무 전반의 데이터모델링 작업시, 업무를 인사, 급여, 구매자산, 예산회계로 구분하였다.
업무담당자도 각각 달라 인사.dm1, 급여.dm1, 구매자산.dm1, 예산회계.dm1 각각 파일 단위로 모델링을 하려한다.
인사에 정의한 인사 테이블은 급여, 구매자산, 예산회계 업무에서도 관계를 맺게 된다. 인사 테이블은 인사.dm1의 DDL문을 생성할 때나
보고서를 만들 때는 포함되어야 하지만, 타 업무 즉 급여나 구매자산 업무의 DDL문이나 보고서를 만들 때는 포함되어서는 안된다.
Attachments와 매크로를 활용해서 이와 같은 기능을 구현해 보도록 하자.
모델 작성하기
①다음과 같이 논리 모델링을 작성하여 파일 이름을 급여.dm1으로 저장한다.
②논리 모델링 단계가 완료되면 물리 모델링 단계로 변환해 보도록 하자.
Attachment 생성하기
①Attachment Editor 화면에서 Name은 ‘업무’로 정의한 후 다음 탭인 Value 탭으로 이동한다.
여기서 Data Type은 상황에 따라서 원하는 유형을 선택할 수 있는데 Text List를 선택한 후 Value에 ‘인사’, ‘급여’, ‘구매자산’, ‘예산회계’를 입력한다.
‘급여’ 항목을 선택하고 아래 ‘Set as Default’ 버튼을 누름으로써 기본 값을 설정할 수 있다.
②다음과 같이 DEPT 테이블의 업무 Attachment 속성값은 인사, EMPL 테이블은 급여로 설정한다.
공용테이블을 제외하고 DDL 생성하기
위와 같이 급여라는 업무를 모델링하는데 인사 업무에서 정의한 테이블을 복사해서 사용하는 경우가 발생된다.
물리 모델링이 끝나고 운영 DBMS에 테이블을 생성할 때 인사 업무에서 정의한 테이블을 급여 업무 담당자가 DDL문을 생성하려고 하면 문제가 될 것이다.
이때, 다음의 DDL-Table Select 매크로를 활용하면 된다.
①모델링개체 탐색기의 네 번째 탭을 선택한 후, DDL-Table Select
매크로를 선택한 후 마우스 오른쪽 버튼을 클릭하여 Run Macro 메뉴를 실행한다.
그럼 위와 같이 업무 Attachment의 값이 파일명인 급여.dm1과 같은 즉, 급여인 테이블들만 선택될 것이다.
만약 PAYMENT 테이블과 같이 업무 Attachment 값을 정의하지 않았다면 기본적으로 선택된다.
즉, 급여라는 업무를 모델링하는데 다른 업무에서 정의한 공용테이블을 3개 복사해서 사용했고, 급여 업무에서 정의한 테이블이 50개라고 하자.
모든 테이블에 Attachment 값을 정의(귀찮은 작업일 수도 있다.)해도 되고, 공용테이블 3개에 대한 정의만 해 놓아도 매크로를 통해서
공용테이블을 제외하고 순수하게 현재 업무에서 추가된 테이블만 선택할 수 있다.
②상단 데이터베이스 메뉴에서 Generate Database 메뉴를 선택하면 다음 그림과 같이 DDL Generation Wizard 대화상자가 나오게 된다.
선택된 테이블만 기본적으로 체크 표시가 되기 때문에 다른 업무에서 복사하여 사용한
공용 테이블에 대한 DDL문을 생성하는 실수를 하지 않게 된다.