SQL과 DB

연관관계 매핑 : 1대1, 1대다 다대1, 다대다

wintertreey 2025. 6. 30. 12:35

1대1

아주 기본적인 관계. 설명 생략.

 

1대다

관리자 아파트
A 1, 2
B 3, 4

 

이럴때는 아파트 테이블에 관리자 id를 FK로 둔다.

 

다대1

관리자 아파트
A, B 1
C, D 2

 

이럴때는 관리자 테이블에 아파트 id를 FK로 둔다.

 

다대다

관리자 아파트
A 1, 2, 3
B 2, 3, 4

 

관리자 A의 입장에서 보면, 아파트 1,2,3을 관리.

아파트 2의 입장에서 보면, 관리자 A, B가 담당.

 

이처럼 다대다관계가 될 때, 이 두 테이블의 연관관계를 담은 테이블을 만들게 된다.

 

UK 관리자 아파트
1 A 1
2 A 2
4 A 3
5 B 2
6 B 3
7 B 4

 

이 테이블에 필수적으로 들어가야 하는 사항은 관리자와 아파트간의 매핑사실을 담은 칼럼.

편의성을 위해 auto increment를 담은 uk 칼럼정도를 만들 수 있다.

그 외에 상황에 따라, 관리권한을 기간별로 줄 수 있도록, 시작시간과 해제시간 칼럼을 넣는 등 부가적인 칼럼을 추가할 수 도 있다.

 

매핑 관계를 담은 테이블은 비단 다대다일때에만 만드는것은 아니다. 현재 기준 설계를 할때엔 1대다 관계일지라도 추후 설계에 변동 및 확장 가능성이 있다면, 미리 DB 설계시 다대다 테이블을 만들어 두는것도 좋다.