R을 기반으로 V1, V1을 기반으로 V2, V2와 R을 기반으로 V3를 만들었다. 다음 SQL문의 실행 결과는?
DROP VIEW V1 RESTRICT;
1
V1만 삭제된다.
오답 이유RESTRICT는 종속 객체가 남아 있으면 V1 자체의 삭제도 허용하지 않으므로 V1만 삭제되는 결과가 아니다.
2
V1, V2, V3가 삭제된다.
오답 이유V1·V2·V3의 연쇄 삭제는 CASCADE를 지정했을 때 기대할 수 있는 결과이며 RESTRICT의 동작이 아니다.
3
종속 뷰가 있으므로 아무 뷰도 삭제되지 않는다.
정답 근거V2가 V1을 참조하고 V3도 종속 관계에 있으므로 RESTRICT가 V1 삭제를 거부해 세 뷰 모두 유지된다.
4
R, V1, V2, V3가 모두 삭제된다.
오답 이유DROP VIEW는 기반 테이블 R을 삭제하지 않는다. 더구나 RESTRICT 조건 때문에 V1과 종속 뷰도 남는다.
정답·상세해설
정답 3번
DROP VIEW V1 RESTRICT처럼 제한 삭제를 요청하면 V1에 의존하는 V2와, 다시 V2에 의존하는 V3가 존재하므로 DBMS는 삭제 명령을 거부한다. CASCADE를 지정한 경우와 달리 종속 뷰를 연쇄 삭제하지 않으며 기반 릴레이션 R도 삭제 대상이 아니다. 따라서 ③이 맞다.