데이터베이스 또는 스크립트에서 모델을 리버스 엔지니어링하는 방법
리버스 엔지니어링은 데이터베이스 또는 스크립트에서 데이터 모델을 만드는 프로세스입니다. 모델링 도구는 선택한 데이터베이스 개체와 개체 간의 관계에 대한 그래픽 표현을 만듭니다. 이 그래픽 표현은 논리적 또는 물리적 모델 일 수 있습니다.
참고:빈 모델로만 리버스 엔지니어링할 수 있습니다. 객체가 있는 모델로 리버스 엔지니어링할 수 없습니다.
데이터베이스는 다음과 같은 이유로 리버스 엔지니어링될 수 있습니다:
- 개체가 서로 어떻게 관련되어 있는지 이해하고 그 위에 빌드하려면
- 데이터베이스 구조를 보여
리버스 엔지니어링 프로세스가 완료된 후 다음 작업을 수행할 수 있습니다:
- 새 데이터베이스 개체 추가
- 시스템 설명서 만들기
- 요구 사항에 맞게 데이터베이스 구조를 다시 디자인
리버스 엔지니어링하는 대부분의 정보는 물리적 스키마에 명시적으로 정의되어 있습니다. 그러나 리버스 엔지니어링은 스키마에서 정보를 추출하여 모델에 통합합니다. 예를 들어,대상 외부 키 선언을 지원하는 경우 리버스 엔지니어링 프로세스는 식별 및 비 식별 관계와 기본 역할 이름을 파생합니다.
하위 유형 관계를 제외한 모든 주요 모델 정보를 도출할 수 있습니다. 그러나 대상 데이터베이스는 실제 스키마에 포함된 논리적 데이터 모델 정보의 양이 다릅니다. 따라서 선택한 대상 데이터베이스에 따라 결과 모델이 달라질 수 있습니다. 기본 키,외래 키 및 테이블 관계를 포함한 일부 논리적 정보를 추론 할 수도 있습니다. 테이블 인덱스 정의 또는 열 이름을 사용하여 이러한 키와 관계를 추론 할 수 있습니다.
리버스 엔지니어링 프로세스에서 리 트리거를 포함하거나 제외할 수 있습니다. 스키마에 트리거를 포함시키기 위해 포워드 엔지니어링 옵션을 사용할 수 있습니다. 리버스 엔지니어링 중에 이러한 옵션을 포함하거나 제외하도록 선택할 수도 있습니다.
데이터베이스를 리버스 엔지니어링할 때 개체를 검색하기 위해 실행되는 쿼리를 기록하도록 추적 파일을 설정할 수 있습니다. 리버스 엔지니어링 프로세스가 완료된 후 쿼리를 검토할 수 있습니다.
다음 다이어그램은 데이터베이스 또는 스크립트에서 모델을 리버스 엔지니어링하는 단계를 보여 줍니다:
모델을 리버스 엔지니어링하려면 다음 단계를 완료하십시오:
- (선택 사항)데이터베이스 쿼리를 추적 파일에 저장합니다.
- 모델 세부 정보를 선택합니다.
- 리버스 엔지니어링 옵션을 선택합니다.
- 데이터베이스에 연결하고 리버스 엔지니어링합니다.
리버스 엔지니어링 특정 개체
이 섹션에는 리버스 엔지니어링 프로세스가 다른 데이터베이스 개체에 대해 작동하는 방법에 대한 세부 정보가 포함되어 있습니다.
인덱스
데이터베이스를 리버스 엔지니어링하면 서버에 정의된 각 인덱스의 이름,정의 및 매개 변수를 가져옵니다. 서버에서 인덱스 정보를 가져오면 각 인덱스에 대한 저장소 위치 정보가 유지됩니다. 따라서 동일한 저장소 할당을 사용하여 데이터베이스를 다시 만들 수 있습니다. 각 인덱스의 저장 위치를 수동으로 다시 할당할 필요가 없습니다.
인덱스를 가져온 후 인덱스 대화 상자에서 인덱스 속성,정의 및 테이블 연결을 보거나 수정할 수 있습니다. 인덱스 대화 상자에서 실제 저장소 개체에 인덱스를 할당할 수 있습니다. 인덱스 대화 상자에서 저장소 매개 변수를 수정할 수도 있습니다.
물리적 스토리지 옵션을 선택한 경우 스키마에는 인덱스 물리적 스토리지 매개 변수가 포함됩니다.
실제 저장소 개체
데이터베이스를 리버스 엔지니어링할 때 대상 서버에 정의한 실제 저장소 개체의 이름과 정의를 가져올 수 있습니다. 가져오기는 실제 테이블,인덱스 및 기타 실제 스키마 정보를 가져오는 것과 같은 방식으로 수행됩니다. 실제 저장소 개체를 가져온 후 표준 편집기를 사용하여 개체 정의 및 테이블 연결을 보거나 수정할 수 있습니다.
유효성 검사 규칙
스키마 파일,스크립트 또는 시스템 카탈로그에서 리버스 엔지니어링할 때 유효성 검사 규칙을 가져와 결과 모델의 적절한 테이블 또는 열에 연결합니다. 가져온 유효성 검사 규칙의 이름을 지정하는 데 사용되는 규칙은 다음과 같습니다.