ERD Cloud, Side-Project에서 쉬운 협업하기

ERD Cloud, Side-Project에서 쉬운 협업하기

도메인만 무분별하게 만든 그대, 이제는 정리하자.

·

4 min read

ERD를 넘기고 도메인을 만들다 보니..

사이드 프로젝트를 진행하다 보면 빠른 MVP 개발을 위해 기능 구현에만 집중하는 경우가 많습니다. 이 과정에서 머릿속에 있는 설계도를 기반으로 코딩하게 되죠.

이런 접근은 유지보수 측면에서 큰 약점이 됩니다. 만약 프로젝트에 새로운 인원이 투입되면, 신규 도메인 이나 기능 개발 시 어느 테이블과 조인해야 할지 파악하기 위해 Entity와 도메인의 소스 코드를 일일이 확인해야 합니다. 하물며 쿼리만 보더라도 테이블 간의 연관 관계를 파악하기란 쉽지 않습니다.

우리는 시간을 좀 더 효율적으로 사용할 수는 없을까요?

ERD로 해결해보죠!

ERD가 있다면 다음 3가지는 보장이 됩니다.

  • 복잡한 도메인 구조도 한눈에 이해할 수 있어 개발자, 기획자, 디자이너 등 팀 전체가 프로젝트의 같은 그림을 공유하게 됩니다.

  • 유지보수 시 변경 사항이 생겨도 어떤 부분에 테이블에 영향을 미치는지 쉽게 확인이 가능합니다.

  • 무엇보다 코드나 쿼리를 확인하지 않아도 테이블 간의 관계와 데이터 흐름을 파악할 수 있어 시간을 절약합니다.


ERD Cloud로 무료로 쉽게 ERD 그리기

ERD Cloud는 복잡한 기능을 제외하고, 심플하게 본연의 기능에 집중합니다. (중간에 광고가 조금 아쉽지만…) 무료라는 큰 장점이 있습니다.

🚀ERD CLOUD 접속하기

ERD Cloud에 접속하여 로그인 후, Try ERDCloud을 클릭하여 바로 ERD를 그릴 수 있습니다.

ERD을 그리기 전, ERD Cloud는 공유 범위를 제공합니다.

  • public (공개) : 모든 사용자가 접근하고 열람 가능하며, ERD Cloud 내에서 검색이 가능합니다.

  • private (비공개) : 본인만 접근 가능하며, ERD Cloud 내에서 검색이 불가능합니다.

  • Team (팀 공개) : Team 멤버들만 접근이 가능하며, 협업 시 유용합니다.

ERD 초기 설정과 테이블 그리기

CREATE 버튼을 누름과 동시에 ERD 작업창이 나옵니다. 위에 ⚙️을 눌러 초기 설정부터 진행하시죠!

ERD 설정 부분은 디스플레이 항목에 관한 내용입니다. 하얀색 사각형은 체크가 안된거고, 검은색 사각형에 하얀 테두리가 체크가 된 상태입니다.

도메인 / 타입 / Null 허용 / 기본값 / 코멘트를 모두 체크를 해주는 것을 추천드립니다.

ERD 작업 창 왼쪽에는 간단한 작업 툴을 제공합니다!

ERD Cloud가 제공하는 간단한 메뉴들 소개
  • 낱개 선택 (↖️)
  • 영역 선택 (◻️)
  • 선택 실수 없이 편하게 이동 (🤚)
  • 테이블 추가 (🗓️)
  • 메모 추가 (📄)
  • 각종 관계형 막대들 (까마귀 발):
    • 일대일 (─┼)
    • 일대다 (─←)
    • 그 외 복잡한 막대들:
      • ──O─: 선택적 (zero)
      • ──|─: One
      • ──||─: Only One
      • ──←: 여러 개(many)
      • ──O|←: 0개 또는 1개 또는 여러 개
      • ──O←: 0개 또는 여러 개
      • ──O|─: 0개 또는 1개
      • ──|←: 1개 또는 여러 개 (1개 이상)
      • ──||─: 오직 1개
  • 다음 메뉴는 셋 중 택1:
    • L/P: 논리명 / 물리명 모두 보기
    • L: 논리명 보기
    • P: 물리명 보기

테이블을 만들게 된다면 초기 설정한 대로 테이블에 보이는 정보가 달라집니다. [회원]은 테이블의 논리명, [users]는 테이블의 물리명으로 네이밍이 가능합니다. 또한 테이블 창이 만들어지게 되면 간단한 버튼들을 제공하죠.

DB를 나누어 설계한다면 여러 ERD를 생성해도 되고, 초기 규모에서는 하나의 ERD가 보기 편하기 때문에 관련도에 따라 색상으로 구분해도 됩니다.

테이블 왼쪽 둘째 열을 기준으로 각 열은 다음과 같은 역할을 합니다.

  • 논리 필드명 : 필드명에 대한 설명 (한글)

  • 물리 필드명 : 실제 필드명 (영문)

  • 도메인 : 필드명에 대한 주제를 적는 곳 (이것도 일종의 코멘트와 같습니다.)

  • 타입 : int, varchar, date 필드 타입을 써주는 곳

  • NULL 유무 : NULL / NOT NULL 중에 하나

  • 기본값 : default 값을 써주는 곳

  • 코멘트 : 말 그대로 부가설명이 필요할 경우 써주는 곳

이제 테이블을 완성하고 ERD Cloud가 제공해주는 관계 선을 이용하여 ERD을 완성하면 되겠습니다!


Import 기능으로 시간 더 절약하기 ( With. Spring Boot, JPA )

ERD를 그리기 전, 이미 완성된 Entity의 소스가 있다면 ERD 그리기에 시간 단축이 가능합니다!

이 경우 Hibernate의 DDL 자동 생성 기능을 응용하면 좋을 것 같습니다. 본인의 프로젝트가 Spring Boot와 JPA가 연동된 로컬 환경에서 application.yaml의 DDL 설정이 create로 되어 있어야 합니다.

애플리케이션이 구동 시, Hibernate가 엔티티를 분석하고 DDL을 통해 생성한 테이블에 대한 로그를 얻을 수 있습니다.

해당 로그를 복사하여 ChatGPT에게 DDL 문으로 정리받습니다

이후 ERD Cloud로 돌아와, IMPORT 구문 안에 정리된 DDL 스크립트를 붙여넣으면, 현재 프로젝트에서 사용 중인 테이블들이 자동으로 그려져 시간을 단축할 수 있습니다!

이제 색깔별로 정리한 후, 관계선만 이어 주면 되겠네요!


Team과 쉬운 공유와 협업

ERD Cloud의 장점은 작성한 ERD를 팀과 쉽게 공유할 수 있다는 큰 장점이 있습니다.

➕을 눌러, 본인에 팀을 추가해주세요!

추후 팀원 멤버들의 이메일을 받아 추가해 주시면 됩니다!

이 후 링크를 공유해주세요! 팀 멤버들만 접근이 가능한 ERD를 공유하며 쉽게 협업이 가능합니다!