ERD 툴
ErdDocs는 ERD를 직접 그리게 하지 않고 만들어 줍니다. SQL 덤프, Prisma 스키마, 마이그레이션, ORM 모델을 붙여 넣으면 몇 초 만에 엔티티, 속성, 까마귀 발 표기법의 관계가 나타납니다. 무료이고 계정도 설치도 필요 없으며, 스키마는 어디에도 업로드되지 않습니다.
왼쪽 SQL로 만든 영화 카탈로그 ERD입니다. 내 스키마를 덮어 붙여 넣어 보세요.
그리는 툴인가요?
아니요. ErdDocs는 붙여 넣은 스키마에서 다이어그램을 이끌어 냅니다. 도형 팔레트도, 선 그리기 도구도, 빈 화면에서 시작하는 캔버스도 없습니다. 여기서 ER 다이어그램은 스키마를 읽은 결과이지, 직접 조립하는 물건이 아닙니다. 데이터베이스를 이미 설명하고 있는 텍스트를 붙여 넣으면 상자, 컬럼, 키, 카디널리티가 그 텍스트에서 만들어집니다. 테이블을 끌어 배치를 정리할 수는 있고, 그 배치는 공유 링크에도 담깁니다. 그래도 다이어그램에 나오는 내용은 모두 스키마에서 가져온 것이라 손으로 다시 입력할 필요가 없습니다.
이 검색어로 상위에 나오는 툴은 거의 모두 그 반대 방식입니다. 다음 절에서는 ErdDocs가 그리는 툴에 맡기는 단 하나의 경우를 다룹니다. 아직 존재하지 않는 데이터베이스입니다.
그릴까요, 생성할까요?
기준은 하나, 스키마가 이미 있는지입니다.
- 스키마가 아직 없다면 그리세요. ErdDocs는 스키마를 읽는 툴이라 이 경우만은 다루지 않습니다. 데이터베이스가 아직 없다면 그리는 것이 맞습니다. 화이트보드나 그리기 툴에서 엔티티를 놓고 토론하며 모델을 정합니다. 주문이 주소를 소유할까, 주소를 가리킬까? 이 관계는 정말 다대다일까? 이런 토론에는 캔버스나 화이트보드가 알맞습니다. 토론이 마이그레이션이나 CREATE TABLE로 끝나면, 거기서부터는 ErdDocs가 읽습니다.
- 스키마가 이미 있다면 생성하세요. 테이블이 실제로 있다면 그 정의는 이미 정확하게 적혀 있습니다.
CREATE TABLE문, Prisma 스키마, 마이그레이션 파일, ORM 모델 클래스에 말이죠. 이미 있는 스키마를 손으로 다시 그리는 것은 있는 설명을 베끼는 일입니다. 시간을 들여 얻는 것은 이미 가진 설명의, 덜 믿을 만한 두 번째 사본뿐입니다.
ER 다이어그램 툴 가운데 ErdDocs는 이미 존재하는 데이터베이스를 위해 만들었습니다. 나머지 툴은 처음부터 밑그림을 그리기 위한 것입니다. ERD 툴을 찾는 사람 대부분은 이미 스키마를 가지고 있습니다. 그래도 검색 결과에 그리는 툴만 나오니 그리는 툴을 집어 듭니다.
ErdDocs에는 있고 다른 ER 다이어그램 툴에는 없는 것
아래 툴은 모두 ER 다이어그램을 그립니다. 표는 ErdDocs가 하는 일을 기준으로 비교합니다.
| 기능 | ErdDocs | dbdiagram | Eraser | diagrams.net | Lucidchart | SmartDraw | Miro | Figma FigJam |
|---|---|---|---|---|---|---|---|---|
| SQL에서 테이블과 모든 관계를 자동 생성 | ✓ 있음 | ✓ 있음 | 일부: SQL을 AI 프롬프트로 전달 | 일부: 테이블만, 관계선은 손으로 | 일부: 테이블을 캔버스에 손으로 배치 | 일부: SQL이 아닌 CSV에서 | 일부: AI나 Mermaid 코드로 | 일부: Mermaid 코드로만 |
| Prisma와 ORM 모델 읽기 | ✓ 있음 | × 없음 | 일부: 코드를 AI 프롬프트로 전달 | × 없음 | × 없음 | × 없음 | × 없음 | × 없음 |
| 외래 키 없는 관계를 무료로 찾기 | ✓ 있음 | 일부: 유료 요금제의 AI | 언급 없음 | × 없음 | × 없음 | × 없음 | 일부: AI가 관계를 제안 | 언급 없음 |
| 스키마가 업체 서버로 전송되지 않음 | ✓ 있음 | 일부: 링크 생성기에서만 | × 없음 | ✓ 있음 | × 없음 | × 없음 | × 없음 | × 없음 |
| 계정 없이 이미지 내보내기 | ✓ 있음 | 언급 없음 | × 없음 | ✓ 있음 | × 없음 | × 없음 | 일부: 기본 보드에서만 | × 없음 |
| Mermaid·DBML·PlantUML 내보내기 | ✓ 있음 | 일부: DBML만 | × 없음 | × 없음 | 일부: MCP를 통한 Mermaid만 | × 없음 | 일부: Mermaid만 | × 없음 |
| 인쇄용 데이터 사전 | ✓ 있음 | 일부: 웹 문서, PDF 없음 | 언급 없음 | × 없음 | × 없음 | × 없음 | 언급 없음 | × 없음 |
| 구독 없이 사용 가능 | ✓ 있음 | × 없음 | × 없음 | ✓ 있음 | 일부: 무료 요금제에는 ERD 가져오기 없음 | × 없음 | × 없음 | × 없음 |
표는 2026년 11월 기준 각 업체의 공식 페이지를 바탕으로 작성했습니다. 「언급 없음」은 업체가 밝히지 않았다는 뜻입니다. 제품 이름은 각 소유자의 것입니다.
ErdDocs와 가장 가까운 툴은 dbdiagram입니다. dbdiagram도 SQL로 다이어그램을 만듭니다. 하지만 Prisma와 ORM 모델은 읽지 않고, Mermaid나 PlantUML로 내보내지도 않습니다. 외래 키 없는 관계는 유료 요금제의 AI로만 찾습니다. 유료 요금제는 구독뿐이고, ErdDocs는 한 번 결제하면 됩니다.
Eraser는 SQL을 분석하지 않습니다. SQL을 AI 모델에 프롬프트로 넘기기 때문에 스키마가 컴퓨터 밖으로 나갑니다. 내보내기에는 계정이 필요하고, 지원 형식에 Mermaid, DBML, PlantUML은 없습니다.
diagrams.net은 붙여 넣은 SQL로 테이블을 만들지만, 테이블 사이의 관계선은 손으로 그려야 합니다. ORM 모델은 읽지 않고 데이터 사전도 만들지 않습니다.
Lucidchart는 계정이 필요하고, 운영 중인 데이터베이스에서 쿼리를 실행해야 합니다. 가져온 테이블은 캔버스에 손으로 배치합니다. 관계는 선언된 외래 키에서만 나옵니다.
SmartDraw는 운영 중인 데이터베이스에서 쿼리로 추출한 CSV로 ERD를 만듭니다. SQL 덤프와 ORM 모델은 읽지 않으며, 온라인에서만 동작합니다.
Miro와 Figma FigJam은 SQL이 아니라 AI나 Mermaid 코드로 ERD를 만듭니다. 스키마는 각 업체의 클라우드에 저장되고, 내보내기는 계정을 거쳐야 합니다.
손으로 그린 ERD는 낡고, 생성한 ERD는 낡지 않는 이유
손으로 그린 다이어그램은 데이터베이스와 연결이 끊긴 스냅숏입니다. 다음 마이그레이션에서 컬럼이 추가되고, 테이블 이름이 바뀌고, 외래 키가 사라집니다. 그래도 그림은 옛 모양을 계속 보여 줍니다. 누군가 그림이 있다는 것을 기억하고, 파일을 찾고, 편집기 라이선스가 있고, 시간을 낼 때까지 그대로입니다. 보통은 그린 그 주에 한 번 맞고 다시는 고쳐지지 않습니다. 많은 저장소에 바로 옆 스키마와 어긋나는 다이어그램이 들어 있습니다.
생성한 다이어그램에는 맞춰 둘 별도의 버전이 없습니다. 스키마 텍스트를 그대로 보여 주는 것이라, 최신 덤프로 다시 만드는 데 몇 초면 되고 결과는 만드는 방식 자체 때문에 정확합니다. 릴리스마다 새로 생성하면 됩니다. 같은 붙여 넣기로 README용 Mermaid 코드, 문서 사이트용 SVG, 인수인계용 전체 데이터 사전 문서를 내보낼 수 있습니다.
붙여 넣을 수 있는 것
열 가지 형식이며, 형식은 자동으로 판별됩니다. 파일을 있는 그대로 붙여 넣으면 툴이 무엇인지 알아냅니다.
- SQL: PostgreSQL·MySQL·SQL Server·SQLite의 스크립트를 서버와 툴이 내보낸 그대로 읽습니다(pg_dump, mysqldump, SSMS의 「스크립트 생성」). 백틱,
AUTO_INCREMENT옵션, SSMS의GO배치, 나중에ALTER TABLE문으로 선언한 키까지 모두 읽습니다. 덤프에 무엇이 들어 있는지는 MySQL 페이지에서 볼 수 있습니다. - 스키마 언어: Prisma, DBML, Mermaid, PlantUML. 이미 텍스트로 된 다이어그램이라 그리기만 하면 됩니다.
- ORM 모델: Django·SQLAlchemy·Sequelize·TypeORM 클래스와 Laravel 마이그레이션. 데이터베이스를 애플리케이션 코드로 정의하기 때문에 다이어그램이 한 번도 없었던 것들입니다.
결과는 Mermaid, DBML, PlantUML, SQL로도 내보낼 수 있어 README나 프로젝트 문서에 바로 붙일 수 있습니다. 형식마다 무엇을 읽고 무엇을 일부러 건너뛰는지는 형식 페이지에 모두 정리되어 있습니다.
생성된 다이어그램에는 무엇이 나오나요?
테이블마다 상자 하나가 있고, 그 안에 실제 타입과 함께 컬럼이 들어가며, 키에는 표시가 붙습니다. 모든 관계의 양 끝에는 까마귀 발 표기법 기호가 그려집니다. 그래서 다이어그램은 카디널리티를 짐작하게 두지 않고 분명히 적습니다. 위의 영화 카탈로그에서 film_credits 테이블은 자기 컬럼을 가진 연결 테이블입니다. 다대다 관계가 실제 데이터베이스에 들어가면 이런 모양이 됩니다.
Rails, Django, Laravel 프로젝트는 데이터베이스에 외래 키를 선언하지 않는 경우가 많습니다. 스키마가 선언하지 않은 관계는 컬럼 이름으로 되살립니다(film_id 컬럼은 films 테이블을 가리킴). 이런 관계는 점선으로 그리므로, 추정한 선을 데이터베이스가 강제하는 관계로 착각할 일이 없습니다. 이 단계가 가장 중요한 곳은 물려받은 운영 데이터베이스이며, 그 이유는 데이터베이스 다이어그램 툴 페이지에서 자세히 다룹니다.
자주 묻는 질문
상자를 끌어다 놓는 ERD 그리기 툴인가요?
아니요. ErdDocs는 붙여 넣은 스키마로 다이어그램을 생성하므로 도형 팔레트도 선 그리기 도구도 없습니다. 일부러 그렇게 만들었습니다. 테이블을 끌어 배치를 정리할 수는 있고, 그 배치는 공유 링크에도 담깁니다. 하지만 손으로 그리는 것은 없습니다. 모든 상자와 모든 선은 SQL에서 나옵니다.
ERD를 생성하지 말고 손으로 그려야 할까요?
테이블이 실제로 생기면 ErdDocs가 ERD를 생성합니다. 대부분의 사람이 이 상황에 놓여 있습니다. 누군가 그림을 요청할 때쯤이면 보통 스키마는 이미 있기 때문입니다. 다루지 않는 단 하나의 경우는 아직 만들지 않은 데이터베이스입니다. 마이그레이션을 쓰기 전의 데이터 모델은 캔버스에 엔티티를 그려 가며 토론해서 정하고, 그 일에는 범용 그리기 툴이 맞습니다. 밑그림이 마이그레이션이나 CREATE TABLE이 되면 여기에 붙여 넣으세요. 다이어그램은 스키마 자체에서 만들어집니다.
무엇을 붙여 넣을 수 있나요?
열 가지 형식입니다. PostgreSQL·MySQL·SQL Server·SQLite의 SQL, Prisma 스키마, DBML, Mermaid, PlantUML, Django 모델, SQLAlchemy 모델, Sequelize 모델, TypeORM 엔티티, Laravel 마이그레이션. 형식은 자동으로 판별됩니다. 파일을 있는 그대로 붙여 넣으면 되고, 미리 정리하거나 내보내는 단계는 없습니다.
계정, 설치, 데이터베이스 연결이 필요한가요?
셋 다 필요 없습니다. 파서는 브라우저에서 돌아가는 JavaScript라서 연결할 서버도, 업로드할 스키마도 없습니다. 테이블과 컬럼 이름은 컴퓨터 밖으로 나가지 않습니다. 페이지를 열고 붙여 넣으면 다이어그램이 나옵니다.
ERD Cloud나 dbdiagram과 무엇이 다른가요?
설치도 데이터베이스 연결도 계정도 필요 없고, 가지고 있는 SQL이나 Prisma 파일을 붙여 넣기만 하면 됩니다. 같은 붙여 넣기로 인쇄용 데이터 사전까지 만들어집니다.
스키마가 바뀌면 어떻게 되나요?
새 덤프를 붙여 넣으면 몇 초 만에 다시 그려집니다. 손으로 그린 ERD는 그 존재를 기억하는 사람이 고쳐야 하므로, 다음 마이그레이션부터 데이터베이스와 어긋나기 시작합니다. 생성한 ERD는 매번 스키마에서 만들어지므로 어긋날 수가 없습니다.
무료인가요?
25개 테이블까지의 스키마는 계정 없이 전체가 그려지고, PNG·SVG·Mermaid·DBML·PlantUML·SQL 내보내기도 무료입니다. 더 큰 스키마도 전부 분석하며, 한도를 넘는 테이블은 잠긴 채로 표시됩니다. 한 번 9달러를 결제하면 한도가 풀리고 데이터 사전도 열립니다.
관련 페이지
- ER 다이어그램이란: 개념과 읽는 법.
- 데이터베이스 다이어그램 툴: 같은 툴을 모델이 아니라 데이터베이스를 보는 사람에게 맞춰 설명한 페이지.
- ER 다이어그램 기호: 도형과 선 끝의 뜻.
- 스키마 다이어그램: 스키마 다이어그램과 ER 다이어그램의 차이.
- ERD 예제: 분야별 스키마와 그 뒤의 SQL.
- ERDPlus 대안: ErdDocs는 하는데 그리는 툴은 하지 않는 일.
- SQL을 ERD로: 읽을 수 있는 모든 형식을 갖춘 툴 본체.