ER/Studio [매크로활용] 한글명(논리명)을 Comment(Definition)에 반영하기
2012.04.10 21:05
관련 링크 : Comment를 한글명으로 일괄변환
Download : 매크로 소스파일( LogicalName2Definition.bas)
※ 매크로 소스는 별도 문의 (ask@embarcadero.kr)
ER/Studio는 데이터모델링 시 반복되는 작업을 자동화하는 많은 매크로(macro)가 제공된다. (매크로 - 편리한 자동화)
한글로된 논리명(엔티티, 어트리뷰트)을 해당 Definition으로 자동으로 복사
논리 데이터 모델링을 할 때 엔티티나 어트리뷰트의 이름은 알기 쉽도록 표준화된 한글 용어에 따라 작성됩니다.
이러한 한글명은 ER/Studio에서 각 Definition 항목으로 관리하면 더욱 활용도가 높아집니다.
(참고: ER/Studio에는 텍스트로 메타정보를 기록할 수 있도록 Definition과 Note를 제공합니다)
특히, 이 한글명을 Definition으로 넣어두면 물리 DB에서도 해당 논리명과 의미를 유지할 수 있습니다.
ER/Studio에서는 모델의 Definition을 Comment로 생성하는 있으므로
논리 모델의 한글명을 각 Definition으로 관리하는 효과가 더욱 높아집니다.
첨부된 매크로를 사용하면 한글명을 Definition으로 일괄 복사할 수 있습니다.
논리 모델을 작업 화면에 열어둔 채로 매크로를 실행하면, 각 엔티티와 어트리뷰트의 명이 Definition으로 복사합니다.
(물리 모델의 경우에는 테이블과 컬럼의 Definition 으로 복사)
아래와 같이 모든 루프를 통해 EntityName과 Attribute의 논리명을 Definition에 할당하면 됩니다.
| Sub Main Dim diag As Diagram Dim mdl As Model Dim ent As Entity Dim attr As AttributeObj Set diag = DiagramManager.ActiveDiagram Set mdl = diag.ActiveModel For Each ent In mdl.Entities ent.Definition = ent.EntityName For Each attr In ent.Attributes attr.EnableOverride(5,True) attr.Definition = attr.LogicalRoleName Next Next End Sub |
이렇게 매크로를 실행하고 나면 모델의 Table과 Column의 Definition에 한글명이 자동으로 들어가게 됩니다.
이 모델을 가지고 Generate Database를 할 때 아래와 같이 옵션을 체크하시면 Comment에 한글명이 들어갑니다
* 참고: ER/Studio에서는 Attribute의 LogicalRoleName (줄여서 LogicalName)이 실질적인 논리명입니다.
이 Logical Name은 Attribute명이 기본이지만, 필요에 의해 변경했다면, 당연히 변경한 것이 Logical Name이 됩니다
(예를 들어, 부모-자식 엔티티에서 관계에 연결된 자식엔티티의 Attribute 명을 바꿀 경우가 있습니다.
이 경우, 바뀐 Attribute 명이 Logical Name이 되는 것입니다)
ER/Studio에서는 변경 후 이름을 논리명으로 하고, 기존에 가져온 이름을 그대로 두기 때문에
Attribute의 원래 상속받은 이름과 수정된 이름을 한눈에 파악할 수 있습니다.
* 권장: 논리 모델에서 매크로 작업을 한 후, 물리 모델은 Compare & Merge 유틸리티를 사용하여 동기화 하기를 권장합니다.
가급적 모든 모델링 작업은 일관성 유지를 위해 논리 모델에서 진행한 후 Compare & Merge 유틸리티를 활용하여 확장하는 것이 좋습니다.
(주의, 논리 모델과 물리 모델이 자동 동기화하려는 시도는 확장성과 사용성 면에서 올바르지 않습니다)
