[SQL] DBdiagram으로 테이블 관계 시각화하기

Yalstrax·2021년 7월 27일
5

Back End

목록 보기
8/22
post-thumbnail

dbDiagram으로 테이블 시각화

MySQL을 처음 배우면서, 테이블간의 관계를 글로만 써놓고 데이터를 다루려니 머릿속으로 그려가면서 SQL문을 작성해야했기 때문에 시간이 더 오래 걸렸습니다.

테이블간의 관계를 미리 스키마 디자인할 때 전부 명시해놓고, SQL문을 작성한다면 더 생산성있는 작업이 가능하다는 것을 실습을 해가며 느꼈습니다.

dbdiagram.io 에서 테이블간의 관계를 시각화할 수 있고, 이것을 보며 편리하게 SQL문을 작성할 수 있었습니다.

문법이 여러가지 있었지만, 저는 아주 기초적으로 테이블간의 관계만 명시하기 위해 두가지 문법만 사용했습니다.

예를 들어, 테이블의 구성이 고객, 상품, 주문 으로 구성된 경우입니다.

여기서 고객주문일대 다(1:N) 관계입니다.

주문상품다대 다(N:M) 관계입니다.

  • 하나의 주문에 여러 개의 상품이 담길 수 있고,

  • 하나의 상품에 여러 개의 주문이 담길 수 있습니다.

즉, 다대 다 관계를 표현하기 위해, 주문 - 상품 이라는 Join Table을 생성합니다.

그 테이블엔 주문id, 상품id참조 키로 하여 담기게 됩니다.

dbdiagram.io으로 위 예시를 작성해보았습니다.

users(고객), items(상품), orders(주문), order-items(주문-상품) 테이블을 생성하고, 필드의 값을 각각 설정합니다.

테이블간 관계를 시각화하기 위해, Ref를 사용했습니다.

일대 다 관계인 경우, 예를 들어 usersorders의 관계는 users1, orders 가 되는 일대 다 관계입니다.

dbdiagram.io에서 일대 다 관계를 표현할 땐, 가 되는 테이블이 더 크다 는 부등호 표시(>)를 하는 것으로 표현할 수 있습니다.

위 예시로 보면, orders가 되기 때문에, orders > users가 된 것을 확인할 수 있습니다.

이렇게 하여 시각화된 테이블간의 관계는 아래와 같습니다.

이렇게 시각화된 테이블간의 관계를 통하여 SQL문 작성의 생산성을 향상할 수 있습니다.

profile
즐겁다면 그것만으로 만만세!

0개의 댓글