다음은 트랙잭션의 특징이다. 괄호에 들어갈 알맞은 특징을 쓰시오.
(1) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다
일관성 : 트랙잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
(2) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다
지속성 : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다
정답 : (1) 원자성 (2) 독립성
데이터베이스에서 비정규화의 개념을 서술하시오.
정답: 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 정규화의 원칙을 위배하는 행위이다.
시스템 관리와 관련하여 다음의 설명이 의미하는 용어를 쓰시오.
A는 한국 IT 보안관제실에서 근무하게 되었다. A는 서비스 운용 중 외부 공격으로 인한 서버다운, 자연재해, 시스템 장애 등의 비상 상황에도 고객 응대 서비스를 정상적으로 수행하기 위해 구축한 시스템을 관리하는 업무를 수행한다. 이 용어는 위와 같은 비상상황이 발생한 경우 비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상 가동 될 때까지의 시간을 의미한다.
정답: RTO (목표 복구 시간)
해설
RTO(Recovery Time Objective)와 RPO(Recovery Point Objective)는 데이터 복구와 관련된 두 가지 중요한 개념
RTO: 시스템이나 서비스가 중단된 후 복구하는 데 걸리는 최대 시간. 즉, 장애 발생 후 얼마나 빨리 서비스를 복구할 것인지를 나타냅니다.
RPO: 데이터 손실을 감수할 수 있는 최대 시간. 즉, 장애 발생 시 얼마나 이전의 데이터로 복구할 것인지를 나타내며, 데이터가 손실되기 전의 시점까지 복구할 수 있는 기준입니다.
다음은 데이터베이스 구축까지의 과정을 나열한 것이다. 괄호에 들어갈 알맞은 답을 쓰시오.
요구 분석 → (가) → (나) → (다) → 구현
정답: (가) 개념적 설계 (나) 논리적 설계 (다) 물리적 설계
해설
데이터베이스 구축 과정 → 개.논.물
요구 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
데이터베이스의 스키마에 대해 간략히 서술하시오.
정답: 데이터베이스 구조와 제약 조건에 관한 전반적인 명세를 기술한 것
다음이 설명하고 있는 관계대수 연산자의 기호를 쓰시오.
릴레이션 A, B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션 A에서 분리하여 프로젝션을 하는 연산
정답: ÷
해설
| 기호 | 연산자 | 설명 |
|---|---|---|
| ∪ | 합집합 | 두 릴레이션의 모든 튜플을 포함. |
| ∩ | 교집합 | 두 릴레이션에서 공통된 튜플만 포함. |
| - | 차집합 | 첫 번째 릴레이션에서 두 번째 릴레이션의 튜플을 제외. |
| × | 데카르트 곱 | 두 릴레이션의 모든 조합을 생성. |
| π | 프로젝션 | 특정 속성만 선택하여 새로운 릴레이션 생성. |
| σ | 선택 | 조건에 맞는 튜플만 선택. |
| ⋈ | 조인 | 두 릴레이션을 특정 조건으로 결합. |
| ÷ | 나누기 | 한 릴레이션에서 다른 릴레이션에 해당하는 튜플을 찾음. |
데이터베이스 회복 기법에 관련된 다음 설명에서 괄호에 공통적으로 들어갈 가장 알맞은 답을 쓰시오.
( )은 트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 DB에 그 내용을 반영하는 기법으로, 장애가 발생하여 회복 작할 경우를 대비하여 갱신된 내용들을 로그에 보관시킨다. ( )에 회복 작업을 수행할 경우 Redo와 Undo 모두 수행 가능하다
정답: 즉각 갱신 기법
해설
| 기법 | 설명 |
|---|---|
| 즉각 갱신 기법 | 트랜잭션이 데이터를 변경하면 즉시 DB에 반영하며, 로그에 갱신 내용을 보관. |
| 지연 갱신 기법 | 트랜잭션이 완료된 후에만 변경 내용을 DB에 반영하는 방식. |
| 로그 기반 회복 | 트랜잭션의 변경 사항을 로그에 기록하고, 장애 발생 시 로그를 사용하여 복구. |
| 체크포인트 | 특정 시점의 상태를 저장하고, 장애 발생 시 체크포인트로부터 복구. |
| 미러링 | 데이터베이스의 복사본을 유지하여 장애 발생 시 복사본으로 전환. |
| RAID | 여러 디스크에 데이터를 분산 저장하여 장애에 대비. |
| 백업 및 복원 | 정기적으로 데이터를 백업하고, 필요 시 복원하여 회복. |
데이터베이스 보안에서 가용성에 대해 간략히 서술하시오.
정답: 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있다는 보안 요건이다.
해설
| 보안 요건 | 설명 |
|---|---|
| 기밀성 | 인가받지 않은 사용자가 데이터에 접근할 수 없도록 보호하는 것. |
| 무결성 | 데이터가 정확하고 일관되며 변조되지 않도록 보장하는 것. |
| 가용성 | 인가받은 사용자가 시스템 내의 정보와 자원을 언제든지 사용할 수 있도록 하는 것. |
| 인증 | 사용자의 신원을 확인하여 인가된 사용자만 시스템에 접근할 수 있도록 하는 과정. |
| 인가 | 인증된 사용자가 어떤 데이터와 자원에 접근할 수 있는지를 결정하는 것. |
| 감사 | 데이터베이스에 대한 모든 접근과 변경 사항을 기록하여 추적할 수 있도록 하는 것. |
| 복구 | 데이터 손실이나 손상을 복구할 수 있는 방법과 절차를 마련하는 것. |
데이터베이스 설계에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.
(1) : 논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하며, 테이블 정의서 및 명세서가 산출된다.
(2) : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델링을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다.
(3) : 현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다.
정답: (1) 물리적 설계 (2) 개념적 설계 (3) 논리적 설계
시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위를 가리키는 용어를 쓰시오
정답: 반정규화(비정규화)
다음 테이블에서 카디널리티와 디그리를 구하시오

정답: 카디널리티: 5 디그리: 4
해설

튜플(Tubple) : 릴레이션을 구성하는 각 행(레코드), 속성의 모임, 튜플들은 모두 다름
하나의 릴레이션에 있는 튜플값은 모두 유일한 값이다.
속성(Attribute) : DB를 구성하는 가장 작은 논리적 단위(필드), 개체의 특성
도메인(Domain) : 하나의 애트리뷰트가 취할 수 있는 모든 원자값들의 집합
(학년을 취할 수 있는 도메인 : 1, 2, 3)
(성별을 취할 수 있는 도메임: 남, 여)
참조 - 정보처리기사(필기) - 관계 데이터베이스 모델과 언어1
데이터 모델의 구성 요소에 대한 다음 설명에 괄호에 들어갈 알맞은 답을 쓰시오.
(1)은 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당한다.
(2)는 논리적으로 표현된 객체 타입들 간의 관계로서 데이터 구성 및 정적 성질을 표현한다
제약조건은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미한다
정답 : 1) : 연산 (2) : 구조
데이터베이스 보안에 관련된 다음 설명에 해당하는 용어를 쓰시오
접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다
이러한 접근통제에 관한 기술 중 ( )는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하여 제어하는 방식으로, 데이터의 소유자가 접근통제 권한을 지정하고 제어한다. 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수 있다
정답 : DAC
해설
| 접근 통제 방식 | 설명 |
|---|---|
| DAC (임의 접근 통제) | 데이터 소유자가 접근 권한을 지정하고 제어하는 방식. 객체를 생성한 사용자가 권한을 부여할 수 있음. |
| MAC (강제 접근 통제) | 시스템의 정책에 따라 접근 권한이 부여되며, 사용자는 권한을 변경할 수 없음. 보안 등급에 따라 데이터 접근이 제한됨. |
| RBAC (역할 기반 접근 통제) | 사용자의 역할에 따라 접근 권한을 부여하는 방식. 역할에 따라 필요한 권한을 그룹화하여 관리. |
| ABAC (속성 기반 접근 통제) | 사용자의 속성과 환경 조건에 따라 접근 권한을 결정하는 방식. 다양한 속성을 기반으로 세분화된 접근 제어 가능. |
데이터베이스의 상태 변화를 일으키는 트랜잭션의 특성 중 원자성에 대해 간략히 서술하시오.
정답: : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구 되어야 한다는 특성을 의미한다
데이터베이스에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.
테이블을 만들 때는 이상을 방지하기 위해 데이터들의 중복성 및 종속성을 배제하는 정규화를 수행한다 아래 그림은 부분 함수적 종속을 제거하여 제 ( )정규형을 만드는 과정이다
정답: 2
해설
| 정규형 | 설명 |
|---|---|
| 제 1 정규형 (1NF) | 모든 속성이 원자값을 가져야 하며, 중복된 그룹이 없어야 함. |
| 제 2 정규형 (2NF) | 제 1 정규형을 만족하며, 모든 비주요 속성이 기본 키에 완전 함수적 종속이어야 함. |
| 제 3 정규형 (3NF) | 제 2 정규형을 만족하며, 비주요 속성이 기본 키에 이행적 종속이 없어야 함. |
| 보이스-코드 정규형 (BCNF) | 제 3 정규형을 만족하며, 모든 결정자가 후보 키여야 함. |
| 제 4 정규형 (4NF) | 다치 종속이 존재하지 않아야 하며, 멀티밸류 종속을 제거해야 함. |
| 제 5 정규형 (5NF) | 조인 종속이 존재하지 않아야 하며, 모든 조인이 후보 키에 의존해야 함. |
데이터베이스의 병행제어 기법 중 하나로, 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한함으로써 상호 배타적으로 접근하여 작업을 수행하도록 하는 기법을 쓰시오.
정답: 로킹
해설
| 병행 제어 기법 | 설명 |
|---|---|
| 로킹 (Locking) | 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한하여 상호 배타적으로 작업을 수행하도록 하는 기법. |
| 타임스탬프 (Timestamp) | 트랜잭션의 시작 시점을 기준으로 모든 트랜잭션의 순서를 결정하여 병행 제어를 수행하는 기법. |
| 낙관적 병행 제어 (Optimistic Concurrency Control) | 트랜잭션이 실행되는 동안 충돌이 없다고 가정하고, 마지막에 충돌이 발생했는지 확인하여 처리하는 방식. |
| 두 단계 커밋 (Two-Phase Commit) | 모든 트랜잭션이 성공적으로 완료되었는지 확인 후, 모든 트랜잭션을 커밋하는 방식으로 일관성을 유지. |
| 분산 병행 제어 (Distributed Concurrency Control) | 여러 노드에서의 트랜잭션을 관리하여 데이터 일관성을 유지하는 기법. |
다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.
파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로, 크게 순차, ( ), 해싱으로 구분한다. ( )파일 구조는 <값, 주소>쌍으로 구성되는 데이터 구조를 활용하여 데이터에 접근하는 방식으로, 자기 디스크에서 주로 활용된다
정답: 색인(Index)
다음 설명에 해당하는 DB의 트랜잭션 연산을 <보기>에서 찾아 쓰시오.
DBMS는 데이터베이스에 치명적인 손실이 발생했을 때 이를 복구하기 위해 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 기록한 로그를 생성한다.
(1) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산이다.
(2) : 데이터베이스가 비정상적인 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 start는 있지만 완료를 나타내는 commit기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다.
정답: (1) Redo (2) Undo
데이터의 중복으로 인해 테이블 조작 시 문제가 발생하는 것을 이상이라고 한다. 이상 중 삭제 이상에 대해 간략히 서술하시오.
정답: 테이블에서 튜플을 삭제할 떄 의도와는 상관없는 값들도 함께 삭제되는 현상
키에 대한 다음 설명에서 괄호에들어갈 알맞은 용어를 쓰시오.
키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다. 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 ( 1)을 만족한다. 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합으로 (1)과 (2)을 만족하는 특징이 있다.
정답: (1) 유일성 (2) 최소성
해설

1) 수퍼키(Super Key)
2) 후보키(Candidate Key)
3) 기본키(Primary Key)
4) 대체키(Alternate Key)
참조 - [정보처리기사] 데이터베이스 구축 - 키 (Key)의 종류
( )는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다. 수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.
( )은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜플 ( )와 도메인 ( )가 있다
정답: 관계해석
해설
| 개념 | 설명 |
|---|---|
| 관계해석 | - 관계 데이터의 연산을 표현하는 비절차적 방법 |
| - 원하는 정보가 무엇인지 정의하며, 계산 수식을 사용 | |
| - 수학의 predicate calculus에 기반 | |
| - Codd에 의해 제안되어 관계 데이터베이스를 위해 특별히 만들어짐 | |
| - 튜플과 도메인 개념이 포함됨 | |
| 관계대수 | - 관계 데이터의 연산을 표현하는 절차적 방법 |
| - 다양한 연산자(합집합, 차집합, 교집합, Cartesian 곱 등)를 사용하여 데이터 조작 | |
| - 데이터에 대한 조작 과정을 명시적으로 기술 | |
| - 관계해석과는 달리, 데이터의 조작 방법을 정의하는 특징을 가짐 |
다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞는 답을 보기에서 골라 쓰시오.

정답 : (가) full(완전) (나) partial(부분) (다) transitive(추이적)
아래 예시를 보고 관계 대수에 대한 기호를 작성하시오.
| 항목 | 기호 |
|---|---|
| 합집합 | |
| 차집합 | |
| 카디션 프로덕트 | |
| 프로젝트 | |
| 조인 |
정답
| 항목 | 기호 |
|---|---|
| 합집합 | ∪ |
| 차집합 | − |
| 카디션 프로덕트 | × |
| 프로젝트 | π |
| 조인 | ⨝ |
E-R 다이어그램에 관한 설명이다. 괄호 안에 알맞는 답을 작성하시오.

( 1 ) : 관계 집합을 의미
( 2 ) : 관계 집합과 속성을 연결한다
( 3 ) : 개체 집합을 의미하며 키로 사용되는 항목에는 밑줄을 표시한다
( 4 ) : 관계 집합의 속성을 의미한다
( 5 ) : 개체 집합과 관계 집합을 연결한다
정답 (1) ㅁ (2) ㄹ (3) ㄱ (4) ㄴ (5) ㄷ
(가), (나), (다) 설명에 해당하는 기호를 쓰시오.
(가) : 릴레이션에서 행을 나타내는 말이며 파일의 레코드(record)에 대응하는 개념
(나) : 어느 한 시점에 릴레이션에 존재하는 투플들의 집합이며 릴레이션 인스턴스는 간단히 릴레이션이라고 부르기도 하고 릴레이션 외연(relation extension)이라고도 부른다.
(다) : 하나의 릴레이션에서 투플의 전체 개수
ㄱ : 릴레이션 인스턴스
ㄴ :
ㄷ : 튜플
ㄹ : 차수
ㅁ : 도메인
ㅂ : 카디널리티
정답 (가) : (나) : (다) :
설명에 해당하는 것을 기호로 찾아쓰시오. (22년 2회차 산업기사 문제와 거의 동일)
스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것이다.
( 가 ) : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
( 나 ) : 데이터베이스의 전체적인 논리적 구조이며, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재한다.
( 다 ) : 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
ㄱ : 외부스키마
ㄴ : 개념스키마
ㄷ : 내부스키마
정답 : (가) 외부 스키마 (ㄴ) : 개념 스키마 (다) 내부 스키마
데이터베이스 설계 순서 5개를 쓰시오.
정답 : 요구사항분석 → 개념적설계 → 논리적설계 → 물리적설계 → 구현
13번 설명에 해당하는 용어를 쓰시오.
(가) 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
(나) 사용자의 역할에 따라 접근 권한을 부여하는 방식
(다) 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
정답 :(가) MAC (나)RBAC (다) DAC
관계대수 연산자 기호를 쓰시오.
| 항목 | 기호 |
|---|---|
| join | ㄱ |
| project | ㄴ |
| select | ㄷ |
| division | ㄹ |
정답: ㄱ : ⋈ ㄴ : π ㄷ : σ ㄹ : ÷
6번 아래 표에서 나타나고 있는 정규형을 작성하시오.
| 고객아이디 | 강좌명 | 강사번호 |
|---|---|---|
| apple | 영어회화 | P001 |
| banana | 기초토익 | P002 |
| carrot | 영어회화 | P001 |
| carrot | 기초토익 | P004 |
| orange | 영어회화 | P003 |
| orange | 기초토익 | P004 |
정답 : 제 3정규형
해설
결론
따라서 주어진 데이터는 제3정규형을 만족함 각 필드는 기본 키에 완전 함수적 종속이며, 이행적 종속이 없기 때문이다.
아래 표에서 나타나고 있는 정규형을 작성하시오.
(1) 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환한다.
(2) 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다.
(3) ( (2) ) 조인에서 조인에 참여한 속성이 두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다.
정답: (1) 세타 조인 (2) 동등 조인 (3) 자연 조인
해설
| 조인 유형 | 설명 |
|---|---|
| 세타 조인 | 조건에 따라 두 릴레이션의 튜플을 조인하며, 비교 연산자(=, <, > 등)를 사용할 수 있음. |
| 동등 조인 | 조인 조건이 등호(=)로만 이루어진 조인. |
| 자연 조인 | 두 릴레이션에서 동일한 이름을 가진 속성을 기준으로 중복된 속성을 제거하여 조인함. |
| 외부 조인 | 한 릴레이션의 모든 튜플을 포함하고, 다른 릴레이션의 일치하는 튜플이 없으면 NULL을 반환. |
| 왼쪽 외부 조인 | 왼쪽 릴레이션의 모든 튜플과 오른쪽 릴레이션의 일치하는 튜플을 반환. |
| 오른쪽 외부 조인 | 오른쪽 릴레이션의 모든 튜플과 왼쪽 릴레이션의 일치하는 튜플을 반환. |
| 전체 외부 조인 | 두 릴레이션의 모든 튜플을 반환하며, 일치하지 않는 경우 NULL을 반환. |
다음 문제에서 설명하는 용어를 작성하시오.
데이터를 중복시켜 성능을 향상시키기 위한 기법으로 데이터를 중복 저장하거나
테이블을 합치는 등으로 성능을 향상시키지만 데이터 무결성이 저하될 수 있는 기법
정답 : 반정규화