데이터베이스론

2026년도 국가공무원 9급 공채 필기시험 · 20문항

1번

데이터베이스 정의에 대한 설명으로 옳지 않은 것은?

2번

개체-관계 모델에 대한 설명으로 옳지 않은 것은?

3번

관계 데이터 모델에서 키(key)에 대한 설명으로 옳지 않은 것은?

4번

다음 3단계 데이터베이스 구조 스키마의 (가) ~ (다)에 들어갈 용어를 바르게 연결한 것은?

(가) (나) (다)

5번

관계 대수 연산자 중 두 릴레이션의 차수가 같지 않거나 대응 속성 간 도메인이 일치하지 않아도 수행이 가능한 연산자는?

6번

다음 ‘사원’과 ‘부서’ 릴레이션에 대해 SQL문을 실행할 경우 위반하는 제약조건은? (단, 밑줄 친 속성은 기본키, ‘사원’ 릴레이션의 부서코드는 ‘부서’ 릴레이션의 부서코드에 대한 외래키이다)

<릴레이션>

사원

부서

사번

이름

부서코드

계약액

부서코드

부서명

16031

이순신

190

820000

190

판매부

18039

유관순

240

950000

160

생산부

20024

안중근

190

935000

230

개발부

21098

이봉창

160

900000

240

회계부

<SQL문>

INSERT INTO 사원(사번, 이름, 부서코드, 계약액)

VALUES (25002, '장보고', 180, 850000);

7번

시스템 카탈로그에 대한 설명으로 옳지 않은 것은?

8번

다음 <조건>을 고려한 개체-관계 다이어그램(ERD, E-R Diagram)의 관계형 데이터베이스 스키마는?

<조 건>

○ 밑줄 친 속성은 기본키이다.

○ 같은 이름의 사원들이 존재할 수 있다.

○ 한 명의 사원이 여러 개의 전화번호를 가질 수 있다.

○ 전화번호 속성은 하나의 전화번호만 저장할 수 있는 크기이다.

< ERD >

9번

함수적 종속(functional dependency)을 표현한 X → Y에 대한 설명으로 옳지 않은 것은? (단, X와 Y는 동일 릴레이션에 존재하는 속성들의 부분 집합이다)

10번

논리적 명칭을 통해 데이터에 접근을 보장하는 분산 데이터베이스의 투명성은?

11번

다음 ‘주문’ 릴레이션에서 아래 SQL문을 실행한 결과는?

<릴레이션>

주문

고객번호

도서번호

판매가격

주문일자

1

1

7000

2026-01-08

2

6

15000

2026-02-22

1

2

13000

2026-02-16

2

5

8000

2026-01-29

3

2

13000

2026-03-21

4

4

35000

2026-02-25

1

3

22000

2026-02-26

4

3

22000

2026-03-14

<SQL문>

SELECT 고객번호, SUM(판매가격) AS 총금액

FROM 주문

WHERE 주문일자 >= '2026-02-01'

GROUP BY 고객번호

HAVING COUNT(도서번호) >= 2

ORDER BY 고객번호;

12번

DBMS의 오류 복구를 위해 주기적으로 덤프를 수행할 경우, 덤프의 수행 단계를 순서대로 바르게 나열한 것은?

13번

다음 ‘제품’, ‘주문’, ‘고객’ 릴레이션에서 아래 SQL문을 실행한 결과는?

<릴레이션>

제품

주문

고객

제품번호

제품명

주문번호

제품번호

고객번호

고객번호

고객명

1

노트북

101

1

1

1

이홍위

2

태블릿

102

2

2

2

한명회

3

휴대전화

103

2

1

3

엄흥도

<SQL문>

SELECT p.제품번호, p.제품명, o.주문번호, c.고객명

FROM 제품 p

LEFT JOIN 주문 o ON p.제품번호 = o.제품번호

LEFT JOIN 고객 c ON o.고객번호 = c.고객번호

ORDER BY p.제품번호, o.주문번호;

14번

2단계 로킹 규약(two-phase locking protocol)에 대한 설명으로 옳지 않은 것은?

15번

다음 트랜잭션 실행에 따라 발생하는 문제를 해결하기 위해 SQL을 이용하여 설정할 수 있는 고립도 중 가장 낮은 등급은?

시간

T1

T2

T3

read(x)

write(x)

read(x)

read(x)

write(x)

read(x)

read(x)

16번

트랜잭션 T1, T2, T3에서 데이터 x, y에 대한 읽기(read)와 쓰기(write) 작업이 다음 순서로 스케줄링 될 경우, 스케줄 S의 선행 그래프로 옳은 것은?

S:

T1

T2

T3

read(x)

write(x)

read(y)

write(y)

read(y)

read(x)

read(y)

write(y)

17번

다음 SQL문을 통해 ‘department’와 ‘student’ 테이블을 생성하고 투플을 추가한 후 (가), (나) 문을 실행한 결과에 대한 설명으로 옳은 것은?

18번

데이터베이스 보안에 대한 설명으로 옳지 않은 것은?

19번

다음 <상황>에서 교착상태 예방 방법별 동작에 대한 설명으로 옳지 않은 것은?

<상 황>

트랜잭션

T

에 대한 타임스탬프 TS(

T

)는 트랜잭션의 시작 시각을 표현하며, TS(

Tj

) < TS(

Ti

)는

Tj

Ti

보다 먼저 작업을 시작했다는 의미이다. 트랜잭션

Tj

가 항목 x에 대해 배타 로크(exclusive lock)를 획득하였으며, 트랜잭션

Ti

가 항목 x에 대해 배타 로크를 획득하고자 한다.

20번

비트맵 인덱스에 대한 설명으로 옳지 않은 것은?