ERD를 그리고 끝내지 마세요 — Crowfoot
데이터베이스를 설계할 때 가장 먼저 하는 일 중 하나가 ERD를 그리는 것입니다.
테이블을 만들고, 컬럼을 정의하고, PK와 FK를 설정하고, 테이블 간의 관계를 연결합니다.
그런데 ERD를 완성한 다음에는 보통 또 다른 작업이 시작됩니다.
ERD를 보고 직접 SQL을 작성하고, 데이터베이스를 생성하고, 수정된 설계를 다시 DB에 반영해야 합니다.
"ERD를 그린 결과가 실제 데이터베이스로 바로 이어진다면 어떨까?"
이런 생각에서 Crowfoot을 만들고 있습니다.

https://crowfoot.java21.net
Crowfoot
Crowfoot은 웹에서 데이터베이스를 설계하고 관리할 수 있는 ERD 도구입니다.
별도의 프로그램을 설치하지 않고 브라우저에서 ERD를 작성할 수 있으며, 단순히 다이어그램을 그리는 것을 넘어 실제 개발 과정에서 사용할 수 있는 데이터베이스 설계를 목표로 하고 있습니다.
현재는 MySQL과 PostgreSQL을 중심으로 개발하고 있습니다.
ERD를 웹에서 간편하게
테이블을 생성하고 컬럼을 정의하는 것부터 시작해서 다음과 같은 데이터베이스 설계 요소를 관리할 수 있도록 만들고 있습니다.
- 테이블 및 컬럼 설계
- Primary Key
- Foreign Key
- Unique 제약조건
- Index
- 테이블 간 관계 설정
- 1:1, 1:N 등의 관계 표현
- Crow's Foot 표기법
- Logical / Physical 모델링
복잡한 데이터베이스 구조도 하나의 화면에서 확인할 수 있도록 자동 레이아웃을 적용해 관계선이 최대한 겹치지 않도록 개선하고 있습니다.
ERD에서 실제 DB까지
Crowfoot에서 가장 중요하게 생각하는 부분입니다.
ERD를 작성하는 것으로 끝나는 것이 아니라,
ERD → SQL → 실제 데이터베이스
로 이어지는 개발 경험을 만들고 있습니다.
데이터베이스 설계를 변경하면 그 내용을 SQL로 확인할 수 있고, 실제 개발용 데이터베이스에 적용할 수 있도록 하는 것이 목표입니다.
따라서 Crowfoot은 단순한 ERD 다이어그램 도구보다는 데이터베이스 개발을 위한 설계 도구를 지향합니다.
개발자가 사용할 수 있는 무료 ERD
개인 프로젝트를 시작할 때 데이터베이스 설계 도구를 찾다 보면 이런 고민을 하게 됩니다.
"ERD 하나 그리려고 별도의 프로그램을 설치해야 할까?"
"프로젝트마다 데이터베이스 설계 도구를 사용해야 할까?"
"팀원과 설계 내용을 공유하려면 어떻게 해야 할까?"
Crowfoot은 이런 개발자들의 고민을 줄이는 것을 목표로 하고 있습니다.
웹 브라우저에서 바로 사용할 수 있고, 개인 프로젝트나 학습 프로젝트에서 부담 없이 데이터베이스를 설계할 수 있도록 서비스를 만들어가고 있습니다.
개발하면서 계속 개선하고 있습니다
Crowfoot은 완성된 제품을 먼저 만들어 공개하는 방식보다는 실제 개발 과정에서 필요한 기능을 하나씩 추가하면서 발전시키고 있습니다.
앞으로는 다음과 같은 기능도 추가할 예정입니다.
- ERD 버전 관리
- 변경 이력 및 복원
- Workspace
- ERD 공유
- 사용자별 Read / Edit 권한
- 실시간 협업
- 데이터베이스 연결 및 관리
- MySQL / PostgreSQL 기능 확대
- Oracle / MSSQL 지원
- 데이터 사전
- ERD 기반 SQL 생성 및 DB 반영
궁극적으로는 "ERD를 작성하는 곳"에서 "데이터베이스를 설계하고 실제 개발에 사용하는 곳"으로 발전시키는 것이 목표입니다.
직접 사용해 보세요
현재 개발 중인 Crowfoot은 아래에서 확인할 수 있습니다.
아직 계속 개발하고 있는 서비스이기 때문에 부족한 부분도 많습니다.
사용해 보시면서 불편한 점이나 필요한 기능이 있다면 의견을 남겨주세요.
개발자가 실제 프로젝트에서 데이터베이스를 설계할 때 조금 더 편하게 사용할 수 있는 ERD 도구를 만들어 보겠습니다.
ERD를 그리고, SQL을 만들고, 실제 데이터베이스까지.
Crowfoot과 함께 데이터베이스 설계를 시작해 보세요.
