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

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

전체 풀기 (시험 모드)원본 PDF 받기2014 7급 국가직 전과목
1.
물리적 데이터 독립성과 관련된 설명으로 옳은 것은?
데이터베이스론
  1. ①데이터베이스 시스템 내부에서 포인터를 사용할 수 없다.
  2. ②동일한 릴레이션의 튜플(tuple)들은 동일한 파일에 저장한다.
  3. ③데이터를 접근하기 위해서는 반드시 인덱스(index)를 사용한다.
  4. ④사용자는 튜플을 접근하기 위해서 질의(query)를 사용한다.
정답 보기

정답 ④ · 해설 보기

2.
관계형 데이터베이스에서 외래키(foreign key)와 참조 무결성(referential integrity)에 대한 설명으로 옳은 것은?
데이터베이스론
  1. ①외래키는 기본키(primary key)가 될 수 없다.
  2. ②참조한 외래키와 참조된 기본키는 반드시 동일한 도메인을 가질 필요는 없다.
  3. ③외래키 값은 참조된 릴레이션의 애트리뷰트에 존재하는 값이거나 NULL 값이어야 한다.
  4. ④참조 무결성은 릴레이션 내의 튜플을 유일하게 식별하기 위해 사용된다.
정답 보기

정답 ③ · 해설 보기

3.
SQL에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①비절차적(nonprocedural) 언어이다.
  2. ②내장(embedded) SQL은 선행컴파일(precompile)이 필요하다.
  3. ③대화형(interactive) SQL과 달리 내장 SQL에서는 SELECT 문은 사용하지 않고 커서(cursor)를 이용한 FETCH 문을 사용한다.
  4. ④동적(dynamic) SQL에서는 실행 시간(runtime)에 SQL 문을 입력할 수 있다.
정답 보기

정답 ③ · 해설 보기

4.
데이터베이스의 접근 경로(access path)로 사용되는 인덱스 선정 지침으로 옳지 않은 것은?
데이터베이스론
  1. ①기본키와 외래키는 인덱스를 정의하는 중요한 후보이다.
  2. ②자주 갱신되는 애트리뷰트에는 인덱스를 정의하여 빠르게 검색하는 것이 효율적이다.
  3. ③대량의 데이터를 삽입하는 경우 인덱스를 제거하고 데이터를 삽입한 후에 다시 인덱스를 생성하는 것이 효율적이다.
  4. ④일반적으로 정수형 애트리뷰트에 인덱스를 만드는 것이 효율적이다.
정답 보기

정답 ② · 해설 보기

5.
파일 시스템(file system)과 비교하여 DBMS가 갖는 장점으로 옳지 않은 것은?
데이터베이스론
  1. ①모든 데이터를 데이터베이스로 통합하여 관리하므로 중복성과 불일치가 감소된다.
  2. ②프로그램과 데이터를 분리함으로써 데이터의 변경으로 인해 프로그램을 수정해야 하는 종속성(dependency)이 감소된다.
  3. ③데이터의 일관성을 유지하기 위해 동시성 제어(concurrency control) 기법을 제공하므로 파일 시스템에 비해 응답시간이 단축된다.
  4. ④데이터 접근 시 시스템이 고장 나는 경우에도 고장 나기 이전의 일관된 데이터베이스 상태로 복구할 수 있다.
정답 보기

정답 ③ · 해설 보기

6.
데이터베이스 저장 구조에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①힙 파일(heap file)은 파일에서 빈 공간이 있다면 레코드를 어느 위치에나 저장할 수 있다.
  2. ②순차 파일(sequential file)은 검색 키 값의 순서에 따라 정렬된 형태로 레코드들을 저장한다.
  3. ③해싱 파일(hashing file)은 각 레코드의 애트리뷰트에 해싱 함수를 적용한 후 레코드들을 정렬하여 저장한다.
  4. ④다중테이블 클러스터링 파일(multitable clustering file)은 서로 다른 릴레이션들의 관련 레코드들을 같은 블록에 저장한다.
정답 보기

정답 ③ · 해설 보기

7.
데이터 객체들을 비밀 등급으로 분류하고 사용자들에게 여러 허가 등급을 지정하여 양자 간의 관계에 따라 판독이나 기록에 제한을 주는 데이터베이스 보안 기법은?
데이터베이스론
  1. ①강제적 접근 제어(mandatory access control)
  2. ②역할기반 접근 제어(role-based access control)
  3. ③임의적 접근 제어(discretionary access control)
  4. ④흐름 제어(flow control)
정답 보기

정답 ① · 해설 보기

8.
트랜잭션(transaction)의 동작에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①트랜잭션이 완료(committed)되었다는 사실을 DBMS로부터 응용프로그램이 확인한 경우라도 하드디스크에 위치한 데이터베이스 파일에는 해당 트랜잭션에 의해 변경된 내용이 반영되어 있지 않을 수도 있다.
  2. ②트랜잭션이 마지막 명령문을 수행하여 부분완료(partially committed)된 상태에서도 철회(aborted) 상태로 옮겨갈 수 있다.
  3. ③DBMS는 아직 완료되지 않은 트랜잭션이 변경한 내용을 데이터베이스 버퍼 공간의 제약으로 인하여 하드디스크의 데이터베이스 파일에 기록할 수 있다.
  4. ④시스템 고장으로 트랜잭션이 철회된 경우, 회복 관리자에 의해 복구가 수행된 경우라도 하드디스크에 위치한 데이터베이스 파일에는 해당 트랜잭션에 의해 변경된 내용이 반영될 수 있다.
정답 보기

정답 ④ · 해설 보기

9.
다음의 ERD(Entity-Relationship Diagram)에서 성립하는 함수 종속성(functional dependency)으로 옳은 것은? (단, 개체 집합(entity set) A, B, C의 기본키는 각각 a, b, c이다)
데이터베이스론
  1. ①a → b, a → c
  2. ②b → a, c → a
  3. ③a → bc
  4. ④bc → a
정답 보기

정답 ④ · 해설 보기

10.
다음과 같은 데이터베이스 스키마(schema)와 이에 대한 설명을 참조하여 질의 “학과명 ‘컴퓨터공학과’에서 개설한 교과목 모두를 이수한 학생의 학번과 성명을 검색하시오”를 작성한 SQL 문장으로 옳은 것은?
 
<데이터베이스 스키마>
 
   
교과목(교과목번호, 교과목명, 학과명, 학점)
이수(강좌번호, 학번, 교과목번호, 성적)
강좌(강좌번호, 교과목번호, 개설학년도, 개설학기, 분반)
학생(학번, 성명, 학과명, 입학연도)
 
<설 명>
 
   
○ 밑줄 친 애트리뷰트는 기본키이고, 이탤릭체인 애트리뷰트는 외래키이다.
○ 이수 릴레이션의 강좌번호는 강좌 릴레이션의 강좌번호를 참조하고 학번은 학생 릴레이션의 학번을 참조하며 교과목번호는 교과목 릴레이션의 교과목번호를 참조한다.
○ 강좌 릴레이션의 교과목번호는 교과목 릴레이션의 교과목번호를 참조한다.
○ 이수 릴레이션의 교과목번호는 질의 성능 향상을 위하여 중복시켰다.
○ 모든 학과들은 1개 이상의 교과목들을 개설하고 있는 것으로 가정한다.
데이터베이스론
  1. ①
    SELECT DISTINCT A.학번, A.성명
    		FROM 학생 AS A, 이수 AS B
    		WHERE A.학번 = B.학번 AND
    		      EXISTS (SELECT C.교과목번호
    		                FROM 교과목 AS C
    		                WHERE B.교과목번호 = C.교과목번호 AND
    		                        C.학과명 = ‘컴퓨터공학과’);
  2. ②
    SELECT A.학번, A.성명
    		FROM 학생 AS A
    		WHERE NOT EXISTS ((SELECT 교과목번호
    		                         FROM 교과목
    		                         WHERE 학과명 = ‘컴퓨터공학과’)
    		                         EXCEPT
    		                         (SELECT B.교과목번호
    		                         FROM 이수 AS B 
    		                         WHERE A.학번 = B.학번));
  3. ③
    SELECT DISTINCT A.학번, A.성명
    		FROM 학생 AS A, 이수 AS B
    		WHERE A.학번 = B.학번 AND
    		         B.교과목번호 = ALL (SELECT 교과목번호
    		                              FROM 교과목
    		                              WHERE 학과명 = ‘컴퓨터공학과’);
  4. ④
    SELECT A.학번, A.성명
    		FROM 학생 AS A
    		WHERE A.학번 IN (SELECT B.학번
    		                    FROM 이수 AS B
                                    WHERE A.학번 = B.학번 AND
    		                           EXISTS
    		                           (SELECT C.교과목번호
    		                           FROM 교과목 AS C
    		                           WHERE C.학과명 = ‘컴퓨터공학과’ AND
    		                                    C.교과목번호 = B.교과목번호));
정답 보기

정답 ② · 해설 보기

11.
다음의 설명에 해당하는 데이터베이스 벤치마크 표준은?
○ 주문의 입력과 전달, 결제 정보 기록, 주문의 상태 점검, 재고 수량 모니터링 등의 작업으로 구성되어 있다.
○ 성능의 측정은 분당 트랜잭션 수로 나타낸다.
○ OLTP 시스템의 성능 측정을 위하여 가장 널리 쓰이는 벤치마크이다.
데이터베이스론
  1. ①TPC-W
  2. ②TPC-C
  3. ③TPC-D
  4. ④TPC-H
정답 보기

정답 ② · 해설 보기

12.
다음의 검사점(checkpoint)이 있는 로그(log)에서 시스템 고장이 발생하는 경우 재수행(redo)을 해야 하는 트랜잭션(transaction)만을 모두 고른 것은?
데이터베이스론
  1. ①T3, T5, T6, T7, T8
  2. ②T3, T5, T8
  3. ③T6, T7
  4. ④T1, T2, T4
정답 보기

정답 ② · 해설 보기

13.
다음 관계 대수식과 다른 결과를 생성하는 SQL 문은?
○ , 는 릴레이션
○ r1, r2는 릴레이션 의 애트리뷰트
○ s1, s2는 릴레이션 의 애트리뷰트
데이터베이스론
  1. ①
    SELECT DISTINCT R.r2
    		FROM R 
    		WHERE EXISTS (SELECT S.s1
    		                  FROM S
    		                  WHERE S.s1=R.r1 AND S.s2=100);
  2. ②
    SELECT DISTINCT A.r2
    		FROM R AS A, S AS B 
    		WHERE A.r1=B.s1 AND B.s2=100;
  3. ③
    SELECT DISTINCT R.r2
    		FROM R NATURAL JOIN S 
    		WHERE S.s2=100;
  4. ④
    SELECT DISTINCT R.r2
    		FROM R 
    		WHERE R.r1 IN (SELECT S.s1
    		                  FROM S
    		                  WHERE S.s2=100);
정답 보기

정답 ③ · 해설 보기

14.
관계형 데이터베이스를 설계할 때 잘 형성된 릴레이션을 만들기 위한 보이스-코드 정규형(BCNF)의 기초가 되는 규칙은?
데이터베이스론
  1. ①모든 릴레이션은 관계로 정의되어야 한다.
  2. ②모든 제약조건은 결정자(determinant)여야 한다.
  3. ③모든 도메인은 제약조건에 논리적인 순서가 있어야 한다.
  4. ④모든 결정자는 수퍼키(super key)여야 한다.
정답 보기

정답 ④ · 해설 보기

15.
두 트랜잭션 T, T가 2단계로킹규약(2-phase locking protocol)을 만족하도록 로크 명령 l(data_item)과 언로크 명령 u(data_item)을 올바르게 삽입한 것은? (단, r(x), w(x)는 트랜잭션 T가 데이터 항목(data_item) x를 읽고 쓰는 연산을 나타낸다)
데이터베이스론
  1. ①
    T: l(x); r(x); w(x); u(x); l(y); r(y); w(y); u(y);
    T: l(x); r(x); w(x); l(y); u(x); r(y); w(y); u(y);
  2. ②
    T: l(x); r(x); w(x); u(x); l(y); r(y); w(y); u(y);
    T: l(x); r(x); w(x); u(x); l(y); r(y); w(y); u(x);
  3. ③
    T: l(x); l(y); r(x); w(x); r(y); w(y); u(x); u(y);
    T: l(x); r(x); w(x); u(x); l(y); r(y); w(y); u(y);
  4. ④
    T: l(x); l(y); r(x); w(x); r(y); w(y); u(y); u(x);
    T: l(x); r(x); w(x); l(y); u(x); r(y); w(y); u(y);
정답 보기

정답 ④ · 해설 보기

16.
데이터베이스 응용을 개발하기 위해서 SQL 명령들을 호스트 언어에 내장하기도 한다. 이때, 커서(cursor)를 이용하여 SQL과 호스트 언어 사이의 불일치(mismatch)를 해결한다. 커서에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①커서를 이용해 릴레이션의 튜플(tuple)을 접근할 때는 읽기만 수행할 수 있다.
  2. ②커서를 이용하면 호스트 언어에서 릴레이션으로부터 한 번에 하나의 튜플을 인출(fetch)할 수 있다.
  3. ③커서를 개방(open)한 후에만 튜플을 인출할 수 있다.
  4. ④커서를 정의하려면 DECLARE CURSOR 문을 사용하고, 정적 커서(static cursor)를 선언할 때에는 완전한 SELECT 문이 DECLARE CURSOR 문에 포함되어야만 한다.
정답 보기

정답 ① · 해설 보기

17.
대학에서 3, 4학년은 교수로부터 진로지도를 받는다. 또한 학생 간 멘토링(mentoring)도 실시하는데 1 ~ 3학년이 4학년으로부터 조언을 받는다. 이때, 4학년을 멘토(mentor), 1 ~ 3학년을 멘티(mentee)라고 부른다. 이에 대한 관계 데이터베이스 스키마(schema)와 조건이 다음과 같을 때 외래키(foreign key)로 선언할 수 있는 애트리뷰트는 모두 몇 개인가? (단, 밑줄 친 애트리뷰트는 기본키를 나타낸다)
 
<데이터베이스 스키마>
 
   
학생(학번, 이름, 학과)
교수(교수ID, 이름, 학과)
지도(교수ID, 학번, 내용)
멘토링(멘토, 멘티, 내용)
 
<조 건>
 
   
○ 진로지도를 담당하지 않는 교수도 있을 수 있다.
○ 진로지도를 받지 않는 3, 4학년 학생도 있을 수 있다.
○ 멘토링 프로그램에 멘토 또는 멘티로 참가하지 않는 학생도 있을 수 있다.
데이터베이스론
  1. ①1개
  2. ②2개
  3. ③3개
  4. ④4개
정답 보기

정답 ④ · 해설 보기

18.
다음 SQL 트리거 명령문은 직원(EMPLOYEE)의 급여(Salary)를 갱신하면 그 직원이 근무하는 부서(DEPARTMENT)의 전체직원급여(Total_sal)도 자동으로 갱신하는 기능을 수행한다. 빈칸에 들어갈 내용으로 적절한 것은? (단, Dno는 부서번호이다)
CREATE TRIGGER SALARY_TRIGGER
WHEN (N.Dno IS NOT NULL)
UPDATE DEPARTMENT
SET Total_sal = Total_sal + N.Salary - O.Salary
WHERE Dno = N.Dno;
데이터베이스론
  1. ①
    AFTER UPDATE OF Salary ON EMPLOYEE
    REFERENCING OLD ROW AS O, NEW ROW AS N
    FOR EACH ROW
  2. ②
    BEFORE UPDATE OF EMPLOYEE
    REFERENCING OLD ROW AS O, NEW ROW AS N
    FOR EACH ROW
  3. ③
    AFTER UPDATE OF EMPLOYEE
    REFERENCING OLD TABLE AS O, NEW TABLE AS N
    FOR EACH STATEMENT
  4. ④
    BEFORE UPDATE OF Salary ON EMPLOYEE
    REFERENCING OLD TABLE AS O, NEW TABLE AS N
    FOR EACH STATEMENT
정답 보기

정답 ① · 해설 보기

19.
XML에 대한 설명으로 옳지 않은 것은?
데이터베이스론
  1. ①XML 스키마(schema)는 XML 문서의 구조를 기술하기 위한 언어로, 사용자 정의 타입과 타입의 상속, 무결성 제약조건 등을 정의하는 수단을 제공한다.
  2. ②XML 문서는 요소와 속성들을 노드로 갖는 트리로 모델링될 수 있고, XPath 경로식을 이용하여 특정 요소나 속성을 지정하고 검색할 수 있다.
  3. ③XPath는 XML 데이터에 대한 표준 질의 언어로, XQuery에 비해 다양한 질의를 제공하여 XML 요소나 속성에 대한 선택, 조인, 정렬, 집계함수 등을 이용한 질의를 표현할 수 있다.
  4. ④스키마가 존재하는 XML 데이터를 관계형 데이터베이스에 저장하기 위해 각 요소 타입을 릴레이션으로 사상(mapping)하는 방법은 XML 질의 처리 시 많은 조인 연산을 발생시킬 수 있다.
정답 보기

정답 ③ · 해설 보기

20.
데이터 마이닝(data mining)의 연관규칙을 이용하여 다음과 같은 장바구니를 분석하였다. 빵과 우유 사이의 연관규칙에 대한 신뢰도(confidence)와 지지도(support) 계산 결과로 옳은 것은?
트랜잭션ID
구매품목
1
빵, 맥주, 우유
2
소고기, 맥주, 우유, 빵
3
우유, 빵, 사이다
4
사이다, 빵, 우유
5
소고기, 맥주, 사이다, 빵
6
사이다, 소고기, 맥주
데이터베이스론
  1. ①‘빵 → 우유’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
  2. ②‘우유 → 빵’에 대한 신뢰도는 4/6이고 지지도는 4/5이다.
  3. ③‘빵 → 우유’에 대한 신뢰도는 4/4이고 지지도는 5/6이다.
  4. ④‘우유 → 빵’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
정답 보기

정답 ① · 해설 보기