본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 15. 12:03

무료 SQL→ER 다이어그램 도구, 브라우저에서 실행되고 아무것도 업로드하지 않음

요약

SQL 및 Laravel 마이그레이션 파일을 해석하여 브라우저에서 즉시 ER 다이어그램을 생성하는 오픈소스 도구를 소개합니다. 데이터 보안을 위해 서버 업로드 없이 로컬에서 실행되며, URL 직렬화 방식을 통해 계정 없이도 스키마 공유가 가능합니다.

핵심 포인트

  • 백엔드 없이 브라우저에서 실행되어 데이터 유출 위험이 없음
  • 비트맵 래스터화 및 뷰포트 컬링 기술로 대규모 테이블도 부드럽게 렌더링
  • URL에 스키마를 직렬화하여 별도 저장 없이 간편한 공유 지원
  • 순수 JavaScript로 구현되어 가볍고(32KB) 모바일 사용성이 매우 뛰어남

몇 달 전 v0로 함께 만든 도구 https://v0-yaerd.vercel.app가 떠오름 Laravel 마이그레이션 파일을 해석해서 ERD를 만들 수 있는 도구를 못 봐서 만들었고, 이후 기본적인 SQL 지원도 프롬프트로 추가했음

도구는 아주 멋지지만, SQL만으로는 ER 다이어그램을 만들 수 없다고 봄 엔터티와 테이블은 근본적으로 다르고, 매우 비슷하긴 해도 SQL만으로는 ER 다이어그램을 만들 만큼의 정보가 부족함
이 도구가 쓸모없다거나 이런 종류의 다이어그램이 도움이 안 된다는 뜻은 아니고, 다소 원론적인 얘기라 다른 사람들은 동의하지 않을 수도 있음

엔터티와 테이블이 대체로 서로 대응된다는 점이 수많은 ORM의 기본 원리 아닌가 싶음
물론 DDL이 엔터티의 생명주기에 대해 많은 걸 말해주지는 않지만, 관계·필드·카디널리티를 그래프로 표현하는 정도가 기준이라면 충분해 보임

더 정확히 말하면, Chen의 정의 기준으로 SQL에서 뽑아낸 ER 다이어그램은 가장 낮은 수준의 물리적 다이어그램이고, 여기서 논리적/개념적 다이어그램을 재구성할 수는 없음
요즘은 이 차이를 신경 쓰는 사람이 많지 않은 듯함

SQL에서 ER로 바꾸는 용도는 처음 보는 데이터베이스를 파악하기 위한 것임
이미 DB는 존재하지만 ERD가 없고, 문서도 거의 없을 수 있음
그래서 탐색 도구에 가깝고, 이상적으로는 뷰를 만들고 메모를 붙일 수 있어야 함
테이블 수가 엄청 많거나 외래 키가 빠진 테이블이 많을 때 전체 ERD를 한 번에 보지 않아도 되기 때문임

차이를 좀 더 설명해주면 좋겠음
실무적으로는 거의 서로 바꿔 쓸 수 있지만, 개념적으로는 엔터티와 관계 위에 더 풍부한 의미 계층이 있을 수도 있어 보임
예를 들면 관계에 대한 설명이나 엔터티에 붙는 추가 주석 같은 것들임

좀 더 자세히 설명해주면 좋겠음
엔터티는 항상 테이블과 1:1 관계라고 이해하고 있었고, 예시가 있으면 큰 도움이 될 듯함

모바일 사용성은 100점 만점에 1000점임
패닝, 확대/축소, 선택, 이동이 너무 매끄러워서 내가 착각하는 줄 알았음

처음 든 생각은 다이어그램 부분을 별도 라이브러리로 떼어내야 한다는 것이었음
ERD 말고도 이 다이어그램 기능을 쓸 곳이 많아 보임

정말 좋음
더블 탭으로 편집해도 확대/축소 수준이 초기화되지 않음
지금까지 본 모바일 친화 사이트 중 확실히 손꼽히는 수준임

Safari 모바일에서 텍스트 필드를 누르면 확대되는 것만 아쉬운데, 이건 다들 겪는 문제임

대단한 건 아니고 작은 도구지만 다른 사람들에게도 유용할 것 같았음
데이터베이스 스키마를 시각화해야 하는 일이 계속 있었는데, 대부분의 도구가 유료 장벽, 필수 가입, SQL을 남의 서버로 보내야 하는 문제를 갖고 있었음 백엔드 없음, 계정 없음, 데이터가 내 기기를 떠나지 않음
구현하면서 재미있었던 부분도 있음: DOM/SVG 대신 테이블을 캐시된 비트맵으로 래스터화하고 뷰포트 컬링을 써서 화면에 수백 개 테이블이 있어도 부드럽게 유지함
SQL 파서는 모든 토큰의 소스 범위를 추적해서 테이블 이름 변경 같은 편집이 관련 식별자와 참조만 정확히 바꾸고, 주석과 포맷은 그대로 둠
URL에 전체 스키마가 들어가며, 공유는 스키마를 URL 자체에 직렬화하는 방식이라 백엔드·저장 상태·계정이 필요 없음
Rust/WASM 버전도 실험했지만 JS↔WASM 경계 비용이 계산 절약분보다 커서 파서가 약 37% 느렸고, 다만 O(n^2) 겹침 해소 패스는 약 2.2배 빨랐음
결국 순수 JavaScript로 유지했고, 프레임워크 없이 gzip 기준 약 32KB임

제목에는 무료라고 되어 있는데, 그렇다면 어떤 자유 소프트웨어 라이선스를 쓰는지 궁금함
라이선스가 명시되지 않았다면 오픈소스일 수는 있어도 자유 소프트웨어는 아님

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0