인프런 커뮤니티 질문&답변

백린이님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

일대일 [1:1]

1:1 연관관계

23.10.11 20:59 작성

·

412

0

1:1 연관관계인 두 엔티티가 존재할 경우, 사실 1개의 테이블로 관리할 수 있고, 2개의 테이블 분리해서 관리할 수 있는데, 두 엔티티를 분리하는게 더 나을 것 같아서 2개의 엔티티로 분리하는 걸까요?

답변 1

2

y2gcoder님의 프로필 이미지

2023. 10. 12. 09:29

안녕하세요. linky dev님, 공식 서포터즈 y2gcoder입니다.

 

말씀해주신 부분은 일대일 관계로 분리하는 기준 혹은 테이블 분리의 기준에 대해서 질문해주신 것으로 보입니다. 저는 다음과 같은 기준이 있다고 생각합니다.

  1. 데이터 사용 패턴: 항상 두 엔티티를 함께 조회하고, 수정하는 경우가 많다면 하나의 테이블로 통합해서 성능을 높일 수 있습니다. 반면 개별적으로 접근하고 사용한다면 분리하는 게 나을 수 있을 것 같습니다.

  2. 테이블 크기와 칼럼 수: 하나의 테이블이 너무 많은 컬럼을 가지게 되면 관리하고 확장하기 힘들 수 있습니다. 그럴 때 테이블을 분리하는 것을 고려해보는 것 같습니다.

  3. 유연성 확보: 예를 들어 지금은 1:1 관계지만 나중에 1:N 관계로 바뀔 수 있다면 분리해놓는 것이 나중의 변경을 위한 유연한 구조라고 생각합니다.

  4. 데이터 무결성: 엔티티 두 개 중 하나는 필수적으로 존재해야 하고, 다른 엔티티는 선택적으로 존재할 수 있다면 분리하는 것이 데이터 무결성 유지에 도움이 됩니다.

     

 

감사합니다.