IT강의/데이터베이스

2018년도 정보처리기사 실기 2회 문제풀이 및 해설 - 5. SQL 쿼리문

샤핑 2020. 12. 27. 08:53
728x90
반응형

※ 문제의 내용은 제 기억에 의해 복구된 것이므로 기존 시험문제랑 완전히 똑같지는 않습니다. 그냥 참고용으로만 봐주시기 바랍니다.

<문제1>
다음 내용에서 빈칸 (1) ~ (5) 을 채우시오.

DCL은 데이터의 보안, 무결성, 회복, 병행제어 등을 정의하는 데 사용하는 언어입니다. DCL은 일반 사용자보다는 데이터베이스 관리자가 사용하는 언어입니다.

(1) 은 데이터베이스 조작 작업이 정상적으로 종료되었을 때 트랜잭션의 모든 변경 내용들을 데이터베이스에 반영하는 DCL 명령어입니다.

(2) 은 데이터베이스 조작 작업이 비정상정으로 종료되었을 때 변경된 모든 내용을 취소하고 데이터베이스를 원래의 상태로 복구하는 명령어입니다. 이것은 오류 동작 이후에도 깨끗한 사본으로 복원시킬 수 있기 때문에 무결성을 위하여 중요합니다. 충돌이 일어날 때 특정 트랜잭션을 (2) 함으로써 데이터의 무결성을 보장합니다.

(3) 은 데이터베이스 관리자가 특정 데이터베이스 사용자에게 권한을 부여하기 위한 명령어입니다.

(4) 은 (3) 으로 부여받은 사용자의 권한을 취소하기 위한 명령어입니다. 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한 또한 연쇄적으로 취소하기 위하여 (5) 을 사용합니다. "강수지"에게 부여된 <학생> 테이블에 대한 모든 권한과 "강수지"가 다른 사용자에게 권한을 부여할 수 있는 권한, 그리고 "강수지"가 다른 사람에게 부여한 권한을 취소하기 위한 SQL문은 아래와 같습니다.

(4) ALL ON 학생 FROM 강수지 (5);

 설명문 내용을 완벽히 다 기억하지는 못하므로 설명은 다른 사이트에서 가져왔습니다.
출처: https://blog.naver.com/owen989/221311141874

<해설>
난이도: 
(1) ~ (4)는 용어 암기 문제이므로 알면 맞고 모르면 틀리는 문제입니다.
(5)는 문제의 내용을 보면 '연쇄적으로 취소하기 위하여' 라고 적혀있습니다. 다시 말해 '연쇄 삭제' 이므로 쿼리문 뒤에 CASCADE 를 붙여주면 됩니다. 따라서 답은 
CASCADE 입니다.

<정답>
(1) COMMIT
(2) ROLLBACK
(3) GRANT
(4) REVOKE
(5) CASCADE


<문제2>
'학생' 테이블에 데이터 타입이 문자 15자리인 '주소' 속성을 추가하는 SQL문을 완성하기 위하여 다음 빈칸 (1), (2) 에 들어갈 가장 적합한 용어를 쓰시오.

(1) TABLE 학생 (2) 주소 VARCHAR(15);

<해설>
난이도: 
데이터 정의어(DDL)에 대한 문제입니다. 평소에 데이터베이스에 관심을 갖고 여러 가지 SQL 쿼리문을 사용해보았다면 충분히 맞출 수 있는 문제입니다. 테이블 정보를 변경할 때는 ALTER문을 사용하고 속성(Attribute)을 추가할 때는 ADD 명령어를 사용합니다. 따라서 정답은 (1) ALTER (2) ADD 입니다.

<정답>
(1) ALTER
(2) ADD

728x90
반응형
LIST