ERwin SQL 추출 및 정렬

ERD 정렬

Format -> Preference -> Layout 탭 -> Layout Entire Diagram



1. ERWIN 실행

2. Model Type이 반드시 Physical이여야 한다.

3. Tools -> Forward Engineer / Schema Generation

4. 아래의 버튼중 Report를 선택하고 sql을 저장해 주면 된다.







Physical 에서 Database

Pre & Post Scripts > Model-Level


Code 탭에서 NEW


---

mySQL



%ForEachTable() 

{

 alter TABLE %TableName COMMENT = '%EntityName';


 


 %ForEachColumn() 

 {        

ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %AttDatatype %AttNullOption COMMENT '%AttName';

 }

}


----



Oracle

%ForEachTable() 

{

 COMMENT ON TABLE %TableName IS '%EntityName';


 %ForEachColumn() 

 {

  %Switch('%ColumnComment')

  {

   %Choose(''){COMMENT ON COLUMN %TableName.%ColName IS '%AttName';}

   %Default {COMMENT ON COLUMN %TableName.%ColName IS '%ColumnComment';}

  }   

 }

}


Forward Engineer - Schema Generation 에서 SQL 생성시 Schema 옵션의 Post-Script에 체크해야 한다. 

PK 명 변경 스크립트 

Tools > Names > Model Naming Options 에서 Name Mapping Tab 선택

ObjectType 이 Key Group to Index 인 Macro Name (%KeyName)을 아래와 같이 변경한다.

%If(%==(%IndexType,PK)){%TableName_PK}%Else{%IF(%==(%substr(%IndexType,1,2),IF)) {%TableName_%substr(%IndexType,2)}} 

아니면 %KeyType_%TableName

FK 는 relationship을 %Child_FK 넣어준다.


간단하게 %TableName_PK 으로 설정가능. 

저작자 표시 동일 조건 변경 허락
신고

'☆ Databases' 카테고리의 다른 글

테이블 내의 다른 필드에 데이터 복사하기  (0) 2014.11.13
[MS-SQL] DB Table 소유자변경  (0) 2014.06.08
ERwin SQL 추출 및 정렬  (0) 2014.06.07
데이터 모델링  (0) 2014.06.07
max_allowed_packet  (0) 2014.03.12
mysql 5.x old_passwords관련  (0) 2014.03.04