모델링 툴을 어떤 것을 사용하시나요? 저는 Er-win이 편해서 자주 사용하는데요. erwin으로 모델링하다 보면 물리/논리명이 존재해서 두 네이밍을 맞추기가 여간 번거롭지 않습니다. 그래서 오늘은 어떻게 하면 쉽게 변환해서 산출물 제출할 수 있는지 알아보도록 하겠습니다.
공식 산출물로는 엔티티정의서, 테이블정의서만 제출해도 되지만, 서로 업무적인 이해를 위해 erd도 요구하는 경우가 있습니다. 그러면 기존에 데이터베이스에 테이블은 생성되어 있는데, 추가적으로 작업을 하는 수고를 해야 하죠. 이런 상황에서 사용하면 좋은 팁입니다.
사실 erwin에 모든 메타정보(속성명, 속성정의, 도메인, 테이블 정의 등) 업데이트하는 메크로를 만들었었는데요. 요즘은 보안 환경이기 때문에 메크로를 사용할 수 없기도 합니다. 이럴 경우 단순한 방법으로 물리/논리 erd를 만드는 방법입니다.
리버스 엔지니어링
이 작업 리버스모델링 기법을 사용하는데요. Tools - Reverse Engineer 메뉴에 있습니다. 우선 데이터베이스 또는 스크립트 파일이 존재해야 합니다. Sql 스크립트를 database에서 추출하여 저장해 놓으면 되겠습니다.
- erwin의 Tools - Reverse Engineer을 클릭
- Script File를 선택하여 저장한 스크립트 파일을 선택
- Primary Keys 체크하고 실행
이렇게 하면 모든 테이블이 erwin에 생성될 것인데요. 이렇게 되면 우선 릴레이션(관계)가 설정되어 있지 않습니다. Relation이라고 되어 있는 부분을 체크하면 자동으로 관계를 설정해 주지만 추천하지 않습니다. 정확한 관계 정의를 위해 이 부분은 수동으로 처리해 주는 것이 더 좋습니다.
논리 모델 컬럼 한글명 표시
이렇게 하고 나면, 영문명 말고 한글명이 적용되어 있지 않습니다. 이제부터 한글명을 자동으로 채워 볼 건데요. 이 방법은 정확히 말하면 생성한 스크립트에 Table, Column의 Comment가 있어야 합니다. 이 Comment가 테이블한글명, 컬럼한글명과 같아야 합니다. Comment가 없으면 아래 설정을 변경해 봐야 말 짱 도루묵이겠죠.
- Physical 모드에서 한글명을 적용할 테이블을 선택 후
- 마우스 오른쪽 버튼을 눌러 아래 속성에서 Harden Physical Names를 눌러 실행
- erwin에서 Physical(물리) Logical(놀리)로 변경
- 메뉴에서 Model – Domain Dictionary… 선택
- Macro Toolbox를 클릭
- %ColumnComment를 선택하고 Insert Macro 클릭 - Close
- Domain Dictionary 에서 Name Inherited by Attribute:*
- %AttDomain를 빼고 %ColumnComment로 변경(이 부분이 속성도메인 대신 컬럼코멘트를 사용한다는 의미입니다.)
- Reset 클릭
- Resetting Attribute Property 대화상자에서 Reset all attributes in model 선택
- Select Properties to Reset은 Name에 체크
- 마지막으로 Ok를 클릭하면 완료
이제 Logical(놀리)로 변경하면 모두 한글명으로 변경되었을 거에요.
'데이터아키텍처' 카테고리의 다른 글
알티베이스(Altibase) 특징 및 DBeaver 접속 방법 (0) | 2024.07.16 |
---|---|
Oracle을 MySQL로 변환할 때 고려해야 할 3가지 오류 (0) | 2024.07.11 |
MySQL 성능 개선 3원칙: 데이터 타입 편 (0) | 2024.07.03 |
PostgreSQL vs MySQL, 오픈소스 db 뭐가 더 좋을까? (0) | 2024.07.02 |
MySQL 명령어 완벽정리, 누구나 쉽게 따라하기 (0) | 2024.06.27 |