nexFLOW 기술 가이드 · · 적용 방법론
개요
데이터베이스 역공학은 기존 SQL 또는 DB 구조를 읽어 데이터 모델로 전환하는 작업입니다. 설계 문서가 현재 시스템과 다르거나, 새 시스템을 설계하기 전에 현행 관계를 이해해야 할 때 출발점이 됩니다.
역공학으로 얻는 것은 우선 구현 구조입니다. 컬럼명·타입·키는 확인할 수 있지만 업무 개념, 관계의 필수성, 코드 의미까지 언제나 복원되는 것은 아닙니다. 물리 구조를 읽은 뒤 업무 의미를 보완해야 논리 모델과 연결된 설계로 발전시킬 수 있습니다.
ERFit의 SQL·DB 역공학, 논리·물리 모델링, DDL·문서 생성을 활용합니다. 아래 코드는 PostgreSQL 가상 모델 예시입니다.
활용 목표
적용 절차
기준 DDL 또는 DB 범위 확정
추출 시점과 대상 테이블을 정하고 뷰·인덱스·제약조건 등 검토할 범위를 기록합니다. 서로 다른 시점의 스크립트를 섞으면 관계나 컬럼 정의가 불일치할 수 있습니다.
키와 관계를 포함한 입력 확인
가상 예시에서 ORDERS의 외래키는 주문과 고객의 연결 근거입니다. 외래키가 없는 시스템이라면 업무 문서로 확인한 관계를 추가로 검토해야 합니다.
-- PostgreSQL 가상 모델 예시: 실제 고객 데이터가 아닙니다.
CREATE TABLE customer (
customer_id BIGINT PRIMARY KEY,
customer_name VARCHAR(100) NOT NULL
);
CREATE TABLE orders (
order_id BIGINT PRIMARY KEY,
customer_id BIGINT NOT NULL REFERENCES customer(customer_id),
order_amount NUMERIC(15, 2) NOT NULL
);역공학 결과의 물리 구조 검토
대상 테이블·컬럼 수, PK·FK·UNIQUE·CHECK, 타입·길이·기본값을 기준 DDL과 대조합니다. 스크립트 역공학과 데스크톱 DB 역공학 중 환경에 맞는 방식을 사용하고, 기존 모델에 병합할지 교체할지 먼저 결정합니다.
논리 의미와 관계 보완
CUSTOMER를 “고객”으로 정의하는 것뿐 아니라 한 행이 개인인지 계약 주체인지 확인합니다. 식별·비식별 관계, 카디널리티, 선택성을 검토하고 물리 제약과 업무 관계가 다른 부분을 기록합니다.
DDL·문서 산출물 검증
모델을 수정했다면 생성할 DDL과 문서를 검토합니다. 생성 DDL은 검증용 환경에서 적용 가능성을 확인하고, 데이터 변환이나 운영 반영 절차는 별도로 계획합니다. 설계한 구조를 AI가 활용할 때에도 확정된 정의와 관계를 기준으로 합니다.
업무 흐름
구조 확보
DDL·메타데이터의 기준 시점 결정
역공학
테이블·컬럼·관계 모델화
설계 검토
논리 의미와 물리 제약 정리
산출물 확인
DDL·문서 검증
적용 범위와 한계
- 선언되지 않은 업무 관계는 DDL만으로 확정할 수 없습니다.
- DDL 생성은 운영 데이터 이관이나 변경 스크립트의 무중단 실행을 보장하지 않습니다.
- DBMS별 문법과 버전 차이는 실제 대상 환경에서 검증해야 합니다.
자주 묻는 질문
DB에서 ERD를 만들면 논리 모델도 완성되나요?
물리 구조를 모델화한 후 업무 용어·정의·관계 의미를 보완해야 합니다. 스키마에 담기지 않은 업무 의미까지 자동으로 완성되었다고 간주하면 안 됩니다.
SQL 파일만 있어도 시작할 수 있나요?
ERFit은 SQL 스크립트 역공학을 지원합니다. 대상 DBMS의 문법, 테이블과 제약조건의 포함 범위를 먼저 확인하는 것이 좋습니다.