NeoSQL ERD 개요
ERD의 기본 개념과 NeoSQL에서 다루는 데이터 모델링, 스키마 설계, DB 반영 흐름의 큰 범위를 정리합니다.
ERD란 무엇인가
ERD(Entity Relationship Diagram)는 데이터베이스를 구성하는 테이블, 컬럼, 키, 인덱스, 제약조건, 관계를 시각적으로 정리한 설계도입니다. ERD를 보면 데이터가 어디에 저장되고, 어떤 규칙으로 보호되며, 테이블 사이에서 어떻게 참조되는지 한눈에 검토할 수 있습니다.
| 구성요소 | 의미 | 설계에서 확인할 점 |
|---|---|---|
| 테이블 | 업무 데이터를 저장하는 가장 큰 단위입니다. | 테이블의 책임이 명확한지, 하나의 테이블이 너무 많은 역할을 갖지 않는지 확인합니다. |
| 컬럼 | 테이블 안에서 저장되는 개별 데이터 항목입니다. | 데이터 타입, NULL 허용 여부, 기본값, 설명이 실제 데이터 의미와 맞는지 확인합니다. |
| 키 | 행을 식별하거나 다른 테이블을 참조하기 위한 기준입니다. | PK가 안정적인 식별자인지, FK가 올바른 부모 테이블과 컬럼을 바라보는지 확인합니다. |
| 인덱스 | 조회 성능과 정렬/검색 패턴을 보조하는 구조입니다. | 자주 조회되는 컬럼 조합인지, 불필요한 중복 인덱스가 없는지 확인합니다. |
| 제약조건 | 데이터가 지켜야 할 규칙을 DB 스키마에 표현합니다. | UNIQUE, CHECK 같은 규칙이 애플리케이션 코드에만 숨지 않고 DB에도 표현되는지 확인합니다. |
| 관계 | 테이블 간 참조 방향과 연결 구조를 보여줍니다. | 관계 방향, 필수/선택 여부, 삭제/수정 시 영향 범위를 검토합니다. |
논리 모델과 물리 모델
데이터 모델은 보통 두 단계로 나눠 설명합니다. 논리 모델은 업무 용어로 무엇을 저장할지 정리한 것이고, 물리 모델은 그것을 특정 DBMS 의 테이블 · 컬럼 · 타입으로 확정한 것입니다.
| 구분 | 논리 모델 | 물리 모델 |
|---|---|---|
| 다루는 대상 | 엔터티와 속성, 업무 규칙 | 테이블과 컬럼, 키 · 인덱스 · 제약조건 |
| 이름 | 업무에서 쓰는 말 — 주문일시 | DB 에 들어가는 식별자 — ord_dtm |
| 타입 | 개념 수준까지만 정합니다 — 일시, 금액 | DBMS 타입과 길이까지 확정합니다 — DATETIME, DECIMAL(15,2) |
| DBMS 의존 | 없습니다. 대상 DB 가 정해지지 않아도 그릴 수 있습니다 | 있습니다. 대상 DBMS 가 정해져야 타입과 옵션이 확정됩니다 |
| 주로 보는 사람 | 현업 · 기획 · 설계 검토자 | 개발자 · DBA |
NeoSQL 은 모델을 하나만 둡니다
NeoSQL 에는 논리 모델 캔버스와 물리 모델 캔버스가 따로 없습니다. ERD 는 언제나 물리 모델 하나이고, 테이블과 컬럼에 논리명을 메타데이터로 함께 적습니다. 보이는 이름은 우측 정보 패널의 표시 모드로 바꿉니다 — 논리 모드는 논리명을, 물리 모드는 물리명을 노드에 그립니다.
모델을 둘로 나누면 한쪽을 고칠 때마다 다른 쪽을 맞춰야 하고, 그 동기화는 대개 깨진 채로 방치됩니다. 하나의 모델에서 이름만 바꿔 보여 주면 현업 리뷰용 그림과 개발용 그림이 같은 원본에서 나옵니다. 표시 모드는 이미지 내보내기 · 임베드 뷰어 · 공유 스냅샷에도 그대로 적용됩니다.


논리명은 DDL 과 무관한 메타데이터입니다. 이미 DB 에 있는 컬럼에 논리명을 적어도 컬럼명이나 타입이 저절로 바뀌지 않습니다. 또 논리 모드는 논리명이 비어 있으면 보여 줄 이름이 없으므로, 데이터 사전과 함께 쓰는 편이 좋습니다.
세 가지 사용 방식
같은 ERD 화면을 세 가지 깊이로 쓸 수 있습니다. 아래로 갈수록 손으로 적을 것이 줄고 이름 · 타입 표준이 강해집니다. 깊이는 커넥션 설정에서 올리거나 내릴 수 있고, 바꿀 때 ERD 를 다시 그리지 않습니다.
① 물리 모델만
테이블 · 컬럼 · 타입을 직접 적습니다. 준비할 자산이 없어 바로 시작합니다.
② 물리 모델 + 도메인
컬럼에 도메인을 지정하면 타입 · 길이 · NULL 허용 · 기본값이 한 번에 채워집니다. 타입 표준이 섭니다.
③ 물리 모델 + 도메인 + 사전
논리명을 적으면 물리명이 조합되고, 읽어낸 단어에 걸린 도메인까지 적용됩니다. 이름 표준과 타입 표준이 함께 섭니다.
| 구분 | ① 물리 모델만 | ② 물리 모델 + 도메인 | ③ 물리 모델 + 도메인 + 사전 |
|---|---|---|---|
| 컬럼 물리명 | 직접 입력합니다. | 직접 입력합니다. | 논리명에서 약어를 이어 붙여 만듭니다. |
| 타입과 길이 | DBMS 타입 목록에서 직접 고릅니다. | 도메인을 고르면 컬럼으로 복사됩니다. | 읽어낸 단어의 도메인에서 적용하거나 추천합니다. |
| 논리명 칸 | 적어 둘 수 있지만 물리명을 만들어 주지 않습니다. | ① 과 같습니다. | 입력 수단이 됩니다. 적으면 물리명과 도메인이 따라옵니다. |
| Domain 칸 | 숨겨집니다. | 표시됩니다. | 표시됩니다. |
| 미리 준비할 것 | 없습니다. | 도메인 자산. | 도메인 자산과 사전 자산. |
| 어울리는 상황 | 혼자 쓰는 스키마, 기존 DB 를 빠르게 문서화할 때. | 이름은 각자 정하되 타입만 통일해야 할 때. | 표준 단어 정의서가 있거나 공공데이터 표준을 따라야 할 때. |
① 물리 모델만
도메인도 사전도 지정하지 않은 커넥션의 기본 상태입니다. 테이블을 추가하고 컬럼명과 타입을 직접 적습니다. 컬럼 표시 설정에서 Domain 칸은 숨겨지고, 논리명은 적어 둘 수 있지만 물리명을 만들어 주지는 않습니다. 기존 DB 를 Reverse 로 가져와 구조를 확인하거나 문서화하는 작업은 이 상태로 충분합니다.

② 도메인 연결
커넥션 설정의 데이터 사전 탭에서 도메인 자산과 버전을 지정하면 컬럼에 Domain 칸이 생깁니다. "금액" 도메인을 고르면 DECIMAL(15,2) 과 NULL 허용, 기본값이 컬럼에 그대로 써집니다. 도메인 값은 컬럼으로 복사되므로 나중에 자산을 열 수 없는 상태여도 ERD 렌더링과 DDL 생성은 그대로 동작합니다. 도메인이 지배하는 값을 손으로 고치면 그 컬럼의 도메인 지정이 풀립니다.

③ 데이터 사전까지 연결
사전까지 지정하면 논리명이 입력 수단이 됩니다. 컬럼 논리명에 "주문일시" 라고 적으면 사전에 등록된 약어를 이어 붙여 ord_dtm 을 만들고, 끝 단어 "일시" 에 연결된 도메인이 타입과 길이까지 채웁니다. 읽지 못한 구간이나 현재 물리명과의 불일치는 논리명 셀의 검토 필요에 모여 사람이 확인합니다. 테이블 논리명도 같은 방식으로 동작합니다.

지정은 커넥션 단위입니다. 운영 DB 커넥션은 ① 로 두고 신규 프로젝트 커넥션만 ③ 으로 올릴 수 있습니다. 데스크톱 로컬 프로젝트에서도 공식 제공 팩과 이 기기에 저장한 자산으로 ② · ③ 을 쓸 수 있습니다.
NeoSQL이 다루는 범위
NeoSQL의 ERD는 단순한 그림 도구가 아니라, 실제 데이터베이스 스키마와 연결되는 설계·검토·반영 도구입니다. 화면에서 배치한 테이블과 속성은 이후 DDL 생성, Reverse/Forward Engineering, 변경 추적 흐름의 기준이 됩니다.
| 범위 | 설명 |
|---|---|
| 논리/물리 모델링 | 테이블, 컬럼, 데이터 타입, 키, 인덱스, 제약조건, 관계를 ERD 캔버스와 상세 패널에서 설계합니다. |
| DBMS별 스키마 표현 | MariaDB, MySQL, Oracle, PostgreSQL, SQL Server, H2 등 대상 DBMS에 맞춰 타입과 일부 특수 속성을 다룹니다. |
| Reverse / Forward Engineering | 기존 DB에서 스키마를 가져와 ERD로 구성하거나, ERD 변경사항을 DDL로 생성해 실제 DB에 적용하는 흐름을 지원합니다. |
| 저장과 변경 추적 | ERD 저장, 변경 감지, 리비전 기반 확인을 통해 설계 변경 내용을 추적하고 검토할 수 있습니다. |
| 산출물 | ERD 이미지, DDL, 변경 비교 결과처럼 설계를 공유하거나 실제 DB 작업에 사용할 수 있는 산출물을 만듭니다. |
| 이 페이지에서 다루지 않는 것 | 개별 버튼 위치, 단축키, 테이블/컬럼 편집 절차, 인덱스/제약조건 상세 설정은 뒤의 각 세부 문서에서 단계별로 설명합니다. |
핵심 포인트
NeoSQL ERD를 이해할 때 먼저 구분해두면 좋은 개념입니다.
| 항목 | 설명 |
|---|---|
| 일반 다이어그램 도구와의 차이 | NeoSQL ERD는 도형을 그리는 화면이 아니라 테이블 구조, 제약조건, DDL, DB 반영 흐름과 연결된 스키마 설계 화면입니다. |
| 관리하는 주요 객체 | 테이블, 컬럼, PK, FK, 인덱스, UNIQUE/CHECK 같은 제약조건, 관계선, 카테고리, 메모를 ERD 안에서 다룹니다. |
| 지원 DBMS | MariaDB, MySQL, PostgreSQL, Oracle, SQL Server, H2 등 여러 DBMS를 대상으로 타입과 스키마 속성을 표현합니다. |
| Reverse와 Forward | Reverse는 기존 DB 스키마를 ERD로 가져오는 흐름이고, Forward는 ERD 변경사항을 DDL로 만들어 실제 DB에 적용하는 흐름입니다. |
| 저장과 변경 추적 | ERD 편집 내용은 저장, 변경 감지, 리비전 확인, DB 적용 단계가 분리되어 있어 설계 변경을 검토한 뒤 반영할 수 있습니다. |
화면 주요 영역
NeoSQL ERD 화면은 좌측 탐색 패널, 중앙 캔버스, 도구 모음, 미니맵, 우측 상세 패널로 나뉩니다.

| 영역 | 설명 |
|---|---|
| Left Panel | DB 연결, 스키마/테이블 목록, ERD 목록을 확인하고 테이블을 캔버스로 끌어오는 시작 지점입니다. |
| Canvas | 테이블 노드를 배치하고 관계선을 확인하는 주 작업 영역입니다. 이동, 확대/축소, 선택, 정렬 작업이 이곳에서 이루어집니다. |
| Tools | 선택, 테이블 추가, 관계 생성, 메모, 확대/축소, 화면 맞춤, 잠금 같은 캔버스 조작 도구를 제공합니다. |
| Mini Map | ERD 전체 배치를 축소해서 보여주며, 큰 다이어그램에서 현재 보고 있는 위치를 빠르게 파악할 수 있습니다. |
| Right Panel | ERD 정보, 표시 옵션, 포함된 테이블 목록을 확인하고 선택한 테이블의 상세 속성을 편집하는 영역입니다. |
이 가이드에서 다루는 기능
ERD 문서는 화면 조작부터 DB 적용까지 이어지는 작업 흐름을 기준으로 나뉩니다.
ERD 생성과 캔버스 조작
ERD를 만들고 열어 캔버스에서 이동, 확대/축소, 선택, 자동 정렬 같은 기본 조작을 수행합니다.
테이블 노드와 컬럼 설계
테이블을 추가하고 이름, 설명, 컬럼, 데이터 타입, 기본값, NULL 허용 여부 같은 속성을 편집합니다.
키, 인덱스, 제약조건 관리
PK/FK, Unique, 일반 인덱스, Check/Exclusion 같은 제약조건을 상세 패널에서 관리합니다.
관계 정의와 시각화
Foreign Key 기반 관계를 만들고 관계선을 통해 테이블 간 참조 구조를 확인합니다.
가져오기와 내보내기
기존 DB 스키마를 Reverse Engineering으로 가져오거나 ERD 이미지, DDL 등 필요한 형태로 내보냅니다.
저장, 변경 추적, DB 적용
ERD 변경사항을 저장하고 리비전을 확인하며, Forward 기능으로 실제 데이터베이스에 반영합니다.
카테고리, 검색, 우측 패널
테이블이 많아졌을 때 카테고리로 묶고 검색으로 찾으며, 우측 패널에서 ERD 정보와 테이블 상세를 확인합니다.
DBMS별 차이 확인
데이터 타입, 자동 증가, 제약조건, 인덱스 옵션처럼 DBMS마다 다른 속성을 구분해 설계합니다.