1. 1:N (일대다) 관계의 이해
관계형 데이터베이스에서 가장 보편적으로 사용되는 엔티티 간 연결 구조.
- 정의: 하나의 엔티티(Table)가 관계를 맺은 다른 엔티티의 여러 객체를 가질 수 있는 구조.
- 구현 방식: 주로 기본키(Primary Key)와 외래키(Foreign Key)를 사용하여 관계를 형성.
- 외래키(FK)의 역할: 다른 테이블의 기본키 컬럼과 연결되어 참조되는 테이블의 컬럼을 의미.
- 운영 효율: 부모 테이블(1)의 정보가 변경되어도 자식 테이블(N)의 데이터를 일일이 수정할 필요가 없어 효율적인 운영이 가능.
- 대표 예시: 한 명의 고객(1)이 여러 건의 주문(N)을 수행하는 고객-주문 관계가 전형적.
2. N:M (다대다) 관계의 이해
양쪽 엔티티 모두가 서로에게 1:N 관계를 갖는 복합적인 논리 구조.
- 정의: 어느 쪽 엔티티에서도 상대 엔티티의 여러 객체와 연결될 수 있는 형태를 말함.
- 구현 방식: 관계형 데이터베이스에서는 두 테이블만으로 직접 연결이 불가능하며, 새로운 매핑 테이블(Mapping Table)을 통해 관계를 맺음.
- 대표 예시: 여러 수업을 듣는 학생(N)과 여러 학생이 수강하는 수업(M) 간의 관계.
3. 매핑 테이블(Mapping Table)의 기능
N:M 관계를 논리적으로 풀어내기 위해 도입되는 중계용 테이블임.
- 연결 원리: 두 엔티티의 기본키(PK)를 각각 참조하는 외래키(FK)들을 모아 하나의 새로운 테이블을 구성.
- 구조적 변환: 복잡한 N:M 관계를 두 개의 1:N 관계로 분해하여 관리함으로써 데이터의 무결성을 보장.
추가 정리
Q. 1:N 관계의 핵심은 무엇인가?
- 하나의 엔티티가 다른 엔티티의 여러 객체를 소유하거나 관련지을 수 있는 논리적 계층 구조.
Q. 설계 시 N:M 관계를 어떻게 처리해야 하는가?
- 논리 설계 단계에서 발견된 N:M 관계는 물리 설계 시 반드시 중계(매핑) 테이블을 생성하여 정규화된 형태의 1:N 관계로 변환해야 함.
핵심 정리
- 1:N 관계: 부모의 PK를 자식이 FK로 참조하여 연결되는 가장 기본적인 관계.
- N:M 관계: 양방향 모두 다수의 객체와 연결되는 구조로, 별도의 매핑 테이블이 필수적.