ABOUT
home
무료 콘텐츠
home
2️⃣

관계형 데이터베이스의 N:M 관계에 대해서 설명해 주세요.

[핵심 답변]
관계형 데이터베이스에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조를 말합니다.
[면접  TIP]
N:M 관계는 실제 프로젝트에서 자주 쓰이면서도 제대로 이해하기 어려울 수 있는 내용입니다. 따라서 실제 프로젝트에서 마주할 수 있는 상황을 예시로 주면서 N:M 관계로 데이터베이스를 설계해 보라는 질문을 종종 받게 됩니다. 따라서 예시를 통해 N:M 설계를 어떻게 할지를 생각하면서 학습하시길 바랍니다.

1:N

관계형 데이터베이스에서 하나의 entity(table)가 관계를 맺은 entity의 여러 객체를 가질 수 있는 구조를 말합니다.
두 table간의 관계를 mapping cardinality로 표현하고, 종류는 크게 다음과 같습니다.
1:1
1:N
N:M
실무에서 가장 자주 등장하는 1:N 구조인 고객-주문 관계를 살펴보겠습니다.
1:N 구조
1:N 구조
1:N 구조에서는 보통 primary key - foreign key를 사용하여 관계를 맺습니다.
Foreign key(외래키)는 다른 table의 Primary key column과 연결되는(참조되는) table의 column을 의미합니다. 즉, 두 table을 연결할 때 한 table의 외래키가 다른 하나의 table의 기본키가 됩니다.
그림의 예시와 같은 상황에서 고객의 정보가 변경된다고 해도, 주문내역 table은 수정할 필요가 전혀 없게 되어 효율적인 데이터베이스 운영이 가능해집니다.

N:M

관계형 데이터베이스에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조를 말합니다.
N:M 구조에서는 보통 새로운 table(Mapping table)을 통해서 관계를 맺습니다. 가장 친숙한 N:M 구조인 학생-수업 관계를 살펴보겠습니다.
N:M 구조
Mapping table
[꼬꼬무 문답]
Q. 1:N 관계에 대해서 설명해 주세요.