5-1. 다대다 관계란?

다대다(M:N) 관계는 한 엔티티의 한 행이 다른 엔티티의 여러 행과 관계를 맺을 수 있고, 반대로도 마찬가지인 경우를 말한다.

예시:

이를 카디널리티로 표현하면 다음과 같다.

5-2. 관계형 데이터베이스가 가진 한계

관계형 데이터베이스는 기본적으로 FK를 이용한 1:1, 1:N, N:1 관계는 잘 표현하지만, 직접적인 M:N 관계는 지원하지 않는다.

문제는 두 가지다.

  1. M:N 관계를 그대로는 물리적으로 구현할 수 없다.
  2. 관계에 속한 추가 속성을 저장할 수 없다.

그래서 M:N 관계를 해결하기 위해서는 **새로운 엔티티(테이블)**이 필요하다.