RelatiQ ER Designer무료 다운로드
사용설명서산출물과 가져오기리버스 엔지니어링(기존 DB 가져오기)

리버스 엔지니어링(기존 DB 가져오기)

이미 쓰고 있는 데이터베이스에 접속해 테이블 구조를 읽어 와 새 ERD 프로젝트로 만듭니다. 테이블 · 컬럼 · 자료형 · 기본키 · 외래키(관계선)와 주석(논리명)을 가져오며, 데이터베이스는 읽기만 하고 바꾸지 않습니다. SQL Server · MySQL · Oracle · PostgreSQL을 지원합니다.

이럴 때 씁니다

  • 설계 문서 없이 운영되던 데이터베이스의 구조를 그림으로 파악할 때.
  • 기존 데이터베이스의 테이블 정의서를 만들어야 할 때 → 테이블 정의서.
  • 기존 시스템을 고쳐 설계할 출발점이 필요할 때.
  • 인수인계받은 데이터베이스에서 테이블 사이의 관계를 확인할 때.

메뉴 위치

프로젝트 시작 창 아래쪽의 기존 데이터베이스 리버스 엔지니어링 영역(로고 4개)

프로젝트 시작 창 아래쪽의 기존 데이터베이스 리버스 엔지니어링 영역에서 데이터베이스 로고를 클릭합니다.

  • 프로젝트 시작 창은 프로그램을 켜면 나타납니다. 작업 중에는 툴바의 파일 ▾ › 새 프로젝트…(Ctrl+N)로 엽니다 → 프로젝트 시작 창.
  • 로고는 SQL Server · MySQL · Oracle · PostgreSQL 네 가지입니다. MongoDB는 리버스 엔지니어링을 지원하지 않습니다.
데이터베이스진행 방식
SQL Server · MySQL · Oracle3단계 창 — 다음으로 접속 → 테이블 고르기 → 읽은 내용 확인
PostgreSQL한 창 — 접속 · 데이터베이스 · 스키마 · 테이블을 한 화면에서 고르고 가져오기

화면과 버튼

SQL Server · MySQL · Oracle — 3단계 창

창 위쪽에 Reverse Engineer for MSSQL처럼 데이터베이스 이름이 표시되고, 아래쪽 이전 · 다음 버튼으로 단계를 오갑니다(1단계에서는 이전이 숨겨져 있습니다). 다음 단계를 준비하는 동안 다음 버튼은 처리 중...으로 바뀌고 흐려집니다.

단계화면하는 일
1서버 접속 설정호스트 · 포트 · 사용자 ID · 비밀번호를 넣고 접속 테스트. 성공하면 데이터베이스 목록에서 가져올 데이터베이스를 고릅니다. Oracle은 데이터베이스 대신 서비스 이름을 넣습니다
2가져올 수 있는 테이블 · 선택한 테이블왼쪽은 데이터베이스의 테이블 목록, 오른쪽은 가져올 테이블. 가운데 » 버튼으로 오른쪽에 넣고, « 버튼으로 뺍니다
3읽은 내용 목록테이블마다 컬럼 · 기본키를 읽은 기록과 외래키 목록(FK LIST)이 표시됩니다
  • Oracle은 접속한 계정이 가진 테이블만 목록에 나옵니다.

PostgreSQL — 한 창

PostgreSQL 리버스 엔지니어링 창은 위쪽에 접속 정보와 데이터베이스 · 스키마, 가운데에 가져올 테이블 목록, 아래쪽에 진행 기록 칸과 가져오기 · 취소 버튼이 있습니다. 위에서 아래로 차례대로 고르면 되고, 스키마 옆의 안내 글에 지금 할 일이 표시됩니다.

이름처음 값하는 일
서버localhost데이터베이스 서버 주소
포트5432접속 포트
사용자postgres접속 계정
비밀번호비어 있음계정 비밀번호(가려져 표시)
연결—접속하고 데이터베이스 목록을 불러옵니다
데이터베이스목록의 첫 번째고르면 스키마 목록을 불러옵니다
스키마public(있으면)고르면 테이블 목록을 불러옵니다
가져올 테이블모두 체크가져올 테이블을 체크합니다. 전체 선택 · 전체 해제
가져오기 · 취소—체크한 테이블로 새 프로젝트를 만듭니다 / 창을 닫습니다

가져오는 것

데이터베이스에서ERD에서
테이블엔티티(물리명)
테이블 주석엔티티 논리명
컬럼 이름 · 자료형(길이 · 자릿수) · NULL 허용 · 기본값컬럼
컬럼 주석컬럼 논리명
자동 증가 컬럼A.I(자동 증가)
기본키PK
외래키관계선. 외래키 제약 이름이 관계선 이름이 됩니다
  • SQL Server · MySQL · Oracle에서 가져온 관계선은 모두 비식별 관계(1:N)입니다.
  • PostgreSQL은 자식 테이블의 외래키 컬럼이 모두 그 테이블의 기본키이면 식별 관계(1:1)로, 아니면 비식별 관계(1:N)로 가져옵니다 → 관계선(FK) 편집 · 기호 표기.
  • 테이블에 저장된 데이터(행)와 인덱스 · 트리거 · 프로시저는 가져오지 않습니다.

따라 하기

SQL Server · MySQL · Oracle

  1. 프로젝트 시작 창을 엽니다

    툴바의 파일 ▾ › 새 프로젝트…(Ctrl+N)를 클릭합니다.

  2. 데이터베이스 로고를 클릭합니다

    기존 데이터베이스 리버스 엔지니어링 영역에서 가져올 데이터베이스의 로고를 클릭하면 3단계 창이 열립니다.

  3. 접속 정보를 넣습니다

    호스트 · 포트 · 사용자 ID · 비밀번호를 넣습니다. Oracle은 서비스 이름도 넣습니다.

  4. 접속 테스트를 클릭합니다

    비밀번호 칸에서 Enter를 눌러도 됩니다. 성공하면 "접속테스트에 성공했습니다. 가져올 데이터베이스를 선택하십시오."(Oracle은 "접속 테스트에 성공했습니다.")가 뜨고 다음을 누를 수 있게 됩니다.

  5. 데이터베이스를 고릅니다

    SQL Server · MySQL은 목록에서 데이터베이스를 먼저 고른 뒤에 다음으로 넘어갑니다. Oracle은 이 단계가 없습니다.

  6. 다음을 클릭합니다

    2단계 테이블 고르기 화면으로 넘어갑니다. 접속 확인에 실패하거나 데이터베이스를 고르지 않았으면 넘어가지 않고 다음 버튼이 다시 눌리는 상태로 돌아옵니다. 고친 뒤 다시 누르면 됩니다.

  7. 가져올 테이블을 오른쪽으로 옮깁니다

    왼쪽 목록에서 테이블을 고르고 » 버튼을 클릭합니다. Shift · Ctrl을 누른 채 클릭하면 여러 개를 한 번에 고를 수 있습니다. 잘못 넣은 테이블은 오른쪽에서 골라 « 버튼으로 뺍니다. 오른쪽에 하나 이상 있어야 다음을 누를 수 있습니다.

  8. 다음을 클릭합니다

    고른 테이블을 읽는 동안(처리 중...) 잠시 기다리면 3단계에 읽은 내용이 목록으로 표시됩니다. 테이블이 많으면 시간이 걸립니다.

  9. 다음을 한 번 더 클릭합니다

    창이 닫히고 가져온 테이블로 새 프로젝트 탭이 열립니다.

PostgreSQL

  1. 프로젝트 시작 창에서 PostgreSQL 로고를 클릭합니다

    PostgreSQL 리버스 엔지니어링 창이 열립니다.

  2. 접속 정보를 넣습니다

    서버 · 포트 · 사용자 · 비밀번호를 확인하고 고칩니다.

  3. 연결을 클릭합니다

    아래쪽 기록 칸에 "접속 성공. 데이터베이스 N개."가 남고 데이터베이스를 고를 수 있게 됩니다. 실패하면 "PostgreSQL 접속 실패" 알림에 원인이 나옵니다.

  4. 데이터베이스와 스키마를 고릅니다

    데이터베이스를 고르면 스키마 목록이, 스키마를 고르면 테이블 목록이 채워집니다.

  5. 가져올 테이블을 체크합니다

    처음에는 모두 체크되어 있습니다. 필요 없는 테이블의 체크를 풀거나 전체 해제 뒤 필요한 것만 체크합니다.

  6. 가져오기를 클릭합니다

    체크한 테이블을 읽는 동안 안내 글에 진행 상황이 표시되고, 끝나면 창이 닫히고 새 프로젝트 탭이 열립니다.

가져온 뒤 정리하기

  1. 배치를 확인합니다

    가져온 프로젝트가 열리면 계층 구조로 배치가 저절로 한 번 적용됩니다. 업무 영역별로 보고 싶으면 자동 배치 ▾ › 트리 배치 (다중 루트)로 바꾸고, 겹친 곳이 남아 있으면 겹침 풀기를 씁니다 → 정렬과 자동 배치.

  2. 프로젝트 정보를 채웁니다

    가져온 프로젝트는 프로젝트명이 비어 있습니다. 툴바의 프로젝트정보(ⓘ) 버튼에서 프로젝트명 · 고객사 · 디자이너를 넣습니다.

  3. 저장합니다

    Ctrl+S를 누르고 파일 이름을 정해 .RelatiQ 파일로 저장합니다 → 기본 조작.

알아 두기

팁

리버스 엔지니어링은 데이터베이스를 읽기만 합니다. 테이블이나 데이터는 바뀌지 않습니다.

팁

SQL Server · MySQL · Oracle은 한 번 접속에 성공하면 호스트 · 포트 · 사용자 ID(Oracle은 서비스 이름도)를 기억해 다음에 채워 둡니다. 비밀번호는 기억하지 않습니다. 이 정보는 DB에 직접 생성 창과 함께 쓰며, %AppData%\RelatiQ\cached\ 폴더에 저장되어 업데이트한 뒤에도 남습니다.

팁

데이터베이스에 주석을 달아 두었다면 그대로 논리명이 되어, 정의서의 Entity Description · Memo 칸까지 채워집니다 → 테이블 정의서.

주의

접속하는 계정에 테이블 · 컬럼 · 키 정보를 읽을 권한이 있어야 합니다.

주의

MySQL은 SSL 없이 접속합니다. 서버가 SSL 접속만 받도록 설정되어 있으면 접속되지 않습니다.

주의

SQL Server · MySQL은 1단계에서 데이터베이스를 고르지 않고 다음을 누르면 넘어가지 않습니다. 다음 버튼이 다시 눌리는 상태로 돌아오니, 데이터베이스를 고른 뒤 다시 누르세요.

  • 가져온 프로젝트의 데이터베이스 종류는 가져온 데이터베이스로 정해지며, 나중에 바꿀 수 없습니다.
  • 3단계 창에서 읽다가 문제가 생기면 "불러오기 오류:" 뒤에 원인이 표시됩니다. PostgreSQL 창에서는 "리버스 엔지니어링 실패" 알림이 뜹니다.

자주 묻는 것

MongoDB도 가져올 수 있나요?

아니요. 리버스 엔지니어링은 SQL Server · MySQL · Oracle · PostgreSQL만 지원합니다.

접속이 안 돼요.

호스트 · 포트 · 방화벽 · 계정 권한(스키마 조회 권한)을 확인하세요. MySQL은 서버가 SSL 접속만 받으면 접속되지 않습니다 → 자주 묻는 질문 · 문제 해결.

가져온 엔티티 배치가 마음에 들지 않아요.

가져온 직후에는 계층 구조로 배치가 적용된 상태입니다. 자동 배치 ▾의 다른 배치나 겹침 풀기를 써 보고, 엔티티를 끌어 옮겨 다듬으세요. 자동 배치는 Ctrl+Z로 되돌릴 수 있습니다.

논리명이 비어 있어요.

데이터베이스의 테이블 · 컬럼에 주석이 없으면 논리명도 비어 있습니다. 가져온 뒤 직접 넣으세요 → 엔티티(테이블) 편집.

관계선이 모두 1:N으로 들어왔어요.

SQL Server · MySQL · Oracle은 외래키를 모두 비식별 관계(1:N)로 가져옵니다. 식별 관계가 필요하면 그 관계선을 지우고 식별 관계선 추가 도구로 다시 그립니다 → 관계선(FK) 편집 · 기호 표기.

데이터도 함께 가져오나요?

아니요. 테이블 구조만 가져옵니다.

관련 항목