Nellie's Blog

항상 헷갈리는 관계형 데이터베이스 다대다 쉬운 예시 (고객 - 상품) 본문

DB/Database

항상 헷갈리는 관계형 데이터베이스 다대다 쉬운 예시 (고객 - 상품)

Nellie Kim 2023. 6. 6. 11:00
728x90

DB를 공부할 때 다대다 관계가 제일 헷갈린다. 

혼자 공부를 하면서 나중에 기억하기 쉽도록 초딩들도 이해가능한 예제를 만들어보았다.

 

개념적 모델링의 기본적인 ERD 작성을 위한 예시이다.

 

고객 - 상품은 다대다 관계

대표적인 다대다 예시인 고객-상품관계이다.

고객은 여러 상품을 구매할 수 있고, 상품은 여러 고객에게 팔릴 수 있다. 엔티티를 만들어서 이해해 보자.

이 상태로는 아무것도 할 수가 없다.

kim 이 어떤 상품을 몇개 샀는지, 신라면은 누구에게 팔렸는지 어떻게 알 수 있을까...... ??? 

 

매핑 테이블을 하나 만들어서 해결해 보자.

 

 

'상품_고객' 테이블을 만들어 일대다, 다대일로 풀어주기

 

이렇게 두 테이블 사이에 '상품_고객' 테이블을 넣어주니, 위의 문제점이 해결되었다!!

 

물론 pk 로는 고객이름, 상품명 보다는 고객id , 상품id로 작성해주는 것이 좋지만 이해가 쉽도록 위와같이 작성하였다.