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

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

전체 풀기 (시험 모드)원본 PDF 받기2019 7급 국가직 전과목
1.
관계형 데이터베이스에서 참조 무결성 제약조건을 만족하도록 외래키를 생성하고자 한다. 이와 관련된 SQL 명령문의 제약조건에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①‘on delete set null’은 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열에 null을 저장한다.
  2. ②‘on delete cascade’는 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열을 삭제한다.
  3. ③‘on delete set default’는 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열에 사전에 정의된 default 값을 저장한다.
  4. ④‘on delete no action’은 참조되는 테이블의 행을 삭제하려고 할 때, 참조하는 테이블의 행이 존재할 경우 삭제 명령이 수행되지 못하도록 한다.
정답 보기

정답 ② · 해설 보기

2.
다음 과제 테이블은 학년별 동아리에 가입한 학생 수와 제출한 과제 수를 저장하고 있다. ‘학생이 10명 이상 가입한 동아리에 대하여 동아리와 제출한 총 과제 수를 출력하시오’를 수행하기 위한 SQL문으로 옳은 것은?
과제
     
학년
동아리
학생수
과제수
1
A
20
20
1
B
10
20
1
C
5
8
2
A
15
10
2
B
15
20
3
A
5
15
3
B
12
20
3
C
8
15
데이터베이스론
  1. ①
    SELECT 동아리, SUM(과제수)
    		FROM 과제
    		GROUP BY 동아리
    		HAVING SUM(학생수) >= 10 ;
  2. ②
    SELECT 동아리, SUM(과제수)
    		FROM 과제
    		WHERE SUM(학생수) >= 10 ;
  3. ③
    SELECT 동아리, SUM(과제수)
    		FROM 과제
    		HAVING SUM(학생수) >= 10 ;
  4. ④
    SELECT 동아리, SUM(과제수)
    		FROM 과제
    		WHERE 학생수 >= 10
    		GROUP BY 동아리 ;
정답 보기

정답 ① · 해설 보기

3.
다음 관계형 데이터베이스의 세 가지 기능적 요소에 대한 설명에서 ㉠ ~ ㉢에 들어갈 용어를 바르게 연결한 것은?
○ ( ㉠ )는(은) SQL에서 삽입, 삭제, 갱신과 같은 데이터 변경문을 실행할 때 미리 명시된 조건을 만족하는 경우 특정한 동작을 자동으로 수행할 수 있도록 한다.
○ ( ㉡ )는(은) 데이터베이스 내에 존재하는 작업 순서가 정해진 수행 단위로서 DBMS에서 컴파일된 후 실행된다.
○ ( ㉢ )는(은) 데이터베이스에서 데이터를 신속하게 탐색할 수 있도록 만든 데이터 구조이다.
㉠ ㉡ ㉢
데이터베이스론
  1. ①인덱스 트리거(trigger) 주장(assertion)
  2. ②주장 인덱스 저장 프로시저(stored procedure)
  3. ③주장 인덱스 트리거
  4. ④트리거 저장 프로시저 인덱스
정답 보기

정답 ④ · 해설 보기

4.
데이터베이스 보안과 관련한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①SQL 삽입(injection) 공격은 공격자가 악의적으로 만든 SQL 명령을 응용 프로그램이 수행하도록 하는 것이다.
  2. ②데이터베이스 관리자(DBA)가 각 사용자에게 데이터베이스에 대한 접근 권한을 부여하거나 취소할 때 grant 명령을 사용한다.
  3. ③데이터베이스에 대한 권한은 역할(role)에도 부여할 수 있다.
  4. ④전자 서명(digital signature)은 공개키 암호화 기법의 특성을 이용하여 인증을 수행한다.
정답 보기

정답 ② · 해설 보기

5.
다음 ERD(Entity-Relationship Diagram)에 대한 설명으로 옳지 않은 것은? (단, 속성 이름에 대한 밑줄은 기본키이다)
데이터베이스론
  1. ①주어진 ERD를 릴레이션으로 사상(mapping)하면, 4개의 릴레이션이 생성된다.
  2. ②모든 사원은 적어도 하나 이상의 과제를 수행하여야 한다.
  3. ③모든 부서는 적어도 1명 이상의 사원이 존재하여야 하며, 사원도 반드시 하나의 부서에 소속되어야 한다.
  4. ④사원은 2개의 부서에 동시에 소속될 수 없다.
정답 보기

정답 ② · 해설 보기

6.
다음 함수종속성 집합 FD의 최소커버(minimal cover) FDmin는?
FD = {Y → X, Z → XYW}
데이터베이스론
  1. ①FDmin = {Y → X, Z → X, Z → Y, Z → W}
  2. ②FDmin = {Y → X, Z → Y, Z → W}
  3. ③FDmin = {Y → X, Z → X, Z → W}
  4. ④FDmin = {Y → X, Z → X, Z → Y}
정답 보기

정답 ② · 해설 보기

7.
다음 인덱스 기법에 대한 설명으로 옳은 것만을 모두 고르면?
ㄱ. B-트리 전체를 노드 내의 키 값에 따라 순차 검색하기 위해서는 트리의 각 노드를 전위 순회(preorder traversal)한다.
ㄴ. 밀집(dense) 인덱스는 희소(sparse) 인덱스에 비해 액세스 시간은 빠르지만 더 많은 공간을 필요로 한다.
ㄷ. B-트리에서 오버플로가 발생하여 리프 노드가 분할될 때, 중간 키 값이 부모 노드뿐만 아니라 새로 분할된 노드에도 저장된다.
ㄹ. 1,000명의 사원 정보가 저장된 ‘사원’ 테이블의 ‘부서’ 필드에 대하여, 30명이 소속된 ‘총무과’ 사원에 대한 비트맵 인덱스를 구성할 경우 1,000비트가 필요하다.
데이터베이스론
  1. ①ㄱ, ㄷ
  2. ②ㄱ, ㄹ
  3. ③ㄴ, ㄷ
  4. ④ㄴ, ㄹ
정답 보기

정답 ④ · 해설 보기

8.
다음은 시스템 고장이 발생할 때 트랜잭션 T1, T2, T3, T4, T5를 복구하기 위해 고장 전에 마지막으로 기록된 DBMS 로그이다. 이 로그를 사용하여 즉시 갱신 회복 기법의 undo-redo 알고리즘을 수행할 때, 회복과정에 대한 설명으로 옳지 않은 것은? (단, <checkpoint>는 검사점 기록 로그 레코드이며, <T1, A, 200, 400>은 ‘T1이 데이터 항목 A의 현재 값 200을 400으로 갱신한다’를 의미하는 로그 레코드이다. 표현되지 않은 로그의 다른 속성은 고려하지 않는다)
로그 번호
로그 레코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<T1 start>
<T1, A, 200, 400>
<T1 commit>
<T2 start>
<T2, B, 900, 1900>
<checkpoint>
<T3 start>
<T3, A, 400, 700>
<checkpoint>
<T5 start>
<T5, C, 100, 5000>
<T3 commit>
<T4 start>
<T4, D, 700, 1300>
<T5 commit>
<T4, E, 1300, 1500>
--시스템 고장발생--
데이터베이스론
  1. ①T1은 어떠한 undo와 redo 연산도 수행하지 않는다.
  2. ②데이터 항목 A와 B의 값은 각각 700과 900으로 갱신된다.
  3. ③데이터 항목 C와 D의 값은 각각 5000과 700으로 갱신된다.
  4. ④redo 연산은 T5, T3 순서로 수행된다.
정답 보기

정답 ④ · 해설 보기

9.
<보기 1>에서 공급업체와 부품, 카탈로그 테이블을 생성하는 SQL문을 수행한 후 튜플을 삽입하여 세 테이블의 상태가 다음과 같을 때, <보기 2>의 SQL문을 수행한 결과로 옳은 것은?
 
<보기 1>
 
   
CREATE TABLE 공급업체 (
 업체번호 INT NOT NULL,
 업체명 VARCHAR(20),
 PRIMARY KEY(업체번호));
CREATE TABLE 부품 (
 부품번호 INT NOT NULL,
 부품명 VARCHAR(20),
 색상 VARCHAR(20),
 PRIMARY KEY(부품번호));
CREATE TABLE 카탈로그 (
 업체번호 INT NOT NULL,
 부품번호 INT NOT NULL,
 가격 INT,
 PRIMARY KEY(업체번호, 부품번호),
 FOREIGN KEY(업체번호) REFERENCES 공급업체(업체번호),
 FOREIGN KEY(부품번호) REFERENCES 부품(부품번호));
공급업체  
업체번호 업체명
1 공급A
2 공급B
3 공급C
부품    
부품번호 부품명 색상
1 부품1 빨강
2 부품2 파랑
3 부품3 노랑
카탈로그    
업체번호 부품번호 가격
1 3 10000
2 1 20000
3 2 30000
 
<보기 2>
 
   
SELECT 업체번호, 업체명
FROM 공급업체
WHERE NOT EXISTS (
	SELECT 부품.부품번호
	FROM 부품
	WHERE 부품.색상='빨강' AND EXISTS (
		SELECT *
		FROM 카탈로그
		WHERE 카탈로그.부품번호=부품.부품번호
		AND 카탈로그.업체번호=공급업체.업체번호));
데이터베이스론
  1. ①
    업체번호
    업체명
  2. ②
    업체번호
    업체명
    2
    공급B
  3. ③
    업체번호
    업체명
    1
    공급A
    3
    공급C
  4. ④
    업체번호
    업체명
    1
    공급A
    2
    공급B
    3
    공급C
정답 보기

정답 ③ · 해설 보기

10.
다음 SQL문에 대하여 질의 최적화를 수행하고자 한다. 이에 대한 설명으로 옳지 않은 것은?
SELECT 학생.이름, 교수.이름
FROM   학생, 학과, 교수
WHERE  학생.학과코드 = 학과.학과코드
  AND 교수.교수코드 = 학과.학과장코드
  AND 학과.학과코드 = ‘CS’ ;
데이터베이스론
  1. ①카탈로그는 해당 테이블에 대한 통계 정보를 저장하고 있어 비용 계산에 활용될 수 있지만, 통계 정보를 실시간으로 갱신하려면 부하가 커서 주기적으로 갱신하기도 한다.
  2. ②조인연산 는 기본적으로 중첩 루프(nested loop)를 이용하여 구현하지만, ‘학과.학과코드’에 인덱스가 구축되어 있다면 비용을 감소시킬 수 있다.
  3. ③경험적 질의 최적화 기법에서는 주어진 SQL문의 WHERE절에서 조인연산보다 를 먼저 수행하도록 한다.
  4. ④을 릴레이션 의 투플의 수로 정의할 때, 에 대하여 가 의 기본키이면 이고 조인 선택률(js)은 이다.
정답 보기

정답 ④ · 해설 보기

11.
두 릴레이션 T1, T2에 관계 대수 연산 ㉠ ~ ㉢을 수행한 결과 릴레이션이 각각 R1, R2, R3과 같다. 연산을 바르게 연결한 것은?
T1
 
T2
A
B
 
B
C
aa
10
 
20
xx
bb
20
 
30
yy
cc
30
 
40
zz
dd
20
     
R1 ← T1 ㉠ T2
 
R2 ← T1 ㉡ T2
 
R3 ← T1 ㉢ T2
A
B
C
 
A
B
C
 
A
B
C
aa
10
   
aa
10
   
bb
20
xx
bb
20
   
bb
20
xx
 
dd
20
xx
cc
30
   
cc
30
yy
 
cc
30
yy
dd
20
   
dd
20
xx
   
40
zz
 
20
xx
   
40
zz
       
 
30
yy
               
 
40
zz
               
㉠ ㉡ ㉢
데이터베이스론
  1. ①완전 외부조인(⟗) 외부 합집합(U+) 왼쪽 외부조인(⟕)
  2. ②완전 외부조인(⟗) 외부 합집합(U+) 오른쪽 외부조인(⟖)
  3. ③외부 합집합(U+) 완전 외부조인(⟗) 왼쪽 외부조인(⟕)
  4. ④외부 합집합(U+) 완전 외부조인(⟗) 오른쪽 외부조인(⟖)
정답 보기

정답 ④ · 해설 보기

12.
SQL에서 뷰(view)의 역할에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①기본 테이블(base table)들만으로 작성된 질의를 간소화시킬 수 있다.
  2. ②사용자의 접근권한에 따라 동일한 기본 테이블의 속성들을 선택적으로 제공할 수 있다.
  3. ③기본 테이블들만으로 작성된 질의 처리 성능을 향상시키기 위해 개발되었다.
  4. ④기본 테이블들의 물리적 구조를 변경시키지 않고 사용자가 원하는 새로운 가상 테이블을 생성시킬 수 있다.
정답 보기

정답 ③ · 해설 보기

13.
데이터베이스와 데이터베이스 관리시스템(DBMS)에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①데이터 종속성(data dependency)을 유지하여 데이터와 이를 이용하는 프로그램이 밀접하게 연결되어 동작하도록 도와준다.
  2. ②데이터베이스 사용자들에게 공용 데이터에 대한 다양한 관점을 제공해 준다.
  3. ③데이터베이스 시스템의 자기 기술성은 데이터베이스 구조와 제약조건에 대한 정의를 가지고 있음을 의미한다.
  4. ④분산 데이터베이스 시스템에 포함된 각 지역의 DBMS는 지역 자치성(local autonomy)을 가질 수 있다.
정답 보기

정답 ① · 해설 보기

14.
다음 트랜잭션 스케줄 S1, S2, S3, S4 중 회복 불가능한 스케줄은? (단, ri(X)와 wi(X)는 각각 트랜잭션 Ti의 데이터 항목 X에 대한 읽기연산과 쓰기연산이고, ci와 ai는 각각 Ti의 완료연산과 철회연산이다)
데이터베이스론
  1. ①S1: r1(X); r2(X); r1(Y); w2(X); w1(Y); a1; r2(Y); c2;
  2. ②S2: r1(X); w1(X); r2(X); r1(Y); w2(X); c2; a1;
  3. ③S3: r1(X); w1(X); r2(Y); w2(Y); w2(X); c2; c1;
  4. ④S4: r1(X); w1(X); r2(X); r1(Y); w2(X); w1(Y); a1; a2;
정답 보기

정답 ② · 해설 보기

15.
릴레이션 스키마 R(A, B, C, D)는 다음 함수적 종속성 집합 FD를 만족한다. R을 BCNF 정규화하였을 때 분해된 두 릴레이션 스키마 R1과 R2로 옳은 것은?
FD = {A→BCD, B→ACD, D→C}
데이터베이스론
  1. ①R1(B,C,D), R2(A,B)
  2. ②R1(A,C,D), R2(B,C,D)
  3. ③R1(A,B,D), R2(C,D)
  4. ④R1(A,B,C), R2(C,D)
정답 보기

정답 ③ · 해설 보기

16.
다음과 같은 두 트랜잭션 T1과 T2에 대하여 현재 T1은 x-lock(X)를, T2는 s-lock(Y)를 성공적으로 수행한 상태이다. 이후 두 트랜잭션이 각각 순서대로 마지막 연산까지 수행하는 과정에 대한 설명으로 옳은 것은? (단, read(X)와 write(X)는 각각 트랜잭션의 데이터 항목 X에 대한 읽기연산과 쓰기연산이고, x-lock(X)와 s-lock(X)는 각각 X에 대한 배타로크를 거는 연산과 공유로크를 거는 연산이며, unlock(X)는 X에 대한 로크를 해제하는 연산이다)
T1
T2
x-lock(X)
read(X)
X = X + 500
write(X)
x-lock(Y)
unlock(X)
Y = Y + 500
unlock(Y)
s-lock(Y)
read(Y)
x-lock(X)
unlock(Y)
read(X)
X = X + Y
unlock(X)
데이터베이스론
  1. ①T1은 성공적으로 완료되지만 T2는 교착 상태에 빠진다.
  2. ②T1은 교착 상태에 빠지지만 T2는 성공적으로 완료된다.
  3. ③T1과 T2가 모두 성공적으로 완료된다.
  4. ④T1과 T2가 모두 교착 상태에 빠진다.
정답 보기

정답 ④ · 해설 보기

17.
빅데이터(big data)에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①디지털 환경에서 생성되는 데이터로 규모가 방대하고, 정형, 반정형, 비정형 등 다양한 형태의 데이터를 포함한다.
  2. ②NoSQL 시스템은 반구조적이고 자기 기술적인 데이터를 허용하므로 대개는 스키마를 요구하지 않는다.
  3. ③NoSQL의 키-값(key-value) 데이터 모델은 키와 값의 쌍으로 저장하며, 값은 이미지나 동영상 등 다양한 형태의 데이터가 될 수 있다.
  4. ④빅데이터 분석 과정에서 추출된 정보를 시각화하는 기술로 Hadoop의 맵 리듀스(MapReduce)를 사용한다.
정답 보기

정답 ④ · 해설 보기

18.
XML(eXtensible Markup Language)에 대한 설명으로 옳은 것은?
데이터베이스론
  1. ①DTD(Document Type Definition) 문서는 XML 문서를 작성하기 위한 구문 규칙과 동일한 방식으로 작성된다.
  2. ②DTD(Document Type Definition) 문서는 XML 스키마 문서와 달리 네임스페이스(namespace)를 지원한다.
  3. ③XQuery 질의문은 FOR, LET, WHERE, RETURN 절로 구성되고 둘 이상의 변수에 대한 조인연산을 작성할 수 있다.
  4. ④XML 스키마는 XML 문서의 요소 및 속성을 데이터베이스 테이블에 맵핑(mapping)할 때 문자열 데이터를 제외한 다른 데이터형(data type)을 지정할 수 없다.
정답 보기

정답 ③ · 해설 보기

19.
3개의 트랜잭션 T1, T2, T3에 대하여, 다음과 같은 스케줄의 뷰(view)/충돌(conflict) 직렬 가능성(serializability)을 설명한 것으로 옳은 것은?
시간
T1
T2
T3
 
read(X)
   
 
write(X)
 
write(X)
   
   
write(X)
데이터베이스론
  1. ①뷰 직렬 가능하며, 동시에 충돌 직렬 가능하다.
  2. ②뷰 직렬 가능하지 않으며, 충돌 직렬 가능하지 않다.
  3. ③뷰 직렬 가능하지만, 충돌 직렬 가능하지 않다.
  4. ④뷰 직렬 가능하지 않지만, 충돌 직렬 가능하다.
정답 보기

정답 ③ · 해설 보기

20.
관계형 데이터베이스 역정규화(denormalization)에 대한 설명으로 옳지 않은 것만을 모두 고르면?
ㄱ. 릴레이션들은 역정규화한 후 정규형 수준이 높아진다.
ㄴ. 데이터베이스의 데이터 무결성을 강화할 목적으로 개발되었다.
ㄷ. 릴레이션들의 데이터 중복을 줄임으로써 데이터베이스의 크기를 감소시킨다.
ㄹ. 둘 이상의 릴레이션들에 대하여 조인한 결과를 빈번하게 이용하는 경우, 역정규화 함으로써 질의응답 시간이 단축될 수 있다.
데이터베이스론
  1. ①ㄱ, ㄴ, ㄷ
  2. ②ㄱ, ㄴ, ㄹ
  3. ③ㄴ, ㄷ, ㄹ
  4. ④ㄱ, ㄴ, ㄷ, ㄹ
정답 보기

정답 ① · 해설 보기