[정보처리기사 실기 - 데이터베이스] 인덱스(Index) :: 소림사의 홍반장!

1. 인덱스의 개념

- 인덱스는 데이터 레코드(튜플)에 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조이다.

 

 <학생 테이블>

학번 

이름 

학년 

학과 

07065 

강홍구 

컴퓨터공학과 

07083 

김동오 

경영학과 

위와 같은 학생테이블에 대한 인덱스를 만든다면 다음과 같다.

 

학번(키값) 

주소(포인터) 

07065 

100 

07083 

200 

 

- 색인이 없으면 특정한 값을 찾기 위해 모든 데이터 페이지를 다 뒤지는 Table Scan 이 발생한다.

- 기본키를 위한 인덱스를 기본 인덱스라 하고, 기본 인덱스가 아닌 인덱스들을 보조 인덱스라고 한다. 대부분의 관계형 데이터베이스 관리 시스템에서는 모든 기본키에 대해서 자동적으로 기본 인덱스를 생성한다.

- 레코드의 물리적 순서가 인덱스의 엔트리 순서와 일치하게 유지되도록 구성되는 인덱스를 클러스터 인덱스라고 한다.

 

 

2. m-원 검색 트리(m-Way Search Tree)

- 한 노드가 1개의 키값과 2개의 서브 노드를 갖는 이진 검색 트리를 일반화한 트리로서한 노드가 최대 m-1개의 키 값과 최대 m개의 서브 노드를 갖는다.

- 이진 검색 트리에 비해 분기율이 향상되므로 트리 깊이가 낮아져 특정 노드에 대한 검색 시간이 감소

 

3. B-트리

- B-트리는 인덱스를 구성하는 방법으로 많이 사용되는 균형된 m-원 검색 트리이다.

 

4. B*-트리

- B-트리의 문제점인 빈번한 노드의 분할을 줄이는 목적으로 제시되었다.

 

5. B+ 트리

- B-트리의 변형으로 단말 노드가 아닌 노드로 구성된 인덱스 세트와 단말 노드로만 구성된 순차 세트로 구분

 

 

 

 

 

 

 

[참고] 2011 시나공 정보처리기사 실기 문제집

다른 카테고리의 글 목록

Dev. 관련자격증/정보처리기사 카테고리의 포스트를 톺아봅니다