2023 정보처리기사 실기 예상 문제 모음

예상문제뿐 아니라 확실히 알고가야하는 개념을 확인하는 용으로 만든 문제도 같이 수록했습니다.

 

1. 다음은 DBMS의 등장배경으로 파일 시스템이 갖는 (가), (나) 문제점을 해결하기 위해 제안되었다. (가), (나)는 무엇인지 영어로 쓰시오.

(가) : 프로그램의 구조가 데이터의 구조에 영향을 받는 것을 의미하는데 데이터의 구조가 프로그램의 데이터 저장방식을 결정하고 반대로 프로그램의 데이터 저장방식에 따라 데이터의 저장방식이 바뀌는 것을 말한다.  데이터의 구조가 변경되면 프로그램까지 같이 바뀌는 비용이 들기 때문에 프로그램 가발과 유지보수가 어려워진다
(나) : 파일 시스템은 프로그램마다 (가) 등으로 인해 공유가 안되는 경우가 많아서 프로그램마다 같은 정보를 중복해서 저장하는 경우가 많다. 이는 저장공간의 낭비이기도 하지만 데이터를 관리하는 측면에서 같은 정보를 여러 곳에서 보관하면 수정 시에 모든 데이터를 수정해야 하는 문제가 발생한다.
더보기

(가) : Data Dependency(데이터 종속성)

(나) : Data Redundancy(데이터 중복성)


2. 다음은 DBMS의 필수 기능 3가지에 대한 설명이다. 해당하는 것을 영어로 쓰시오.

ㄱ : 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약조건 등을 명시
ㄴ : 데이터 검색, 갱신, 삽입, 삭제 등을 위한 인터페이스 수단 제공
ㄷ :  데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
더보기

ㄱ: Definition(정의)

ㄴ : Manipulation(조작)

ㄷ: Control(제어)


3. 다음은 스키마의 종류이다. 해당하는 설명의 스키마를 작성하시오.

ㄱ. 모든 응용 시스템들이나 사용자들 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스를 기술한 것
ㄴ. 저장 장치(storage) 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것
ㄷ. 데이터베이스의 개개 사용자나 응용 프로그래머가 접근하는 데이터베이스를 정의한 것
더보기

ㄱ : 개념 스키마(conceptual schema)

ㄴ : 내부 스키마(internal schema)

ㄷ : 외부 스키마(external schema)

 

순서는 외부 스키마->개념 스키마->내부 스키마


4. 데이터베이스를 3단계 구조로 나누고 단계별로 스키마를 유지하며 스키마 사이의 대응 관계를 정의하는 궁극적인 목적은 (가)를 실현하기 위해서이다. (가)가 무엇인지 쓰시오.

더보기

데이터 독립성(Data Independence)

 

데이터 독립성은 논리적 독립성, 물리적 독립성으로 나눠진다


5. 데이터베이스에 저장되는 데이터에 관한 정보를 저장하는 곳을 데이터 사전(data dictionary)라고 하는데 다른 말로 뭐라고 하는지 쓰시오.

더보기

메타 데이터(meta data)

또는

시스템 카탈로그(system catalog)


6. 데이터베이스 설계에 대한 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오(21년 1회 실기 기출문제)

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

(1) : 물리적 설계

(2) : 개념적 설계

(3) : 논리적 설계


7.데이터 모델의 표시 요소에 대한 다음 설명에 해당하는 것을 영어로 쓰시오.

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

가 : Operation(연산)

나 : Structure(구조)

다 : Constraint(제약조건)


8. 데이터 모델 구성요소 3가지를 영어로 쓰시오. 

더보기

Entity, attribute, relationship

개체, 속성, 관계


9. 개체와 개체가 맞는 의미 있는 연관성을 관계라고 한다. 다음은 관계의 종류에 대한 설명이다. 해당하는 관계를 영어로 쓰시오.

ㄱ : 두 개체 사이의 주·종 관계를 표현한 것
ㄴ : 두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계
ㄷ : 개체가 자기 자신과 관계를 갖는 것
ㄹ : 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계
더보기

ㄱ : Dependent Relationship(종속 관계)

ㄴ : Redundant Relationship(중복 관계)

ㄷ : Recursive Relationship(재귀 관계)

ㄹ : Exclusive Relationship(배타 관계)


10. 다음 해당하는 빈칸을 영어로 쓰시오.

개체 B가 독자적으로 존재할 수 없고 다른 개체 A의 존재 여부에 의존적이라면, 개체 B가 개체 A에 종속되어 있다고 한다.
이는 개체 A가 존재해야 B가 존재할 수 있고 A가 삭제되면 개체 B도 함께 삭제되어야 함을 의미한다. 
이러한 종속을 특별히 (가)라 한다. 이때 다른 개체의 존재 여부에 의존적인 개체 B를 (나)라 하고 다른 개체의 존재 여부를 결정하는 개체 A를 (다)라 한다
이때 (나)를 구별하는 역할을 하는 속성을 (라)라고 한다. 
더보기

가 : 존재 종속(Existence dependence)

나 : 약한 개체(weak entity)

다 : 오너 개체(owner entity)

라 : 구별자(delimiter) 또는 부분키(Partial key)


11. 피터 첸(Peter Chen)이 1976년에 제안한 것으로 현실 세계를 개체(entity)와 개체 간의 관계(relationship)를 이용해 개념적 구조로 표현하는 방법을 E-R모델이라고 하며 E-R모델을 이용해 개념적 모델링하여 그림으로 표현한 것을 E-R 다이어그램이라고 한다. 다음은 E-R다이어그램에서 사용되는 기호이다. 해당하는 기호가 무엇을 의미하는지 쓰시오.


12. 2차원적인 표를 이용해서 데이터 상호 관계를 정의하는 데이터베이스를 관계형 데이터베이스라고 한다. 다음은 관계형 데이터베이스의 기본 용어이다. 해당하는 것을 영어로 쓰시오.

ㄱ : 데이터들을 표 형태로 표현한 것
ㄴ:  릴레이션의 열=파일에서 필드(field)에 대응하는 개념
ㄷ : 속성의 수
ㄹ : 릴레이션의 행=파일에서 레코드(record)에 대응하는 개념
ㅁ : 튜플의 수
ㅂ : 속성 하나가 가질 수 있는 모든 값의 집합
더보기

ㄱ : Relation(릴레이션)

ㄴ : Attribute(속성)

ㄷ : Degree(차수)

ㄹ : Tuple(튜플)

ㅁ : Cardinality(카디널리티)

ㅂ : Domain(도메인)


13. 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬핼 때 기준이 되는 속성을 키라고 한다. 설명이 어떤 키에 해당하는지 쓰시오.

ㄱ :  릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
ㄴ : 후보키 중에서 특별히 선정된 주 키(Main Key)
ㄷ :  후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키, 보조키라고도 함
ㄹ : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
ㅁ : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
더보기

ㄱ : Candidate Key(후보키)

ㄴ : Primary Key(기본키)

ㄷ : Alternate Key(대체키)

ㄹ : Super Key(슈퍼키)

ㅁ : Foreign Key(외래 키)


14. 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 무결성(Integrity)라고 한다. 다음은 무결성 제약조건의 일부인데 빈칸에 들어갈 말을 쓰시오.

개체 무결성 (가)를 구성하는 모든 속성은 널 값을 가질 수 없다
참조 무결성 (나)는 참조할 수 없는 값을 가질 수 없다
더보기

(가) : 기본키

(나) : 외래키


15. 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로 대표적으로 (가)와 (나)가 있다. 해당하는 것을 쓰시오.

(가) : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술(절차 언어)
(나) : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술(비절차 언어)
더보기

(가) : 관계 대수 

(나) : 관계 해석

 

관계 대수와 관계 해석은 상용화된 관계 데이터베이스에서는 실제로 사용되지 않는 개념적 언어다. 하지만 새
로운 데이터 언어가 제안되면 해당 데이터 언어의 유용성을 검증해야 하는데 검증의 기준 역할을 하는 것이 
관계 대수와 관계 해석이다.


16. 아래 릴레이션에서 등급 속성을 𝝅한 결과 릴레이션을 나타내시오. 

(머릿속으로 생각해보고 답을 확인하세요)


17. 아래 릴레이션에서 등급 속성이 골드인 튜플을 σ한 결과 릴레이션을 나타내시오. 

(머릿속으로 생각해보고 답을 확인하세요)


18. 아래 2개의 릴레이션을 ⋈한 결과 릴레이션을 나타내시오. 

(머릿속으로 생각해보고 답을 확인하세요)


19. 아래 주문내역 릴레이션을 제품1, 제품2와 각각 ÷한 결과 릴레이션을 나타내시오.

(머릿속으로 생각해보고 답을 확인하세요)


20. 두 릴레이션을 각각 R∪S, R∩S, R-S했을 때 결과 릴레이션을 나타내시오

(머릿속으로 생각해보고 답을 확인하세요)


21. 데이터베이스를 잘못 설계하면 불필요한 데이터 중복이 발생하여 데이터의 삽입·수정·삭제 연산을 수행할 때 부작용들이 발생할 수 있다. 이러한 부작용을 이상(anomaly) 현상이라 한다. 이상 현상을 제거하면서 데이터 베이스를 올바르게 설계해 나가는 과정이 정규화이다. 이상 현상의 3가지 종류를 모두 말하고 그 이상현상이 뭔지 설명하시오.

더보기

삽입이상(Insertion Anomaly)-새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제

갱신 이상(Update Anomaly)-중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제

삭제 이상(Deletion Anomaly)-튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제


22. 하나의 릴레이션을 구성하는 속성들의 부분집합을 X와 Y라 할 때, 어느 시점에서든 릴레이션 내의 모든 튜플
을 대상으로 한 X 값에 대한 Y 값이 항상 하나면 "X가 Y를 함수적으로 결정한다" 또는 "Y가 X에 함수적으로 
종속되어 있다"고 한다. 함수 종속 관계는 X → Y로 표현하고 X를 (가), Y를 (나)라고 한다.

(가), (나)에 들어갈 말을 영어로 쓰시오.

더보기

(가 ) : Determinant(결정자)

(나 ) : Dependent(종속자)

 


23. 다음과 같은 릴레이션이 있다. 어떤 정규화 과정을 거쳐야하는지 쓰시오

더보기

제1정규형

 

위 릴레이션은 원자값이 아니라 이벤트번호, 당첨여부에 값이 여러개 포함하므로 도메인이 원자 값으로만 구성될 수있도록 1정규형으로 정규화를 해주어야 한다


24. 다음과 같은 릴레이션이 있다. 어떤 정규화 과정을 거쳐야하는지 쓰시오

더보기

제2정규형

 

위 릴레이션은 등급, 할인율은 {고객 아이디, 이벤트 번호}, {고객 아이디} 두 집합에 종속이라 부분 함수 종속이다

따라서 모든 속성이 기본키에 완전 함수 종속이 될 수 있도록 2정규형으로 정규화를 해주어야 한다


25. 다음과 같은 릴레이션이 있다. 어떤 정규화 과정을 거쳐야하는지 쓰시오

더보기

제3정규형

 

위 릴레이션은 이행적 함수 종속이므로 이행적 함수 종속이 되지 않게 만들기 위해서 제 3정규형으로 정규화를 해주어야 한다

 


26. 반정규화(Denormalization)에 대해 설명하시오.

더보기

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


27. 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수
행되어야 할 일련의 연산들을 뭐라고 하는지 쓰시오

더보기

트랜잭션(Transaction)


28. 다음은 27번의 특성에 관한 설명이다. 해당하는 특성을 영어로 쓰시오.

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

ㄱ : Atomicity(원자성)

ㄴ : Consistency(일관성)

ㄷ : Isolation(독립성 또는 격리성)

ㄹ : Durability(영속성 또는 지속성)


29. 다음은 트랜잭션의 연산이다. 해당하는 것을 쓰시오.

가 : 트랜잭션이 성공적으로 수행되었음을 선언(작업 완료)
나 : 트랜잭션이 수행을 실패했음을 선언(작업 취소)
더보기

가 : commit

나 : rollback


30. 데이터베이스를 모순이 없는 일관된 상태로 유지하기 위해 데이터베이스 관리 시스템은 회복 기능을 제공한다. 데이터베이스가 조직의 중요한 데이터를 저장하고 있는 만큼 데이터베이스 관리 시스템의 회복 기능은 매우 중요한 기능이다. 데이터베이스 회복의 핵심 원리는 데이터 중복이다. 데이터를 별도의 장소에 미리 복사해두고, 장애로 문제가 발생했을 때 복사본을 이용해 원래의 상태로 복원하는 것이다.

다음은 회복을 위해 복사본을 만드는 방법에 대한 설명이다. 해당하는 것을 쓰시오.

ㄱ : 데이터베이스 전체를 다른 저장 장치에 주기적으로 복사하는 방법
ㄴ : 데이터베이스에서 변경 연산인 실행될 때마다 데이터를 변경하기 이전 값과 변경한 이후의 값을 별도의 파일에 기록하는 방법
더보기

ㄱ : dump(덤프)

ㄴ : log(로그)


31. 다음은 회복 연산에 대한 설명이다. 해당하는 것을 쓰시오.

ㄱ : 가장 최근에 저장한 DB복사본을 가져온 후 로그를 이용해 복사본이 만들어진 이후에 실행된 모든 변경 연산을 재실행하여 장애가 발생하기 직전의 DB 상태로 복구
ㄴ : 로그를 이용해 지금까지 실행된 모든 변경 연산을 취소하여 DB를 원래의 상태로 복구
더보기

ㄱ :  redo(재실행) 

ㄴ : undo(취소)


32. 데이터를 변경한 연산 결과를 데이터베이스에 반영하는 시점에 따라 2가지로 구분되는데 그런 로그 회복 기법에 대한 설명에 해당하는 것을 쓰시오.

ㄱ : 트랜잭션이 데이터를 업데이트하면 트랜잭션이 부분 완료되기 전이라도 즉시 실 제 데이터베이스에 반영하는 방법
ㄴ : 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 업데이트 를 연기하는 방법
더보기

ㄱ : 즉시 갱신 기법 (Immediate Update)

ㄴ : 연기 갱신 기법 (Deferred Update)


33. 기타 회복기법으로는 다음과 같다. 설명에 해당하는 것을 쓰시오.

ㄱ : 업데이트 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페 이지마다 복사본인 그림자 페이지를 별도 보관해 놓고, 실제 페이지를 대상 으로 업데이트 작업을 수행하다가 장애가 발생하여 트랜잭션 작업을 Rollback 시킬 때는 갱신 이후의 실제 페이지 부분을 그림자 페이지로 대체 하여 회복시키는 기법
ㄴ : 트랜랜잭션 실행 중 특정 단계에서 재실행할 수 있도록 업데이트 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관해 두고, 장애 발생시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 수행하여 회 복 시간을 절약하도록 하는 기법 
더보기

ㄱ : 그림자 페이지 대체 기법(shadow Paging)

ㄴ : 검사점 기법(Check Point)


34. DBMS는 여러 사용자가 DB를 동시에 공유할 수 있도록 여러 개의 트랜잭션이 동시에 수행되는 병행 수행(Concurrency)을 지원한다. 그런데 병행 수행되는 트랜잭션들이 서로 다른 데이터를 사용하여 연산을 실행하는 경우에는 괜찮지만 동시에 같은 데이터에 접근하여 변경 연산을 실행하려고 하면 문제가 발생할 수 있다. 그러므로 병행 수행을 하더라도 각 트랜잭션이 다른 트랜잭션의 방해를 받지 않고 정확한 수행 결과를 얻을 수 있도록 제어해야 하는데 이것을 (가)라고 한다. (가)를 쓰시오.

더보기

병행 제어(Concurrency Control) 또는 동시성 제어


35. 다음은 34번의 종류에 대한 설명이다. 해당하는 것을 쓰시오.

ㄱ : 병행 수행되는 트랜잭션들이 동일한 데이터에 동시에 접근하지 못하도록 lock과 unlock이라는 두 개의 연산을 이용해 제어한다.
ㄴ : 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 시간표를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
더보기

ㄱ : 로킹(Locking)

ㄴ : 타임 스탬프 순서(Time Stamp Ordering)


36. 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술

더보기

클러스터링(Clustering)


37. 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베
이스를 복제하여 관리하는 것을 데이터베이스 이중화(Database Replication)이라고 한다. 다음 해당하는 설명이 데이터베이스 이중화의 어떤 기법인지 쓰시오.

ㄱ : 트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록 하는 기법
ㄴ : 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법
더보기

ㄱ : Eager 기법

ㄴ : Lazy 기법

 

 2023 정보처리기사 실기 예상 문제 모음

+ Recent posts