코딩스토리

QUICK DBD 사용 후기 본문

데이터베이스

QUICK DBD 사용 후기

kimtaehyun98 2021. 10. 12. 14:28

ERD(Entity Relationship Diagram)

DB를 설계하다 보면 이들의 관계가 어떤지, FK, PK가 뭔지 등 테이블 간의 관계를 알고 싶을 때가 있다.

이럴 때 사용되는 것이 ERD이다. 

ERD란 개체 관계 모델, 즉 Entity, 테이블 관계를 설명해주는 다이어그램이다. 

 

아래의 예시를 보자.

총 5개의 테이블이 있다.

Product, OderLine, Order, OrderStatus, Customer 5개의 테이블이 각각의 관계를 가지고 있다.

 

만약 이러한 DB를 설계했다면 DB 설계자는 자기가 설계했기 때문에 기억할 수 있겠지만 며칠 뒤에 보면 까먹을 수도 있고, 다른 사람에게 DB를 설명해야 할 수도 있다.

 

이때 위처럼 ERD를 보여주면 한눈에 이해하기 쉬울 것이다.

 

아래는 ERD Notation에 관한 설명이다.

각각의 설명을 간단하게만 적어보면 다음과 같다.

 

1. One : 일대일 혹은 일대다 관계

2. Many : 다대다 관계

3. One (and only one) : 일대일 관계(하나의 row끼리만 연결)

4. Zero or one : 일대일 혹은 일대다 관계지만, 필수 조건이 아님

5. One or Many : 일대일 혹은 다대다 관계

6. Zero or Many : 참조하는 테이블과의 관계가 불명확

 

JPA를 공부할 때 일대다, 일대일 관계 등을 매핑하는 방법을 배웠었는데 아마 그것과 같은 의미가 아닐까 싶다.

 

그럼 만약 이런 ERD를 나타내고 싶을 때 어떻게 할 것인가?

 

옛날이라면, Quick DBD를 몰랐다면 아마 PPT로 한 땀 한 땀 열심히 그리고 있었을 것이다..

실제로 학교 수업에서 데이터그램 그리라 했을 때 PPT로 관계 표현하면서 그렸던 기억이 있다.

 

하지만 Quick DBD를 사용한다면 깔끔하고 이쁘고 간편하게 ERD를 그릴 수 있다.

 

위의 예시 사진이 사실 Quick DBD를 사용한 예시이다.

 

본인이 위의 예시와 같이 DB 설계를 마치고 ERD를 표현해야 한다면 다음과 같이 Quick DBD를 사용하여 표현할 수 있다.

 

개발자들에게는 어렵지 않은 코드들이다.

 

간단하게 OrderLine 테이블만 살펴보자.

 

OrderLine as ol
----
OrderLineID PK int
OrderID int FK >- Order.OrderID
ProductID int FK >- p.ProductID
Quantity int

 

한 줄씩 분석해보면

OrderLineID는 PK, 즉 기본키이며 int 형식을 갖는다

OrderID는 FK이며 Order 테이블의 OrderID와 relation을 갖는다

ProcutID는 FK이며 Produce 테이블의 ProductID와 relation을 갖는다.

Quantity attr은 int 형식으로 표현된다

 

이렇게 작성하면 아래와 같이 GUI로 나타나게 된다.

기본키(PK)는 파란색으로 표현되며 키 이미지도 옆에 뜨는 것을 확인할 수 있고

FK 들은 bold체로 notation이 걸린 것을 확인할 수 있다.

 

얼마나 간편한지~~

 

____________________________________________________________________________________________________________________________

아직 DB 설계를 많이 해보지 않았기 때문에, 또는 누군가에게 설계한 DB를 소개할 일이 없었거나, 복잡한 DB를 설계해 보지 않았기 때문에 ERD의 필요성을 못 느꼈을 수 도 있다. 물론 나도 위처럼 아직까진 ERD의 필요성을 간절하게 느껴보진 않았다. 하지만 앞으로 어떤 규모의 작업을 하게 될지도 모르고, 또 어떤 주제를 가지고 누구에게 브리핑해야 할 지도 모르기 때문에 분명 ERD는 필요하고, 많이 쓰게 될 것이다. 누군가에게 PPT 해야 한다면 DB를 일일이 설명 해 주는 것보다 ERD로 보여주는 것이 훨씬 더 높은 점수를 받지 않을까? 또 앞으로 서버 개발자를 희망하고 있기 때문에 DB 설계를 수도 없이 많이 하게 될 것이고, DB와는 떼려야 뗄 수 없는 사이가 돼버렸기 때문에 Quick DBD 같은 Tool들을 알고 있으면 후에 엄청나게 많은 도움이 될 것이다.

 

이쯤 되면 왜 이렇게 Quick DBD를 언급하는지, 제목이 왜 Quick DBD 후기인지 궁금할 것이다. 이유는 바로 내가 지금 활동하고 있는 동아리인 UMC의 과제 중 하나인데 Quick DBD는 유료 버전과 무료 버전이 있는데 (물론 무료 버전도 충분히 좋음) 유료 버전을 받기 위해서 이렇게 후기를 남기고 메일을 보내면 1년동안 무료로 유료 계정으로 업그레이드할 수 있다고 한다.

 

궁금한 사람들은 꼭 이와 관련된 정보를 찾아보고 유료로 계정을 사용하면 좋을 것 같다.

(아 참고로 무조건 500 단어를 넘겨야 하고 블로그 포스팅을 해야 하지만 이왕 쓸거면 유료 계정을 쓰는 것이 좋잖아요? ㅎㅎ)

Comments