twocowsong

일 대 일 [ 1 : 1 ] 본문

IT/JPA

일 대 일 [ 1 : 1 ]

WsCode 2022. 6. 18. 23:10

 1 : 1 관계는 양쪽이 서로 하나의 관계만 가집니다.

예를 들어 회원은 하나의 사물함만 사용하고 사물함도 하나의 회원에 의해서만 사용합니다.

 

1 : 1 관계는 다음과 같은 특징이 있습니다.

- 1 : 1 관계는 그 반대도 1 : 1 입니다.

- 테이블 관계에서 1 : N, N : 1은 항상 N 쪽이 외래키를 가지지만 1 : 1 관계는 주 테이블이나 대상 테이블 둘중 어느 곳이나 외래키를 가질 수 있습니다. 외래 키 하나만 있으면 양쪽으로 조회 할 수 있습니다.

따라서 1 : 1 관계는 주 테이블이나 대상 테이블 중 누가 외래 키를 가질지 선택해야 합니다.

 

주 테이블 외래 키

주 객체가 대상 객체를 참조하는 것 처럼 주 테이블에 외래 키를 두고 대상 테이블을 참조합니다.

외래 키를 객체 참조와 비슷하게 사용할 수 있어서 객체지향 개발자들이 선호합니다.

이 방법의 장점은 주 테이블이 외래 키를 가지고 있으므로 주 테이블만 확인해도 대상 테이블과 연관관계가 있는지 알 수 있습니다. (엔티티만 보고도 연관관계를 확인할수 있다는 장점을 가집니다.)

 

대상 테이블에 외래 키

전통적인 DB 개발자들은 보통 대상 테이블에 외래 키를 두는 것을 선호합니다.

이방법의 장점은 테이블 관계를 1 : 1 에서 1 : N으로 변경할 때 테이블 구조를 그대로 유지 할 수 있습니다.

 

이제 모든 1 : 1 관계를 하나씩 살펴보겠습니다.

 

 

 

 

 

'IT > JPA' 카테고리의 다른 글

대상 테이블에 외래 키  (0) 2022.06.19
주 테이블 외래 키  (0) 2022.06.19
일 대 다 양방향  (0) 2022.06.14
일 대 다  (0) 2022.06.13
다 대 일  (0) 2022.06.12