DB/etc

매핑 테이블(mapping table)

sshhhh 2023. 10. 5.

다른 두 개체나 데이터 집합 간의 상호 관계를 기록하고 매핑하는 데 사용되는 테이블

 

 

 <목적>

  1. 관계 형성
    두 가지 서로 다른 데이터 집합 간의 관계를 정의하고 관리하는 데 사용됩니다.
    예를 들어, 데이터베이스에서는 매핑 테이블을 사용하여 두 테이블 간의 관계를 나타내는 데 활용합니다.
  2. 외래 키 관리
    매핑 테이블은 다른 테이블에서 가져온 데이터를 참조하거나 관리할 때
    외래 키(Foreign Key) 관계를 설정하는 데 사용됩니다. 이를 통해 데이터의 일관성과 무결성을 유지할 수 있습니다.
  3. 다대다 관계 처리
    두 엔티티(데이터 요소) 간의 다대다(N:N) 관계를 다룰 때 매핑 테이블을 사용합니다.
    이 테이블은 두 엔티티 간의 관계를 중개하고 추가 정보(예: 타임스탬프, 상태)를 저장할 수 있습니다.
  4. 데이터 통합
    서로 다른 데이터 소스나 형식에서 데이터를 통합하고 매핑하기 위해 매핑 테이블을 사용합니다.
    이를 통해 데이터 변환과 통합 프로세스를 간단하게 만들 수 있습니다.

 

 

예를 들어, 온라인 쇼핑 웹사이트에서 제품과 주문 간의 관계를 나타내는 매핑 테이블이 있을 수 있습니다.

이 테이블은 각 제품에 대한 주문 번호를 기록하여 특정 주문이 어떤 제품을 포함하는지를 나타냅니다.

 


 

<예시>

학생과 강의 간의 다대다(N:N) 관계를 나타내는 학생-강의 매핑 테이블 (학생과 강의를 연결)

 

 

학생 (Students) 테이블:

| 학생ID | 학생이름 |
|--------|----------|
| 1      | Alice    |
| 2      | Bob      |
| 3      | Carol    |

강의 (Courses) 테이블:

| 강의ID | 강의제목       |
|--------|----------------|
| 101    | 수학           |
| 102    | 과학           |
| 103    | 역사           |

학생-강의 매핑 (Student_Course_Mapping) 테이블:

| 학생ID | 강의ID |
|--------|--------|
| 1      | 101    |
| 1      | 102    |
| 2      | 102    |
| 2      | 103    |
| 3      | 101    |

 

이 매핑 테이블은 학생과 강의 간의 다대다 관계를 나타냅니다.

예를 들어, 학생 Alice는 수학(강의ID 101)과 과학(강의ID 102) 강의를 수강하고 있으며,

학생 Bob는 과학(강의ID 102)과 역사(강의ID 103) 강의를 수강하고 있습니다.

 

 

이런 식으로 매핑 테이블을 사용하면 복잡한 다대다 관계를 효과적으로 관리하고

데이터베이스에서 각 학생이 어떤 강의를 수강하고 있는지 추적할 수 있습니다.

'DB > etc' 카테고리의 다른 글

MSSQL 자동 증가 열(IDENTITY)과 시퀀스(Sequence)  (0) 2023.10.05
MSSQL OPTION(RECOMPILE)  (1) 2023.10.05
DB 트랜잭션  (0) 2023.10.05
DB 인덱스 INDEX  (1) 2023.10.05
ORACLE, MYSQL ERD 생성  (0) 2023.09.13

댓글