티스토리 뷰

안녕하세요 강정호입니다. 오늘은 색인에 대해 공부해 볼게요.



색인


색인은 파일에 있는 레코드를 찾아주는 보조적인 파일이다. 색인은 순서구조의 색인과 해싱 구조의 색인으로 구분된다. 


순서 색인 : 색인 필드와 주소 값으로 구성된 엔트리들의 모임. 

해싱 색인 : 키 값에 의하여 레코드의 위치를 직접 찾아주는 기법.

  • 정적 색인 : 기본적인 색인 기법을 다단계로 이용하여 ISAM(Indexed Sequential Access Method) 라는 색인 순차 파일이 데이터베이스 초기에 널리 보급됨.
  • 동적 색인 : B-Tree는 자료의 추가와 삭제에 따라서 색인 구조가 증대하고 수축하는 동적인 색인이다.

색인의 형태

색인은 크게 3가지 형태가 있다. 

기본 키로 구성된 기본 색인(Primary Index), 기본색인이 있는 파일을 보조하는 보조 색인(Secondary Index), 키가 아닌 필드에 따라 물리적으로 정렬된 클러스터링 색인(Clustering Index) 등이 있다.


색인의 구조를 기준 - 단일 단계 색인(Single Level Index), 다단계 색인(Multi Level Index)

색인 엔트리를 기준 - 밀집 색인과 희소 색인



색인의 종류 : 기본색인

기본 색인 : 기본 키를 기준으로 레코드를 검색해주는 보조 파일. 


구성 : <기본 키 속성, 블록의 주소>


기본 색인 자체를 순서파일이므로 특정한 레코드를 찾으려면 기본 색인을 순서대로 읽어야 한다.

원하는 기본 키 값이 나오면 기억된 블록의 주소를 읽어서 찾아간다.


블록의 주소 : 원하는 레코드가 저장된 블록에서 첫번쨰 레코드가 저장된 주소. 자료 파일에서 각 블록의 첫 번쨰 레코드를 앵커 레코드라고 한다.


블록킹 인수 : 한 블록 안에 들어있는 레코드의 수



위의 표에 따르면

기본색인 = <사번, 블록 포인터>


색인 파일의 전체 엔트리 수 == 자료 블록의 수와 동일

그 이유는 각 블록의 첫 번째 레코드의 사번만 색인의 엔트리로 입력하기 때문이다. 사번은 기본 키이기 때문에 동일한 사번은 없다. 





색인의 종류 : 보조 색인


보조 색인 : 기본 색인이 있는 파일에서 부수적인 검색을 도와주는 목적으로 만든 파일이다. 기본색인이 있으므로 보조 색인의 순서는 물리적인 파일의 레코드 순서와는 무관하다.


특징

- 신속한 검색 : 기본 키 이외에도 다양하게 신속한 검색을 필요로 하는 업무에 효과적

- 중복 허용 : 중복을 허용하기 때문에 검색에 유리

- 여러 개의 보조색인 존재 : 다양한 검색을 지원하기 위하여 여러 개의 보조색인이 존재할 수 있다. ex) 사원 파일에는 사번을 기본키로 하고, 소속 부서번호를 보조색인으로 할 수 있다. 직종과 자격증 등을 보조 색인으로 하여 급여계산 등에 활용할 수 있다.

- 보조 색인은 유일한 값을 가질 수도 있고 중복된 값을 가질 수 도 있다.

















댓글