본문 바로가기
6. 국가기술자격 모음/[정보기술]정보처리기사

[정보처리기사] 데이터베이스

by cogito21_cpp 2024. 10. 11.
반응형

1. 분석 및 키워드

학습목표

1) 소프트웨어가 다루어야 하는 데이터 간 연관성, 제약 조건을 식별하여 논리적으로 조직화하는 것을 이해해야 한다.

2) 소프트웨어 아키텍처에 기술된 데이터 저장소에 조직화된 단위의 데이터가 저장될 최적화된 물리적 공간을 구성하고 데이터 조작언어를 이용하여 데이터 입출력을 구현할 수 있어야 한다.

 

Keyword

- 논리 데이터 모델링, 물리 데이터 모델링, ER다이어그램, 정규화, 반정규화, 이상현상, 데이터베이스, DBMS, 빅데이터, NoSQL, 데이터마이닝

 

빈출용어 및 개념

- 스키마, 외부/개념/내부 스키마, DB구축과정(요구사항분석/개념적설계/논리적설계/물리적설계/구현), 데이터모델의 구성요소(구조/연산/제약조건), 관계데이터모델의 구성요소(릴레이션/튜플/속성/카디널리티/차수/스키마/인스턴스), 관계 대수 연산자, 트랜잭션 특징(원자성, 일관성, 고립성/독립성, 영속성), 정규화 단계, 반정규화, 무결성종류(개체/참조/속성/사용자정의/키), 이상현상 종류(삽입이상/삭제이상/갱신이상), ER다이어그램 기호, 병행제어 종류(로킹/낙관적검증/타임스탬프순서/다중버전동시성제어/2PC), 회복기법(REDO/UNDO), 회복기법종류(로그기반회복기법: 자연갱신회복기법, 즉각갱신회복기법/체크포인트회복기법/그림자페이징회복기법), 스키마 종류(외부스키마/개념스키마/내부스키마), 테이블용어(튜플/속성/카디널리티/차수/도메인), 뷰, 인덱스, 함수종속 종류(부분함수종속/완전함수종속/이행함수종속)

 

출제정답(2020년 이후)

년도 3회 2회 1회
2024년   2번
(반정규화)
6번
(제3정규형)

8번
(세타조인, 동등조인,자연조인)
2023년 13번
(MAC, RBAC, DAC)

19번

(관계 대수 연산자: ⋈, π, σ, ÷)


20번
(참조)
10번
(요구사항분석, 개념적설계, 논리적설계, 물리적설계, 구현)
7번
(릴레이션,튜플,속성,카디널리티, 차수, 스키마, 인스턴스)

19번
(외부스키마, 개념스키마, 내부스키마)
2022년 2번
(관계 대수 기호: U, -, X, π, ⋈)

18번
(ER다이어그램 기호)
1번
(관계 해석)

18번
(함수 종속성 종류: Full, Partial, Transitive)
2번
(트랜잭션 연산: redu, undo)

5번
(삭제 이상)

17번
(키 특성: 유일성, 최소성)
2021년 18번
(파일구조방식: 색인)
3번
(트랜잭션 특징: 원자성)

4번
(정규화 종류: 제2정규형)

14번
(병행제어기법: 로킹)
2번
(DB설계: 물리적설계, 개념적설계, 논리적설계)

8번
(반정규화, 비정규화)

14번
(카디널리티, 디그리 계산)

16번
(데이터모델 구성요소: 연산, 구조)

18번
(접근통제 기술: DAC)
2020년 5번
(스키마 개념)

7번
(관계 대수 연산자: ÷)

--- 4회 ---
4번
(회복기법: 즉각갱신기법)

20번
(DB보안: 가용성 개념)
1번
(시스템 관리: RTO 목표복구시간)

18번
(DB구축과정: 요구분석, 개념적설계, 논리적설계, 물리적설계, 구현)
7번
(트랜잭션 특징: 원자성, 독립성)

9번
(비정규화 개념)

 

2. 이론 

 

 

3. 최신기출

2024년 2회

[2024년 2회] 2번

- 다음 설명에 해당하는 용어를 작성하시오.

데이터를 중복시켜 성능을 향상시키기 위한 기법으로 데이터를 중복 저장하거나 테이블을 합치는 등으로 성능을 향상시키지만 데이터 무결성이 저하될 수 있는 기법

 

답: 반정규화


2024년 1회

[2024년 2회] 6번

- 아래 표에서 나타나고 있는 정규형을 작성하시오.

 

답: 제 3정규형

 

[2024년 2회] 8번

- 아래 내용의 각각의 설명에 대한 답을 작성하시오.

(1) 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다.

(2) 조건이 정확하게 '='등호로 일치하는 결과를 반환한다.

(3) ((2)) 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다.

 

답: (1) 세타 조인 (2) 동등 조인  (3) 자연 조인


2023년 3회

[2023년 3회] 13번

- 설명에 해당하는 용어를 쓰시오

(가) 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
(나) 사용자의 역할에 따라 접근 권한을 부여하는 방식
(다) 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식

 

답: (가) MAC (나) RBAC (다) DAC

 

[2023년 3회] 19번

- 관계대수 연산자 기호를 쓰시오

Join (가)
Project (나)
Select (다)
Division (라)

 

답: (가) ⋈ (나) π (다) σ  (라) ÷

 

[2023년 3회] 20번

- 다음 릴레이션에 생기는 문제를 방지하기 위해서 ( )무결성 제약 조건을 준수해야 한다. 괄호( ) 안에 들어갈 용어를 쓰시오.

Foreign Key와 연관된 조건

 

답: 참조


2023년 2회

[2023년 2회] 10번

- 데이터베이스 설계 순서를 쓰시오.

 

답: 요구사항분석→개념적설계→논리적설계→물리적설계→구현


2023년 1회

[2023년 1회] 7번

- (가), (나), (다) 설명에 해당하는 기호를 쓰시오.

(가) 릴레이션에서 행을 나타내는 말이며 파일의 레코드에 대응하는 개념
(나) 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합이며 릴레이션 인스턴스는 간단힌 릴레이션이라고 부릭도 하고 릴레이션 외연(relation extension)이라고도 부른다.
(다) 하나의 릴레이션에서 튜플의 전체 개수

 

답: (가) 튜플 (나) 릴레이션 인스턴스 (다) 카디널리티

 

[2023년 1회] 19번

- 설명에 해당하는 것을 기호로 찾아쓰시오.

스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것이다.
(가): 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
(나): 데이터베이스의 전체적인 논리적 구조이며, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재한다.
(다): 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

 

답: (가) 외부스키마 (나) 개념스키마 (다) 내부스키마


2022년 3회

[2022년 3회] 2번

- 아래 예시를 보고 관계 대수에 대한 기호를 작성하시오.

항목 기호
합집합  
차집합  
카디션 프로덕트  
프로젝트  
조인  

 

답: ∪, -, X, π,

 

[2022년 3회] 18번

- ER다이어그램에 관한 설명이다. 괄호 안에 알맞은 답을 작성하시오.

( 1 ): 관계 집합을 의미
( 2 ): 관계 집합과 속성을 연결한다
( 3 ): 개체 집합을 의미하여 키로 사용되는 항목에는 밑줄을 표시한다.
( 4 ): 관계 집합의 속성을 의미한다.
( 5 ): 개체 집합과 관계 집합을 연결한다.

 

답: (1) 마름모 (2) 점선 (3) 사각형 (4) 타원 (5) 실선


2022년 2회

[2022년 2회] 1번

- 다음은 관계 데이터 모델에 대한 설명이다. 괄호 안에 들어가는 용어를 작성하시오.

( )는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.
수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.
( )은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜플 ( )와 도메일 ( )가 있다.

 

답: 관계해석

 

[2022년 2회] 18번

- 다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞은 답을 보기에서 골라 쓰시오.

Functional Dependency

어떤 테이블 R에서 속성 Y가 다른 속성 집합 X 전체에 대해 함수적 종속이면서 속성 집합 X의 어떤 진부분 집합 Z에도 함수적 종속이 아닐 때 속성 Y는 속성 집합 X에 (가) Funtional Dependency라고 한다.

어떤 테이블 R에서 속성 Y가 다른 속성 집합 X 전체에 대해 함수적 종속이면서 속성 집합 X의 임의의 진부분 집합에 대해 함수적 종속일 때 속성 Y는 속성 집합 X에 (나) 함수적 종속이라고 한다.

릴레이션 X, Y, Z라는 3개의 속성이 있을 때 X→Y, Y→Z란 종속 관계가 있을 경우 X→Z 관계가 성립하면 (다) Functional Dependency라고 한다.
ㄱ.Determinant ㄴ.Constraint ㄷ.Transitive ㄹ.Full ㅁ.Dependent ㅂ.Partial ㅅ.Consistency

 

답: (가) Partial (나) Full (다) Transitive


2022년 1회

[2022년 1회] 2번

- 다음 설명에 해당하는 DB의 트랜잭션 연산을 <보기>에서 찾아 쓰시오.

DBMS는 데이터베이스에 치명적인 손실이 발생했을 때 이를 복구하기 위해 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 기록한 로그를 생성한다.
(가)는 데이터베이스가 비정상적으로 종료되었을 떄, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산이다.
(나)는 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 start는 있지만 완료를 나타내는 commit 기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다.

 

답: (가) redo (나) undo

 

[2022년 1회] 5번

- 데이터의 중복으로 인해 테이블 조작시 문제가 발생하는 것을 이상이라고 한다. 이상 중 삭제 이상에 대해 간략히 서술하시오.

 

답: 테이블에서 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 현상

 

[2022년 1회] 17번

- 키에 대한 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오.

키는 데이터베이스에서 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다.
슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 (가)을 만족한다.
후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로 (가)와 (나)을 만족하는 특징이 있다.

 

답: (가) 유일성 (나) 최소성


2021년 3회

[2021년 3회] 18번

- 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.

파일의 구조는 파일을 구성하는 레코드들이 보조기억장체에 편성되는 방식을 의미하는 것으로, 크게 순차, ( ), 해싱으로 구분한다. ( ) 파일 구조는 <값, 주소>쌍으로 구성되는 데이터 구조를 활용하여 데이터에 접근하는 방식으로, 자기 디스크에서 주로 활용된다.

 

답: 인덱스(색인)


2021년 2회

[2021년 2회] 3번

- 데이터베이스의 상태 변화를 일으키는 트랜잭션의 특성 중 원자성에 대해 간략히 서술하시오.

 

답: 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다는 특성을 의미한다.

 

[2021년 2회] 4번

- 데이터베이스에 대한 다음 설명에서 괄호에 공통으로 들어간 알맞은 답을 쓰시오.

테이블을 만들 때는 이상을 방지하기 위해 데이터들의 중복성 및 종속성을 배제하는 정규화를 수행한다.
아래 그림은 부분 함수적 종속을 제거하여 제 ( )정규형을 만드는 과정이다.

 

답: 2

 

[2021년 2회] 14번

- 데이터베이스의 병행제어 기법 중 하나로, 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한함으로서 상호 배타적으로 접근하여 작업을 수행하도록 하는 기법을 쓰시오.

 

답: 로킹


2021년 1회

[2021년 1회] 2번

- 데이터베이스 설계에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.

(가) 논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하며, 테이블 정의서 및 명세서가 산출된다.
(나) 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다.
(다) 현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다.

 

답: (가) 물리적설계 (나) 개념적설계 (다) 논리적설계

 

[2021년 1회] 8번

- 시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위를 가리키는 용어를 쓰시오.

 

답: 반정규화

 

[2021년 1회] 14번

- 다음 테이블에서 카디널리티와 디그리를 구하시오.

ID 이름 거주지 신청강의
a 김일 일구 01
b 김이 아구 02
c 김삼 섬구 03
d 김사 서구 03
e 김오 오구 02

 

답: 카디널리티(5), 디그리(4)

 

[2021년 1회] 16번

- 데이터 모델의 구성요소에 대한 아래의 설명에 괄호에 들어갈 답을 작성하시오.

(가)은 데이터 베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당한다.
(나)는 논리적으로 표현된 객체 타입들 간의 관계로서 데이터 구성 및 정적 성질을 표현한다.
제약조건은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미한다.

 

답: (가) 연산 (나) 구조

 

[2021년 1회] 18번

- 데이터베이스 보안에 관련된 다음 설명에 해당하는 용어를 쓰시오.

접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
이러한 접근통제에 관한 기술 중 ( )는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하여 제어하는 방식으로, 데이터의 소유자가 접근통제 권한을 지정하고 제어한다. 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수 있다.

 

답: DAC


2020년 4회

[2020년 4회] 4번

- 데이터베이스 회복 기법에 관련된 다음 설명에서 괄호에 공통적으로 들어갈 가장 알맞은 답을 작성하시오.

( )은 트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 DB에 그 내용을 반영하는 기법으로, 장애가 발생하여 회복 작업 경우를 대비하여 갱신된 내용들을 로그에 보관시킨다. ( )에 회복 작업을 수행할 경우 Redo와 Undo 모두 수행 가능하다.

 

답: 즉각 갱신 기법

 

[2020년 4회] 20번

- 데이터베이스 보안에서 가용성에 대해 간략히 서술하시오.

 

답: 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있다는 보안 요건


2020년 3회

[2020년 3회] 5번

- 데이터베이스의 스키마에 대해 설명하시오.

 

답: 데이터베이스의 구조와 제약 조건에 대한 전반적인 명세를 기술한 것

 

[2020년 3회] 7번

- 해당하는 관계대수 연산자의 기호를 쓰시오.

릴레이션 A, B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션 A에서 분리하여 프로젝션을 하는 연산

 

답: 디비전(÷)


2020년 2회

[2020년 2회] 1번

- 시스템 관리와 관련하여 해당하는 용어를 작성하시오.

A는 한국 IT 보안관제실에서 근무하게 되었다. A는 서비스 운용 중 외부 공격으로 인한 서버다운, 자연재해, 시스템 장애 등의 비상 상황에도 고객 응대 서비스를 정상적으로 수행하기 위해 구축한 시스템을 관리하는 업무를 수행한다. 이 용어는 위와 같은 비상상황이 발생한 경우 비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상 가동될 때 까지의 시간을 의미한다.

 

답: RTO(목표 복구 시간)

 

[2020년 2회] 18번

- 다음은 데이터베이스 구축까지의 과정을 나열한 것이다. 괄호에 들어갈 알맞은 답을 작성하시오.

요구사항 분석 → (가) → (나) → (다) → 구현

 

답: (가) 개념적 설계 (나) 논리적 설계 (다) 물리적 설계


2020년 1회

[2020년 1회] 7번

- 트랜잭션의 특징이다. 빈 칸에 들어갈 알맞은 특징을 쓰시오.

(가) 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다.
일관성 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
(나) 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
지속성 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.

 

답: (가) 원자성 (나) 독립성

 

[2020년 1회] 9번

- 비정규화의 개념을 쓰시오.

 

답: 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법

답: 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화된 원칙을 위배하는 행위


 

 

반응형