Background Image
조회 수 3462 추천 수 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 리버스 엔지니어링 도구의 나머지 기능을 찾아볼 수 있습니다.


  1. [10.2 path] - 생성된 view구문을 'show create view' 수행 시 정상적으로 출력되지 않던 이슈 patch

    Date2020.11.09 Category기타 By큐브리드_김주현 Views886
    Read More
  2. ERwin을 이용한 CUBRID 포워드 엔지니어링

    Date2020.07.14 Category기타 By민순 Views2316
    Read More
  3. ERwin을 이용한 CUBRID 리버스 엔지니어링

    Date2020.07.13 Category기타 By민순 Views3462
    Read More
  4. 큐브리드10.1 에서 윤초 지원 옵션 사용하기

    Date2017.09.13 Category기타 By최광일 Views1419
    Read More
  5. 따라하면 쉬운 compactdb 사용법

    Date2017.07.01 Category기타 By허서진 Views2528
    Read More
  6. PyCharm을 이용한 CUBRID, Django 연동 가이드

    Date2016.04.11 Category기타 By진우진 Views8152
    Read More
  7. CSQL 인터프리터 사용방법

    Date2016.03.03 Category기타 By정만영 Views16636
    Read More
  8. 데이터 확인에 정규표현식을 사용 해 보자.

    Date2016.03.01 Category기타 By성진 Views12759
    Read More
  9. CUBRID Migration Toolkit을 이용한 단계별 마이그레이션 진행 방법

    Date2015.12.15 Category기타 By진우진 Views9542
    Read More
  10. 알고 보면 쉬운 cubrid lockdb 유틸리티

    Date2015.12.08 Category기타 By김승훈 Views12076
    Read More
  11. CUBRID Migration방법(by unloaddb & loaddb)

    Date2015.07.01 Category기타 By주현 Views21901
    Read More
  12. 콘솔에서 마이그레이션 하기.

    Date2015.06.19 Category기타 By권호일 Views13432
    Read More
  13. CUBRID isolation level & Dirty Read

    Date2015.05.29 Category기타 By정만영 Views11314
    Read More
  14. HA 환경 구성 시 데이터 복제 지연이 발생하는 경우 ECHO(7) port를 확인하자.

    Date2012.11.29 Category기타 By손승일 Views26445
    Read More
  15. select .. for update 처리를 위한 Stored Procudure 등록 및 사용법

    Date2011.12.10 Category기타 By남재우 Views24872
    Read More
  16. 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리

    Date2011.07.14 Category기타 Byadmin Views81438
    Read More
  17. [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점

    Date2011.07.14 Category기타 Byadmin Views52790
    Read More
  18. CUBRID 매니저 R3.1에서 웹호스팅 서버의 CUBRID R2.1 접속하는 방법 (큐브리드 매니저에서 다른 버전의 큐브리드 서버 접속 방법)

    Date2011.07.14 Category기타 Byadmin Views31508
    Read More
  19. 동시 접속자에 따른 파라미터 설정

    Date2011.07.14 Category기타 Byadmin Views25686
    Read More
  20. CUBRID 2008 R4.0 GA 버전의 주요 기능만 요약한 PPT 문서

    Date2011.07.14 Category기타 Byadmin Views15461
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

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