문제
다음 중 참조 무결성에 대한 설명으로 옳지 않은 것은?
① 참조 무결성은 관련된 두 테이블의 참조 관계가 유효하게 유지되는 상태를 의미한다. ② 외래 키 값이 있는(자식) 테이블에서 레코드를 삭제하면 항상 참조 무결성이 위배된다. ③ 외래 키 값이 참조하는 기본 테이블에 없는 값으로 입력되면 참조 무결성이 위배된다. ④ 참조하는 자식 레코드가 없는 기본 테이블의 레코드는 삭제할 수 있다.
정답
2번
해설
정답: 2. 자식 테이블에서 레코드를 삭제하는 것은 참조 관계를 깨뜨리지 않으므로 참조 무결성이 위배되지 않는다. 따라서 항상 위배된다는 설명은 옳지 않다.
오답 풀이
- 1번: 참조 무결성은 참조 관계가 유효하게 유지되는 상태이므로 옳다.
- 2번: 자식 레코드 삭제는 무결성 위배가 아니므로 옳지 않다.
- 3번: 기본 테이블에 없는 값으로 외래 키를 입력하면 위배되므로 옳다.
- 4번: 참조하는 자식이 없는 기본 레코드는 삭제할 수 있으므로 옳다.
보충 개념 참조 무결성은 기본 테이블의 레코드 삭제·기본 키 변경 시 위배될 수 있으며, 자식 레코드 추가 시 잘못된 외래 키로도 위배된다.