Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
[Spring] JPA @JoinColumn 의 이해(외래키 최적화)
외래키의 위치 일단 데이터베이스의 개념부터 설명하고 들어가자. 두개의 엔티티가 관계(연관)를 가지면 외래키가 두 엔티티중 하나에 들어가야한다. 예를 들어 프로젝트와 프로젝트 매니저 사원의 관계를 생각해보자. 프로젝트에는 단 한명의 매니저가 반드시 존재한다. (프로젝트가 관계에 완전 참여) 따라서 소수의 인원만이 프로젝트 매니저가 된다. (사원은 관계에 부분 참여) 즉, 다음과 같이 표현된다. 일단, 사원 테이블에 자신이 매니저를 맞고있는 컬럼이 있다고 생각해보자. 해당 컬럼은 프로젝트의 기본키를 외래키로 가져오게 된다. 그러나 소수의 사원만 매니저를 담당하므로 대부분의 사원에게는 NULL 값이 삽입되어야 한다. 수 많은 사원들의 해당 필드값이 NULL로 채워진다면, 공간을 낭비하게 된다. 반대로 프로젝트..
개발/Spring DataBase
2022. 12. 1. 00:38