웹 개발 메모장

[정보처리기사 필기] 2017년 3회 기출문제 및 해설 [데이터베이스] 본문

옛날../미분류

[정보처리기사 필기] 2017년 3회 기출문제 및 해설 [데이터베이스]

도로롱주 2018. 1. 13. 19:23





2017년 3회 정보처리기사 필기 데이터베이스



1. 관계해석에 대한 설명으로 옳지 않은 것은?


① 수학의 프레디킷 해석에 기반을 두고 있다.

② 관계 데이터 모델의 제안자인 코드(Codd)가 관계 데이터 베이스에 적용할 수 있도록 설계하여 제안하였다. 

③ 튜플 관계해석과 도메인 관계해석이 있다.

④ 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특성을 가진다.




해설) 관계 해석은 프로그래밍 실행 순서에 관계없이 처리내용을 기술할 수 있는 비절차적 언어입니다.




2. 색인 순차 파일에 대한 설명으로 옳지 않은 것은?


① 레코드를 참조할 때 색인을 탐색한 후 색인이 가리키는 포인터를 사용하여 직접 참조할 수 있다.

② 레코드를 추가 및 삽입하는 경우, 파일 전체를 복사할 필 요가 없다.

③ 인덱스를 저장하기 위한 공간과 오버플로우 처리를 위한 별도의 공간이 필요 없다.

④ 색인 구역은 트랙 색인 구역, 실린더 색인 구역, 마스터 색인 구역으로 구성된다.




해설) 색인 순차 파일의 구조는 다음과 같습니다.

기본 구역 : 실제 레코드를 저장하는 구역

색인 구역 : 기본 구역의 레코드들의 위치를 저장하는 구역

오버플로우 구역 : 기본 구역에 빈공간이 없을 때를 대비한 예비 구역




3. 뷰(VIEW)에 대한 설명으로 옳지 않은 것은?


① DBA는 보안 측면에서 뷰를 활용할 수 있다.

② 뷰 위에 또 다른 뷰를 정의할 수 있다.

③ 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약 사항이 따르지 않는다.

④ 뷰의 정의는 ALTER문을 이용하여 변경할 수 없다. 




해설) 뷰에 대한 INSERT, UPDATE, DELETE 는 기존 테이블의 데이터를 변화시킵니다.

때문에 조심해서 사용해야 하는데 예를들어 기존 테이블의 primary key를 포함하지 않는 뷰에서의 update는 대상 튜플을 정확하게 지칭할 수 없기 때문에 위험할 수 있습니다.

만약 그런 뷰에서는 INSERT 를 하여도 primary key가 null이 저장될 수 없으므로 오류가 발생합니다.

검색만 가능하고 삽입, 수정, 삭제가 불가능한 뷰도 있습니다.




4. 정규화의 목적으로 옳지 않은 것은?


① 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하 게 만든다.

② 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.

③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다. v

④ 효과적인 검색 알고리즘을 생성할 수 있다.




해설) 정규화의 목적이 이상의 발생을 야기하는 것일리가 없습니다...

그리고 목적은 중복을 배제하는 것이 아닌 최소화하여 데이터 구조를 현재 상황에 최적화 시키기 위한 것입니다.




5. 트랜잭션들을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업은?


① Recovery    ② Restart    ③ Commit    ④ Abort




해설) Rollback 은 트랜잭션 단위로 가장 최근의 commit 발생 직후 까지 실행 코드를 되돌리는 작업입니다.




6. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 삼는 방식은?


① 제산법    ② 폴딩법    ③ 기수변환법    ④ 숫자분석법




해설)

제산법 : 나머지 연산자(%) 를 이용해 주소로 사용

폴딩법 : 마지막을 제외하고 동일한 크기로 key를 나눠 XOR 연산하여 주소로 사용

기수변환법 : key 값을 다른 진법으로 변환해 초과길이는 잘라 사용

숫자분석법 : 각 숫자의 분포를 이용해서 균등한 분포의 숫자를 선택해서 사용




7. 순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력하였다가 출력할 때, 가능한 출력 순서의 결과가 아닌 것은?


① A, B, C, D    ② C, D, B, A    ③ D, C, A, B    ④ B, C, D, A




해설) 스택 : FILO (First In Last Out) 이전에 넣은 것을 빼려면 나중에 넣은 것을 먼저 빼야합니다.

① : [ ] > [A] > [ ] > [B] > [ ] > [C] > [ ] > [D] > [ ] 

② : [ ] > [A] > [AB] > [ABC] > [AB] > [ABD] > [AB] > [A] > [ ]

③ : 불가능

④ : [ ] > [A] > [AB] > [A] > [AC] > [A] > [AD] > [A] > [ ]




8. 다음 설명이 의미하는 것은?


It is a collection of meta-data describing the structure and constraint of a database. It defines data entities, attributes, relations, and constraints on data manipulation.


① Data Dictionary    ② Primary Key    ③ Transaction    ④ Schema 




해설)

데이터베이스의 구조와 제약을 설명하는 메타 데이터 모음입니다.

데이터 엔티티, 속성,  관계 및 데이터 조작 제한조건을 정의합니다.

=>  스키마




9. Which of the following is a linear list in that elements are accessed, created and deleted in a last-in-first-out order?


① Queue    ② Graph    ③ Stack    ④ Tree




해설) 다음 중 Last-In-First-Out 순서로 요소가 접근, 생성, 삭제되는 리스트에 가장 근접한 것은?

① Stack : FILO, LIFO

② Graph : 선형 구조 아님

③ Queue : FIFO, LILO 

④ Tree : 선형 구조 아님




10. DML에 해당되는 것으로만 나열된 것은?


㉠ SELECT    ㉡ UPDATE    ㉢ INSERT    ㉣ GRANT


① ㉠, ㉡, ㉢     ② ㉠, ㉡, ㉣ 

③ ㉠, ㉢, ㉣     ④ ㉠, ㉡, ㉢, ㉣




해설)

DML : 데이터 조작 명령어 (SELECT / UPDATE / DELETE / MERGE 등)

GRANT : 권한 부여 명령어




11. 깊이가 4인 이진트리에서 가질 수 있는 노드의 최대 수는?


① 13    ② 14    ③ 15    ④ 16




해설) 1+2+4+8 = 15




12. 다음 트리를 Preorder 운행법으로 운행할 경우 다섯 번째로 탐색 되는 것은?


① C    ② E    ③ G    ④ H




해설)

Preorder  : A > B > D > C > E > G > H > F

inorder    : D > B > A > G > E > H > C > F

Postorder : A > C > F > E > H > G > B > D




13. 트랜잭션의 특성으로 옳은 내용 모두를 나열한 것은?


㉠ Atomicity      ㉡ Durability

㉢ Consistency   ㉣ Isolation


① ㉠, ㉡

② ㉠, ㉡, ㉣

③ ㉠, ㉢, ㉣

④ ㉠, ㉡, ㉢, ㉣




해설) 

㉠ Atomicity (원자성, 쪼개질 수 없다.)

- 트랜잭션 단위으로 처리가 이루어집니다.

㉡ Durability (영속성, 영구적이다.)

- 성공적으로 완료된 트랜잭션 결관는 영구적으로 반영됩니다.

㉢ Consistency (일관성)

- 트랜잭션 수행 전, 후의 데이터베이스 상태가 일관성이 있어야 합니다.

㉣ Isolation (독립성)

- 둘 이상의 트랜잭션이 동시에 병행 수행되는 경우 서로 간섭할 수 없으며 겹치는 접근이 있다면 하나가 나머지 하나의 수행 완료를 기다려야 합니다.


14. 선형 구조만으로 나열된 것은?

① 트리, 그래프

② 트리, 그래프, 스택, 큐

③ 트리, 배열, 스택, 큐

④ 배열, 스택, 큐




해설) 구조가 일(一)자 인 것


15. 힙 정렬에 대한 설명으로 틀린 것은?

① 정렬한 입력 레코드들로 힙을 구성하고 가장 큰 키값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.

② 평균 수행 시간복잡도는 O(nlog₂ⁿ)이다.

③ 입력 자료의 레코드를 완전이진트리(complete binary tree) 로 구성한다.

④ 최악의 수행 시간복잡도는 O(2n⁴)이다.




해설) 힙 정렬은 완전 이진트리로 루트 노드가 자식노드보다 큰 값을 갖도록 정렬한 뒤 가장 위의 루트 노드를 선택해 제거하고 다시 정렬하는 반복작업을 해서 정렬하는 기법으로 시간복잡도는 평균 최상 최악 모두 동일하게 nlogn 입니다.


16. 다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차 순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?


37, 14, 17, 40, 35 


① 14, 17, 37, 40, 35

② 14, 37, 17, 40, 35

③ 14, 17, 35, 37, 40

④ 14, 17, 35, 40, 37




해설) 가장 작은 수를 선택해서 앞으로 배치, 우선 14, 그 다음엔 17, 그리고 35 ...

1회전

14

37

17

40

35

2회전

14

17

37

40

35

3회전

14

17

35

40

37

4회전

14

17

35

37

40



17. 병행제어의 로킹(Locking)의 단위에 대한 설명으로 옳지 않은 것은?

① 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.

② 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.

③ 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.

④ 한꺼번에 로킹 할 수 있는 단위를 로킹 단위라고 한다.




해설)

로킹 단위는 동시 접근을 막는 단위인데 단위가 작아질수록 병행수준이 높아지고 따라서 오버헤드가 증가합니다.


18. 데이터웨어하우스의 기본적인 OLAP(on-line analytical processing) 연산이 아닌 것은?

① translate    ② roll-up    ③ dicing    ④ drill-down




해설)

OLAP 연산이란 데이터웨어하우스의 데이터를 전략적인 데이터로 변환시키는 연산을 말합니다.

자세한 내용은 링크를 참고해 주세요.


19. 데이터베이스 설계 단계 중 물리적 설계에 해당하는 것은?

① 데이터 모형화와 사용자 뷰들을 통합한다.

② 트랜잭션의 인터페이스를 설계한다.

③ 파일 조직 방법과 저장 방법 그리고 파일 접근 방법 등 을 선정한다.

④ 사용자들의 요구사항을 입력으로 하여 응용프로그램의 골격인 스키마를 작성한다.




해설)

데이터베이스 설계 단계

1단계

요구사항 분석

 사용자에게 필요한 데이터의 종류와 처리 방법 등 요구사항을 수집 및 작성

2단계

개념적 설계

 DBMS에 독립적인 개념적인 구조 설계 (E-R 다이어그램)

3단계

논리적 설계

 2단계의 결과를 DBMS에 적합한 논리적 구조 설계 (릴레이션 스키마)

4단계

물리적 설계

 DMBS로 구현 가능한 물리적 구조 설계 (내부 저장 구조와 접근 경로 등 설계)

5단계

구현

 SQL 문 작성 및 실행 (데이터베이스 생성)



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

① 사용자가 직접 시스템 카탈로그의 내용을 갱신하여 데이 터베이스 무결성을 유지한다.

② 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.

③ 시스템 카탈로그에 저장되는 내용을 메타데이터라고도 한다.

④ 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.




해설)

시스템 카탈로그는 시스템이 필요로 하는 데이터베이스, 테이블, 뷰, 인덱스, 접근 권한 등에 관한 정보를 메타 데이터(다른 데이터를 설명해주는 데이터) 형태로 포함하는 데이터베이스입니다.

시스템 카탈로그는 DBMS가 스스로 생성하고 관리하는 데이터베이스로 보통 관리자가 직접 접근하지 않습니다.








Comments