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

본 아티클에서는
물리 모델에 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 8325
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39526
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50256
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52669
33 MSSQL Server에 리파지토리 설치 시 "##tmp[테이블명] table could not initialize bulk insert" 문제 관리자 2015.09.04 5090
32 [매크로활용] [MySQL] 컬럼의 Definition을 DB Comment에 추가하기 file 손보라 2015.08.06 5451
31 ER/Studio! MongoDB 지원 손보라 2015.03.19 4801
30 CONNECT API로 당신의 데이터에 손쉽게 접근하기. [1] file 관리자2 2014.05.08 4038
29 Data Architect 9.6/XE4 새로운 기능! file 손보라 2013.12.31 5196
28 ER/Studio 업그래이드 가이드 [1] file 문효섭 2013.12.18 5159
27 [매크로활용] 유효성 검사(물리모델) file 손보라 2013.11.29 8276
26 더 스마트한 데이터 거버넌스! CONNECT 데모 영상 관리자 2013.10.21 5853
25 데이터거버넌스 어떻게 시작할 것인가 #9. 포탈(Portal)을 통해 모델 배포하기 관리자 2013.10.21 5539
24 데이터거버넌스 어떻게 시작할 것인가 #8. ETL 작업 역공학(Reverse Engineering) 관리자 2013.10.15 5798
23 데이터거버넌스 어떻게 시작할 것인가 #3. 데이터 딕셔너리 생성 관리자 2013.08.27 6059
22 데이터거버넌스 어떻게 시작할 것인가 #2. ER/Studio BA: 개념 및 프로세스 맵 구성 관리자 2013.08.26 5689
21 데이터거버넌스 어떻게 시작할 것인가 #1. 엔터프라이즈 정보 맵 관리자 2013.08.12 5796
20 [매크로활용] 리파지토리의 데이터모델을 한꺼번에 내려받기 문효섭 2013.07.18 7393
19 You Can Jump Start Data Gorvernance in 30 Minutes 문효섭 2013.06.13 6792
18 Embarcadero ER/Studio v9.5 vs. CA ERwin R9 file 문효섭 2013.03.23 6844
17 Embarcadero ER/Studio v9.0 vs. CA ERwin R8 file 문효섭 2013.03.23 6850
16 [매크로활용] 매크로 스크립트 Sample 문효섭 2012.04.10 9946
» [매크로활용] 클릭 한번으로 시스템 컬럼 일괄반영 문효섭 2012.04.10 10146
14 [매크로활용] 한글명(논리명)을 Comment(Definition)에 반영하기 문효섭 2012.04.10 11043