ERD 설계 툴 - QuickDBD

안대현·2022년 5월 20일
0
post-thumbnail

ERD 설계를 위해 많이 사용되는 툴로 ERD Cloud, MySQL Workbench, StarUML, AqueryTool 등이 있다. 각 툴마다의 장단점이 있기 때문에 어떤 툴이 특별이 좋다고 할 수는 없고, 개인 또는 프로젝트 성향에 맞추어 적절히 고르면 될 것 같다.

오늘은 개인 프로젝트에 간단히 사용할 수 있는 무료 ERD 설계 툴인 QuickDBD를 사용해 보겠다.


1. Quick DBD에서 ERD 설계하기

우선, QuickDBD는 별도의 로그인 없이 홈페이지에 접속해서 사용이 가능하다.

최초 접속 시, TRY THE APP 버튼을 눌러 서비스를 시작하면 아래 사진과 같이 샘플 ERD가 표시될 것이다.

화면의 왼쪽 구역은 QuickDBD만의 문법으로 DDL을 작성하는 곳이고, 화면의 오른쪽은 ERD가 표시되는 곳이다. 한글 지원은 되지 않아 한글 입력 시 오류가 발생할 수 있으므로 주의하자.

각 제약 조건은 선으로 연결되며 몇 대 몇 관계인지도 표현이 가능하다. 다만, 식별.비식별을 구분할 수는 없는 것 같다.

이제 본격적으로 테이블을 생성하는 문법을 확인해보자!

코드 입력 부분에서 테이블 이름을 먼저 입력한 뒤, 바로 아랫줄에 - 기호를 입력하면 - 기호를 기준으로 윗 단어는 테이블 이름, 그 아래로는 테이블 속성으로 인식된다.

테이블 속성은 속성이름을 먼저 입력하고 그 뒤에 타입이나 제약조건을 설정하면 된다. 값을 입력할 때 CTRL + SPACE를 통해 자동 완성 기능을 사용할 수 있다.

외래 키 제약 조건을 설정하는 방법은 두 가지가 있다.

  • 첫 번째 방법은 왼쪽 화면에서 "FK >- 테이블이름.속성이름"의 형태로 입력하여 생성하는 것이다.
  • 두 번째 방법은 오른쪽 화면에서 속성에 마우스를 가져다 대면 동그란 점이 생기는데 해당 점을 끌어서 다른 속성에 가져다 대면 외래 키 연결이 된다.

관계는 아래와 같이 설정 가능하다.

-     - one TO one
-<    - one TO many
>-    - many TO one
>-<   - many TO many
-0    - one TO zero or one
0-    - zero or one TO one
0-0   - zero or one TO zero or one
-0<   - one TO zero or many
>0-   - zero or many TO one

2. 원하는 DB 종류에 맞게 테이블 생성문 Export 하기

Quick DBD에서는 원하는 DB 종류에 맞추어 테이블을 생성하는 SQL을 Export 해주는 기능이 있다.
ERD 설계를 마친 뒤, 상단의 EXPORT 버튼을 클릭하면 내보낼 수 있는 DB 종류가 표시된다. 테스트를 위해 MySQL 버전으로 내보내기를 진행해 보겠다.

샘플 코드 조금 수정한 뒤, MySQL 버전으로 추출한 sql 파일을 DataGrip에서 돌려보겠다.
추출된 sql 파일은 아래 코드처럼 구성되어 있다.

-- Exported from QuickDBD: https://www.quickdatabasediagrams.com/
-- NOTE! If you have used non-SQL datatypes in your design, you will have to change these here.

-- Modify this code to update the DB schema diagram.
-- To reset the sample schema, replace everything with
-- two dots ('..' - without quotes).

CREATE TABLE `Customer` (
    `CustomerID` int  NOT NULL ,
    `Name` string  NOT NULL ,
    `Address1` string  NOT NULL ,
    `Address2` string  NULL ,
    `Address3` string  NULL ,
    PRIMARY KEY (
        `CustomerID`
    )
);

DataGrip에서 Run SQL Script 기능을 이용해 추출한 sql 파일을 돌리면 테이블이 정상적으로 생성되는 것을 확인할 수 있다.

3. 외부 DDL SQL Import 하기

반대로 다른 곳에서 작성된 SQL을 Quick DBD로 가져와 ERD를 살펴볼 수 있는 기능도 있다.

상단의 IMPORT 버튼을 클릭하면 가져올 수 있는 DB 유형이 표시된다. 아직은 Beta 버전으로만 지원되는 듯 하다.

MySQL sql 파일을 IMPORT하여 테스트해 보겠다.
IMPORT에 성공하면 File successfully imported라는 문구와 함께 CONTINUE 버튼이 표시된다.

외부 sql 파일을 가져오면 해당 DDL문이 Quick DBD에서의 문법에 맞게 수정되어 왼쪽 구역에 표시되고, 오른쪽에는 ERD가 표시된다. 다만, ERD가 보기 좋게 배치되어 있지는 않아서 직접 드래그하여 배치를 해야한다는 점이 귀찮을 수 있다.

4. 장단점

먼저, Quick DBD를 사용해 보면서 느낀 장점이다.

  1. ERD 디자인이 군더더기 없이 깔끔하다.
  2. 무료로도 30개 이상의 테이블 생성이 가능하고, 코드로 테이블 추가가 가능하여 개발자 입장에서 조금 더 친숙하다.
  3. 기본적인 가져오기/내보내기 기능을 지원한다.
  4. 프로 버전은 트윗을 통해 2개월 사용이 가능하고, 블로그에 리뷰를 작성하면 1년 동안 사용이 가능하다.
  5. ERD에서 테이블의 자유로운 배치가 가능하다.

다음은 해당 툴을 사용해 보면서 느낀 단점이다.

  1. 한글 지원이 되지 않아 코드에서 한글을 입력하면 오류가 발생한다.
  2. 가져오기/내보내기 기능이 완벽하진 않다.
  3. 자동 배치 기능이 없어 감각이 없는 사람에게는 깔끔한 배치가 힘들 수 있다.
profile
백엔드 개발자로 향하는 계단을 오르고 있습니다! 😎

0개의 댓글