7급 국가직 데이터베이스론 2021년 기출문제

시행 2021-09-11 · 책형 가 · 25문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

전체 풀기 (시험 모드)원본 PDF 받기2021 7급 국가직 전과목
1.
SQL 언어에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①SQL은 관계 데이터베이스 시스템의 표준 언어이다.
  2. ②SQL은 포괄적인 데이터베이스 언어로서 데이터 정의, 질의, 갱신을 위한 문들을 가지고 있다.
  3. ③트랜잭션의 시작, 철회, 완료 등을 표현하기 위해 SQL에서는 COMMIT, ROLLBACK 등을 사용한다.
  4. ④데이터 조작어는 데이터베이스에 데이터를 검색하여 추가하고 삭제하는 데 사용하며 SELECT, REVOKE가 이에 해당된다.
정답 보기

정답 ④ · 해설 보기

2.
다음은 4개의 트랜잭션 T1, T2, T3, T4에 대하여 시스템 고장(crash) 시점에 특정 스케줄에 대응하는 로그를 나타낸 것이다. 이 시스템은 로그를 이용한 회복기법으로 검사점(checkpoint)을 가진 즉시갱신규약(immediate update protocol)을 사용한다고 가정한다. 시스템 고장으로부터 회복(recovery)하는 과정에서 undo와 redo 연산들을 수행하게 된다. 회복 후 데이터 항목 A, B, C, D 값들을 바르게 연결한 것은? (단, 로그 레코드 구조는 <트랜잭션, 데이터 항목, 현재 값, 변경 값>이다)
로그 번호
로그 레코드
1
<T1 start>
2
<T1, D, 20, 25>
3
<T1 commit>
4
<checkpoint {}>
5
<T2 start>
6
<T2, B, 12, 18>
7
<T4 start>
8
<T4, D, 25, 15>
9
<T3 start>
10
<T3, C, 30, 40>
11
<T4, A, 30, 20>
12
<T4 commit>
13
<T2, D, 15, 25>
 
시스템 고장
A B C D
데이터베이스론
  1. ①30 12 30 20
  2. ②20 18 40 25
  3. ③30 18 40 15
  4. ④20 12 30 15
정답 보기

정답 ④ · 해설 보기

3.
뷰(view)에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①생성된 뷰는 새로운 독립적인 테이블로 물리 저장소에 저장된다.
  2. ②데이터베이스 질의 시 사용자 편의성 및 재사용성, 보안성을 높이기 위한 기술이다.
  3. ③뷰의 질의연산은 제한을 받지 않지만 갱신연산은 제한을 받는다.
  4. ④하나의 테이블로 여러 개의 상이한 뷰를 정의하여 사용자의 요구에 따라 활용할 수 있다.
정답 보기

정답 ① · 해설 보기

4.
관계모델에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①관계모델에서 행은 투플(tuple), 열은 애트리뷰트(attribute)로 부른다.
  2. ②투플 내의 각 값은 더 이상 나누어지지 않는 원자값이어야 한다.
  3. ③투플 내 어떤 애트리뷰트의 값을 알 수 없거나 값이 지정되지 않을 때는 NULL이라는 특수한 값을 사용한다.
  4. ④릴레이션은 투플들의 집합이기 때문에 릴레이션에서 투플이 순서대로만 나타나야 한다.
정답 보기

정답 ④ · 해설 보기

5.
다음 사원 테이블에 대해 뷰_사원1과 같은 뷰를 생성하는 SQL 질의어를 작성할 때, ㉠, ㉡에 들어갈 내용을 바르게 연결한 것은?
사원
 
사번
이름
직급
부서
108002
김진수
부장
인사
105123
이수진
대리
연구
128372
박지훈
과장
영업
126721
김지수
부장
영업
132122
홍성대
대리
인사
뷰_사원1
 
사번
이름
105123
이수진
CREATE VIEW	뷰_사원1(사번, 이름)
( ㉠ )	SELECT	사번, 이름
	FROM		사원
	WHERE		( ㉡ );
㉠ ㉡
데이터베이스론
  1. ①IN 직급 = ‘대리’
  2. ②AS 부서 = ‘연구’
  3. ③AS 직급 = ‘대리’
  4. ④IN 부서 = ‘연구’
정답 보기

정답 ② · 해설 보기

6.
트랜잭션 T1과 T2가 아래와 같이 수행될 때, T1의 ㉠, ㉡의 출력 값은? (단, 팬텀(phantom)을 초래하는 위반들을 허용하지 않는다)
sale
no
name
price
1
a1
200
2
a2
150
3
b1
100
T1
T2
set transaction isolation
level repeatable read;
 
 
set transaction isolation
level repeatable read;
start transaction;
 
 
start transaction;
 
insert into sale 
values(4, ‘b2’, 50);
select ㉠ sum(price) 
from sale;
 
 
commit
update sale set price=price+100
where no=3;
 
select ㉡ sum(price) 
from sale;
 
commit
 
㉠ ㉡
데이터베이스론
  1. ①450 550
  2. ②450 600
  3. ③500 600
  4. ④500 500
정답 보기

정답 ① · 해설 보기

7.
테이블 R과 S에 대해 아래의 SQL 질의어를 수행한 결과로 나오는 RSID 값은?
R
 
S
RSID
CName
CName
1001
국어
영어
1002
영어
국어
1003
국어
 
1003
수학
 
1004
국어
 
1004
영어
 
1004
수학
 
1005
과학
 
SELECT distinct(RSID) FROM R as x
WHERE NOT EXISTS (
	(SELECT p.CName FROM S as p)
	EXCEPT
	(SELECT y.CName FROM  R as y WHERE x.RSID = y.RSID));
데이터베이스론
  1. ①1001
  2. ②1002
  3. ③1003
  4. ④1004
정답 보기

정답 ④ · 해설 보기

8.
다음과 같은 student 테이블의 스키마가 주어졌을 때, 주어진 요구에 대한 SQL 질의어로 옳지 않은 것은?
student(studno, name, grade, score, deptno)
(단, studno는 학번, name은 학생 이름, grade는 학년, score는 성적, deptno는 학생이 속한 학과 번호를 의미하며, studno는 기본키이다)
데이터베이스론
  1. ①
    student 테이블에서 각 학과별 평균 성적, 최고 성적, 최저 성적 검색
    			SELECT deptno, AVG(score), MAX(score), MIN(score)
    			FROM student
    			GROUP BY deptno
  2. ②
    student 테이블에서 각 학과의 각 학년별 인원수와 평균 성적 검색
    			SELECT deptno, grade, COUNT(*), AVG(score)
    			FROM student
    			GROUP BY deptno, grade
  3. ③
    student 테이블에서 학과 번호가 100번 이상인 학과들의 평균 성적 검색
    			SELECT deptno, AVG(score)
    			FROM student
    			WHERE deptno >= 100
    			GROUP BY deptno
  4. ④
    student 테이블에서 각 학년별로 학생 수가 10명 이상인 학년, 학생 수, 평균 성적 검색
    			SELECT grade, COUNT(*), AVG(score)
    			FROM student
    			WHERE COUNT(*) >= 10
    			GROUP BY grade
정답 보기

정답 ④ · 해설 보기

9.
정규화(normalization)에 대한 설명 중 옳은 것만을 모두 고르면?
ㄱ. 데이터의 정규화는 중복을 최소화하고 삽입, 삭제, 수정 이상을 최소화하기 위해서 함수적 종속성과 기본키를 기반으로, 주어진 릴레이션 스키마를 분석하는 과정이다.
ㄴ. 릴레이션 스키마 R의 모든 원소들의 도메인(domain)이 나눌 수 있는 단위로 되어있을 때, R이 제1정규형에 속한다.
ㄷ. 제2정규형이 되기 위해서는 릴레이션 R이 제1정규형이고 기본키가 아닌 속성이 기본키에 부분함수 종속이어야 한다.
ㄹ. 제3정규형이 되기 위해서는 릴레이션 R이 제2정규형이고, 릴레이션 R의 함수 종속 관계에서 이행적 함수 종속을 제거해야 한다.
ㅁ. 제4정규형이 되기 위해서는 릴레이션 R이 제3정규형이고, 함수 종속 관계에서 모든 결정자가 후보키이면 된다.
데이터베이스론
  1. ①ㄱ, ㄹ
  2. ②ㄴ, ㄷ
  3. ③ㄱ, ㄹ, ㅁ
  4. ④ㄷ, ㄹ, ㅁ
정답 보기

정답 ① · 해설 보기

10.
NOSQL에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①NOSQL은 샤딩(sharding)을 지원한다.
  2. ②BigTable, Cassandra 등이 대표적인 NOSQL이다.
  3. ③NOSQL은 RDBMS와 같이 스키마(schema)를 필요로 한다.
  4. ④NOSQL은 가용성(availability)과 확장성(scalability)을 중요시 한다.
정답 보기

정답 ③ · 해설 보기

11.
함수 F의 종속성이 다음과 같을 때 구할 수 있는 함수 종속으로 옳지 않은 것은?
F = {A → B, D → B, D → AC, BE → D}
데이터베이스론
  1. ①E → D
  2. ②E → E
  3. ③AE → D
  4. ④AC → BC
정답 보기

정답 ① · 해설 보기

12.
데이터베이스 트리거(trigger)에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①테이블에서 이벤트 발생 시 자동으로 반응해 실행되는 작업이다.
  2. ②트리거는 데이터베이스의 무결성을 유지하기 위한 도구이다.
  3. ③행-수준 트리거(row-level trigger)는 FOR EACH STATEMENT 절을 사용하여 표시한다.
  4. ④이벤트가 발생한 이후 실행되는 After 트리거와 이벤트가 발생하기 전에 실행되는 Before 트리거가 있다.
정답 보기

정답 ③ · 해설 보기

13.
트랜잭션 수행 과정이 다음과 같을 때, DBMS에서 데이터 복원을 위해 수행되는 작업으로 옳지 않은 것은?
데이터베이스론
  1. ①T2는 redo(재실행)된다.
  2. ②T4는 undo(실행취소)된다.
  3. ③T1에 대해서는 어떠한 작업도 수행하지 않는다.
  4. ④체크포인트 시 로그 레코드 <checkpoint {T2, T5}>를 저장장치에 기록한다.
정답 보기

정답 ② · 해설 보기

14.
다음 데이터베이스가 만족하지 않는 제약조건은? (단, STUDENT 릴레이션의 Dept_No는 DEPARTMENT 릴레이션의 Dept_Number를 참조한다)
STUDENT
ID
Name
Dept_No
Birth_Data
20120011
이지연
1
1993-01-23
20130023
김병수
3
1994-11-05
20140101
김남현
3
1995-08-21
20144006
차기현
2
1995-04-19
20105789
안정민
4
1991-01-03
DEPARTMENT
Dept_Name
Dept_Number
Quota
Dean
컴퓨터공학과
1
35
김지연
전자공학과
2
40
정주현
데이터베이스론
  1. ①유일성 제약조건
  2. ②참조 무결성 제약조건
  3. ③엔티티 무결성 제약조건
  4. ④함수적 종속성 제약조건
정답 보기

정답 ② · 해설 보기

15.
외부, 개념, 내부 스키마로 구성되는 3-레벨 스키마 구조와 데이터 독립성에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①내부 레벨 또는 내부 스키마는 데이터베이스의 물리적 스토리지 구조를 기술한다.
  2. ②논리적 데이터 독립성은 응용 프로그램이나 데이터베이스의 논리적 구조에 영향을 주지 않고 DBMS가 데이터의 물리적 구조를 변경할 수 있는 것을 말한다.
  3. ③외부 스키마는 특정 사용자 그룹이 관심을 가지고 있는 데이터베이스의 일부분을 기술하며 데이터베이스의 나머지 부분을 그 사용자 그룹으로부터 숨겨 준다.
  4. ④SQL 뷰가 정의된 기본 테이블이 확장된다든지 뷰가 속해 있는 테이블이 더 늘어난다고 하더라도 기존의 뷰를 사용하는 프로그램이나 사용자는 영향을 받지 않으므로, SQL 뷰는 데이터의 논리적 독립성을 어느 정도 제공할 수 있다.
정답 보기

정답 ② · 해설 보기

16.
다음 SQL 명령어 중 데이터 정의어(DDL)만을 고르면?
ㄱ. ALTER
ㄴ. DROP
ㄷ. TRUNCATE
ㄹ. GRANT
ㅁ. COMMIT
데이터베이스론
  1. ①ㄱ, ㅁ
  2. ②ㄴ, ㄷ
  3. ③ㄷ, ㄹ
  4. ④ㄹ, ㅁ
정답 보기

정답 ② · 해설 보기

17.
다음 데이터베이스 스키마를 보고, 아래 SQL 질의문과 동등한 관계대수식은?
○  스키마
사원(사원번호, 부서번호, 급여, 취미)
부서(부서번호, 부서명, 건물층, 전화번호)
재정(부서번호, 예산, 매출, 비용)
○  질의문
Select D.부서명, F.예산
From 사원 E, 부서 D, 재정 F
      Where E.부서번호=D.부서번호 and D.부서번호=F.부서번호 and D.건물층=1 and E.급여>=3000000
and E.취미=‘테니스’
데이터베이스론
  1. ①
    𝜋D.부서명, F.예산((𝜋E.부서번호(𝜎E.급여>=3000000 and E.취미=‘테니스’(E)) ⨝
    𝜋D.부서번호, D.부서명(𝜎D.건물층=1(D))) ⨝ 𝜋F.예산, F.부서번호(F))
  2. ②
    𝜋E.부서번호((𝜋D.부서명, F.예산(𝜎E.급여>=3000000 and E.취미=‘테니스’(E)) ⨝
    𝜋D.부서번호, D.부서명(𝜎D.건물층=1(D))) ⨝ 𝜋F.예산, F.부서번호(F))
  3. ③
    𝜋D.부서명, F.예산((𝜋F.부서번호, D.부서명(𝜎D.건물층=1(D)) ⨝
    𝜋E.부서번호(𝜎E.급여>=3000000 and E.취미=‘테니스’(E))) ⨝ 𝜋F.예산(F))
  4. ④
    𝜋D.부서명, F.예산((𝜋E.부서번호(𝜎F.예산, F.부서번호(F)) ⨝
    𝜋D.부서번호, D.부서명(𝜎D.건물층=1(D))) ⨝ 𝜋E.급여>=3000000 and E.취미=‘테니스’(E))
정답 보기

정답 ① · 해설 보기

18.
다음 릴레이션 R과 S에 대한 조인 연산 결과가 옳지 않은 것은? (단, ⋈N은 자연 조인, ⟕은 왼쪽 외부 조인, ⟖은 오른쪽 외부 조인, ⋉은 세미 조인을 의미한다)
R
 
S
A
B
C
 
B
C
D
a1
b1
c1
 
b1
c1
d1
a2
b2
c2
 
b2
c2
d2
a3
b3
c3
 
b2
c2
d3
a4
b3
c3
 
b3
c3
d4
a5
b5
c5
 
b4
c4
d5
데이터베이스론
  1. ①
    R ⋈N S
    A
    B
    C
    D
    a1
    b1
    c1
    d1
    a2
    b2
    c2
    d2
    a2
    b2
    c2
    d3
    a3
    b3
    c3
    d4
    a4
    b3
    c3
    d4
  2. ②
    R ⟕R.B=S.B and R.C=S.C S
    A
    B
    C
    D
    a1
    b1
    c1
    d1
    a2
    b2
    c2
    d2
    a2
    b2
    c2
    d3
    a3
    b3
    c3
    d4
    a4
    b3
    c3
    d4
    a5
    b5
    c5
    NULL
  3. ③
    R ⟖R.B=S.B and R.C=S.C S
    A
    B
    C
    D
    a1
    b1
    c1
    d1
    a2
    b2
    c2
    d2
    a2
    b2
    c2
    d3
    a3
    b3
    c3
    d4
    a4
    b3
    c3
    d4
    NULL
    b4
    c4
    d5
  4. ④
    R ⋉R.B=S.B and R.C=S.C S
    A
    B
    C
    a1
    b1
    c1
    a2
    b2
    c2
    a3
    b3
    c3
정답 보기

정답 ④ · 해설 보기

19.
분산 데이터베이스 관리시스템에서 복수의 분할된 물리적 데이터베이스를 논리적으로 단일화된 데이터베이스처럼 인식하게 하기 위한 투명성(transparency)에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①단편화(fragmentation) 투명성은 사용자들이 릴레이션이 어떻게 단편화되어 있는지 알 필요가 없다.
  2. ②장애(failure) 투명성은 다수의 트랜잭션이 동시에 수행되는 경우에도 오류 없이 결과의 일관성이 유지되어야 하는 성질이다.
  3. ③중복(replication) 투명성은 중복된 데이터가 무엇인지 저장 위치 등에 대한 정보를 사용자가 별도로 인지할 필요가 없어야 하는 성질이다.
  4. ④위치(location) 투명성은 사용자나 애플리케이션에서 작업을 수행하기 위해 데이터의 물리적인 위치도 알 필요가 없어야 하는 성질이다.
정답 보기

정답 ② · 해설 보기

20.
다음 사원 테이블에서 차수와 카디날리티 값을 바르게 연결한 것은?
사원
 
사번
이름
직급
부서
108002
김진수
부장
인사
105123
이수진
대리
연구
128372
박지훈
과장
영업
차수 카디날리티
데이터베이스론
  1. ①3 3
  2. ②3 4
  3. ③4 3
  4. ④4 4
정답 보기

정답 ③ · 해설 보기

21.
데이터베이스 암호화 방식 중 API 방식에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①API 방식은 암·복호화 모듈을 어플리케이션 서버에 설치한다.
  2. ②플러그인 방식보다 암·복호화 속도가 상대적으로 빠르다.
  3. ③플러그인 방식보다 응용 프로그램의 수정이 필요 없어 사용이 편리하다.
  4. ④플러그인 방식보다 데이터베이스 서버의 부하가 거의 발생하지 않는다.
정답 보기

정답 ③ · 해설 보기

22.
여러 트랜잭션을 병행수행(concurrency)하였을 때, 발생할 수 있는 문제 가운데 갱신분실(lost update)에 대한 설명으로 옳은 것은?
데이터베이스론
  1. ①두 개의 트랜잭션은 서로 상대 트랜잭션이 완료되기만을 기다리고 있는 상태로, 두 트랜잭션은 영원히 완료될 수 없는 문제이다.
  2. ②장애가 발생한 트랜잭션에 대한 롤백(rollback)이 수행되기 전에, 변경된 데이터를 가져가 사용하는 다른 트랜잭션의 수행이 완료되어 롤백이 실행될 수 없는 문제이다.
  3. ③하나의 트랜잭션이 수행한 데이터 변경 연산의 결과를 다른 트랜잭션이 덮어써서 기존 트랜잭션의 변경 연산 결과가 손실되는 것이다.
  4. ④하나의 트랜잭션이 여러 개의 데이터에 대해 변경 연산을 실행했을 때, 일관성이 유지되지 않는 데이터베이스로부터 데이터를 가져와 연산을 실행함으로 발생될 수 있다.
정답 보기

정답 ③ · 해설 보기

23.
다중 데이터베이스 시스템에서 2단계 완료 프로토콜(two-phase commit protocol) 기법에 대한 설명으로 옳은 것은?
데이터베이스론
  1. ①1단계 수행 중 고장이 발생하면, 해당 트랜잭션은 회복되거나 완료된다.
  2. ②트랜잭션 관리자(Transaction Manager: TM)는 그 지역 사이트에서 시작된 트랜잭션의 실행을 조정하는 역할을 한다.
  3. ③1단계에서는 조정자가 메시지[prepare T]에 대한 응답을 모든 사이트로부터 받으면 트랜잭션 T가 완료(commit)될 수 있는지 결정할 수 있다.
  4. ④2단계에서 조정자가 모든 참여 사이트로부터 메시지[ready T]를 받았다면 트랜잭션 T는 완료되고 그렇지 않으면 취소된다.
정답 보기

정답 ④ · 해설 보기

24.
데이터베이스 재해 복구(disaster recovery) 기술에 대한 설명으로 옳은 것은?
데이터베이스론
  1. ①재해적 실패가 발생하면 가장 최근의 백업 사본이 디스크에서 백업장치로 적재된다.
  2. ②은행, 보험, 주식 등과 같은 중요한 응용에서는 데이터 전체를 주기적으로 백업하여 안전한 장소에 보관한다.
  3. ③시스템 로그를 백업하면 사용자는 마지막 데이터베이스 백업 이후에 수행한 모든 트랜잭션을 잃게 된다.
  4. ④백업된 시스템 로그에 기록되어 있는 모든 완료된 트랜잭션의 실행결과는 데이터베이스를 undo하는 데 사용될 수 있다.
정답 보기

정답 ② · 해설 보기

25.
릴레이션 R에 K 단계 합병(k-way merge) 정렬을 수행하고자 한다. 정렬이 완료될 때까지 최소 몇 번의 디스크 접근(읽기 + 쓰기 횟수)이 필요한가? (단, 문제에서 언급되지 않은 다른 기법은 고려하지 않는다)
○ 각 디스크 블록에는 레코드 200개씩 저장되어 있음
○ 주 기억장치의 최대 사용가능한 크기: 레코드 1,000개 크기
○ 전체 정렬해야 할 레코드의 개수: 3,200개
데이터베이스론
  1. ①32회
  2. ②64회
  3. ③96회
  4. ④128회
정답 보기

정답 ③ · 해설 보기