작성
·
1.4K
1
"주 테이블만 조회해도 대상 테이블에 데이터가 있는지 확인 가능" 이 부분을 저는 주 테이블만 봐도 일단 외래키가 있다는 것은 대상 테이블에 뭔가가 있다는 것이니까 대상 테이블의 데이터 존재 유무 확인이 가능하다 라고 이해를 하였고
"값이 없으면 외래 키에 null 허용" 이 부분을 저는 OneToOne 관계이므로 한 사람은 라커 하나를 사용할 수 있고 라커도 한 사람에게 할당될 수 있으므로 주 테이블의 외래키인 LOCKER_ID가 null 이라는 것은 이 사람에게 할당될 라커가 없고 고로 대상 테이블에도 데이터가 없다 라고 이해를 했습니다.
이런 상황에서 두 가지 질문이 있습니다.
제가 이해한 것이 맞을까요?
테이블 칼럼의 값이 null인 것이 왜 단점일까요?
답변 1
4
안녕하세요. JUNN님
제가 이해한 것이 맞을까요?
네 맞습니다^^
테이블 칼럼의 값이 null인 것이 왜 단점일까요?
이 단점은 반대 케이스와 비교를 해서 단점인 부분인데요. 대상 테이블에 외래키의 경우 null 허용 없이 처리를 완료할 수 있습니다. (Locker가 없는 경우 대상 테이블 자체에 데이터가 들어가지 않으니까요)
테이블에 컬럼이 null을 허용하면 혹시 실수로 FK에 값을 넣지 않는 경우를 방어할 수 없는 단점이 있습니다.
감사합니다.