[경찰간부후보생 데이터베이스론] 23년 1회차
경찰간부후보생 데이터베이스론 기출문제

23년 1회차

총 40문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
경찰간부후보생 데이터베이스론 기출문제모두CBT · moducbt.com

23년 1회차

총 40문항 · 객관식 · 정답·해설 포함
문제 1
사용자가 원하는 데이터를 얻기 위해 데이터값을 사용하여 조건을 제시하면 이에 해당하는 데이터를 검색해 주는 데이터베이스 특징으로 가장 적절한 것은?
1계속적인 변화
2내용에 따른 참조
3동시 공유
4실시간 접근
정답 및 해설

데이터 값을 조건으로 제시해 검색하는 특징은 내용에 따른 참조이다.

데이터베이스는 저장 주소나 위치가 아니라 데이터의 값(내용)을 기준으로 원하는 데이터를 찾는다.

  • 계속적인 변화: 삽입·삭제·갱신으로 항상 최신 상태를 유지하는 특징이다.
  • 동시 공유: 여러 사용자가 같은 데이터를 함께 이용하는 특징이다.
  • 실시간 접근: 질의에 즉시 응답하는 특징이다.
문제 2
데이터 사전에 대한 설명으로 가장 적절하지 않은 것은?
1사용자가 접근할 수 있다.
2스키마, 사상정보, 다양한 제약조건 등을 저장한다.
3데이터에 대한 데이터를 의미해 메타 데이터라고도 한다.
4데이터를 저장하는 데이터베이스의 일종으로 사용자 데이터베이스라고도 한다.
정답 및 해설

데이터 사전을 사용자 데이터베이스라고 한 설명이 옳지 않다.

데이터 사전은 DBMS가 관리하는 시스템 데이터베이스로, 사용자 데이터가 아니라 데이터에 관한 정보를 저장한다.

  • 사용자 접근: 사용자도 검색 위주로 조회할 수 있다.
  • 저장 내용: 스키마, 사상 정보, 각종 제약조건을 저장한다.
  • 메타 데이터: 데이터에 대한 데이터이므로 메타 데이터라고도 한다.
문제 3
데이터베이스 구조에서 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성으로 가장 적절한 것은?
1최소성
2원자성
3독립성
4유일성
정답 및 해설

하위 스키마를 바꿔도 상위 스키마가 영향을 받지 않는 특성은 데이터 독립성이다.

3단계 스키마 구조는 스키마 사이의 사상을 고쳐 변경을 흡수하므로 상위 단계와 응용 프로그램을 그대로 유지할 수 있다.

  • 최소성: 후보키가 유일 식별에 꼭 필요한 속성만으로 구성되는 성질이다.
  • 원자성: 트랜잭션의 연산이 전부 수행되거나 전혀 수행되지 않는 성질이다.
  • 유일성: 키 값으로 투플을 하나만 식별할 수 있는 성질이다.
문제 4
데이터베이스 관리자의 역할을 모두 고른 것은?
가.일관된 데이터베이스 상태를 정의
나.DBMS의 성능 검사 후 저장구조 변경
다.데이터베이스의 개념적 스키마를 결정
라.사용자의 요구사항을 분석하여 데이터베이스를 구성할 데이터 결정
1가
2가, 나
3가, 나, 다
4가, 나, 다, 라
정답 및 해설

제시된 네 가지 업무는 모두 데이터베이스 관리자의 역할이다.

데이터베이스 관리자는 설계부터 운영까지 데이터베이스 전반을 총괄한다.

  • 일관된 상태 정의: 무결성 제약조건을 정의하는 운영 업무이다.
  • 성능 검사 후 저장구조 변경: 성능을 감시하고 조정하는 업무이다.
  • 개념적 스키마 결정: 데이터베이스 구조를 정의하는 업무이다.
  • 구성 데이터 결정: 사용자 요구를 분석해 담을 내용을 정하는 업무이다.
문제 5
다음 E-R 다이어그램에서 다중값 속성은?

1학번
2성명
3소속
4연락처
정답 및 해설

이중 타원으로 표시된 연락처가 다중값 속성이다.

E-R 다이어그램에서 이중 타원은 한 개체가 여러 개의 값을 가질 수 있는 속성을 나타낸다. 한 학생이 연락처를 여러 개 가질 수 있음을 표현한 것이다.

  • 학번: 밑줄이 그어진 타원으로, 학생을 유일하게 식별하는 키 속성이다.
  • 성명: 단일 타원으로 표시된 일반 속성으로, 값을 하나만 가진다.
  • 소속: 타원이 아닌 마름모로 표시되어 있어 학생과 학과를 잇는 관계이며 속성이 아니다.
문제 6
차수(degree)와 카디널리티(cardinality)에 대한 설명으로 적절한 것은 모두 몇 개인가?
가. 차수는 릴레이션에서 속성의 개수이다.
나. 유효한 릴레이션의 최소 차수는 0이다.
다. 유효한 릴레이션의 최소 카디널리티는 1이다.
라. 카디널리티는 한 릴레이션의 투플의 개수이다.
11개
22개
33개
44개
정답 및 해설

적절한 설명은 차수와 카디널리티의 정의를 말한 두 가지이다.

릴레이션은 속성이 최소 하나는 있어야 하지만 투플은 하나도 없을 수 있으므로 최소 차수는 1, 최소 카디널리티는 0이다.

  • 차수는 속성의 개수: 옳다.
  • 최소 차수가 0: 틀리다. 속성이 없는 릴레이션은 성립하지 않는다.
  • 최소 카디널리티가 1: 틀리다. 투플이 없는 빈 릴레이션도 유효하다.
  • 카디널리티는 투플의 개수: 옳다.
문제 7
릴레이션의 특징에 대한 설명으로 가장 적절하지 않은 것은?
1한 릴레이션의 모든 속성값은 원자값이다.
2한 릴레이션에 포함된 투플은 모두 상이하다.
3한 릴레이션에 포함된 투플 사이에는 순서가 있다.
4한 릴레이션을 구성하는 속성 사이에는 순서가 없다.
정답 및 해설

투플 사이에 순서가 있다는 설명이 옳지 않다.

릴레이션은 투플의 집합이므로 투플 사이에 순서가 없다.

  • 속성값의 원자성: 각 속성값은 더 나눌 수 없는 원자값이다.
  • 투플의 유일성: 집합이므로 중복된 투플이 없다.
  • 속성의 무순서: 속성은 이름으로 구별되므로 순서가 없다.
문제 8
<사원>, <부서> 릴레이션이 다음과 같을 때, 릴레이션 수(A), 속성 수(B), 투플 수(C)의 총 합(A+B+C)은?
사원부서
사번성명부서번호부서번호부서명
100김철수11영업부
101이영희22총무부
102최고나2
103홍길동1
111
212
313
414
정답 및 해설

세 값의 총합은 13이다.

릴레이션은 사원과 부서 2개이고, 속성은 열로 각각 3개와 2개, 투플은 행으로 각각 4개와 2개이다.

  • 릴레이션 수: A=2A=2
  • 속성 수: B=3+2=5B=3+2=5
  • 투플 수: C=4+2=6C=4+2=6
  • 총합: A+B+C=2+5+6=13A+B+C=2+5+6=13
문제 9
다음은 후보키에 대한 설명이다. 빈칸 ㉠, ㉡에 해당하는 가장 적절한 것은?
투플을 유일하게 구별하기 위해 꼭 필요한 최소한의 속성들로만 이루어지므로 (㉠) 중에서 (㉡)을 만족하는 것이 후보키가 된다.
1㉠ 슈퍼키, ㉡ 최소성
2㉠ 슈퍼키, ㉡ 유일성
3㉠ 대체키, ㉡ 최소성
4㉠ 대체키, ㉡ 유일성
정답 및 해설

후보키는 슈퍼키 중에서 최소성을 만족하는 키이다.

슈퍼키는 유일성만 갖춘 키이고, 여기에 최소성이 더해지면 후보키가 된다.

  • 슈퍼키 중 유일성 만족: 슈퍼키는 이미 유일성을 가지므로 후보키를 가려내지 못한다.
  • 대체키 중 최소성 만족: 대체키는 후보키에서 기본키를 뺀 나머지이므로 포함 관계가 거꾸로이다.
  • 대체키 중 유일성 만족: 대체키는 이미 후보키의 일부이므로 정의가 성립하지 않는다.
문제 10
관계형 데이터베이스의 제약 조건에 대한 설명으로 가장 적절하지 않은 것은?
1릴레이션 간에 독립성 유지
2기본키의 값은 널을 가질 수 없음
3키 속성의 값은 반드시 도메인에 속하는 원자값
4후보키의 값은 릴레이션 내의 각 투플을 유일하게 식별
정답 및 해설

릴레이션 간 독립성 유지는 제약 조건의 설명으로 옳지 않다.

관계형 제약 조건은 오히려 참조 무결성으로 릴레이션 사이의 관계가 일관되도록 유지한다.

  • 기본키의 널 금지: 개체 무결성 제약 조건이다.
  • 도메인의 원자값: 속성값은 도메인에 속한 원자값이어야 한다는 도메인 제약이다.
  • 후보키의 유일 식별: 키 제약 조건이다.
문제 11
<고객>, <도서> 개체의 관계가 다음과 같다. 관계의 유형으로 가장 적절한 것은?

1다대다 관계
2다대일 관계
3일대다 관계
4일대일 관계
정답 및 해설

고객과 도서의 관계는 다대다 관계이다.

이영희는 빅데이터와 정보보안 두 권에 연결되어 있고, 정보보안은 이영희와 홍길동 두 명에 연결되어 있다. 이처럼 양쪽 모두 상대 개체 여러 개와 대응할 수 있으면 다대다 관계이다.

  • 다대일 관계: 고객 한 명이 도서 하나에만 대응해야 하는데, 이영희가 도서 두 권에 연결되어 있어 성립하지 않는다.
  • 일대다 관계: 도서 하나가 고객 한 명에게만 대응해야 하는데, 정보보안이 고객 두 명에 연결되어 있어 성립하지 않는다.
  • 일대일 관계: 양쪽 모두 하나씩만 대응해야 하므로, 여러 개에 연결된 고객과 도서가 있는 이 관계에는 해당하지 않는다.
문제 12
다음 데이터 모델링 과정에서 DBMS 선정을 고려해야 하는 가장 적절한 단계는?

요구사항 수집 및 분석 → 설계(개념적 모델링 → 논리적 모델링 → 물리적 모델링) → 데이터베이스 구현
1요구사항 수집 및 분석
2개념적 모델링
3논리적 모델링
4물리적 모델링
정답 및 해설

DBMS 선정을 고려해야 하는 단계는 논리적 모델링이다.

논리적 모델링은 개념 스키마를 목표 DBMS의 데이터 모델에 맞는 논리 스키마로 변환하는 단계이다. 따라서 이 단계부터 어떤 DBMS를 사용할지가 설계에 반영된다.

  • 요구사항 수집 및 분석: 사용자의 요구를 파악해 명세하는 단계로, 특정 DBMS와 관계가 없다.
  • 개념적 모델링: E-R 다이어그램 등으로 현실 세계를 추상화하는 단계로, DBMS에 독립적이다.
  • 물리적 모델링: 저장 구조와 인덱스 등 접근 경로를 구체화하는 단계로, 이미 정해진 DBMS를 전제로 진행한다.
문제 13
DB의 물리적 설계 단계에서 트랜잭션과 저장공간 설계 측면에서 고려할 사항으로 가장 적절하지 않은 것은?
1응답시간 최소화
2트랜잭션 처리도
3저장공간의 효율화
4트랜잭션 인터페이스 설계
정답 및 해설

트랜잭션 인터페이스 설계는 물리적 설계의 고려 사항으로 옳지 않다.

이는 논리적 설계 단계의 작업이며, 물리적 설계는 저장 구조와 접근 경로의 성능을 다룬다.

  • 응답시간 최소화: 요청 후 결과를 받기까지의 시간을 줄이는 물리적 설계 기준이다.
  • 트랜잭션 처리도: 단위 시간당 처리량을 높이는 물리적 설계 기준이다.
  • 저장공간의 효율화: 저장 공간을 적게 쓰도록 하는 물리적 설계 기준이다.
문제 14
다음은 EMPLOYEE와 DEPARTMENT 테이블을 정의하는 SQL이다. 밑줄 친 ㉠, ㉡에 가장 적절한 것은?
CREATE TABLE DEPARTMENT (
dname VARCHAR(15) NOT NULL,
dnum INT NOT NULL,
㉠ ( dnum ) ) ;

CREATE TABLE EMPLOYEE (
name VARCHAR(15) NOT NULL,
eno CHAR(9) NOT NULL,
dno INT NOT NULL,
㉠ ( eno ),
㉡ ( dno ) REFERENCES
DEPARTMENT ( dnum ) ) ;

㉠ ㉡
1PRIMARY KEY FOREIGN KEY
2FOREIGN KEY FOREIGN KEY
3PRIMARY KEY UNIQUE
4FOREIGN KEY UNIQUE
정답 및 해설

㉠에는 PRIMARY KEY, ㉡에는 FOREIGN KEY가 들어간다.

㉠은 dnum과 eno를 각 테이블의 기본키로 지정하는 자리이고, ㉡은 REFERENCES로 DEPARTMENT(dnum)를 참조하므로 외래키 자리이다.

  • 둘 다 FOREIGN KEY: ㉠에 참조 대상이 없어 외래키가 될 수 없다.
  • PRIMARY KEY와 UNIQUE: UNIQUE는 다른 테이블을 참조하는 REFERENCES와 함께 쓰는 구문이 아니다.
  • FOREIGN KEY와 UNIQUE: 기본키를 지정하지 못하고 참조 구문도 맞지 않는다.
문제 15
다음 테이블에 대해, 모든 사원들의 부서(dno) 평균 급여(salary)가 3,000,000원 이상인 부서를 검색하는 SQL 명령문이다. 밑줄 친 ㉠, ㉡에 가장 적절한 것은?
EMPLOYEE
enoenamesalarydno
1001홍길동30000001
1002김철수28000002
1003이영희32000002


SELECT dno, AVG( salary ) AS avgsal
FROM EMPLOYEE
㉠ dno
㉡ AVG( salary ) >= 3000000 ;

㉠ ㉡
1WHERE AND
2WHERE HAVING
3GROUP BY AND
4GROUP BY HAVING
정답 및 해설

㉠은 GROUP BY, ㉡은 HAVING이다.

부서별로 묶으려면 GROUP BY가 필요하고, AVG 같은 집계 결과에 거는 조건은 HAVING으로 쓴다.

  • WHERE와 AND: WHERE로는 그룹을 만들 수 없고 AND는 절을 시작하지 못한다.
  • WHERE와 HAVING: WHERE dno는 조건이 아니며 그룹도 만들어지지 않는다.
  • GROUP BY와 AND: AND는 단독으로 집계 조건 절을 시작할 수 없다.
문제 16
다음의 R, S 테이블에 대해 SQL ‘가’와 ‘나’의 실행결과 레코드 수의 합은?
R
ABC
1a10
1a11
2b25
3b22
5c17
S
ADE
1gx
1gy
2hw
4kw
6mz


가.SELECT DISTINCT A FROM R ;
나.SELECT R.A, R.C, S.E
FROM R LEFT OUTER JOIN S
ON R.A = S.A ;
110
211
312
413
정답 및 해설

두 결과의 레코드 수의 합은 11이다.

가는 R의 A에서 중복을 제거하므로 1, 2, 3, 5의 4건이다.

나는 왼쪽 외부 조인이므로 R의 모든 행이 남고, 짝이 없는 행은 S 쪽이 NULL로 채워져 7건이 된다.

  • A=1: R의 2행과 S의 2행이 만나 4건
  • A=2: 1건
  • A=3: S에 짝이 없어 NULL로 1건
  • A=5: S에 짝이 없어 NULL로 1건
문제 17
SQL에서 뷰의 개념에 대한 설명으로 가장 적절하지 않은 것은?
1다른 테이블이나 기존의 뷰로부터 유도된 테이블이다.
2뷰는 SELECT, DELETE, INSERT, UPDATE 명령문을 이용하여 정의한다.
3뷰에 대한 갱신 연산은 제한을 받는다.
4뷰를 이용하여 복잡한 질의를 간단한 질의로 표현할 수 있다.
정답 및 해설

뷰를 DELETE, INSERT, UPDATE로 정의한다는 설명이 옳지 않다.

뷰는 CREATE VIEW 안의 SELECT 문으로만 정의하며, 나머지 명령은 만들어진 뷰에 대해 수행하는 조작이다.

  • 유도된 테이블: 뷰는 기본 테이블이나 다른 뷰에서 유도된 가상 테이블이다.
  • 갱신 제한: 집계나 조인이 포함된 뷰 등은 갱신이 제한된다.
  • 질의 단순화: 복잡한 질의를 뷰로 정의해 간단히 표현할 수 있다.
문제 18
다음과 같이 릴레이션들이 주어졌을 때, 관계대수식 AB ÷ C 연산의 결과 투플 수는?
ABA#B#
a1b1
a1b2
a1b4
a2b1
a2b2
a2b4
a2b6
a3b3
a4b1
a4b2
a4b4

CB#
b2
b4
11
22
33
44
정답 및 해설

나눗셈의 결과 투플 수는 3이다.

AB ÷ C는 C의 B# 값 b2와 b4를 모두 갖는 A#만 남긴다.

  • a1: b2, b4를 모두 가져 포함된다.
  • a2: b2, b4를 모두 가져 포함된다.
  • a3: b3만 있어 제외된다.
  • a4: b2, b4를 모두 가져 포함된다.
문제 19
관계형 데이터모델의 관계대수 연산자에 대한 설명으로 가장 적절하지 않은 것은?
1Πattr(R) 연산의 결과 투플 수는 항상 R의 투플 수보다 작거나 같다.
2σ(R) 연산의 결과 릴레이션 차수는 릴레이션 R의 차수와 같다.
3합집합, 교집합, 차집합 연산은 합집합 호환성이 만족되어야 한다.
4합집합, 교집합, 차집합 연산은 결합법칙, 교환법칙이 성립한다.
정답 및 해설

세 연산 모두 결합·교환법칙이 성립한다는 설명이 옳지 않다.

합집합과 교집합은 두 법칙이 성립하지만, 차집합은 피연산자를 바꾸면 결과가 달라져 성립하지 않는다.

  • 프로젝션: 중복이 제거될 수 있으므로 결과 투플 수는 R과 같거나 적다.
  • 셀렉션: 투플만 고르므로 결과의 차수는 R과 같다.
  • 합집합 호환성: 세 집합 연산은 두 릴레이션의 속성 구성이 호환되어야 한다.
문제 20
다음 릴레이션 R에서 성립하는 함수 종속성으로 가장 적절하지 않은 것은?
R
ABC
bch
eif
gif
eba
1A → B
2B → C
3AB → C
4AC → B
정답 및 해설

성립하지 않는 함수 종속성은 A → B이다.

A 값이 e인 두 투플의 B 값이 i와 b로 다르므로 A가 B를 결정하지 못한다.

  • B → C: B 값이 같은 i의 두 투플이 모두 C 값 f를 가져 성립한다.
  • AB → C: AB 값이 모두 달라 성립한다.
  • AC → B: AC 값이 모두 달라 성립한다.
문제 21
릴레이션 R(A, B, C)는 다음과 같은 함수 종속성이 성립한다. 릴레이션 R의 후보키는?
AB → C, C → A
1A
2C
3AB
4AC
정답 및 해설

보기 중 후보키는 AB이다.

B는 어떤 종속의 오른쪽에도 없으므로 모든 후보키에 포함되어야 한다. AB의 폐포는 AB → C로 A, B, C 전체가 되고, A나 B 하나만으로는 전체를 결정하지 못한다.

  • A: 폐포가 A뿐이다.
  • C: 폐포가 A, C에 그쳐 B를 얻지 못한다.
  • AC: 폐포가 A, C에 그쳐 B를 얻지 못한다.
문제 22
릴레이션 R(A, B, C, D, E)에 대해 다음의 함수 종속성이 성립한다. 릴레이션 R의 정규형과 주어진 분해에 대한 설명으로 가장 적절한 것은?
<함수 종속성>
AB → C, C → A, C → D, D → E

<분해>
R1(A, B, C), R2(C, D), R3(D, E)
1제2정규형, 무손실 분해
2제2정규형, 손실 분해
3제3정규형, 무손실 분해
4제3정규형, 손실 분해
정답 및 해설

보기 중 가장 적절한 판정은 제2정규형, 무손실 분해이다.

기본키를 AB로 보면 C, D, E가 A나 B 하나에만 종속되지 않으므로 부분 종속이 없다. 그러나 D와 E는 키가 아닌 C를 거쳐 종속되어 이행 종속이 남으므로 제3정규형은 아니다.

다만 BC도 후보키이므로 모든 후보키를 기준으로 삼는 엄밀한 정의에서는 C → D가 BC에 대한 부분 종속이 된다. 보기에 제1정규형이 없어 기본키 AB 기준으로 판정한다.

  • 제2정규형, 손실 분해: R1과 R2의 공통 속성 C가 R2의 키이고, 이를 합친 결과와 R3의 공통 속성 D가 R3의 키이므로 무손실이다.
  • 제3정규형, 무손실 분해: 이행 종속이 남아 있어 제3정규형이 아니다.
  • 제3정규형, 손실 분해: 정규형과 분해 판정이 모두 틀리다.
문제 23
데이터베이스를 파일에 저장하는 기법과 관련된 설명으로 가장 적절하지 않은 것은?
1파일은 일반적으로 동일한 유형의 레코드들의 모임으로 이루어진다.
2DBMS는 디스크로부터 사용자가 원하는 데이터를 포함하고 있는 블록을 주기억장치로 가져온다.
3버퍼는 성능향상을 위해 자주 참조되는 디스크 블록들을 저장하는 데 사용되는 주기억장치 공간이다.
4한 파일에 속하는 블록들은 반드시 인접해 있어야 한다.
정답 및 해설

파일의 블록이 반드시 인접해야 한다는 설명이 옳지 않다.

블록은 연속 할당 외에도 연결이나 인덱스 방식으로 디스크 곳곳에 흩어져 저장될 수 있다.

  • 파일의 구성: 일반적으로 같은 유형의 레코드들로 이루어진다.
  • 블록 전송: DBMS는 필요한 데이터가 든 블록을 주기억장치로 가져온다.
  • 버퍼: 자주 참조되는 블록을 두어 디스크 접근을 줄이는 주기억장치 공간이다.
문제 24
다음은 RAID에 대한 설명이다. 적절한 설명은 모두 몇 개인가?
가. 블록레벨 스트라이핑(striping)은 데이터 블록들을 비트별로 여러 디스크에 분산시킨다.
나. 신뢰성 향상을 위해 반사(mirroring), 패리티(parity) 기법을 사용한다.
다. 레벨 1은 디스크 오류 복구가 가장 쉽고 레벨 0은 가장 좋은 쓰기 성능을 갖는다.
라. 레벨 5는 데이터를 모든 디스크에 분산시키고, 패리티를 일부 디스크에 분산시킨다.
11개
22개
33개
44개
정답 및 해설

적절한 설명은 두 가지이다.

스트라이핑은 블록 단위로 데이터를 나누고, RAID 5는 패리티도 모든 디스크에 분산한다는 점이 판단 기준이다.

  • 블록레벨 스트라이핑을 비트별 분산이라 한 설명: 틀리다. 블록 단위로 분산한다.
  • 반사와 패리티로 신뢰성 향상: 옳다.
  • 레벨 1의 복구 용이성과 레벨 0의 쓰기 성능: 옳다.
  • 레벨 5의 패리티를 일부 디스크에 분산한다는 설명: 틀리다. 데이터와 패리티를 모든 디스크에 분산한다.
문제 25
인덱스에 대한 설명으로 가장 적절하지 않은 것은?
1클러스터링(clustering) 인덱스는 범위 질의에 유용하다.
2보조(secondary) 인덱스는 탐색키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의된다.
3밀집(dense) 인덱스는 모든 데이터 블록의 최대 탐색키 값들을 모아서 인덱스 엔트리로 유지하는 인덱스이다.
4클러스터링 인덱스는 희소 인덱스일 경우가 많다.
정답 및 해설

밀집 인덱스를 블록별 대표 키로 설명한 것이 옳지 않다.

밀집 인덱스는 모든 레코드의 탐색키 값을 엔트리로 두며, 블록마다 대표 값만 두는 방식은 희소 인덱스이다.

  • 클러스터링 인덱스의 범위 질의: 비슷한 키 값이 모여 저장되어 범위 검색에 유리하다.
  • 보조 인덱스: 탐색키 순서로 정렬되지 않은 파일에 정의한다.
  • 클러스터링 인덱스의 희소성: 데이터가 정렬되어 있어 블록 단위 엔트리로 충분하다.
문제 26
다음과 같이 인덱스가 생성되어 있을 때, 생성된 인덱스가 사용되기에 가장 적절하지 않은 질의는?
CREATE INDEX EmpIndex
ON EMPLOYEE ( dno, salary ) ;
1SELECT * FROM EMPLOYEE WHERE salary = 5000000 ;
2SELECT * FROM EMPLOYEE WHERE dno = 3 AND salary = 5000000 ;
3SELECT * FROM EMPLOYEE WHERE dno = 2 ;
4SELECT * FROM EMPLOYEE WHERE dno >= 2 AND salary >= 4000000 AND salary <= 5000000 ;
정답 및 해설

salary만 조건으로 쓴 질의는 이 인덱스를 활용하기에 적절하지 않다.

복합 인덱스 (dno, salary)는 dno로 먼저 정렬되어 있으므로 선두 속성 dno의 조건이 있어야 효과적이다.

  • dno와 salary의 동등 조건: 두 인덱스 속성을 모두 활용한다.
  • dno의 동등 조건: 선두 속성만으로도 인덱스를 활용한다.
  • dno의 범위 조건과 salary의 범위 조건: 선두 속성 dno로 탐색 범위를 줄일 수 있다.
문제 27
비용 기반(cost-based) 질의 최적화(query optimization) 방법을 위해 비용 산정 시 고려하는 구성요소로 가장 적절하지 않은 것은?
1보조 기억 장치의 접근 비용
2백업(backup)을 위한 저장 비용
3주기억 장치 연산을 수행하는 계산 비용
4질의 전송 및 결과 반환을 위한 통신 비용
정답 및 해설

백업을 위한 저장 비용은 질의 비용 산정 요소가 아니다.

비용 기반 최적화는 질의를 실행하는 데 드는 비용으로 실행 계획을 비교하며, 백업은 질의 실행과 무관하다.

  • 보조 기억 장치 접근 비용: 디스크 입출력 비용으로 핵심 요소이다.
  • 주기억 장치 계산 비용: 메모리에서 연산을 수행하는 비용이다.
  • 통신 비용: 질의 전송과 결과 반환에 드는 비용이다.
문제 28
동시성 제어가 제대로 이루어지지 않은 경우에 발생하는 문제로 가장 적절하지 않은 것은?
1갱신 손실 문제가 발생할 수 있다.
2오손 읽기(dirty read) 문제가 발생할 수 있다.
3연쇄 삭제 문제가 발생할 수 있다.
4부정확한 요약 문제가 발생할 수 있다.
정답 및 해설

연쇄 삭제는 동시성 제어 실패로 생기는 문제가 아니다.

연쇄 삭제는 참조 무결성 유지를 위해 참조하는 투플까지 함께 지우는 동작이다.

  • 갱신 손실: 한 트랜잭션의 갱신을 다른 트랜잭션이 덮어쓰는 문제이다.
  • 오손 읽기: 철회될 수 있는 미완료 값을 읽는 문제이다.
  • 부정확한 요약: 갱신 중인 데이터로 집계해 값이 어긋나는 문제이다.
문제 29
다음 그림은 트랜잭션(Tn)의 로그 기록과 체크포인트 및 시스템 장애 시점을 나타낸다. 시스템 장애가 발생한 후 로그 기록에 따라 회복하는 방법 중 가장 적절하지 않은 것은?
T1
T2
T3
T4
시간
체크포인트 시스템 장애
1즉시갱신 방법을 사용한 경우, T1은 REDO가 필요하다.
2즉시갱신 방법을 사용한 경우, T2는 아무 작업이 필요없다.
3지연갱신 방법을 사용한 경우, T3는 REDO가 필요하다.
4지연갱신 방법을 사용한 경우, T4는 아무 작업이 필요없다.
문제 30
데이터베이스 로그(log)에 대한 설명으로 가장 적절한 것은?
1트랜잭션의 동시성 제어를 위해 작성하는 파일이다.
2로그 기록 시 변경 후의 값만을 저장한다.
3트랜잭션 수행이 종료될 때만 기록한다.
4트랜잭션의 종료 또는 중단 여부를 판단할 수 있다.
정답 및 해설

로그로 트랜잭션의 종료 또는 중단 여부를 판단할 수 있다.

로그에는 트랜잭션의 시작, 갱신, 완료, 철회 기록이 남으므로 회복 시 REDO와 UNDO 대상을 가려낼 수 있다.

  • 동시성 제어용 파일: 로그는 회복을 위한 파일이고 동시성 제어는 로킹 등이 맡는다.
  • 변경 후 값만 저장: 변경 전 값과 변경 후 값을 모두 기록해야 한다.
  • 종료 시에만 기록: 트랜잭션 수행 중 갱신이 일어날 때마다 기록한다.
문제 31
NoSQL은 성능과 모델링 파워의 유연성 및 복잡한 질의 기능을 강조하고 있다. 다음 중 NoSQL의 특징으로 가장 적절하지 않은 것은?
1빅데이터를 효율적으로 처리하기 위해 등장한 데이터 저장 기술이다.
2NoSQL은 하나의 데이터베이스나 네트워크 시스템을 여러개의 작은 조각으로 나누어 관리하는 기술을 지원한다.
3NoSQL은 RDBMS보다 엄격한 일관성 모델을 보장한다.
4NoSQL 데이터 모델로 키-값, 문서기반, 그래프 기반 등의 모델이 있다.
정답 및 해설

NoSQL이 RDBMS보다 엄격한 일관성을 보장한다는 설명이 옳지 않다.

NoSQL은 확장성과 가용성을 위해 일관성을 완화하는 경우가 많고, 엄격한 일관성은 ACID를 따르는 RDBMS의 특징이다.

  • 등장 배경: 빅데이터를 효율적으로 처리하기 위해 등장했다.
  • 조각 관리: 데이터를 여러 조각으로 나누어 분산 관리하는 샤딩을 지원한다.
  • 데이터 모델: 키-값, 문서 기반, 그래프 기반 등이 있다.
문제 32
데이터웨어하우스의 특징에 대한 설명으로 가장 적절하지 않은 것은?
1누구나 쉽게 이해하도록 데이터를 고객, 제품 등과 같이 주제 중심으로 분류 가능하다.
2과거와 현재의 경향에 대한 분석 및 예측을 지원하기 위한 데이터 공간이다.
3일관성 있는 데이터 정의, 관계성, 키 구조 등 하나의 의미로 통합 저장한다.
4일반적으로 데이터 추가, 삭제, 갱신이 매우 빈번하게 이루어지므로 쓰기 전용 형태로 저장한다.
정답 및 해설

추가·삭제·갱신이 빈번해 쓰기 전용으로 저장한다는 설명이 옳지 않다.

데이터웨어하우스는 비휘발성을 가져 한번 적재한 데이터를 주로 읽어 분석한다.

  • 주제 지향성: 고객, 제품처럼 주제 중심으로 데이터를 분류한다.
  • 시계열성: 과거와 현재의 경향을 분석하고 예측하도록 지원한다.
  • 통합성: 데이터 정의와 키 구조를 일관되게 통합해 저장한다.
문제 33
OLAP 연산기능 중 요약된 형태의 데이터에서 상세 데이터로 접근하는 기능으로 가장 적절한 것은?
1Drill-down
2Pivoting
3Roll-up
4Slicing
정답 및 해설

요약 데이터에서 상세 데이터로 내려가는 기능은 Drill-down이다.

예를 들어 연도별 매출에서 분기별, 월별 매출로 내려가 살펴보는 연산이다.

  • Pivoting: 축을 바꾸어 데이터를 다른 관점에서 보는 기능이다.
  • Roll-up: 상세 데이터를 요약 수준으로 올리는 기능이다.
  • Slicing: 한 차원의 값을 고정해 단면을 잘라 보는 기능이다.
문제 34
다음과 같은 권한 부여 및 권한 취소와 관련된 SQL 명령어를 순서대로 실행한 후, 각 사용자의 권한과 관련한 설명으로 가장 적절하지 않은 것은?
GRANT insert, delete ON
EMPLOYEE, DEPARTMENT TO Kim ;
GRANT select ON EMPLOYEE, DEPARTMENT
TO Lee WITH GRANT OPTION ;
GRANT select ON EMPLOYEE TO Hong ;
REVOKE select ON EMPLOYEE FROM Lee ;
GRANT update ON EMPLOYEE TO Hong ;
1Kim은 EMPLOYEE, DEPARTMENT 릴레이션에서 검색할 수 있는 권한을 지니고 있다.
2Lee는 EMPLOYEE의 검색 권한을 지니고 있지 않다.
3Lee는 DEPARTMENT 릴레이션만을 검색할 수 있는 권한을 지니고 있다.
4Hong은 EMPLOYEE 릴레이션의 검색 및 갱신의 권한을 지니고 있다.
정답 및 해설

Kim에게 검색 권한이 있다는 설명이 옳지 않다.

Kim이 받은 권한은 insert와 delete뿐이므로 두 릴레이션을 검색할 수 없다.

  • Lee의 EMPLOYEE 검색 권한 없음: 옳다. REVOKE로 회수되었다.
  • Lee의 DEPARTMENT만 검색 가능: 옳다. DEPARTMENT의 select는 회수되지 않았다.
  • Hong의 EMPLOYEE 검색 및 갱신 권한: 옳다. select와 update를 각각 받았다.
문제 35
다음 빅데이터에 대한 설명으로 가장 적절하지 않은 것은?
1빅데이터는 수치, 문자, 영상 등 형태가 다양하며 방대한 규모의 정형 및 비정형 데이터를 포함한다.
2빅데이터는 데이터로부터 가치를 추출하고 그 결과를 분석하는 기술을 의미하기도 한다.
3빅데이터의 3V 특징은 가시성(visibility), 속도(velocity), 다양성(variety)이다.
4빅데이터 처리과정은 크게 수집, 저장, 처리, 분석, 표현(시각화), 이용, 폐기 순으로 수행된다.
정답 및 해설

3V에 가시성(visibility)을 넣은 설명이 옳지 않다.

빅데이터의 3V는 규모(volume), 속도(velocity), 다양성(variety)이다.

  • 데이터 형태: 수치, 문자, 영상 등 정형과 비정형 데이터를 포함한다.
  • 기술의 의미: 데이터에서 가치를 추출하고 분석하는 기술까지 가리킨다.
  • 처리 과정: 수집, 저장, 처리, 분석, 표현, 이용, 폐기 순으로 이어진다.
문제 36
데이터마이닝(data mining)의 연관규칙을 이용하여 다음과 같은 구매품목들을 분석하였다. 빵과 우유 사이의 연관규칙에 대한 신뢰도(confidence)와 지지도(support) 계산 결과로 가장 적절한 것은?
트랜잭션 ID구매품목
1기저귀, 빵, 우유
2기저귀, 빵, 소고기, 우유
3사이다, 콜라, 소고기, 맥주
4콜라, 빵, 우유
5빵, 콜라, 우유
6맥주, 사이다, 빵
1‘우유 → 빵’에 대한 신뢰도는 4/6이고 지지도는 4/5이다.
2‘우유 → 빵’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
3‘빵 → 우유’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
4‘빵 → 우유’에 대한 신뢰도는 4/4이고 지지도는 5/6이다.
정답 및 해설

‘빵 → 우유’의 신뢰도는 4/5, 지지도는 4/6이다.

전체 6건 중 빵 구매는 5건, 우유 구매는 4건, 둘을 함께 산 경우는 4건이다.

지지도는 함께 산 비율이므로 46\dfrac{4}{6}이고, 신뢰도는 앞 품목을 산 경우 중 뒤 품목도 산 비율이므로 빵 → 우유는 45\dfrac{4}{5}, 우유 → 빵은 44\dfrac{4}{4}이다.

  • 우유 → 빵, 신뢰도 4/6·지지도 4/5: 신뢰도는 4/4이고 지지도는 4/6이다.
  • 우유 → 빵, 신뢰도 4/5·지지도 4/6: 지지도는 맞지만 신뢰도가 4/4이다.
  • 빵 → 우유, 신뢰도 4/4·지지도 5/6: 신뢰도는 4/5이고 지지도는 4/6이다.
문제 37
다음 로크 호환성 테이블은 표준 로킹 기법에서 트랜잭션 T1이 항목 x에 대해 공유 로크(shared lock) 또는 배타 로크(exclusive lock)를 획득하였을 때, 다른 트랜잭션 T2가 해당 로크를 요청할 때 획득 가능 여부를 나타낸다. 이때, 빈칸 ㉠∼㉣에 가장 적절한 것은?
트랜잭션 T1
트랜잭션 T2
공유 로크배타 로크
공유 로크㉠㉡
배타 로크㉢㉣

㉠ ㉡ ㉢ ㉣
1예 예 예 예
2예 예 예 아니오
3예 예 아니오 아니오
4예 아니오 아니오 아니오
정답 및 해설

공유 로크끼리만 호환되므로 ㉠만 예이고 나머지는 아니오이다.

읽기끼리는 충돌하지 않지만, 배타 로크가 하나라도 관련되면 쓰기와 다른 연산이 충돌한다.

  • 모두 예: 배타 로크까지 허용하면 동시 쓰기로 데이터가 훼손된다.
  • ㉣만 아니오: 배타 로크와 공유 로크의 동시 획득을 허용할 수 없다.
  • ㉠과 ㉡만 예: 다른 트랜잭션이 배타 로크를 가진 항목에는 공유 로크도 얻을 수 없다.
문제 38
아래와 같이 트랜잭션 T1, T2, T3가 병행 수행되는 스케줄을 가진 경우, 직렬 불가능 스케줄은?
1
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4write(y)
5read(x)
6write(x)
7read(y)
8write(y)

2
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4read(x)
5write(x)
6write(y)
7read(y)
8write(y)

3
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4read(x)
5write(y)
6read(y)
7write(x)
8write(y)

4
TID
시간
T1T2T3
1read(x)
2read(y)
3write(y)
4read(x)
5write(x)
6write(x)
7read(y)
8write(y)

정답 및 해설

T2의 write(x) 뒤에 T1의 write(x)가 오는 스케줄이 직렬 불가능하다.

이 스케줄은 T1의 read(x)와 T2의 write(x)로 T1 → T2, T2의 write(x)와 T1의 write(x)로 T2 → T1의 충돌이 함께 생겨 선행 그래프에 사이클이 만들어진다.

  • T3가 y를 처리한 뒤 T2가 x, T1이 y를 처리하는 스케줄: 간선이 T3 → T1, T1 → T2뿐이라 직렬 가능하다.
  • T1이 x와 y를 먼저 접근하고 T3가 마지막에 y를 처리하는 스케줄: 간선이 T1 → T2, T1 → T3뿐이라 직렬 가능하다.
  • T3의 read(y)와 write(y) 사이에 T2의 read(x)가 끼는 스케줄: 간선이 T3 → T1, T1 → T2뿐이라 직렬 가능하다.
문제 39
다음 설명에 해당하는 데이터마이닝 기법으로 가장 적절한 것은?
・일정한 집단에 대한 특정 정의를 통해 추론한다.
・과거 데이터를 이용하여 모델을 생성하고 새로운 데이터에 대한 값을 예측한다.
・지도학습 형식을 지닌다.
1군집화(clustering)
2분류(classification)
3연관규칙(association rule)
4유사도 검색(similarity search)
정답 및 해설

제시된 설명에 해당하는 기법은 분류(classification)이다.

정답 라벨이 있는 과거 데이터로 모델을 만들어 새 데이터의 값을 예측하는 지도학습 기법이다.

  • 군집화: 라벨 없이 비슷한 데이터를 묶는 비지도학습이다.
  • 연관규칙: 함께 나타나는 항목 간의 규칙을 찾는 기법이다.
  • 유사도 검색: 주어진 대상과 비슷한 데이터를 찾는 기법이다.
문제 40
하둡 분산 파일 시스템(HDFS, Hadoop Distributed File System) 개발 목적으로 가장 적절하지 않은 것은?
1하드웨어의 오류 자동 감지 및 회복
2대화형 실시간 처리
3대용량 데이터 집합
4간단한 일관성 모델
정답 및 해설

대화형 실시간 처리는 HDFS의 개발 목적이 아니다.

HDFS는 대용량 데이터를 순차적으로 읽는 일괄(배치) 처리에 맞게 설계되어, 짧은 응답시간보다 높은 처리량을 중시한다.

  • 하드웨어 오류 감지 및 회복: 값싼 장비의 고장을 전제로 복제와 자동 복구를 제공한다.
  • 대용량 데이터 집합: 대규모 파일을 분산 저장한다.
  • 간단한 일관성 모델: 한 번 쓰고 여러 번 읽는 방식으로 일관성을 단순화한다.
경찰간부후보생 데이터베이스론 기출문제모두CBT · moducbt.com
23년 1회차
총 40문항 · 객관식 · 정답·해설 포함
문제 1
사용자가 원하는 데이터를 얻기 위해 데이터값을 사용하여 조건을 제시하면 이에 해당하는 데이터를 검색해 주는 데이터베이스 특징으로 가장 적절한 것은?
1계속적인 변화
2내용에 따른 참조
3동시 공유
4실시간 접근
정답 및 해설

데이터 값을 조건으로 제시해 검색하는 특징은 내용에 따른 참조이다.

데이터베이스는 저장 주소나 위치가 아니라 데이터의 값(내용)을 기준으로 원하는 데이터를 찾는다.

  • 계속적인 변화: 삽입·삭제·갱신으로 항상 최신 상태를 유지하는 특징이다.
  • 동시 공유: 여러 사용자가 같은 데이터를 함께 이용하는 특징이다.
  • 실시간 접근: 질의에 즉시 응답하는 특징이다.
문제 2
데이터 사전에 대한 설명으로 가장 적절하지 않은 것은?
1사용자가 접근할 수 있다.
2스키마, 사상정보, 다양한 제약조건 등을 저장한다.
3데이터에 대한 데이터를 의미해 메타 데이터라고도 한다.
4데이터를 저장하는 데이터베이스의 일종으로 사용자 데이터베이스라고도 한다.
정답 및 해설

데이터 사전을 사용자 데이터베이스라고 한 설명이 옳지 않다.

데이터 사전은 DBMS가 관리하는 시스템 데이터베이스로, 사용자 데이터가 아니라 데이터에 관한 정보를 저장한다.

  • 사용자 접근: 사용자도 검색 위주로 조회할 수 있다.
  • 저장 내용: 스키마, 사상 정보, 각종 제약조건을 저장한다.
  • 메타 데이터: 데이터에 대한 데이터이므로 메타 데이터라고도 한다.
문제 3
데이터베이스 구조에서 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성으로 가장 적절한 것은?
1최소성
2원자성
3독립성
4유일성
정답 및 해설

하위 스키마를 바꿔도 상위 스키마가 영향을 받지 않는 특성은 데이터 독립성이다.

3단계 스키마 구조는 스키마 사이의 사상을 고쳐 변경을 흡수하므로 상위 단계와 응용 프로그램을 그대로 유지할 수 있다.

  • 최소성: 후보키가 유일 식별에 꼭 필요한 속성만으로 구성되는 성질이다.
  • 원자성: 트랜잭션의 연산이 전부 수행되거나 전혀 수행되지 않는 성질이다.
  • 유일성: 키 값으로 투플을 하나만 식별할 수 있는 성질이다.
문제 4
데이터베이스 관리자의 역할을 모두 고른 것은?
가.일관된 데이터베이스 상태를 정의
나.DBMS의 성능 검사 후 저장구조 변경
다.데이터베이스의 개념적 스키마를 결정
라.사용자의 요구사항을 분석하여 데이터베이스를 구성할 데이터 결정
1가
2가, 나
3가, 나, 다
4가, 나, 다, 라
정답 및 해설

제시된 네 가지 업무는 모두 데이터베이스 관리자의 역할이다.

데이터베이스 관리자는 설계부터 운영까지 데이터베이스 전반을 총괄한다.

  • 일관된 상태 정의: 무결성 제약조건을 정의하는 운영 업무이다.
  • 성능 검사 후 저장구조 변경: 성능을 감시하고 조정하는 업무이다.
  • 개념적 스키마 결정: 데이터베이스 구조를 정의하는 업무이다.
  • 구성 데이터 결정: 사용자 요구를 분석해 담을 내용을 정하는 업무이다.
문제 5
다음 E-R 다이어그램에서 다중값 속성은?

1학번
2성명
3소속
4연락처
정답 및 해설

이중 타원으로 표시된 연락처가 다중값 속성이다.

E-R 다이어그램에서 이중 타원은 한 개체가 여러 개의 값을 가질 수 있는 속성을 나타낸다. 한 학생이 연락처를 여러 개 가질 수 있음을 표현한 것이다.

  • 학번: 밑줄이 그어진 타원으로, 학생을 유일하게 식별하는 키 속성이다.
  • 성명: 단일 타원으로 표시된 일반 속성으로, 값을 하나만 가진다.
  • 소속: 타원이 아닌 마름모로 표시되어 있어 학생과 학과를 잇는 관계이며 속성이 아니다.
문제 6
차수(degree)와 카디널리티(cardinality)에 대한 설명으로 적절한 것은 모두 몇 개인가?
가. 차수는 릴레이션에서 속성의 개수이다.
나. 유효한 릴레이션의 최소 차수는 0이다.
다. 유효한 릴레이션의 최소 카디널리티는 1이다.
라. 카디널리티는 한 릴레이션의 투플의 개수이다.
11개
22개
33개
44개
정답 및 해설

적절한 설명은 차수와 카디널리티의 정의를 말한 두 가지이다.

릴레이션은 속성이 최소 하나는 있어야 하지만 투플은 하나도 없을 수 있으므로 최소 차수는 1, 최소 카디널리티는 0이다.

  • 차수는 속성의 개수: 옳다.
  • 최소 차수가 0: 틀리다. 속성이 없는 릴레이션은 성립하지 않는다.
  • 최소 카디널리티가 1: 틀리다. 투플이 없는 빈 릴레이션도 유효하다.
  • 카디널리티는 투플의 개수: 옳다.
문제 7
릴레이션의 특징에 대한 설명으로 가장 적절하지 않은 것은?
1한 릴레이션의 모든 속성값은 원자값이다.
2한 릴레이션에 포함된 투플은 모두 상이하다.
3한 릴레이션에 포함된 투플 사이에는 순서가 있다.
4한 릴레이션을 구성하는 속성 사이에는 순서가 없다.
정답 및 해설

투플 사이에 순서가 있다는 설명이 옳지 않다.

릴레이션은 투플의 집합이므로 투플 사이에 순서가 없다.

  • 속성값의 원자성: 각 속성값은 더 나눌 수 없는 원자값이다.
  • 투플의 유일성: 집합이므로 중복된 투플이 없다.
  • 속성의 무순서: 속성은 이름으로 구별되므로 순서가 없다.
문제 8
<사원>, <부서> 릴레이션이 다음과 같을 때, 릴레이션 수(A), 속성 수(B), 투플 수(C)의 총 합(A+B+C)은?
사원부서
사번성명부서번호부서번호부서명
100김철수11영업부
101이영희22총무부
102최고나2
103홍길동1
111
212
313
414
정답 및 해설

세 값의 총합은 13이다.

릴레이션은 사원과 부서 2개이고, 속성은 열로 각각 3개와 2개, 투플은 행으로 각각 4개와 2개이다.

  • 릴레이션 수: A=2A=2
  • 속성 수: B=3+2=5B=3+2=5
  • 투플 수: C=4+2=6C=4+2=6
  • 총합: A+B+C=2+5+6=13A+B+C=2+5+6=13
문제 9
다음은 후보키에 대한 설명이다. 빈칸 ㉠, ㉡에 해당하는 가장 적절한 것은?
투플을 유일하게 구별하기 위해 꼭 필요한 최소한의 속성들로만 이루어지므로 (㉠) 중에서 (㉡)을 만족하는 것이 후보키가 된다.
1㉠ 슈퍼키, ㉡ 최소성
2㉠ 슈퍼키, ㉡ 유일성
3㉠ 대체키, ㉡ 최소성
4㉠ 대체키, ㉡ 유일성
정답 및 해설

후보키는 슈퍼키 중에서 최소성을 만족하는 키이다.

슈퍼키는 유일성만 갖춘 키이고, 여기에 최소성이 더해지면 후보키가 된다.

  • 슈퍼키 중 유일성 만족: 슈퍼키는 이미 유일성을 가지므로 후보키를 가려내지 못한다.
  • 대체키 중 최소성 만족: 대체키는 후보키에서 기본키를 뺀 나머지이므로 포함 관계가 거꾸로이다.
  • 대체키 중 유일성 만족: 대체키는 이미 후보키의 일부이므로 정의가 성립하지 않는다.
문제 10
관계형 데이터베이스의 제약 조건에 대한 설명으로 가장 적절하지 않은 것은?
1릴레이션 간에 독립성 유지
2기본키의 값은 널을 가질 수 없음
3키 속성의 값은 반드시 도메인에 속하는 원자값
4후보키의 값은 릴레이션 내의 각 투플을 유일하게 식별
정답 및 해설

릴레이션 간 독립성 유지는 제약 조건의 설명으로 옳지 않다.

관계형 제약 조건은 오히려 참조 무결성으로 릴레이션 사이의 관계가 일관되도록 유지한다.

  • 기본키의 널 금지: 개체 무결성 제약 조건이다.
  • 도메인의 원자값: 속성값은 도메인에 속한 원자값이어야 한다는 도메인 제약이다.
  • 후보키의 유일 식별: 키 제약 조건이다.
문제 11
<고객>, <도서> 개체의 관계가 다음과 같다. 관계의 유형으로 가장 적절한 것은?

1다대다 관계
2다대일 관계
3일대다 관계
4일대일 관계
정답 및 해설

고객과 도서의 관계는 다대다 관계이다.

이영희는 빅데이터와 정보보안 두 권에 연결되어 있고, 정보보안은 이영희와 홍길동 두 명에 연결되어 있다. 이처럼 양쪽 모두 상대 개체 여러 개와 대응할 수 있으면 다대다 관계이다.

  • 다대일 관계: 고객 한 명이 도서 하나에만 대응해야 하는데, 이영희가 도서 두 권에 연결되어 있어 성립하지 않는다.
  • 일대다 관계: 도서 하나가 고객 한 명에게만 대응해야 하는데, 정보보안이 고객 두 명에 연결되어 있어 성립하지 않는다.
  • 일대일 관계: 양쪽 모두 하나씩만 대응해야 하므로, 여러 개에 연결된 고객과 도서가 있는 이 관계에는 해당하지 않는다.
문제 12
다음 데이터 모델링 과정에서 DBMS 선정을 고려해야 하는 가장 적절한 단계는?

요구사항 수집 및 분석 → 설계(개념적 모델링 → 논리적 모델링 → 물리적 모델링) → 데이터베이스 구현
1요구사항 수집 및 분석
2개념적 모델링
3논리적 모델링
4물리적 모델링
정답 및 해설

DBMS 선정을 고려해야 하는 단계는 논리적 모델링이다.

논리적 모델링은 개념 스키마를 목표 DBMS의 데이터 모델에 맞는 논리 스키마로 변환하는 단계이다. 따라서 이 단계부터 어떤 DBMS를 사용할지가 설계에 반영된다.

  • 요구사항 수집 및 분석: 사용자의 요구를 파악해 명세하는 단계로, 특정 DBMS와 관계가 없다.
  • 개념적 모델링: E-R 다이어그램 등으로 현실 세계를 추상화하는 단계로, DBMS에 독립적이다.
  • 물리적 모델링: 저장 구조와 인덱스 등 접근 경로를 구체화하는 단계로, 이미 정해진 DBMS를 전제로 진행한다.
문제 13
DB의 물리적 설계 단계에서 트랜잭션과 저장공간 설계 측면에서 고려할 사항으로 가장 적절하지 않은 것은?
1응답시간 최소화
2트랜잭션 처리도
3저장공간의 효율화
4트랜잭션 인터페이스 설계
정답 및 해설

트랜잭션 인터페이스 설계는 물리적 설계의 고려 사항으로 옳지 않다.

이는 논리적 설계 단계의 작업이며, 물리적 설계는 저장 구조와 접근 경로의 성능을 다룬다.

  • 응답시간 최소화: 요청 후 결과를 받기까지의 시간을 줄이는 물리적 설계 기준이다.
  • 트랜잭션 처리도: 단위 시간당 처리량을 높이는 물리적 설계 기준이다.
  • 저장공간의 효율화: 저장 공간을 적게 쓰도록 하는 물리적 설계 기준이다.
문제 14
다음은 EMPLOYEE와 DEPARTMENT 테이블을 정의하는 SQL이다. 밑줄 친 ㉠, ㉡에 가장 적절한 것은?
CREATE TABLE DEPARTMENT (
dname VARCHAR(15) NOT NULL,
dnum INT NOT NULL,
㉠ ( dnum ) ) ;

CREATE TABLE EMPLOYEE (
name VARCHAR(15) NOT NULL,
eno CHAR(9) NOT NULL,
dno INT NOT NULL,
㉠ ( eno ),
㉡ ( dno ) REFERENCES
DEPARTMENT ( dnum ) ) ;

㉠ ㉡
1PRIMARY KEY FOREIGN KEY
2FOREIGN KEY FOREIGN KEY
3PRIMARY KEY UNIQUE
4FOREIGN KEY UNIQUE
정답 및 해설

㉠에는 PRIMARY KEY, ㉡에는 FOREIGN KEY가 들어간다.

㉠은 dnum과 eno를 각 테이블의 기본키로 지정하는 자리이고, ㉡은 REFERENCES로 DEPARTMENT(dnum)를 참조하므로 외래키 자리이다.

  • 둘 다 FOREIGN KEY: ㉠에 참조 대상이 없어 외래키가 될 수 없다.
  • PRIMARY KEY와 UNIQUE: UNIQUE는 다른 테이블을 참조하는 REFERENCES와 함께 쓰는 구문이 아니다.
  • FOREIGN KEY와 UNIQUE: 기본키를 지정하지 못하고 참조 구문도 맞지 않는다.
문제 15
다음 테이블에 대해, 모든 사원들의 부서(dno) 평균 급여(salary)가 3,000,000원 이상인 부서를 검색하는 SQL 명령문이다. 밑줄 친 ㉠, ㉡에 가장 적절한 것은?
EMPLOYEE
enoenamesalarydno
1001홍길동30000001
1002김철수28000002
1003이영희32000002


SELECT dno, AVG( salary ) AS avgsal
FROM EMPLOYEE
㉠ dno
㉡ AVG( salary ) >= 3000000 ;

㉠ ㉡
1WHERE AND
2WHERE HAVING
3GROUP BY AND
4GROUP BY HAVING
정답 및 해설

㉠은 GROUP BY, ㉡은 HAVING이다.

부서별로 묶으려면 GROUP BY가 필요하고, AVG 같은 집계 결과에 거는 조건은 HAVING으로 쓴다.

  • WHERE와 AND: WHERE로는 그룹을 만들 수 없고 AND는 절을 시작하지 못한다.
  • WHERE와 HAVING: WHERE dno는 조건이 아니며 그룹도 만들어지지 않는다.
  • GROUP BY와 AND: AND는 단독으로 집계 조건 절을 시작할 수 없다.
문제 16
다음의 R, S 테이블에 대해 SQL ‘가’와 ‘나’의 실행결과 레코드 수의 합은?
R
ABC
1a10
1a11
2b25
3b22
5c17
S
ADE
1gx
1gy
2hw
4kw
6mz


가.SELECT DISTINCT A FROM R ;
나.SELECT R.A, R.C, S.E
FROM R LEFT OUTER JOIN S
ON R.A = S.A ;
110
211
312
413
정답 및 해설

두 결과의 레코드 수의 합은 11이다.

가는 R의 A에서 중복을 제거하므로 1, 2, 3, 5의 4건이다.

나는 왼쪽 외부 조인이므로 R의 모든 행이 남고, 짝이 없는 행은 S 쪽이 NULL로 채워져 7건이 된다.

  • A=1: R의 2행과 S의 2행이 만나 4건
  • A=2: 1건
  • A=3: S에 짝이 없어 NULL로 1건
  • A=5: S에 짝이 없어 NULL로 1건
문제 17
SQL에서 뷰의 개념에 대한 설명으로 가장 적절하지 않은 것은?
1다른 테이블이나 기존의 뷰로부터 유도된 테이블이다.
2뷰는 SELECT, DELETE, INSERT, UPDATE 명령문을 이용하여 정의한다.
3뷰에 대한 갱신 연산은 제한을 받는다.
4뷰를 이용하여 복잡한 질의를 간단한 질의로 표현할 수 있다.
정답 및 해설

뷰를 DELETE, INSERT, UPDATE로 정의한다는 설명이 옳지 않다.

뷰는 CREATE VIEW 안의 SELECT 문으로만 정의하며, 나머지 명령은 만들어진 뷰에 대해 수행하는 조작이다.

  • 유도된 테이블: 뷰는 기본 테이블이나 다른 뷰에서 유도된 가상 테이블이다.
  • 갱신 제한: 집계나 조인이 포함된 뷰 등은 갱신이 제한된다.
  • 질의 단순화: 복잡한 질의를 뷰로 정의해 간단히 표현할 수 있다.
문제 18
다음과 같이 릴레이션들이 주어졌을 때, 관계대수식 AB ÷ C 연산의 결과 투플 수는?
ABA#B#
a1b1
a1b2
a1b4
a2b1
a2b2
a2b4
a2b6
a3b3
a4b1
a4b2
a4b4

CB#
b2
b4
11
22
33
44
정답 및 해설

나눗셈의 결과 투플 수는 3이다.

AB ÷ C는 C의 B# 값 b2와 b4를 모두 갖는 A#만 남긴다.

  • a1: b2, b4를 모두 가져 포함된다.
  • a2: b2, b4를 모두 가져 포함된다.
  • a3: b3만 있어 제외된다.
  • a4: b2, b4를 모두 가져 포함된다.
문제 19
관계형 데이터모델의 관계대수 연산자에 대한 설명으로 가장 적절하지 않은 것은?
1Πattr(R) 연산의 결과 투플 수는 항상 R의 투플 수보다 작거나 같다.
2σ(R) 연산의 결과 릴레이션 차수는 릴레이션 R의 차수와 같다.
3합집합, 교집합, 차집합 연산은 합집합 호환성이 만족되어야 한다.
4합집합, 교집합, 차집합 연산은 결합법칙, 교환법칙이 성립한다.
정답 및 해설

세 연산 모두 결합·교환법칙이 성립한다는 설명이 옳지 않다.

합집합과 교집합은 두 법칙이 성립하지만, 차집합은 피연산자를 바꾸면 결과가 달라져 성립하지 않는다.

  • 프로젝션: 중복이 제거될 수 있으므로 결과 투플 수는 R과 같거나 적다.
  • 셀렉션: 투플만 고르므로 결과의 차수는 R과 같다.
  • 합집합 호환성: 세 집합 연산은 두 릴레이션의 속성 구성이 호환되어야 한다.
문제 20
다음 릴레이션 R에서 성립하는 함수 종속성으로 가장 적절하지 않은 것은?
R
ABC
bch
eif
gif
eba
1A → B
2B → C
3AB → C
4AC → B
정답 및 해설

성립하지 않는 함수 종속성은 A → B이다.

A 값이 e인 두 투플의 B 값이 i와 b로 다르므로 A가 B를 결정하지 못한다.

  • B → C: B 값이 같은 i의 두 투플이 모두 C 값 f를 가져 성립한다.
  • AB → C: AB 값이 모두 달라 성립한다.
  • AC → B: AC 값이 모두 달라 성립한다.
문제 21
릴레이션 R(A, B, C)는 다음과 같은 함수 종속성이 성립한다. 릴레이션 R의 후보키는?
AB → C, C → A
1A
2C
3AB
4AC
정답 및 해설

보기 중 후보키는 AB이다.

B는 어떤 종속의 오른쪽에도 없으므로 모든 후보키에 포함되어야 한다. AB의 폐포는 AB → C로 A, B, C 전체가 되고, A나 B 하나만으로는 전체를 결정하지 못한다.

  • A: 폐포가 A뿐이다.
  • C: 폐포가 A, C에 그쳐 B를 얻지 못한다.
  • AC: 폐포가 A, C에 그쳐 B를 얻지 못한다.
문제 22
릴레이션 R(A, B, C, D, E)에 대해 다음의 함수 종속성이 성립한다. 릴레이션 R의 정규형과 주어진 분해에 대한 설명으로 가장 적절한 것은?
<함수 종속성>
AB → C, C → A, C → D, D → E

<분해>
R1(A, B, C), R2(C, D), R3(D, E)
1제2정규형, 무손실 분해
2제2정규형, 손실 분해
3제3정규형, 무손실 분해
4제3정규형, 손실 분해
정답 및 해설

보기 중 가장 적절한 판정은 제2정규형, 무손실 분해이다.

기본키를 AB로 보면 C, D, E가 A나 B 하나에만 종속되지 않으므로 부분 종속이 없다. 그러나 D와 E는 키가 아닌 C를 거쳐 종속되어 이행 종속이 남으므로 제3정규형은 아니다.

다만 BC도 후보키이므로 모든 후보키를 기준으로 삼는 엄밀한 정의에서는 C → D가 BC에 대한 부분 종속이 된다. 보기에 제1정규형이 없어 기본키 AB 기준으로 판정한다.

  • 제2정규형, 손실 분해: R1과 R2의 공통 속성 C가 R2의 키이고, 이를 합친 결과와 R3의 공통 속성 D가 R3의 키이므로 무손실이다.
  • 제3정규형, 무손실 분해: 이행 종속이 남아 있어 제3정규형이 아니다.
  • 제3정규형, 손실 분해: 정규형과 분해 판정이 모두 틀리다.
문제 23
데이터베이스를 파일에 저장하는 기법과 관련된 설명으로 가장 적절하지 않은 것은?
1파일은 일반적으로 동일한 유형의 레코드들의 모임으로 이루어진다.
2DBMS는 디스크로부터 사용자가 원하는 데이터를 포함하고 있는 블록을 주기억장치로 가져온다.
3버퍼는 성능향상을 위해 자주 참조되는 디스크 블록들을 저장하는 데 사용되는 주기억장치 공간이다.
4한 파일에 속하는 블록들은 반드시 인접해 있어야 한다.
정답 및 해설

파일의 블록이 반드시 인접해야 한다는 설명이 옳지 않다.

블록은 연속 할당 외에도 연결이나 인덱스 방식으로 디스크 곳곳에 흩어져 저장될 수 있다.

  • 파일의 구성: 일반적으로 같은 유형의 레코드들로 이루어진다.
  • 블록 전송: DBMS는 필요한 데이터가 든 블록을 주기억장치로 가져온다.
  • 버퍼: 자주 참조되는 블록을 두어 디스크 접근을 줄이는 주기억장치 공간이다.
문제 24
다음은 RAID에 대한 설명이다. 적절한 설명은 모두 몇 개인가?
가. 블록레벨 스트라이핑(striping)은 데이터 블록들을 비트별로 여러 디스크에 분산시킨다.
나. 신뢰성 향상을 위해 반사(mirroring), 패리티(parity) 기법을 사용한다.
다. 레벨 1은 디스크 오류 복구가 가장 쉽고 레벨 0은 가장 좋은 쓰기 성능을 갖는다.
라. 레벨 5는 데이터를 모든 디스크에 분산시키고, 패리티를 일부 디스크에 분산시킨다.
11개
22개
33개
44개
정답 및 해설

적절한 설명은 두 가지이다.

스트라이핑은 블록 단위로 데이터를 나누고, RAID 5는 패리티도 모든 디스크에 분산한다는 점이 판단 기준이다.

  • 블록레벨 스트라이핑을 비트별 분산이라 한 설명: 틀리다. 블록 단위로 분산한다.
  • 반사와 패리티로 신뢰성 향상: 옳다.
  • 레벨 1의 복구 용이성과 레벨 0의 쓰기 성능: 옳다.
  • 레벨 5의 패리티를 일부 디스크에 분산한다는 설명: 틀리다. 데이터와 패리티를 모든 디스크에 분산한다.
문제 25
인덱스에 대한 설명으로 가장 적절하지 않은 것은?
1클러스터링(clustering) 인덱스는 범위 질의에 유용하다.
2보조(secondary) 인덱스는 탐색키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의된다.
3밀집(dense) 인덱스는 모든 데이터 블록의 최대 탐색키 값들을 모아서 인덱스 엔트리로 유지하는 인덱스이다.
4클러스터링 인덱스는 희소 인덱스일 경우가 많다.
정답 및 해설

밀집 인덱스를 블록별 대표 키로 설명한 것이 옳지 않다.

밀집 인덱스는 모든 레코드의 탐색키 값을 엔트리로 두며, 블록마다 대표 값만 두는 방식은 희소 인덱스이다.

  • 클러스터링 인덱스의 범위 질의: 비슷한 키 값이 모여 저장되어 범위 검색에 유리하다.
  • 보조 인덱스: 탐색키 순서로 정렬되지 않은 파일에 정의한다.
  • 클러스터링 인덱스의 희소성: 데이터가 정렬되어 있어 블록 단위 엔트리로 충분하다.
문제 26
다음과 같이 인덱스가 생성되어 있을 때, 생성된 인덱스가 사용되기에 가장 적절하지 않은 질의는?
CREATE INDEX EmpIndex
ON EMPLOYEE ( dno, salary ) ;
1SELECT * FROM EMPLOYEE WHERE salary = 5000000 ;
2SELECT * FROM EMPLOYEE WHERE dno = 3 AND salary = 5000000 ;
3SELECT * FROM EMPLOYEE WHERE dno = 2 ;
4SELECT * FROM EMPLOYEE WHERE dno >= 2 AND salary >= 4000000 AND salary <= 5000000 ;
정답 및 해설

salary만 조건으로 쓴 질의는 이 인덱스를 활용하기에 적절하지 않다.

복합 인덱스 (dno, salary)는 dno로 먼저 정렬되어 있으므로 선두 속성 dno의 조건이 있어야 효과적이다.

  • dno와 salary의 동등 조건: 두 인덱스 속성을 모두 활용한다.
  • dno의 동등 조건: 선두 속성만으로도 인덱스를 활용한다.
  • dno의 범위 조건과 salary의 범위 조건: 선두 속성 dno로 탐색 범위를 줄일 수 있다.
문제 27
비용 기반(cost-based) 질의 최적화(query optimization) 방법을 위해 비용 산정 시 고려하는 구성요소로 가장 적절하지 않은 것은?
1보조 기억 장치의 접근 비용
2백업(backup)을 위한 저장 비용
3주기억 장치 연산을 수행하는 계산 비용
4질의 전송 및 결과 반환을 위한 통신 비용
정답 및 해설

백업을 위한 저장 비용은 질의 비용 산정 요소가 아니다.

비용 기반 최적화는 질의를 실행하는 데 드는 비용으로 실행 계획을 비교하며, 백업은 질의 실행과 무관하다.

  • 보조 기억 장치 접근 비용: 디스크 입출력 비용으로 핵심 요소이다.
  • 주기억 장치 계산 비용: 메모리에서 연산을 수행하는 비용이다.
  • 통신 비용: 질의 전송과 결과 반환에 드는 비용이다.
문제 28
동시성 제어가 제대로 이루어지지 않은 경우에 발생하는 문제로 가장 적절하지 않은 것은?
1갱신 손실 문제가 발생할 수 있다.
2오손 읽기(dirty read) 문제가 발생할 수 있다.
3연쇄 삭제 문제가 발생할 수 있다.
4부정확한 요약 문제가 발생할 수 있다.
정답 및 해설

연쇄 삭제는 동시성 제어 실패로 생기는 문제가 아니다.

연쇄 삭제는 참조 무결성 유지를 위해 참조하는 투플까지 함께 지우는 동작이다.

  • 갱신 손실: 한 트랜잭션의 갱신을 다른 트랜잭션이 덮어쓰는 문제이다.
  • 오손 읽기: 철회될 수 있는 미완료 값을 읽는 문제이다.
  • 부정확한 요약: 갱신 중인 데이터로 집계해 값이 어긋나는 문제이다.
문제 29
다음 그림은 트랜잭션(Tn)의 로그 기록과 체크포인트 및 시스템 장애 시점을 나타낸다. 시스템 장애가 발생한 후 로그 기록에 따라 회복하는 방법 중 가장 적절하지 않은 것은?
T1
T2
T3
T4
시간
체크포인트 시스템 장애
1즉시갱신 방법을 사용한 경우, T1은 REDO가 필요하다.
2즉시갱신 방법을 사용한 경우, T2는 아무 작업이 필요없다.
3지연갱신 방법을 사용한 경우, T3는 REDO가 필요하다.
4지연갱신 방법을 사용한 경우, T4는 아무 작업이 필요없다.
문제 30
데이터베이스 로그(log)에 대한 설명으로 가장 적절한 것은?
1트랜잭션의 동시성 제어를 위해 작성하는 파일이다.
2로그 기록 시 변경 후의 값만을 저장한다.
3트랜잭션 수행이 종료될 때만 기록한다.
4트랜잭션의 종료 또는 중단 여부를 판단할 수 있다.
정답 및 해설

로그로 트랜잭션의 종료 또는 중단 여부를 판단할 수 있다.

로그에는 트랜잭션의 시작, 갱신, 완료, 철회 기록이 남으므로 회복 시 REDO와 UNDO 대상을 가려낼 수 있다.

  • 동시성 제어용 파일: 로그는 회복을 위한 파일이고 동시성 제어는 로킹 등이 맡는다.
  • 변경 후 값만 저장: 변경 전 값과 변경 후 값을 모두 기록해야 한다.
  • 종료 시에만 기록: 트랜잭션 수행 중 갱신이 일어날 때마다 기록한다.
문제 31
NoSQL은 성능과 모델링 파워의 유연성 및 복잡한 질의 기능을 강조하고 있다. 다음 중 NoSQL의 특징으로 가장 적절하지 않은 것은?
1빅데이터를 효율적으로 처리하기 위해 등장한 데이터 저장 기술이다.
2NoSQL은 하나의 데이터베이스나 네트워크 시스템을 여러개의 작은 조각으로 나누어 관리하는 기술을 지원한다.
3NoSQL은 RDBMS보다 엄격한 일관성 모델을 보장한다.
4NoSQL 데이터 모델로 키-값, 문서기반, 그래프 기반 등의 모델이 있다.
정답 및 해설

NoSQL이 RDBMS보다 엄격한 일관성을 보장한다는 설명이 옳지 않다.

NoSQL은 확장성과 가용성을 위해 일관성을 완화하는 경우가 많고, 엄격한 일관성은 ACID를 따르는 RDBMS의 특징이다.

  • 등장 배경: 빅데이터를 효율적으로 처리하기 위해 등장했다.
  • 조각 관리: 데이터를 여러 조각으로 나누어 분산 관리하는 샤딩을 지원한다.
  • 데이터 모델: 키-값, 문서 기반, 그래프 기반 등이 있다.
문제 32
데이터웨어하우스의 특징에 대한 설명으로 가장 적절하지 않은 것은?
1누구나 쉽게 이해하도록 데이터를 고객, 제품 등과 같이 주제 중심으로 분류 가능하다.
2과거와 현재의 경향에 대한 분석 및 예측을 지원하기 위한 데이터 공간이다.
3일관성 있는 데이터 정의, 관계성, 키 구조 등 하나의 의미로 통합 저장한다.
4일반적으로 데이터 추가, 삭제, 갱신이 매우 빈번하게 이루어지므로 쓰기 전용 형태로 저장한다.
정답 및 해설

추가·삭제·갱신이 빈번해 쓰기 전용으로 저장한다는 설명이 옳지 않다.

데이터웨어하우스는 비휘발성을 가져 한번 적재한 데이터를 주로 읽어 분석한다.

  • 주제 지향성: 고객, 제품처럼 주제 중심으로 데이터를 분류한다.
  • 시계열성: 과거와 현재의 경향을 분석하고 예측하도록 지원한다.
  • 통합성: 데이터 정의와 키 구조를 일관되게 통합해 저장한다.
문제 33
OLAP 연산기능 중 요약된 형태의 데이터에서 상세 데이터로 접근하는 기능으로 가장 적절한 것은?
1Drill-down
2Pivoting
3Roll-up
4Slicing
정답 및 해설

요약 데이터에서 상세 데이터로 내려가는 기능은 Drill-down이다.

예를 들어 연도별 매출에서 분기별, 월별 매출로 내려가 살펴보는 연산이다.

  • Pivoting: 축을 바꾸어 데이터를 다른 관점에서 보는 기능이다.
  • Roll-up: 상세 데이터를 요약 수준으로 올리는 기능이다.
  • Slicing: 한 차원의 값을 고정해 단면을 잘라 보는 기능이다.
문제 34
다음과 같은 권한 부여 및 권한 취소와 관련된 SQL 명령어를 순서대로 실행한 후, 각 사용자의 권한과 관련한 설명으로 가장 적절하지 않은 것은?
GRANT insert, delete ON
EMPLOYEE, DEPARTMENT TO Kim ;
GRANT select ON EMPLOYEE, DEPARTMENT
TO Lee WITH GRANT OPTION ;
GRANT select ON EMPLOYEE TO Hong ;
REVOKE select ON EMPLOYEE FROM Lee ;
GRANT update ON EMPLOYEE TO Hong ;
1Kim은 EMPLOYEE, DEPARTMENT 릴레이션에서 검색할 수 있는 권한을 지니고 있다.
2Lee는 EMPLOYEE의 검색 권한을 지니고 있지 않다.
3Lee는 DEPARTMENT 릴레이션만을 검색할 수 있는 권한을 지니고 있다.
4Hong은 EMPLOYEE 릴레이션의 검색 및 갱신의 권한을 지니고 있다.
정답 및 해설

Kim에게 검색 권한이 있다는 설명이 옳지 않다.

Kim이 받은 권한은 insert와 delete뿐이므로 두 릴레이션을 검색할 수 없다.

  • Lee의 EMPLOYEE 검색 권한 없음: 옳다. REVOKE로 회수되었다.
  • Lee의 DEPARTMENT만 검색 가능: 옳다. DEPARTMENT의 select는 회수되지 않았다.
  • Hong의 EMPLOYEE 검색 및 갱신 권한: 옳다. select와 update를 각각 받았다.
문제 35
다음 빅데이터에 대한 설명으로 가장 적절하지 않은 것은?
1빅데이터는 수치, 문자, 영상 등 형태가 다양하며 방대한 규모의 정형 및 비정형 데이터를 포함한다.
2빅데이터는 데이터로부터 가치를 추출하고 그 결과를 분석하는 기술을 의미하기도 한다.
3빅데이터의 3V 특징은 가시성(visibility), 속도(velocity), 다양성(variety)이다.
4빅데이터 처리과정은 크게 수집, 저장, 처리, 분석, 표현(시각화), 이용, 폐기 순으로 수행된다.
정답 및 해설

3V에 가시성(visibility)을 넣은 설명이 옳지 않다.

빅데이터의 3V는 규모(volume), 속도(velocity), 다양성(variety)이다.

  • 데이터 형태: 수치, 문자, 영상 등 정형과 비정형 데이터를 포함한다.
  • 기술의 의미: 데이터에서 가치를 추출하고 분석하는 기술까지 가리킨다.
  • 처리 과정: 수집, 저장, 처리, 분석, 표현, 이용, 폐기 순으로 이어진다.
문제 36
데이터마이닝(data mining)의 연관규칙을 이용하여 다음과 같은 구매품목들을 분석하였다. 빵과 우유 사이의 연관규칙에 대한 신뢰도(confidence)와 지지도(support) 계산 결과로 가장 적절한 것은?
트랜잭션 ID구매품목
1기저귀, 빵, 우유
2기저귀, 빵, 소고기, 우유
3사이다, 콜라, 소고기, 맥주
4콜라, 빵, 우유
5빵, 콜라, 우유
6맥주, 사이다, 빵
1‘우유 → 빵’에 대한 신뢰도는 4/6이고 지지도는 4/5이다.
2‘우유 → 빵’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
3‘빵 → 우유’에 대한 신뢰도는 4/5이고 지지도는 4/6이다.
4‘빵 → 우유’에 대한 신뢰도는 4/4이고 지지도는 5/6이다.
정답 및 해설

‘빵 → 우유’의 신뢰도는 4/5, 지지도는 4/6이다.

전체 6건 중 빵 구매는 5건, 우유 구매는 4건, 둘을 함께 산 경우는 4건이다.

지지도는 함께 산 비율이므로 46\dfrac{4}{6}이고, 신뢰도는 앞 품목을 산 경우 중 뒤 품목도 산 비율이므로 빵 → 우유는 45\dfrac{4}{5}, 우유 → 빵은 44\dfrac{4}{4}이다.

  • 우유 → 빵, 신뢰도 4/6·지지도 4/5: 신뢰도는 4/4이고 지지도는 4/6이다.
  • 우유 → 빵, 신뢰도 4/5·지지도 4/6: 지지도는 맞지만 신뢰도가 4/4이다.
  • 빵 → 우유, 신뢰도 4/4·지지도 5/6: 신뢰도는 4/5이고 지지도는 4/6이다.
문제 37
다음 로크 호환성 테이블은 표준 로킹 기법에서 트랜잭션 T1이 항목 x에 대해 공유 로크(shared lock) 또는 배타 로크(exclusive lock)를 획득하였을 때, 다른 트랜잭션 T2가 해당 로크를 요청할 때 획득 가능 여부를 나타낸다. 이때, 빈칸 ㉠∼㉣에 가장 적절한 것은?
트랜잭션 T1
트랜잭션 T2
공유 로크배타 로크
공유 로크㉠㉡
배타 로크㉢㉣

㉠ ㉡ ㉢ ㉣
1예 예 예 예
2예 예 예 아니오
3예 예 아니오 아니오
4예 아니오 아니오 아니오
정답 및 해설

공유 로크끼리만 호환되므로 ㉠만 예이고 나머지는 아니오이다.

읽기끼리는 충돌하지 않지만, 배타 로크가 하나라도 관련되면 쓰기와 다른 연산이 충돌한다.

  • 모두 예: 배타 로크까지 허용하면 동시 쓰기로 데이터가 훼손된다.
  • ㉣만 아니오: 배타 로크와 공유 로크의 동시 획득을 허용할 수 없다.
  • ㉠과 ㉡만 예: 다른 트랜잭션이 배타 로크를 가진 항목에는 공유 로크도 얻을 수 없다.
문제 38
아래와 같이 트랜잭션 T1, T2, T3가 병행 수행되는 스케줄을 가진 경우, 직렬 불가능 스케줄은?
1
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4write(y)
5read(x)
6write(x)
7read(y)
8write(y)

2
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4read(x)
5write(x)
6write(y)
7read(y)
8write(y)

3
TID
시간
T1T2T3
1read(x)
2write(x)
3read(y)
4read(x)
5write(y)
6read(y)
7write(x)
8write(y)

4
TID
시간
T1T2T3
1read(x)
2read(y)
3write(y)
4read(x)
5write(x)
6write(x)
7read(y)
8write(y)

정답 및 해설

T2의 write(x) 뒤에 T1의 write(x)가 오는 스케줄이 직렬 불가능하다.

이 스케줄은 T1의 read(x)와 T2의 write(x)로 T1 → T2, T2의 write(x)와 T1의 write(x)로 T2 → T1의 충돌이 함께 생겨 선행 그래프에 사이클이 만들어진다.

  • T3가 y를 처리한 뒤 T2가 x, T1이 y를 처리하는 스케줄: 간선이 T3 → T1, T1 → T2뿐이라 직렬 가능하다.
  • T1이 x와 y를 먼저 접근하고 T3가 마지막에 y를 처리하는 스케줄: 간선이 T1 → T2, T1 → T3뿐이라 직렬 가능하다.
  • T3의 read(y)와 write(y) 사이에 T2의 read(x)가 끼는 스케줄: 간선이 T3 → T1, T1 → T2뿐이라 직렬 가능하다.
문제 39
다음 설명에 해당하는 데이터마이닝 기법으로 가장 적절한 것은?
・일정한 집단에 대한 특정 정의를 통해 추론한다.
・과거 데이터를 이용하여 모델을 생성하고 새로운 데이터에 대한 값을 예측한다.
・지도학습 형식을 지닌다.
1군집화(clustering)
2분류(classification)
3연관규칙(association rule)
4유사도 검색(similarity search)
정답 및 해설

제시된 설명에 해당하는 기법은 분류(classification)이다.

정답 라벨이 있는 과거 데이터로 모델을 만들어 새 데이터의 값을 예측하는 지도학습 기법이다.

  • 군집화: 라벨 없이 비슷한 데이터를 묶는 비지도학습이다.
  • 연관규칙: 함께 나타나는 항목 간의 규칙을 찾는 기법이다.
  • 유사도 검색: 주어진 대상과 비슷한 데이터를 찾는 기법이다.
문제 40
하둡 분산 파일 시스템(HDFS, Hadoop Distributed File System) 개발 목적으로 가장 적절하지 않은 것은?
1하드웨어의 오류 자동 감지 및 회복
2대화형 실시간 처리
3대용량 데이터 집합
4간단한 일관성 모델
정답 및 해설

대화형 실시간 처리는 HDFS의 개발 목적이 아니다.

HDFS는 대용량 데이터를 순차적으로 읽는 일괄(배치) 처리에 맞게 설계되어, 짧은 응답시간보다 높은 처리량을 중시한다.

  • 하드웨어 오류 감지 및 회복: 값싼 장비의 고장을 전제로 복제와 자동 복구를 제공한다.
  • 대용량 데이터 집합: 대규모 파일을 분산 저장한다.
  • 간단한 일관성 모델: 한 번 쓰고 여러 번 읽는 방식으로 일관성을 단순화한다.