Background Image
조회 수 3413 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

 이 튜토리얼에서는 기존 데이터베이스를 리버스 엔지니어링하고 스키마 정보를 얻는 방법을 설명합니다. 예시로 큐브리드 설치시 생성되는 demodb를 이용합니다.

 

 

ERwin을 설치 후 (이 튜토리얼에서는 2020 R2 14677 버전을 이용합니다) 프로그램 실행 후 Actions -> Reverse Engineer... 메뉴를 선택합니다.

 

" ERwin에서 리버스 엔지니어링은 실제 데이터베이스에서 물리적 데이터 모델 (Physical Data Model)을  논리 데이터 모델 (Logical Database Model) 표현으로 변환하는 프로세스라고 설명합니다. "

 

 

New Model 창이 열리면, 타입과 대상 서버를 다음과 같이 선택합니다. (큐브리드 ODBC 드라이버는 ODBC Spec 3.x 기반으로 구현됨) 

 

 new_model.png

 

 

새로운 빈 데이터 모델 문서가 생성됩니다. 이때 Set Options  창이 나타납니다.

 

set_options.png

 

리버스 엔지니어링 항목

창 왼쪽의  Items to Reverse Engineer 그룹에서 스키마 정보를 가져올 개체를 선택할 수 있습니다. 저장 프로시저를 사용하지 않는다면 체크 해제합니다.

 

 

옵션

- Reverse Engineer

 창의 오른쪽 위에서 리버스 엔지니어링 할 테이블 유형을 선택할 수 있습니다. 큐브리드 에는 시스템 테이블사용자 테이블이 있습니다. 응용 프로그램에서 사용하는 사용자 테이블 만 리버스 엔지니어링을 하려면 System Objects 를 체크 해제합니다. System Objects 를 체크하면 시스템 테이블에 대한 스키마 정보만 얻을 수 있습니다. 이 튜토리얼에서는 편집 할 수 있는 사용자 테이블만 리버스 엔지니어링합니다.

 

사용자 테이블의 경우 현재 사용자 또는 특정 사용자가 액세스 할 수 있는 테이블 또는 모든 테이블을 리버스 엔지니어링하도록 선택할 수 있습니다.

 

 

- Infer

 여기서 리버스 엔지니어가 데이터베이스 스키마에서 추론할 컬럼 속성을 선택할 수 있습니다. 큐브리드는 관계형 DBMS이므로 기본외래 키를 설정할 수 있습니다. 리버스 엔지니어링중인 대상 데이터베이스가 키를 이미 정의한 경우에는 이 부분을 체크하지 않아도 됩니다. ERwin이 자동으로 이를 감지합니다. 옵션을 설정했으면 Next을 클릭하여 리버스 엔지니어링 프로세스를 완료하면 됩니다.

 

 

ODBC 연결

새 창에서 사용자 이름비밀번호와 같은 데이터베이스 연결 정보를 입력하십시오. "CUBRID"가 ODBC Data Source 매개 변수의 값으로 자동 선택되지 않으면 이를 클릭하고 "CUBRID"를 선택한 다음 Connect 버튼을 클릭합니다.

 

" CUBRID ODBC 드라이버 연결은 메뉴얼을 참고해주시기 바랍니다. - www.cubrid.org/manual/en/10.2/api/odbc.html#configuring-and-environment-odbc

 

ODBC_connection.png

 

결과

결과로 데이터베이스의 스키마가 표시됩니다. 아래는 demodb 데이터베이스의 일부입니다.

 

erd_ie.PNG

 

- 관계

 ERwin Data Modeler에서 각 테이블은 수평선으로 2 개로 나누어져 있습니다. 위 섹션에는 모든 키 (기본 및 외부)가 나열되어 있습니다. 하단 섹션에는 나머지 컬럼이 나열됩니다. 위의 예에서 게임 테이블은 위의 섹션에 3개의 컬럼으로 구성된 복합키 (여러 컬럼으로 정의 된 PK)의 일부인 host_year 컬럼이 있습니다. 또한 event_code 및 athlete_code FK를 통해 event 및 athlete 테이블과 외래 키 관계를 갖습니다.

 

“ 여기에서 알아야 할 중요한 것은 이러한 event_code 및 athlete_code 외래 키가 일반적인 비식별 관계와 다른 식별 관계를 나타내는 것입니다. 식별 관계는 항상 복합 기본 키의 일부입니다. ERwin 문서에서 자세한 내용을 읽을 수 있습니다. ”

 

테이블 a와 테이블 b의 특정 관계에 대한 자세한 정보를 얻으려면 해당 테이블 사이의 관계를 두 번 클릭합니다.

다음과 같은 창이 나타납니다. RI Actions  탭 (참조 무결성 동작)을 클릭하면 ON DELETEON UPDATE에 설정된 값을 확인할 수 있습니다.

아래 예에서 두 트리거는 모두 RESTRICT로 설정되어 있습니다. CUBRID에서 허용되는 RI 액션을 선택할 수 있습니다.

 

fk_erwin.png

 

또한 위의 섹션에서 컬럼 3개로 구성된 복합키 (여러 컬럼으로 정의 된 PK)의 일부인 host_year 컬럼을 볼 수 있습니다. 이 리버스 엔지니어링의 정확성을 확인하기 위해 CUBRID Admin을 열고 실제 데이터베이스 스키마를이 모델과 비교할 수 있습니다. 

 

컬럼 속성

모델에서 테이블의 열을 두 번 클릭하거나 테이블을 마우스 오른쪽 버튼으로 클릭하고 Column Properties...을 선택하면 컬럼 속성이있는 창을 볼 수 있습니다.

 

column_erwin.png

 

모든 속성이 올바른지 여부를 확인하기 위해 실제 테이블 스키마와 비교할 수 있습니다.

CREATE TABLE "game"(
    "host_year" integer NOT NULL,
     "event_code" integer NOT NULL,
     "athlete_code" integer NOT NULL,
     "stadium_code" integer NOT NULL,
     "nation_code" character(3),
     "medal" character(1),
     "game_date" date,
    CONSTRAINT pk_game_host_year_event_code_athlete_code PRIMARY KEY("host_year","event_code","athlete_code"),
     FOREIGN KEY ("event_code") REFERENCES "event"("code") ON DELETE RESTRICT ON UPDATE RESTRICT,
     FOREIGN KEY ("athlete_code") REFERENCES "athlete"("code") ON DELETE RESTRICT ON UPDATE RESTRICT
);

 

모든 것이 실제 데이터베이스와 정확히 일치함을 알 수 있습니다. NOT NULL 제약 조건은 ODBC 탭에서 확인할 수 있습니다.

 

not_null.png

 

실제 데이터베이스에 사용 된 정확한 외래 키 이름을 찾으려면 모델 테이블 (컬럼이 아님)을 두 번 클릭하거나 테이블 오른쪽 마우스 클릭 후 Table Properties... 을 선택하십시오. 사용 위치에서 선택한 테이블에 사용 된 외래 키 이름을 볼 수 있습니다.

 

table_properties.png

 

그 외 다른 옵션을 사용하여 ERwin 리버스 엔지니어링 도구의 나머지 기능을 찾아볼 수 있습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
166 기타 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리 admin 2011.07.14 81363
165 Linux 리눅스에서 top 명령어를 통한 CPU 점유율 확인 및 측정하기 file 정훈 2017.06.02 79898
164 Java CUBRID와 Oracle의 Clob 타입 사용 방법 비교. seongjoon 2012.06.30 54547
163 Java iBATIS framework with CUBRID file 웁쓰 2009.05.19 54546
162 Linux HP-UX에서 CUBRID 사용을 위한 kernel 설정값 조정 1 admin 2009.04.01 54135
161 Java Spring framework 사용 예제 admin 2009.04.01 53119
160 기타 [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 admin 2011.07.14 52552
159 기타 connect by 구현 방법 admin 2009.04.01 52371
158 PHP windows 상에서 PHP 설치하기 file admin 2008.11.21 51804
157 기타 오라클 개발자를 위한 CUBRID 개발 안내 1 admin 2009.04.01 49817
156 Java DBCP 사용법 1 admin 2008.11.21 48362
155 Windows CUBRID 2008 사용법 admin 2008.11.21 47933
154 Java jsp용 jdbc 샘플입니다. file 시난 2009.05.25 47606
153 기타 CUBRID 활용 - 질의 튜닝 사례 중심 file cubrid 2010.12.02 45960
152 Java CUBRID에서 log4sql을 사용하자 정병주 2009.06.12 44302
151 Install Windows 에서 CUBRID 설치하기 file 남재우 2008.11.22 43641
150 PHP LINUX에서 PHP 사용하기 file admin 2008.11.21 42495
149 Install CUBRID Manager 사용시 로그인에 대하여 1 file admin 2009.04.01 42038
148 PHP Apache, PHP 설치 방법 file 이용미 2013.05.16 41246
147 기타 CUBRID 개발 로드맵 admin 2008.12.27 40321
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales