문제
다음 중 참조 무결성에 대한 설명으로 옳지 않은 것은?
① 외래 키 값은 참조하는 테이블의 기본 키 값 중 하나이거나 Null이어야 한다. ② 참조되는 쪽(기본 키) 테이블의 레코드를 삭제하면 참조 무결성이 깨질 수 있다. ③ 외래 키가 있는 테이블에서 레코드를 삭제하면 항상 참조 무결성이 위배된다. ④ 외래 키가 있는 테이블에 새 레코드를 추가할 때 외래 키 값이 Null이면 참조 무결성이 유지된다.
정답
3번
해설
정답: 3. 외래 키가 있는 자식 테이블의 레코드를 삭제하는 것은 참조 무결성을 위배하지 않으며, 위배 위험은 참조되는 부모 테이블의 레코드를 삭제·변경할 때 발생한다.
오답 풀이
- 1번: 외래 키 값은 참조하는 기본 키 값 중 하나이거나 Null이어야 하므로 옳다.
- 2번: 부모 테이블의 레코드 삭제는 참조 무결성을 깨뜨릴 수 있으므로 옳다.
- 3번: 자식 레코드 삭제는 무결성 위배가 아니므로 "항상 위배된다"는 옳지 않다.
- 4번: 외래 키 값이 Null이면 무결성이 유지되므로 옳다.
보충 개념 참조 무결성은 외래 키가 참조하는 기본 키 값과 항상 일치하거나 Null이어야 한다는 규칙으로, 부모 측 삭제·갱신 시 연쇄 처리를 설정해 유지할 수 있다.