-
정보처리기사 필기 2018년 3회 - 데이터베이스정보처리기사 2020. 4. 8. 17:59
1. Linear Search의 평균 검색 회수는?
①n-1
②(n+1)/2
③n
④n/2더보기- 다른이름으로 순차 검색(Sequential Search) 이라고도 함
- 평균 검색 회수: (n+1)/2
데이터를 순서대로 처음부터 끝까지 하나씩 비교하며 원하는 값을 찾아내는 알고리즘
4. 뷰에 대한 설명으로 옳지 않은 것은?
①뷰는 삽입, 삭제, 갱신 연산에 제약사항이 없다.
②뷰는 데이터 접근 제어로 보안을 제공한다.
③뷰는 독자적인 인덱스를 가질 수 없다. o
④뷰는 데이터의 논리적 독립성을 제공한다.더보기관계형 데이터베이스에서 기본 테이블로부터 파생하여 만든 가상의 테이블
- 사용자에게 접근이 허용된 제한된 데이터만 보여주기 위해 구성
- 저장장치 내에 물리적으로 존재하지 않지만 사용자 입장에선 동일하게 보여짐
- 데이터 임시 열람, 보안적인 목적으로 제한된 범위 내 데이터 제공 등의 목적으로 사용될 수 있다.
뷰의 특징
- 뷰는 삽입, 삭제, 갱신 연산에 제약사항이 따른다.
- 뷰는 데이터 접근 제어로 보안을 제공한다.
- 뷰는 물리적이 아닌 논리적으로 구현되는 테이블이다. ->
- 뷰는 데이터의 논리적 독립성을 제공한다.
뷰는 독자적인 인덱스를 가질 수 없다.
7. 다음 postfix로 표현된 연산식의 연산 결과로 옳은 것은?
----------
3 4 * 5 6 * +
----------
②42더보기Postfix
- 스택(Stack)을 이용하여 연산자가 뒤에 위치하도록 한 수식
- 사람 입장에선 이해하기 어려우나 컴퓨터 입장에선 계산하기 수월하다
- ex) 3 4 * 5 6 * +
- 3
- 3 4
- 3 4 *
- 12
- 12 5
- 12 5 6
- 12 5 6 *
- 12 30
- 12 30 +
- 42
8. 동시성 제어를 위한 직렬화 기법으로 트랜잭션 간의 순서를 미리 정하는 방법은?
①로킹 기법
②타임스탬프 기법
③검증 기법
④배타 로크 기법더보기데이터베이스 병행제어
Transaction Concurrency Control
여러 트랜잭션들이 동시에 실행되면서도 데이터베이스의 일관성을 유지할 수 있게 하는 기법
- 병행제어의 목적
- 데이터베이스 일관성 유지
병행제어 기법
- 로킹(Locking)
- 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹 수행
- 로킹이 되어 있는 데이터에는 다른 트랜잭션이 접근할 수 없음
- 트랜잭션은 로킹이 된 데이터에 대해서만 연산 수행
- 로킹 단위: 필드, 레코드, 파일, 데이터베이스 모두 로킹 단위가 될 수 있음
- 로킹 단위가 크면
- 관리하기 용이(로킹 오버헤드 감소)하지만 병행성 수준(동시성 수준) 낮아짐
- 로킹 단위가 작으면
- 병행성(동시성 수준)이 높아지지만 관리가 까다로움(로킹 오버헤드 증가)
- 2단계 로킹 규약(Two-Phase Locking Protocol)
- Lock과 Unlock이 동시에 이루어지면 일관성이 보장되지 않으므로 Lock만 가능한 단계와 Unlock만 가능한 단계를 구분
- 확장단계: 새로운 Lock은 가능하고 Unlock은 불가능하다.
- 축소단계: Unlock 은 가능하고 새로운 Lock은 불가능하다.
- 직렬가능성을 보장한다.
- 교착상태가 발생할 수 있다
- 타임스탬프(Time Stamp)
- 데이터에 접근하는 시간을 미리 정하여서 정해진 시간(Time Stamp)의 순서대로 데이터에 접근 하여 수행
- 직렬가능성을 보장한다.
- 교착상태가 발생하지 않는다.
- 연쇄복귀(Cascading Rollback)를 초래할 수 있음
- 낙관적 병행제어(Optimistic Concurrency Control)
- 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사
- 트랜잭션 수행 동안 그 트랜잭션을 위해 유지되는 데이터 항목들의 지역 사본에 대해서만 갱신
- 트랜잭션 종료 시에 동시성을 위한 트랜잭션 직렬화가 검증되면 일시에 DB로 반영
- 다중 버전 병행제어(Multi-version, Concurrency Control)
- 여러 버전의 타임스탬프를 비교하여 스케줄상 직렬가능성이 보장되는 타임스탬프를 선택
- 충돌이 발생할 경우 복귀 수행. 연쇄 복귀 발생 가능성
11. 해싱 테이블의 오버플로우 처리 기법이 아닌 것은?
①개방 주소법
②폐쇄 주소법
③로그 주소법
④재해싱더보기- 개방 주소법(Open Addressing)
- 선형 방법(Linear Method)이라고도 함
- Collision이 발생했을 때 순차적으로 다음 빈 버킷을 찾아 저장
- 폐쇄 주소법(Close Addressing)
- Overflow된 레코드들을 별도의 Overflow 영역에 저장하고 Chain(Pointer)으로 홈 버킷에 연결
- Direct Chaining: 해시표 내의 빈 자리(Cylinder Overflow Area)에 Overflow 레코드를 보관
- Indirect Chaining: 해시표와는 별도의 기억공간(Independent Overflow Area)에 Overflow 레코드를 보관
- 재해싱(Rehashing)
- Collision이 발생하면 새로운 해싱 함수로 새로운 홈 주소를 구하는 방식
15. 다음 그림에서 트리의 차수는?
①3 제일 높은 레벨 - 1
②4
③6
④817. 데이터베이스에서 널(NULL) 값에 대한 설명으로 옳지 않은 것은?
①아직 모르는 값을 의미한다.
②아직 알려지지 않은 값을 의미한다.③공백이나 0(ZERO)과 같은 의미이다. ㅌ
④정보 부재를 나타내기 위해 사용한다.20. 3NF에서 BCNF가 되기 위한 조건은?
①이행적 함수 종속 제거
②부분적 함수 종속 제거
③다치 종속 제거
④결정자이면서 후보키가 아닌 것 제거더보기정규화 목적
- 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지.
- 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 함.
- 데이터 삽입 시 릴레이션을 재구성할 필요성 감소
- 효과적인 검색 알고리즘을 생성 감소
1NF : 도메인이 원자값이어야 한다.
2NF : 부분적 함수 종속을 제거해야 한다.
3NF : 이행적 함수 종속을 제거해야 한다.
BCNF : BCNF를 만족하려면 결정자이면서 후보키가 아닌 것을 제거해야 한다.
4NF : 다치 종속성 제거
5NF : 조인종속성 제거
'정보처리기사' 카테고리의 다른 글
정보처리기사 2018년 2회 - 데이터베이스 (0) 2020.04.10 정보처리기사 2018-3 기출문제 - 소프트웨어 공학 (0) 2020.04.09 정보처리기사 기출문제 2019-1 소프트웨어 공학 (0) 2020.04.07 정보처리기사 기출문제 풀이 2019년 1회 - DB, 자료구조 (0) 2020.04.03 [정보처리기사 필기] 데이터베이스 (0) 2020.04.03