MySQL을 쓰고 있다면 ERD를 그리려고 새 프로그램을 찾을 필요가 없습니다. 공식 툴인 MySQL Workbench에 EER 다이어그램 기능이 이미 들어 있어서, 기존 데이터베이스에서 ERD를 추출할 때 몇 번만 클릭하면 됩니다.
이 글은 그 과정을 처음부터 정리한 안내입니다. Workbench가 다이어그램을 부르는 이름인 EER가 무엇인지부터 시작해서, 기존 DB를 리버스 엔지니어링으로 읽어 오는 단계, 다이어그램을 다듬고 이미지로 내보내는 방법까지 다룹니다. 마지막에는 어디까지가 Workbench로 되는 일이고 어디부터 다른 도구가 필요한지도 정리했습니다. 같은 목적의 DBeaver 안내와 자매편입니다.
EER 다이어그램이란? ER과 뭐가 다른가
Workbench 메뉴 곳곳에 EER Diagram이라는 이름이 보여서 처음엔 낯설 수 있는데, 결론부터 말하면 일반적으로 말하는 ERD와 실질적인 차이가 없습니다. EER는 Enhanced Entity-Relationship의 약자로, 기본 ER 모델에 몇 가지 표현을 확장한 학술 용어를 Workbench가 기능 이름으로 채택한 것입니다.
그러니 "eer diagram이 따로 있고 erd가 따로 있나?"라는 고민은 하지 않아도 됩니다. Workbench 안에서 ERD를 만들면 그 결과물의 이름이 EER 다이어그램입니다. 이 글에서도 두 용어를 같은 뜻으로 씁니다.
리버스 엔지니어링으로 기존 DB에서 ERD 뽑기
운영 중인 DB가 있다면 다이어그램을 그리는 게 아니라 읽어 오면 됩니다. 단계는 이렇습니다.
- Database 메뉴 → Reverse Engineer를 선택합니다(단축키 Ctrl+R). 마법사가 열립니다.
- 접속 정보를 고릅니다. 이미 등록해 둔 MySQL 연결을 선택하거나 새로 입력합니다.
- 스키마를 선택합니다. 서버에 있는 스키마 목록에서 다이어그램으로 만들 스키마에 체크합니다.
- 가져올 객체를 고릅니다. 마법사 중간에 테이블·뷰 등 객체를 선택하는 단계가 있습니다. 전체를 가져와도 되고, 필요한 테이블만 골라도 됩니다.
- 마법사를 마치면 EER 다이어그램이 자동으로 만들어집니다. 테이블, 컬럼, FK 관계선까지 스키마에서 읽어 온 그대로입니다. 관계선의 까마귀발 기호 읽는 법은 ERD 표기법 총정리에 정리되어 있습니다.
DB에 접속할 수 없는 상황이라면 다른 방법도 있습니다. 같은 마법사 계열 메뉴에서 SQL 스크립트 파일(DDL)을 읽어 모델을 만들 수도 있어서, mysqldump로 뽑아 둔 파일만 있어도 다이어그램이 나옵니다. DDL을 뽑는 명령이 궁금하다면 SQL to ERD의 1단계에 정리되어 있습니다.
다이어그램 다듬기
읽어 온 직후의 배치가 마음에 안 들면 손볼 수 있습니다. 테이블을 끌어서 옮기고, 확대·축소하면서 구조가 읽히는 배치를 잡으면 됩니다.
테이블이 많을 때는 레이어(Layer) 기능이 요긴합니다. 화면에 큰 사각형 영역을 만들어 관련 테이블을 묶어 두는 기능인데, 회원 도메인과 주문 도메인을 색이 다른 영역으로 구분해 두면 처음 보는 사람도 구조를 빨리 파악할 수 있습니다.
텍스트 객체(Text Object)로 다이어그램 위에 메모를 남길 수도 있습니다. 공식 문서도 다이어그램을 PDF나 PNG로 내보낼 때의 제목·설명 용도로 이 기능을 안내하고 있습니다.
다이어그램을 PNG·SVG로 내보내기
다듬은 다이어그램은 File → Export 메뉴에서 파일로 내보냅니다. 공식 문서 기준으로 PNG, SVG, PDF, PostScript 형식을 지원합니다. 회의 자료나 위키에 붙일 용도면 PNG, 인쇄나 확대가 필요한 문서면 SVG나 PDF를 고르면 됩니다.
작업한 모델 자체는 .mwb 파일로 저장됩니다. 다이어그램 배치와 모델 정보가 이 파일 하나에 담기므로, 이어서 작업하려면 이 파일을 보관하면 됩니다.
역방향도 됩니다: Forward Engineering
Workbench의 모델링은 읽기 전용이 아닙니다. 빈 모델에서 테이블을 설계한 뒤 Database → Forward Engineer를 실행하면, 그린 모델이 CREATE TABLE 문으로 변환되어 실제 DB에 적용됩니다. 설계를 Workbench에서 시작하는 팀이라면 다이어그램에서 DDL까지 한 흐름으로 갈 수 있다는 뜻입니다.
Workbench 다이어그램이 하지 않는 일
여기까지가 Workbench로 충분히 되는 일입니다. 이제 Workbench만으로는 어려운 일을 정리합니다. 판단 기준은 하나입니다. 만든 다이어그램을 다른 사람과 공유해야 하는 시점부터 번거로워집니다.
공유가 파일 전달이 됩니다. 모델은 .mwb 로컬 파일이라, 팀원과 공유하려면 파일을 보내고 상대도 Workbench를 설치해야 합니다. 접속 권한이나 설치 없이 링크로 구조만 보여주는 방법은 없어서, 결국 이미지를 내보내 전달하고 스키마가 바뀔 때마다 같은 일을 반복하게 됩니다.
테이블 명세서는 별도 작업입니다. 검수·납품에서 요구하는 컬럼 정의서 형식의 문서는 다이어그램 내보내기의 범위 밖이라, 엑셀 작업이 따로 생깁니다.
MySQL 전용입니다. 공식 툴이니 당연한 이야기지만, PostgreSQL이나 Oracle이 섞인 환경에서는 Workbench 다이어그램에 MySQL 쪽만 담을 수 있습니다. DBMS가 여러 개인 프로젝트라면 다이어그램 도구도 나뉘게 됩니다.
그래서 권하는 건 갈아타기가 아니라 병용입니다. MySQL 관리와 쿼리 작업은 지금처럼 Workbench에서 하고, 공유·명세서·멀티 DBMS가 필요할 때만 DDL로 연결하면 됩니다. Workbench에서 DDL을 뽑거나 mysqldump 한 줄이면 준비가 끝나고, 그걸 WorksCove ERD에 붙여넣으면 편집 가능한 다이어그램과 테이블 명세서가 만들어지고 링크로 공유할 수 있습니다. MySQL로 읽어 온 스키마를 PostgreSQL·Oracle·SQL Server DDL로 변환해 내보내는 것도 됩니다. 명세서가 급하다면 테이블 명세서 작성법부터 보셔도 됩니다.
자주 묻는 질문
EER 다이어그램과 ER 다이어그램은 다른 건가요?
실질적으로 같은 것을 가리킵니다. EER는 Enhanced Entity-Relationship의 약자로, Workbench가 자기 다이어그램 기능을 부르는 이름입니다. 일반적으로 말하는 ERD를 Workbench 안에서 만들면 그게 EER 다이어그램입니다. 용어 때문에 다른 기능을 찾아다닐 필요가 없습니다.
무료 버전에서도 EER 다이어그램을 쓸 수 있나요?
쓸 수 있습니다. MySQL Workbench는 무료인 Community 에디션에 모델링 기능이 포함되어 있어서, 리버스 엔지니어링과 EER 다이어그램, 내보내기까지 추가 비용 없이 됩니다.
전체 스키마 말고 테이블 몇 개만 골라서 그릴 수 있나요?
됩니다. Reverse Engineer 마법사 중간에 가져올 객체를 고르는 단계가 있어서, 스키마 전체가 아니라 필요한 테이블만 선택해 다이어그램에 올릴 수 있습니다. 수백 테이블짜리 DB에서 한 도메인만 보고 싶을 때 이 단계를 활용하면 됩니다.
테이블 명세서도 Workbench에서 나오나요?
다이어그램 기능의 내보내기는 이미지(PNG·SVG·PDF 등)까지입니다. 검수나 납품에 내는 컬럼 정의서 형식의 문서가 필요하다면, DDL을 뽑아 명세서를 자동 생성하는 도구에 붙여넣는 경로가 가장 빠릅니다.
정리하면, MySQL만 쓰는 환경에서 구조를 확인하고 이미지로 뽑는 데는 Workbench의 EER 다이어그램으로 충분합니다. 그림이 팀 밖으로 나가야 하거나 명세서·멀티 DBMS가 필요해지는 시점부터 DDL로 전용 도구를 연결하면 되고, 그 준비는 mysqldump 한 줄입니다.