
나는 위처럼 인터넷에 떠돌아다니는 무료툴을 이용해 ERD를 설계하거나 IDE에서 제공하는 툴을 이용해 ERD를 설계하곤 했다. 하지만 이렇게 작성된 ERD는 관계도를 표현하기에 매우 힘들고 각각의 관계를 제한에 대한 표현을 해줘야만 한다. 특히 ppt를 이용해서 ERD를 작성하게되면 한 슬라이드에서 규모가 커질 경우 공간이 부족하여 직관성이 떨어지는 단점이 있다. 그래서 다른 ERD작성 툴을 찾아보던 도중 QUICK DBD를 알게 되었다.
QUICK DBD란?
QUICK DBD는 Quick Database Diagram의 약자로 말 그대로 빠르게 ERD를 설계하는 툴이다.
ERD란?
Entity Relationship Diagram의 약자로 Entity 간의 관계를 직관적으로 그려준 다이어그램이다.
보통 데이터베이스를 설계할 때 ERD를 먼저 설계하며 그 이유는 개략적으로 데이터 및 데이터들의 관계를 표현하여 도식화 했기 때문이고 분석가들은 조직의 데이터를 이해하고 이를 응용프로그램에 반영하기 위해서 ERD를 작성한다.
Entity란?
표현할 정보를 가지고 있는 독립적인 객체 또는 실체이다.
비슷한 속성의 개체 타입을 구성하며 개체 집합으로 묶인다.
Attribute란?
Entity가 가지고 있는 특성, 성질이다.

위 사진은 QUICK DBD의 무료판을 사용해본 사진이다. 코드도 그렇게 어렵지 않았고 무엇보다 오른쪽에 Entity와 Relation를 직관적으로 볼 수 있다는 점이 매우 마음에 들었다. 또한 Relation을 아래와 같이 6개 심볼로 나누어서 더욱 보기 편하게 하였다. 화살표에 숫자를 붙이거나 줄을 두줄로 표현하는 방법과는 다른 QUICK DBD만의 방식을 쓴것 같았다.
아래는 ERD 노테이션의 종류와 설명이다.

1. One : 일대일 혹은 일대다 관계
2.. Many : 다대다 관계
3. One (and only one) : 일대일 관계(하나의 row끼리만 연결)
4. Zero or one : 일대일 혹은 일대다 관계지만, 필수 조건이 아님
5. One or Many : 일대일 혹은 다대다 관계
6. Zero or Many : 참조하는 테이블과의 관계가 불명확

작성한 코드 중에 OrderLine부분을 살펴보자
OrderLine as ol
----
OrderLineID PK int
OrderID int FK >- Order.OrderID
ProductID int FK >- p.ProductID
Quantity int
OrderLineID는 PK, 즉 기본키(Primary Key)이며 int 형식을 갖는다
OrderID는 FK(Foreign Key)이며 Order 테이블의 OrderID와 relation을 갖는다
ProcutID는 FK(Foreign Key)이며 Produce 테이블의 ProductID와 relation을 갖는다.
Quantity attribute는 int 형식으로 표현된다
사용 계기와 느낀점
이번에 코딩 부트캠프를 진행하면서 QUICK DBD를 접하게 되었는데 데이터베이스를 설계할 때 ERD를 잘 짜는 것이 정말 중요하다는 것을 알았기 때문에 왜 굳이 QUICK DBD같은 툴을 사용하는지 의문을 갖지는 않았다.
QUICK DBD는 별도의 소프트웨어를 다운받을 필요 없이 웹 브라우저 내에서 설계가 가능한 점이 매우 맘에 들었다. GUI가 사용자 친화적이고 ERD가 직관적이기 때문에 작업수행에 수월하고 여러명이 작업할 때 좋을 것 같다. 특히 MySQL을 공부하는 입장에서 매우 자주 사용하게 될 것 같다. 학기 중에 데이터베이스 수업이 있었기 때문에 데이터베이스 프로젝트에서 데이터베이스를 설계했어햐 했는데 확실히 종이나 펜을 이용해 ERD를 설계하고 데이터베이스를 설계하는 것 보다는 확실히 직관적이고 정확했기 때문에 참 좋았던것 같다. 그 때 QUICK DBD를 사용해서 설계했으면 학점을 더 높게 받았을지도 모르겠다. 지금은 QUICK DBD를 사용할 때 무료 배포판을 사용하였지만 앞으로 백엔드 개발자가 되고 취업해서 DB를 만질 것이라고 생각하면 충분히 돈을 주고 결제해서 사용할 만 하다고 생각된다. 마치 처음 Eclipse에서 Intellij로 넘어갈 때 굳이 돈을 주면서 IDE를 바꿔야하나 하고 생각했던 것과 Intellij를 써본 뒤로 Eclipse는 쳐다도 보지 않는 것처럼 말이다. 다른 백엔드 개발자에게도 QUICK DBD를 추천하고 싶고 QUICK DBD로 인해 개발이 편리해졌기 때문에 너무 감사하다.
참고:
'Backend' 카테고리의 다른 글
Spring vs Spring boot (0) | 2021.12.25 |
---|---|
mariaDB - console (0) | 2021.11.02 |