[DB] RDBMS에서의 N:M 관계

최동혁·2023년 1월 12일
0

데이터베이스

목록 보기
3/18

RDBMS에서의 N:M 관계는?

관계형 데이터베이스(RDBMS)에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조를 말한다.

1:N

관계형 데이터베이스에서 하나의 entity(table)가 관계를 맺은 entity의 여러 객체를 가질 수 있는 구조를 말한다.

두 table간의 관계를 mapping cardinality로 표현하고, 종류는 크게 다음과 같다.

  • 1:1
  • 1:N
  • N:M

실무에서 가장 자주 등장하는 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 구조인 학생-수업 관계를 살펴보자.

면접 질문

  1. 1:N 관계에 대해서 설명해 주세요.

    관계형 데이터베이스에서의 하나의 entity(table)가 관계를 맺은 entity의 여러 객체를 가질 수 있는 구조를 말합니다.

profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글