국가 9급 데이터베이스론-나정답(2025-04-05 / 125.6KB / 154회)
국가 9급 데이터베이스론-나정답(2025-04-05 / 92.5KB / 16회)
2025년도 국가공무원 9급 공채 필기시험데이터베이스론책형1쪽 데이터베이스론 1. 다음 상황에 대한 트랜잭션(transaction)의 특성은? 제품의 재고량을 갱신하는 트랜잭션이 커밋(commit) 되기 전에 시스템 장애가 발생했다. 장애 후 데이터베이스는 트랜잭션이 수행한 변경 사항을 모두 취소하였고, 시스템은 장애 이전의 상태로 복구되었다. ① 일관성(consistency) ② 원자성(atomicity) ③ 지속성(durability) ④ 고립성(isolation) 2. 데이터를 구조 형태에 따라 구분할 때 이에 대한 설명으로 옳지 않은 것은? ① XML 문서는 데이터를 교환하는 용도로 활용되고 있다. ② 정형 데이터(structured data)는 미리 정해진 구조에 따라 데이터를 저장하며 관계 데이터베이스에서 널리 사용된다. ③ 비정형 데이터(unstructured data)에는 사전에 데이터 타입이 정해지지 않은 텍스트도 있다. ④ 반정형 데이터(semi-structured data)는 데이터 구조와 내용을 별도의 파일 형태로 저장한다. 3. 다음 릴레이션(relation) R과 S의 카티션 프로덕트(cartesian product) 연산 시 결과 릴레이션의 차수(degree)와 카디널리티(cardinality) 값은? R S 번호 이름 번호 100 강감찬 100 200 이순신 101 300 차수 ① 3 ② 4 ③ 3 ④ 4 한용운 카디널리티 6 6 9 9 102 4. 트랜잭션에 대한 설명으로 옳지 않은 것은? ① 커밋된 후에도 해당 트랜잭션은 롤백(rollback)을 사용하여 취소가 가능하다. ② 현재 수행 중인 트랜잭션을 롤백하면 트랜잭션에서 SQL 문에 의해 수행된 모든 갱신이 취소(undo)된다. ③ 현재 수행 중인 트랜잭션을 커밋하면 트랜잭션이 수행한 갱신을 데이터베이스에 영구적으로 반영한다. ④ 트랜잭션은 데이터베이스 관리 시스템(database management system)에서 데이터를 다루는 논리적인 작업의 단위이다. 5. ‘학생’ 테이블에 대한 검색 권한을 사용자 ‘홍길동’에게 부여하는 SQL 문을 완성할 때 (가)와 (나)에 들어갈 내용을 바르게 연결한 것은? (가) (나) ON 학생 TO 홍길동; (가) ① SELECT ② SELECT ③ GRANT ④ REVOKE (나) REVOKE GRANT SELECT SELECT 6. SQL에서 UNION과 UNION ALL에 대한 설명으로 옳은 것은? ① UNION은 UNION ALL과 달리 ORDER BY 절을 자동으로 추가한다. ② UNION은 UNION ALL보다 연산 결과 릴레이션의 속성 개수가 크다. 나이 82 53 66 ③ UNION은 중복된 투플을 제거하며, UNION ALL은 중복된 투플을 포함한다. ④ UNION은 두 릴레이션에서 서로 대응되는 속성의 도메인(domain)이 다를 때만 사용할 수 있다. 2025년도 국가공무원 9급 공채 필기시험데이터베이스론책형2쪽 7.다음 두 릴레이션 학생과 수강에서 아래 관계대수에 의해 생성된 결과로 옳은 것은? (단, 수강 릴레이션의 SID는 학생 릴레이션의 SID를 참조하는 외래키(foreign key)이다) 학생 SID Name Dept 101홍길동컴퓨터공학 102이몽룡경영학 103성춘향컴퓨터공학 104장보고경영학 수강 SID CID Grade 101 CS101 A 101 CS102 B 102 MG201 C 103 CS101 B 104 MG202 A Name, CID(Dept='컴퓨터공학'∨Grade='B'(학생⋈N수강)) ① Name CID 홍길동CS101 홍길동CS102 성춘향CS101 ② Name CID 홍길동CS102 성춘향CS101 ③ Name CID 이몽룡MG201 장보고MG202 ④ Name CID 홍길동CS102 8. NoSQL 데이터베이스에 대한 설명으로 옳은 것은? ①문서 기반(document-based) 데이터베이스는 주로 노드(node)와 간선(edge)을 사용하여 데이터를 관리한다. ②키-값(key-value) 데이터베이스는 분산하여 저장하는 시스템 환경에 적용하기에는 적합하지 않다. ③트랜잭션을 지원하여 ACID(Atomicity Consistency Isolation Durability)를 필수적으로 보장한다. ④문서 기반 데이터베이스는 반정형 데이터 형식을 지원한다. 9.다음 릴레이션에서 아래 SQL문을 실행하면 나오는 투플의 개수는? 사원 사원번호이름부서번호월급직책 1홍길동10 5000사원 2이순신20 3000대리 3강감찬30 4000과장 4장보고20 2000부장 5홍길동20 5000대리 6안중근10 2000과장 SELECT 사원번호, 월급, 부서번호 FROM 사원 WHERE 부서번호 IN (SELECT 부서번호 FROM 사원 WHERE 이름 = '홍길동'); ①2 ②3 ③4 ④5 10.다음 트랜잭션 T1과 T2를 수행한 후 X와 Y의 최종값은? (단, X와 Y의 초깃값은 각각 100, 200이다) 시간T1 T2 X = 20 write(X) read(X) X = X - 20 write(X) read(Y) Y = Y + 20 write(Y) X Y ①0 220 ②20 200 ③80 220 ④100 200 2025년도 국가공무원 9급 공채 필기시험데이터베이스론책형3쪽 11. 트리거(trigger)에 대한 설명으로 옳지 않은 것은? ① SQL 표준에 채택된 적은 없으나 실무상 유용하게 사용한다. ② 실행될 시점(event)과 이때 수행되어야 할 동작(action)으로 구성된다. ③ 무결성 제약 조건을 구현하는데 사용할 수 있다. ④ 데이터베이스에서 발생하는 특정 사건에 대하여 자동적으로 수행하는 구문이다. 12. 다음 트랜잭션 T1과 T2에 대한 2단계 로킹 규약(2-phase locking protocol)을 준수하기 위해 (가)와 (나)에 적합한 코드는? 시간 T1 lock(X) read(X) X = X + 10 write(X) (가) T2 lock(X) read(X) X = X * 20 write(X) read(Y) Y = Y + 100 write(Y) unlock(Y) (가) read(Y) Y = Y * 20 write(Y) unlock(Y) ① lock(Y) lock(Y) unlock(X) unlock(X) ② lock(Y) unlock(X) unlock(X) lock(Y) ③ unlock(X) lock(Y) lock(Y) unlock(X) ④ unlock(X) unlock(X) lock(Y) lock(Y) 13. 데이터베이스 접근제어(access control)에 대한 설명으로 옳은 것은? ① 강제 접근제어는 정보를 유출 시키는 트로이 목마 공격에 대하여 임의 접근제어보다 취약하다. ② 임의 접근제어는 데이터 소유자가 데이터에 대한 접근 권한을 제어하며, 주체 간 권한 위임이 가능하다. ③ 역할 기반 접근제어는 역할의 권한 변경 시 사용자마다 변경된 권한을 적용해야 한다. ④ Bell-LaPadula 모델은 허가 등급이 높은 주체가 허가 등급이 낮은 객체를 기록할 수 있다. 14. 다음 개체 관계 다이어그램(entity relationship diagram)에 대한 설명으로 옳지 않은 것은? ① 각 과제는 최소한 한 명의 직원에게 할당되어야 한다. ② 동일한 과제가 여러 명에게 할당될 수도 있다. ③ 각 직원은 최소한 한 과제를 할당받아야 한다. ④ 어떤 직원은 과제를 여러 개 할당받을 수도 있다. (나) (나) 15. 다음 트랜잭션 T1과 T2에서 발생하는 문제로 옳은 것은? 시간 T1 read(X) X = X + 100 T2 read(X) X = X * 2 write(X) ① 모순성(inconsistency) ② 갱신 분실(lost update) ③ 삽입 이상(insertion anomaly) ④ 연쇄 복귀(cascading rollback) write(X) 2025년도 국가공무원 9급 공채 필기시험데이터베이스론책형4쪽 16. 참조 무결성 제약조건(referential integrity constraint)에 대한 설명으로 옳은 것만을 모두 고르면? ㄱ. 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는 데 사용된다. ㄴ. 외래키는 참조되는 테이블의 기본키 값이 삭제될 경우, 해당키를 외래키로 가지는 모든 투플을 삭제해야만 한다. ㄷ. 외래키 값은 참조되는 릴레이션의 후보키(candidate key) 값과 일치하거나 NULL이어야 한다. ① ㄱ, ㄴ ② ㄱ, ㄷ ③ ㄴ, ㄷ ④ ㄱ, ㄴ, ㄷ 17. 다음 정규화(normalization)에 대한 설명으로 옳은 것만을 모두 고르면? ㄱ. 제1정규형에서는 릴레이션에 속한 모든 속성의 도메인이 원자값(atomic value)으로만 구성된다. ㄴ. 제2정규형에서는 이행적 함수 종속이 존재하지 않는다. ㄷ. 보이스-코드 정규형(BCNF)은 함수 종속의 모든 결정자가 후보키이다. ㄹ. 제2정규형 이상에서는 다치 종속(multi valued dependency)을 고려하지 않아도 된다. ① ㄱ, ㄴ ② ㄱ, ㄷ ③ ㄴ, ㄹ ④ ㄱ, ㄷ, ㄹ 18. 다음 릴레이션 R에 대한 SQL문의 실행 결과는? R A B 1 5 1 7 2 1 2 3 2 2 3 12 4 5 4 4 5 SELECT COUNT(*) AS T FROM ( SELECT A FROM R GROUP BY A HAVING SUM(B) > 10 ) AS S; 6 5 ① S 3 ③ T 3 5 ② S 4 ④ T 4 19. 인덱스(index)에 대한 설명으로 옳지 않은 것은? ① 테이블에서 한 개 이상의 속성을 이용하여 생성한다. ② 빠른 검색과 효율적인 레코드 접근을 가능하게 한다. ③ 희소 인덱스(sparse index)는 그 인덱스가 클러스터링 인덱스인 경우 사용할 수 없다. ④ 데이터에서 수정, 삭제 등의 변경이 발생하면 인덱스를 재구성할 수 있다. 20. 다음 뷰(view)에 대한 설명으로 옳은 것만을 모두 고르면? ㄱ. 실체화된 뷰(materialized view)는 뷰 정의 쿼리 결과를 물리적으로 저장해 두고 일정 주기로 갱신할 수 있다. ㄴ. 뷰는 데이터 보안 강화, 복잡한 쿼리 단순화를 위해 사용할 수 있다. ㄷ. 뷰에 GROUP BY 절을 포함하는 경우에는 뷰를 갱신할 수 있다. ① ㄱ, ㄴ ② ㄱ, ㄷ ③ ㄴ, ㄷ ④ ㄱ, ㄴ, ㄷ