
참고 출처: https://hee-kkk.tistory.com/46 [조금씩, 꾸준하게:티스토리] |
사용된 ERwin Release : 7.3.0.1666

1. Create Table 과 Comment 문이 함께 있는 Table Script DDL 을 준비한다.

내용
-- 교사 테이블 생성
CREATE TABLE Teachers (
teacher_id SERIAL PRIMARY KEY,
teacher_name VARCHAR(255),
subject VARCHAR(255)
);
-- 반 테이블 생성
CREATE TABLE Classes (
class_id SERIAL PRIMARY KEY,
class_name VARCHAR(255),
teacher_id INTEGER REFERENCES Teachers(teacher_id)
);
-- 학생 테이블 생성
CREATE TABLE Students (
student_id SERIAL PRIMARY KEY,
student_name VARCHAR(255),
class_id INTEGER REFERENCES Classes(class_id)
);
COMMENT ON TABLE Teachers IS '교사';
COMMENT ON COLUMN Teachers.teacher_id IS '교사ID';
COMMENT ON COLUMN Teachers.teacher_name IS '교사이름';
COMMENT ON COLUMN Teachers.subject IS '주제';
COMMENT ON TABLE Classes IS '반';
COMMENT ON COLUMN Classes.class_id IS '반ID';
COMMENT ON COLUMN Classes.class_name IS '반이름';
COMMENT ON COLUMN Classes.teacher_id IS '교사ID';
COMMENT ON TABLE Students IS '학생';
COMMENT ON COLUMN Students.student_id IS '학생ID';
COMMENT ON COLUMN Students.student_name IS '학생이름';
COMMENT ON COLUMN Students.class_id IS '반ID';
ERWin에서 인지할 수 있도록 인코딩을 ANSI로 변경한다. 파일의 확장자를 SQL로 변경한다.

-
2. ERwin 실행 후 Tools > Reverse Engineer 를 클릭

3. Reverse Engineer - Select Template 팝업
- Logical/Physical 선택
- NEXT 클릭

4. Reverse Engineer - Set Options 팝업
- Browse 를 클릭해서 파일 준비한 Table Script DDL 파일 선택
- Infer 항목에서 Primary Key , Relations 체크
- 하단 Case ... 에서 UPPER 선택
- Next

5. 오류가 있는 경우
다음과같은 창이 뜨기도한다.
ERwin Data Modeler
Inferring Model Primary Keys :
The database schema already contains primary key information.
데이터베이스 스키마에는 이미 기본 키 정보가 포함되어 있습니다.
Are you sure you want CA ERwin DM to attempt to infer the PK's for tables that do not already have them?
CA ERwin DM이 기본 키 정보가 없는 테이블에 대한 기본 키를 유추하도록 하시겠습니까?
(Script 가 정확하다면 '아니오(N)'를 선택했어야 했내 ... 필자는 뭔뜻인지도 모르고 '예(Y)' 를 누르고 있었음 ;;)

6. 오류가 없는경우
skip
7. ERD 생성 됨

-
-
다음부터 논리명 작성을 위한 설명이다.
8. (Physical 선택되어 있어야 함) Ctrl + a 단축키를 사용하여 전체를 선택
9. 선택 후 마우스 우클릭을 한 뒤 Harden Physical Names 를 클릭

-
10. 클릭 후 도구상자 부분에 Physical 을 Logical 로 변경 (단축키 Ctrl + ↑)

-
11. Model > Domain Dictionary 메뉴를 클릭

-
12. Domain Dictionary 팝업

- Name Inherited by Attribute 부분에 다음과 같이 작성합니다.
%if(%>(%Len(%ColumnComment),0)){%ColumnComment}%ELSE{%ColName}
- OK 클릭

(필자는 이미지와 같이 %ColumnComment 만 넣어도 원하는 결과를 얻음)
-
13. Model > Attributes 메뉴를 클릭합니다.

-
14. No Attribute was selected, ~ 알럿창 뜨면 확인
skip
15. Attributes 팝업에서 Reset 버튼을 클릭합니다.

-
16. Reset Attribute Property 팝업
- Remove overmidden properties for 항목에서 Reset all attributes in medel 을 선택합니다.
- Selete Properties to Reset 항목에서 Clear All 버튼을 클릭해서 모든 항목을 선택 해제한 뒤 Name 항목만 체크합니다.
- OK버튼을 클릭합니다.

17. OK 버튼을 클릭해서 해당 항목을 저장합니다.

-
18. 논리 화면 완성

단 테이블 명은 직접 작성해야 함.

테이블명 바꾸는방법 아시는분 댓글 바랍니다.
'WEB DEV > JavaScript' 카테고리의 다른 글
공동현관PW연습 (0) | 2025.02.09 |
---|---|
Korea vs Tanzania (Compare time) (0) | 2025.02.09 |
티스토리 HTML 삽입시 악성코드 의심으로 부터 벗어나는 방법 (0) | 2025.02.05 |
Korea vs Algeria (Compare time) (0) | 2024.12.27 |