주 테이블 외래키 장,단점에 관해 질문이 있습니다.
1523
작성한 질문수 88

"주 테이블만 조회해도 대상 테이블에 데이터가 있는지 확인 가능" 이 부분을 저는 주 테이블만 봐도 일단 외래키가 있다는 것은 대상 테이블에 뭔가가 있다는 것이니까 대상 테이블의 데이터 존재 유무 확인이 가능하다 라고 이해를 하였고
"값이 없으면 외래 키에 null 허용" 이 부분을 저는 OneToOne 관계이므로 한 사람은 라커 하나를 사용할 수 있고 라커도 한 사람에게 할당될 수 있으므로 주 테이블의 외래키인 LOCKER_ID가 null 이라는 것은 이 사람에게 할당될 라커가 없고 고로 대상 테이블에도 데이터가 없다 라고 이해를 했습니다.
이런 상황에서 두 가지 질문이 있습니다.
제가 이해한 것이 맞을까요?
테이블 칼럼의 값이 null인 것이 왜 단점일까요?
답변 1
4
안녕하세요. JUNN님
제가 이해한 것이 맞을까요?
네 맞습니다^^
테이블 칼럼의 값이 null인 것이 왜 단점일까요?
이 단점은 반대 케이스와 비교를 해서 단점인 부분인데요. 대상 테이블에 외래키의 경우 null 허용 없이 처리를 완료할 수 있습니다. (Locker가 없는 경우 대상 테이블 자체에 데이터가 들어가지 않으니까요)
테이블에 컬럼이 null을 허용하면 혹시 실수로 FK에 값을 넣지 않는 경우를 방어할 수 없는 단점이 있습니다.
감사합니다.
리뉴얼 시기
0
45
2
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
69
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
64
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
93
2
inheritance startegy 선택시 고려사항
0
60
1
Entity 동등성 비교
0
66
1
실무 조언 관련 질문입니다.
0
91
1
H2데이터베이스 파일 생성
0
105
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
1
95
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
84
1
JPQL 메소드와 락
0
80
1
Delivery @OneToOne
0
99
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
138
2
UnsupportedOperationException 발생
0
156
3
H2 Database 연결이 안됩니다.
0
127
2
연관관계 매핑 질문드립니다.
0
128
2
h2데이터베이스 실행오류
0
144
2
persistence.xml
0
153
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
120
1
영속성 컨텍스트
0
102
1
JPA 프록시
0
133
1
Native Query와 MyBatis
0
109
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
123
1
임베디드 타입 예시 코드 관련 질문
0
164
3





