생성일자, 수정일자, 수정한 사람 등 모든 테이블에서 반드시 가져야 하는 공통 컬럼을 규정으로 있을 경우
주로 물리 모델의 테이블에 컬럼으로 추가하고 특정 도메인에 연결하는 것이 일반적입니다.

본 아티클에서는
물리 모델에 Physical Only로 시스템 컬럼을 추가한 후 그 결과를 매크로 창에 표시하는 Sample 매크로와,
논리 모델에 Logical Only로 어트리뷰트에 추가하는 Sample 매크로를 제공합니다.

소스가 간단하므로 필요에 따라 쉽게 편집하여 사용할 수 있을 것입니다.


Download : AddSystemColumn.bas , AddDefaultAttribute.bas

ER/Studio는 데이터모델링 시 반복되는 작업을 자동화하는 많은 매크로(macro)가 제공된다. (매크로 - 편리한 자동화)

※ 매크로 소스는 별도 문의 (ask@embarcadero.kr)

 

모든 엔티티에서 가져야 어트리뷰트를 원클릭으로 일괄 반영

생성일자, 수정일자, 수정한 사람 등 모든 테이블에서 반드시 가져야 하는 공통 컬럼을 규정으로 있을 경우,
주로 물리 모델링에서 시스템 컬럼에 사용될 수 있다. (위 소스 코드 참조: 메모장에서 열거나 ER/Studio에서 바로 실행)

또한, 향후 도메인을 생성하고 이 도메인에 묶인 시스템 컬럼을 물리 모델에 반영하도록 보완하도록 하겠다.)

아래는 논리 모델 어트리뷰트를 일괄반영하는 코드이다. 
(보다 실무적인 Sample은 위에서 "소스 코드 다운로드" 참고)

이때 Debug.Print를 사용하여 추가된 엔티티의 어트리뷰트를 매크로 창에 출력한다.

Sub Main 

  Dim MyDiagram As Diagram 
  Dim MyModel As Model 
  Dim MyEntity As Entity 
  Dim MyAttribute As AttributeObj 
  Dim Logical As Boolean 

  Const LogProcPersonNo = "처리자번호" 
  Const LogProcDateTime ="처리일시" 

  Set MyDiagram = DiagramManager.ActiveDiagram 
  Set MyModel = MyDiagram.ActiveModel 

  Logical = MyModel.Logical 
  For Each MyEntity In MyModel.Entities 
    If Logical = True Then 
    '디펄트 attribute 추가 
      If MyEntity.Attributes(LogProcPersonNo) Is Nothing Then 
        Set MyAttribute = MyEntity.Attributes.Add(LogProcPersonNo, False) 
        Debug.Print MyEntity.EntityName + "에 " + LogProcPersonNo + " 추가" 
      End If 
      If MyEntity.Attributes(LogProcDateTime) Is Nothing Then 
        Set MyAttribute = MyEntity.Attributes.Add(LogProcDateTime, False) 
        Debug.Print MyEntity.EntityName + "에 " + LogProcDateTime + " 추가" 
        MyAttribute.Datatype = "Date" 'Datatype 지정
        MyAttribute.DeclaredDefault = "sysdate" '디펄트 지정
      End If 
    End If 
  Next MyEntity 
End Sub
번호 제목 글쓴이 날짜 조회 수
공지 [기술 보고서 다운로드] IDC Technology Spotlight: 모델 기반 데이터 설계를 통한 비즈니스 민첩성 확보 방안 관리자 2015.08.24 8328
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39527
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50261
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52671
122 [기술백서] 보다 빠른 SQL튜닝과 분석을 위한 새로운 툴 관리자 2014.11.12 1414
121 ER/Studio 기본 가이드 #8. 데이터베이스로부터 데이터모델 리버스엔지니어링하기(Reverse Engineer) 손보라 2014.08.08 1428
120 [기술백서] 업무 수행 능력이 뛰어난 DBA 관리자 2014.11.12 1492
119 DBArtisan과 RapidSQL XE6에서 PostgreSQL 지원!! file 손보라 2014.09.18 1558
118 ER/Studio XE6에 새로운 기능! file 손보라 2014.09.18 1563
117 ER/Studio 기본 가이드 #7. 모델의 변경사항을 데이터베이스에 반영하기(Forward Engineer) 손보라 2014.08.08 1617
116 [기술백서] DB툴 선택시 고려사항 top10 관리자 2014.11.12 1636
115 [기술백서] 성능 좋은 SQL 작성법 관리자 2014.11.12 1654
114 DB Power Studio #2. DB Change Manager 둘러보기 [1] 손보라 2014.08.12 1658
113 [기술백서] ER/Studio 9.5 vs. ERwin r9 관리자 2014.09.26 1679
112 [기술백서] 하루에 1시간을 벌 수 있는 10가지 방법 관리자 2014.11.12 1824
111 [기술백서] 데이터 설계 분석: 상향식(bottom-up) 설계 분석과 표준화 관리자 2014.09.26 1895
110 ER/Studio DA에서 ODBC를 이용한 포워드 엔지니어링 file 손보라 2014.06.25 2053
109 20140214 "데이터거버넌스: 비즈니스 정보와 IT 데이터의 연결" 발표자료 관리자 2014.03.12 2244
108 [기술백서] XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가 관리자 2014.09.26 2393
107 ERwin으로 작성된 모델을 ER/Studio로 마이그래이션하기 file 손보라 2015.01.12 2531
106 Oracle ACE Director가 말하는 Rapid SQL의 Auto Replace 기능 file 손보라 2014.10.09 2671
105 Universal Mapping 2. 실제로 동일한 엔티티가 여러 다른 파일에 다른 엔티티명으로 존재하는 경우 엔티티 맵핑 손보라 2014.01.25 2702
104 Universal Mapping 1. 실제로 동일한 엔티티가 서로 다른 파일에 다른 엔티티명으로 존재하는 경우 엔티티 맵핑 손보라 2014.01.25 2750
103 Oracle ACE Director가 말하는 Rapid SQL의 쿼리빌더 팁 file 손보라 2014.10.09 2779