문제
학생 테이블을 생성하면서 학과 테이블을 참조하는 외래키를 설정하려고 한다. 다음 설명 중 옳지 않은 것은?
① 학생 테이블의 학과번호는 학과 테이블의 학과번호를 참조할 수 있다. ② 외래키 컬럼에 DEFAULT 값이 지정되어 있으면 값을 생략했을 때 기본값이 입력될 수 있다. ③ DEFAULT 값이 지정된 컬럼은 값을 생략하면 무조건 NULL이 입력된다. ④ 외래키 값은 부모 테이블에 존재하는 값이어야 한다.
정답
3번
해설
정답: 3. DEFAULT 값이 지정되어 있으면 값을 생략했을 때 NULL이 아니라 기본값이 입력될 수 있다.
오답 풀이
- 1번: 학생의 학과번호가 학과 테이블을 참조하는 구조는 일반적이다.
- 2번: DEFAULT는 명시 값을 생략했을 때 적용될 수 있다.
- 3번: DEFAULT가 있으면 무조건 NULL이 입력된다는 설명은 틀리다.
- 4번: 외래키는 참조 무결성을 만족해야 한다.
보충 개념 DEFAULT는 INSERT 시 해당 컬럼 값을 생략하면 적용되는 기본값이다. 단, 명시적으로 NULL을 입력하면 DEFAULT가 적용되지 않을 수 있다.