

정답
㉠ UPDATE ㉡ 동영상.접속가능 = ‘F’ 동영상 테이블의 튜플만 삭제: DELETE FROM 동영상; 동영상 테이블과 이를 참조하는 제약조건 모두 삭제: DROP TABLE 동영상 CASCADE CONSTRAINTS;
출제 의도
특정 조건을 만족하는 튜플만 갱신하는 서브쿼리 기반 UPDATE 문을 작성하고, 테이블의 데이터만 삭제하는 명령과 테이블과 관련 제약조건까지 모두 삭제하는 명령을 구분할 수 있는지를 평가한다.
풀이 과정
먼저 서비스 테이블에서 환불대상이 아직 ‘F’이고, 연결된 동영상의 접속가능 값이 ‘F’인 경우에만 환불대상을 ‘T’로 바꿔야 한다.
튜플을 갱신하는 명령은 UPDATE 이므로 ㉠에는 UPDATE가 들어간다.
서브쿼리는 동영상 테이블에서 접속이 불가능한 동영상의 ID를 선택해야 한다. 접속 가능 여부는 동영상 테이블의 속성 ‘접속가능’에 ‘F’ 또는 ‘T’로 저장되어 있으므로, 조건은
\( \text{동영상.접속가능} = ‘F’ \)
가 된다. 따라서 ㉡에는 동영상.접속가능 = 'F'가 들어간다.
다음으로, 동영상 테이블은 남겨두고 그 안의 튜플만 모두 삭제하는 명령은 DELETE문을 사용해
DELETE FROM 동영상;
과 같이 작성한다.
마지막으로 동영상 테이블 자체와, 이를 참조하고 있는 모든 제약조건(외래키 제약 등)을 함께 삭제하려면 DROP TABLE에 CASCADE 옵션을 붙여
DROP TABLE 동영상 CASCADE CONSTRAINTS;
라고 작성하면 된다.
<풀이가 부정확할 수 있으니 반드시 교차검증 확인 바랍니다.>