데이터베이스론
1번
다음 상황에 대한 트랜잭션(transaction)의 특성은?
- ①
일관성(consistency)
- ②
원자성(atomicity)
- ③
지속성(durability)
- ④
고립성(isolation)
2번
데이터를 구조 형태에 따라 구분할 때 이에 대한 설명으로 옳지 않은 것은?
- ①
XML 문서는 데이터를 교환하는 용도로 활용되고 있다.
- ②
정형 데이터(structured data)는 미리 정해진 구조에 따라 데이터를 저장하며 관계 데이터베이스에서 널리 사용된다.
- ③
비정형 데이터(unstructured data)에는 사전에 데이터 타입이 정해지지 않은 텍스트도 있다.
- ④
반정형 데이터(semi-structured data)는 데이터 구조와 내용을 별도의 파일 형태로 저장한다.
3번
다음 릴레이션(relation) R과 S의 카티션 프로덕트(cartesian product) 연산 시 결과 릴레이션의 차수(degree)와 카디널리티(cardinality) 값은?
R | S | |||
번호 | 이름 | 번호 | 나이 | |
100 | 강감찬 | 100 | 82 | |
200 | 이순신 | 101 | 53 | |
300 | 한용운 | 102 | 66 |
차수 카디널리티
- ①36
- ②46
- ③39
- ④49
4번
트랜잭션에 대한 설명으로 옳지 않은 것은?
- ①
커밋된 후에도 해당 트랜잭션은 롤백(rollback)을 사용하여 취소가 가능하다.
- ②
현재 수행 중인 트랜잭션을 롤백하면 트랜잭션에서 SQL 문에 의해 수행된 모든 갱신이 취소(undo)된다.
- ③
현재 수행 중인 트랜잭션을 커밋하면 트랜잭션이 수행한 갱신을 데이터베이스에 영구적으로 반영한다.
- ④
트랜잭션은 데이터베이스 관리 시스템(database management system)에서 데이터를 다루는 논리적인 작업의 단위이다.
5번
‘학생’ 테이블에 대한 검색 권한을 사용자 ‘홍길동’에게 부여하는 SQL 문을 완성할 때 (가)와 (나)에 들어갈 내용을 바르게 연결한 것은?
(가) (나)
- ①SELECTREVOKE
- ②SELECTGRANT
- ③GRANTSELECT
- ④REVOKESELECT
6번
SQL에서 UNION과 UNION ALL에 대한 설명으로 옳은 것은?
- ①
UNION은 UNION ALL과 달리 ORDER BY 절을 자동으로 추가한다.
- ②
UNION은 UNION ALL보다 연산 결과 릴레이션의 속성 개수가 크다.
- ③
UNION은 중복된 투플을 제거하며, UNION ALL은 중복된 투플을 포함한다.
- ④
UNION은 두 릴레이션에서 서로 대응되는 속성의 도메인(domain)이 다를 때만 사용할 수 있다.
7번
다음 두 릴레이션 학생과 수강에서 아래 관계대수에 의해 생성된 결과로 옳은 것은? (단, 수강 릴레이션의 SID는 학생 릴레이션의 SID를 참조하는 외래키(foreign key)이다)
학생 | ||
SID | Name | Dept |
101 | 홍길동 | 컴퓨터공학 |
102 | 이몽룡 | 경영학 |
103 | 성춘향 | 컴퓨터공학 |
104 | 장보고 | 경영학 |
수강 | ||
SID | CID | Grade |
101 | CS101 | A |
101 | CS102 | B |
102 | MG201 | C |
103 | CS101 | B |
104 | MG202 | A |
- ①
Name
CID
홍길동
CS101
홍길동
CS102
성춘향
CS101
- ②
Name
CID
홍길동
CS102
성춘향
CS101
- ③
Name
CID
이몽룡
MG201
장보고
MG202
- ④
Name
CID
홍길동
CS102
8번
NoSQL 데이터베이스에 대한 설명으로 옳은 것은?
- ①
문서 기반(document-based) 데이터베이스는 주로 노드(node)와 간선(edge)을 사용하여 데이터를 관리한다.
- ②
키-값(key-value) 데이터베이스는 분산하여 저장하는 시스템 환경에 적용하기에는 적합하지 않다.
- ③
트랜잭션을 지원하여 ACID(Atomicity Consistency Isolation Durability)를 필수적으로 보장한다.
- ④
문서 기반 데이터베이스는 반정형 데이터 형식을 지원한다.
9번
다음 릴레이션에서 아래 SQL문을 실행하면 나오는 투플의 개수는?
사원 | ||||
사원번호 | 이름 | 부서번호 | 월급 | 직책 |
1 | 홍길동 | 10 | 5000 | 사원 |
2 | 이순신 | 20 | 3000 | 대리 |
3 | 강감찬 | 30 | 4000 | 과장 |
4 | 장보고 | 20 | 2000 | 부장 |
5 | 홍길동 | 20 | 5000 | 대리 |
6 | 안중근 | 10 | 2000 | 과장 |
- ①
2
- ②
3
- ③
4
- ④
5
10번
다음 트랜잭션 T1과 T2를 수행한 후 X와 Y의 최종값은? (단, X와 Y의 초깃값은 각각 100, 200이다)
시간 | T1 | T2 |
X = 20 | ||
write(X) | ||
read(X) | ||
X = X - 20 | ||
write(X) | ||
read(Y) | ||
Y = Y + 20 | ||
write(Y) |
X Y
- ①0220
- ②20200
- ③80220
- ④100200
11번
트리거(trigger)에 대한 설명으로 옳지 않은 것은?
- ①
SQL 표준에 채택된 적은 없으나 실무상 유용하게 사용한다.
- ②
실행될 시점(event)과 이때 수행되어야 할 동작(action)으로 구성된다.
- ③
무결성 제약 조건을 구현하는데 사용할 수 있다.
- ④
데이터베이스에서 발생하는 특정 사건에 대하여 자동적으로 수행하는 구문이다.
12번
다음 트랜잭션 T1과 T2에 대한 2단계 로킹 규약(2-phase locking protocol)을 준수하기 위해 (가)와 (나)에 적합한 코드는?
시간 | T1 | T2 |
lock(X) | ||
read(X) | ||
X = X + 10 | ||
write(X) | ||
(가) | ||
lock(X) | ||
read(X) | ||
X = X * 20 | ||
write(X) | ||
read(Y) | ||
Y = Y + 100 | ||
write(Y) | ||
unlock(Y) | ||
(나) | ||
read(Y) | ||
Y = Y * 20 | ||
write(Y) | ||
unlock(Y) |
(가) (나)
- ①
lock(Y)
lock(Y)
unlock(X)
unlock(X)
- ②
lock(Y)
unlock(X)
unlock(X)
lock(Y)
- ③
unlock(X)
lock(Y)
lock(Y)
unlock(X)
- ④
unlock(X)
unlock(X)
lock(Y)
lock(Y)
13번
데이터베이스 접근제어(access control)에 대한 설명으로 옳은 것은?
- ①
강제 접근제어는 정보를 유출 시키는 트로이 목마 공격에 대하여 임의 접근제어보다 취약하다.
- ②
임의 접근제어는 데이터 소유자가 데이터에 대한 접근 권한을 제어하며, 주체 간 권한 위임이 가능하다.
- ③
역할 기반 접근제어는 역할의 권한 변경 시 사용자마다 변경된 권한을 적용해야 한다.
- ④
Bell-LaPadula 모델은 허가 등급이 높은 주체가 허가 등급이 낮은 객체를 기록할 수 있다.
14번
다음 개체 관계 다이어그램(entity relationship diagram)에 대한 설명으로 옳지 않은 것은?

- ①
각 과제는 최소한 한 명의 직원에게 할당되어야 한다.
- ②
동일한 과제가 여러 명에게 할당될 수도 있다.
- ③
각 직원은 최소한 한 과제를 할당받아야 한다.
- ④
어떤 직원은 과제를 여러 개 할당받을 수도 있다.
15번
다음 트랜잭션 T1과 T2에서 발생하는 문제로 옳은 것은?
시간 | T1 | T2 |
read(X) | ||
X = X + 100 | ||
read(X) | ||
X = X * 2 | ||
write(X) | ||
write(X) |
- ①
모순성(inconsistency)
- ②
갱신 분실(lost update)
- ③
삽입 이상(insertion anomaly)
- ④
연쇄 복귀(cascading rollback)
16번
참조 무결성 제약조건(referential integrity constraint)에 대한 설명으로 옳은 것만을 모두 고르면?
- ①
ㄱ, ㄴ
- ②
ㄱ, ㄷ
- ③
ㄴ, ㄷ
- ④
ㄱ, ㄴ, ㄷ
17번
다음 정규화(normalization)에 대한 설명으로 옳은 것만을 모두 고르면?
- ①
ㄱ, ㄴ
- ②
ㄱ, ㄷ
- ③
ㄴ, ㄹ
- ④
ㄱ, ㄷ, ㄹ
18번
다음 릴레이션 R에 대한 SQL문의 실행 결과는?
| SELECT COUNT(*) AS T FROM ( SELECT A FROM R GROUP BY A HAVING SUM(B) > 10 ) AS S; |
- ①
S3
- ②
S4
- ③
T3
- ④
T4
19번
인덱스(index)에 대한 설명으로 옳지 않은 것은?
- ①
테이블에서 한 개 이상의 속성을 이용하여 생성한다.
- ②
빠른 검색과 효율적인 레코드 접근을 가능하게 한다.
- ③
희소 인덱스(sparse index)는 그 인덱스가 클러스터링 인덱스인 경우 사용할 수 없다.
- ④
데이터에서 수정, 삭제 등의 변경이 발생하면 인덱스를 재구성할 수 있다.
20번
다음 뷰(view)에 대한 설명으로 옳은 것만을 모두 고르면?
- ①
ㄱ, ㄴ
- ②
ㄱ, ㄷ
- ③
ㄴ, ㄷ
- ④
ㄱ, ㄴ, ㄷ