국가 7급 2차 데이터베이스론-나정답(2024-10-12 / 225.8KB / 1,147회)
국가 7급 2차 데이터베이스론-나정답(2024-10-12 / 440.5KB / 163회)
2024년도 국가공무원 7급 공채 제2차 필기시험 데이터베이스론 책형 1쪽 데이터베이스론 1. 데이터베이스의 일반적인 특징으로 옳지 않은 것은? ① 데이터의 실시간 처리가 가능하다. ② 여러 사용자가 동시에 이용할 수 있다. ③ 사용자는 데이터의 저장 주소나 위치를 통해 데이터를 참조한다. ④ 동적인 특징이 있어 데이터를 계속 삽입, 삭제, 갱신하여 현재의 정확한 데이터를 유지한다. 2. 데이터베이스 관리자(DBA)의 주요 업무와 관련된 설명으로 옳지 않은 것은? ① 데이터 사전과 같은 시스템 데이터베이스를 관리한다. ② DML을 사용하여 데이터 접근 권한을 사용자에게 부여한다. ③ 데이터베이스를 물리적으로 저장하기 위한 레코드 구조를 설계한다. ④ 사용자의 요구사항을 분석하여 데이터베이스의 구성요소를 결정한다. 3. 관계형 데이터베이스에 대한 설명으로 옳지 않은 것은? ① 릴레이션에서 속성의 순서는 중요하지 않지만, 투플의 순서는 중요하다. ② 제2정규형에서 기본키에 대해 이행적 종속성을 제거하면 제3 정규형이 된다. ③ 각 속성은 특정 도메인에서 값을 가져야 하며, 속성 간 도메인은 다를 수 있다. ④ 모든 투플은 기본키에 의해 고유하게 식별되며, 기본키는 릴레이션 내에서 유일성이 보장된다. 4. 외부 스키마에 대한 설명으로 옳지 않은 것은? ① 서브 스키마라고도 한다. ② 하나의 데이터베이스에 여러 개가 존재할 수 있다. ③ 데이터베이스가 외부 저장장치에 저장되는 방법을 정의한다. ④ 개별 사용자의 시각에서 본 데이터베이스의 논리적 구조이다. 5. 다음과 같은 특징에 해당하는 키(key)는? ○ 릴레이션에서 투플을 식별할 수 있는 유일성(uniqueness)을 만족시키는 속성의 집합 ○ 유일성을 갖는 속성의 최소성(minimality)은 만족시키지 못함 ① 슈퍼키(super key) ② 외래키(foreign key) ③ 기본키(primary key) ④ 후보키(candidate key) 6. 두 릴레이션 R과 S의 차수(degree)와 카디널리티(cardinality)가 다음과 같다. R과 S에 이름과 도메인이 동일한 속성은 3개이고, 이들 공통 속성의 값이 모두 일치하는 투플의 조합이 5개일 때, 다음 설명 중 옳은 것은? (단, R과 S 사이에는 3개의 공통 속성 외에 도메인이 동일한 속성은 존재하지 않는다) 릴레이션 차수 카디널리티 R 5 5 S 10 10 ① S와 R의 디비전(division), 즉 S ÷ R의 결과 릴레이션의 차수는 5이다. ② S와 R의 차집합(difference), 즉 S - R의 결과 릴레이션의 카디널리티는 5이다. ③ R과 S의 자연 조인(natural join), 즉 R ⋈N S의 결과 릴레이션의 차수는 12이다. ④ R과 S의 카티션 프로덕트(Cartesian product), 즉 R × S의 결과 릴레이션의 차수는 12이고, 카디널리티는 50이다. 7. 다음 릴레이션에서 속성(A, B, C, D) 간 함수 종속을 화살표(→)로 표현할 때, 성립하는 것만을 모두 고르면? (단, 아래 투플을 기준으로 판단한다) A B C D 1 3 7 1 2 5 7 2 3 3 7 1 4 3 4 3 5 9 7 2 ㄱ. A → B ㄷ. C → D ㄴ. B → C ㄹ. D → C ① ㄱ, ㄴ ② ㄱ, ㄷ ③ ㄱ, ㄹ ④ ㄴ, ㄹ 2024년도 국가공무원 7급 공채 제2차 필기시험 데이터베이스론 책형 2쪽 8. 다음과 같은 키 값의 삽입 순서에 따라 B-트리를 만들 때, 루트 (root) 노드에 저장되는 키 값은? (단, 한 노드에 최대로 저장되는 키의 개수는 2이다) 9, 4, 1, 6, 2, 11, 10, 5, 12 ① 4 ② 6 ③ 9 ④ 11 9. 트랜잭션 T1, T2가 수행되는 다음 스케줄에서 X, M, N의 초깃값이 각각 100, 20, 50일 때, 트랜잭션 수행 후 (가) 위치에서 X의 최종 결과 값은? 시간 T1 T2 read(X) X = X + M write(X) read(X) rollback X = X - N write(X) --- (가) ① 50 ② 70 ③ 100 ④ 120 10. 다음 두 릴레이션 R과 S의 세미조인(semi join), 즉 R ⋉ S의 결과 릴레이션의 투플과 속성의 수는? R S A B C B D E 1 2 3 2 3 4 6 3 8 2 4 5 9 4 8 7 8 10 투플 수 속성 수 ① 1 3 ② 2 3 ③ 1 5 ④ 2 5 11. 다음 E-R 다이어그램을 릴레이션 스키마로 바르게 변환한 것은? (단, 밑줄로 표기된 속성은 기본키를 의미하며 k, m, n은 1보다 큰 자연수이다) ① 상품(상품번호, 상품명, 단가, 제조업체명, 공급일자, 공급량) 제조업체(제조업체명, 전화번호) 회원(회원아이디, 이름, 등급) 주문(회원아이디, 상품번호, 주문번호, 주문수량, 주문일자) ② 상품(상품번호, 상품명, 단가, 제조업체명, 공급일자, 공급량) 제조업체(제조업체명, 전화번호) 회원(회원아이디, 이름, 등급) 주문(주문번호, 주문수량, 주문일자) ③ 상품(상품번호, 상품명, 단가) 제조업체(제조업체명, 전화번호, 상품번호, 공급일자, 공급량) 회원(회원아이디, 이름, 등급) 주문(주문번호, 주문수량, 주문일자) ④ 상품(상품번호, 상품명, 단가) 제조업체(제조업체명, 전화번호, 상품번호, 공급일자, 공급량) 회원(회원아이디, 이름, 등급) 주문(회원아이디, 상품번호, 주문번호, 주문수량, 주문일자) 12. 트랜잭션에 대한 설명으로 옳지 않은 것은? ① 지속성(durability)은 완료된 트랜잭션이 갱신한 데이터를 데이터 베이스에 영구적으로 보존하는 것을 의미한다. ② 원자성(atomicity)은 트랜잭션 연산이 데이터베이스에 모두 반영되지 않고 개별 반영되는 것을 의미한다. ③ 격리성(isolation)은 트랜잭션 수행 시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것을 의미한다. ④ 일관성(consistency)은 트랜잭션을 수행하기 전과 수행한 후에 데이터베이스가 항상 일관된 상태를 유지하는 것을 의미한다. 2024년도 국가공무원 7급 공채 제2차 필기시험 데이터베이스론 책형 3쪽 13. 다음과 같이 ‘학과’와 ‘학생’ 테이블을 생성하고 UPDATE 질의문 (가)를 실행할 때, 이에 대한 설명으로 옳은 것은? CREATE TABLE 학과 ( 학과명 VARCHAR(20), 전화번호 VARCHAR(20), PRIMARY KEY(학과명) ); CREATE TABLE 학생 ( 학번 VARCHAR(20), 이름 VARCHAR(20), 학과 VARCHAR(20), PRIMARY KEY(학번), FOREIGN KEY(학과) REFERENCES 학과(학과명) ); UPDATE 학생 SET 학과 = ‘AI소프트웨어학과’ WHERE 학과 =‘소프트웨어학과’; --- (가) ① 질의문 (가)를 실행하면 개체 무결성 제약조건을 위반하게 된다. ② ‘학생’ 테이블에 학과가 ‘AI소프트웨어학과’인 투플이 존재하면 질의문 (가)는 실행되지 않는다. ③ 질의문 (가)는 ‘학생’ 테이블에 있는 모든 투플의 학과 값을 ‘AI 소프트웨어학과’로 변경한다. ④ 학과명이 ‘AI소프트웨어학과’인 투플이 ‘학과’ 테이블에 존재하지 않으면, 질의문 (가)는 참조 무결성 제약조건을 위반한다. 14. 트랜잭션 T1, T2, T3가 다음과 같은 순서로 스케줄링 될 경우, 이와 동치인 직렬 스케줄은? 시간 T1 T2 T3 read(y) read(z) read(x) write(x) write(y) write(z) read(z) read(x) read(y) write(y) ① T1 → T2 → T3 ② T1 → T3 → T2 ③ T2 → T1 → T3 ④ 동치인 직렬 스케줄이 없음 15. 다음 ‘사원’과 ‘부서’ 테이블에 대한 SQL문의 수행 결과가 다른 것은? (단, 밑줄로 표기된 속성은 기본키를 의미한다) 사원 사번 이름 부서번호 급여 직속상사 1 Kim 10 500 NULL 2 Kwon 20 500 3 3 Park 20 700 NULL 4 Choi 30 600 1 5 Cho 10 300 3 6 Lee 20 550 4 7 Yoon 30 400 3 8 Chae 20 650 1 9 Nam 10 430 4 10 Ha 30 200 NULL 부서 부서번호 부서이름 사무실위치 10 인사과 101호 20 개발팀 102호 30 총무과 103호 ① SELECT 이름 FROM 사원 WHERE 이름 LIKE ‘_a%’ AND 급여 > 500; ② SELECT E.이름 FROM 사원 AS E INNER JOIN 부서 AS D ON E.부서번호 = D.부서번호 WHERE D.사무실위치 = ‘102호’ AND E.직속상사 is NULL; ③ SELECT 이름 FROM 사원 WHERE 이름 NOT IN (SELECT 이름 FROM 사원 WHERE 급여 < ANY (SELECT 급여 FROM 사원)); ④ SELECT 이름 FROM 사원 WHERE 부서번호 IN (SELECT 부서번호 FROM 사원 GROUP BY 부서번호 HAVING COUNT(*) > 3); 16. 데이터베이스에 반영이 완료된 레코드만 읽게 하는 방법(READ COMMITTED)으로 해결할 수 있는 동시 처리(concurrent processing) 문제는? ① 오손 읽기(dirty read) ② 유령 읽기(phantom read) ③ 직렬 읽기(serialized read) ④ 반복 불가능 읽기(non-repeatable read) 2024년도 국가공무원 7급 공채 제2차 필기시험 데이터베이스론 책형 4쪽 17. 다음 테이블은 쇼핑몰의 판매자가 판매하는 상품과 해당 상품을 생산한 제조사에 대한 정보를 담고 있다. 테이블의 기본키가 (판매자ID, 상품)일 때, 다음 설명 중 옳은 것만을 모두 고르면? (단, 아래 투플을 기준으로 판단한다) 판매자ID 상품 제조사 0001 컴퓨터 A 0001 모니터 B 0002 컴퓨터 A 0002 모니터 C 0003 모니터 C 0003 컴퓨터 D ㄱ. 이 테이블은 제2정규형의 조건을 만족한다. ㄴ. 이 테이블은 제3정규형의 조건을 만족하지 않는다. ㄷ. 제조사 E가 모니터를 생산한다는 정보를 판매자ID 없이 투플로 추가하더라도 삽입 이상이 발생하지 않는다. ㄹ. 판매자ID가 0001인 판매자가 모니터를 더 이상 판매하지 않아 해당 투플을 삭제한다면 삭제 이상이 발생할 수 있다. ㅁ. 제조사 B가 생산하는 상품이 모니터에서 노트북으로 변경 된다면 갱신 이상이 발생할 수 있다. ① ㄱ, ㄷ ② ㄱ, ㄹ ③ ㄴ, ㅁ ④ ㄹ, ㅁ 18. 릴레이션 R(A, B, C, D)에 다음과 같은 함수 종속성의 집합 F가 존재할 때, 후보키에 해당하는 것과 릴레이션 R이 만족하는 정규형만을 모두 고르면? (단, 이 릴레이션의 기본키는 (A, B)이며, 모든 속성의 도메인은 원자값(atomic value)으로 구성된다) F = {(A, B) → C, (A, B) → D, C → B, D → A} (가) (B, C) (나) (B, D) (다) (C, D) ㄱ. 제1정규형 ㄴ. 제2정규형 ㄷ. 제3정규형 ㄹ. 보이스/코드 정규형 후보키 정규형 ① (가), (다) ㄱ, ㄴ, ㄷ ② (나), (다) ㄱ, ㄴ, ㄷ ③ (가), (나) ㄱ, ㄴ, ㄷ, ㄹ ④ (나), (다) ㄱ, ㄴ, ㄷ, ㄹ 19. ‘학생’ 릴레이션의 과목번호는 ‘과목’ 릴레이션의 과목번호를 참조하는 외래키이다. 다음 설명 중 옳지 않은 것은? (단, 밑줄로 표기된 속성은 기본키를 의미한다) 학생 학번 이름 과목번호 1111 을지문덕 200 2222 신사임당 100 3333 이율곡 300 4444 유관순 400 5555 김만덕 400 과목 과목번호 과목명 담당교수 개설학과 100 인공지능개론 안창호 AI소프트웨어학과 200 빅데이터분석 김구 컴퓨터공학과 300 머신러닝 윤봉길 AI소프트웨어학과 400 생성형AI 김좌진 AI소프트웨어학과 ① “DELETE FROM 과목 WHERE 과목번호 = 400;”을 실행하면 참조 무결성 제약조건을 위반한다. ② “UPDATE 학생 SET 과목번호 = 500 WHERE 학번 = 3333;”을 실행하면 참조 무결성 제약조건을 위반한다. ③ “INSERT INTO 학생(학번, 이름, 과목번호) VALUES (5555, ‘홍길동’, 200);”을 실행하면 기본키 제약조건을 위반한다. ④ “INSERT INTO 과목(과목번호, 과목명, 담당교수, 개설학과) VALUES (NULL, ‘데이터베이스’, ‘안중근’, ‘AI소프트웨어학과’);”를 실행하면 참조 무결성 제약조건을 위반한다. 20. RAID에 대한 설명으로 옳지 않은 것은? ① RAID 0은 여러 개의 디스크에 데이터를 분산 저장한다. ② RAID 1은 디스크의 모든 데이터를 별도의 디스크에 복제하여 유지한다. ③ RAID 5는 데이터와 패리티 정보를 여러 디스크에 분산 저장한다. ④ RAID 6은 데이터를 저장하는 디스크와 패리티를 저장하는 디스크를 분리하여 사용한다. 2024년도 국가공무원 7급 공채 제2차 필기시험 데이터베이스론 책형 5쪽 21. 즉시 갱신 전략을 이용하는 회복 시스템에서 다음과 같은 로그 기록을 사용하여 복구 과정을 수행한 내용 중 옳지 않은 것은? -- 시스템 장애 발생 -- ① 트랜잭션 T1은 복구 작업을 수행할 필요가 없다. ② 트랜잭션 T2는 undo를 수행하여 B값으로 10을 저장한다. ③ 트랜잭션 T3는 undo를 수행하여 C값으로 15를 저장한다. ④ 트랜잭션 T5는 undo를 수행하여 D값으로 20을 저장한다. 22. 데이터베이스 관리자(DBA)와 일반 사용자(Kim, Lee, Park, Choi, Cho, Hong)가 데이터베이스 권한 관리를 위한 SQL문을 다음 순서대로 모두 수행하였다. 이에 대한 설명으로 옳은 것은? (단, SQL문 앞의 ‘OOO>’는 해당 문장을 수행한 사람을 의미하고, 각 SQL문의 문법 (syntax) 오류는 발생하지 않는다) DBA> GRANT SELECT ON 고객 TO Kim WITH GRANT OPTION; DBA> GRANT SELECT ON 고객 TO Lee WITH GRANT OPTION; Kim> GRANT SELECT ON 고객 TO Park WITH GRANT OPTION; Lee> GRANT SELECT ON 고객 TO Choi WITH GRANT OPTION; DBA> REVOKE SELECT ON 고객 FROM Kim CASCADE; DBA> REVOKE SELECT ON 고객 FROM Lee RESTRICT; ① Kim은 고객 테이블에 대한 검색(SELECT) 권한을 가진다. ② Lee는 고객 테이블에 대한 검색(SELECT) 권한을 가진다. ③ Park은 “GRANT SELECT ON 고객 TO Cho”를 실행할 수 있다. ④ Choi는 “GRANT SELECT ON 고객 TO Hong”을 실행할 수 없다. 23. 뷰(view)에 대한 설명으로 옳지 않은 것은? ① 사용자의 요구에 맞게 가공하여 만들어 쓸 수 있다. ② 사용자별로 데이터 접근을 제한하여 보안성을 높일 수 있다. ③ 자주 사용되는 질의를 뷰로 미리 정의해 놓고 재사용할 수 있다. ④ 뷰의 기본적인 활용 용도는 검색(SELECT)이며, 뷰를 통한 원본 테이블의 데이터 조작(INSERT 등)은 불가능하다. 24. NoSQL 데이터베이스에 대한 설명으로 옳지 않은 것은? ① NoSQL 시스템으로 MongoDB 등이 있다. ② 비정형 데이터를 포함하는 빅데이터를 효율적으로 저장하고 처리할 수 있다. ③ 대표적인 데이터 모델에는 키-값, 문서 기반, 컬럼 기반, 그래프 기반 데이터 모델이 있다. ④ CAP 이론은 병행성(Concurrency), 가용성(Availability), 분할 감내성(Partition tolerance)을 모두 보장할 수는 없다는 성질을 말한다. 25. 분산 데이터베이스 시스템에 대한 설명으로 옳지 않은 것은? ① 중앙 집중식 데이터베이스 시스템에 비해 확장이 용이하다. ② 중앙 집중식 데이터베이스 시스템에 비해 더 많은 구축 비용이 소요된다. ③ 한 지역에서 장애가 발생하더라도 전체 시스템이 작업을 계속 수행할 수 있다. ④ 수직적 단편화는 관계대수 연산인 셀렉트(select)를 통해 릴레이션을 속성 단위로 분할하여 저장하는 것을 말한다.