데이터베이스 시스템 ('20-01) 온라인 평가
- 최초 등록일
- 2020.07.12
- 최종 저작일
- 2020.07
- 5페이지/ MS 워드
- 가격 4,500원
목차
Q1. 힙(heap) 파일 구조, 순차 파일 구조와 해시 파일 구조의 차이점을 1000자 이내로 비교 설명하시오(20점).
Q2. 아래의 URL의 B+-트리 애니메이션을 참조하여 B+-트리의 구조와 B+-트리에서의 탐색키 검색, 삽입, 삭제의 과정을 1500자 이내로 설명하시오(50점).
http://cs.knou.ac.kr/~jaehwachung/BTree-master/static/BPlusTree.html
본문내용
Q1. 힙(heap) 파일 구조, 순차 파일 구조와 해시 파일 구조의 차이점을 1000자 이내로 비교 설명하시오(20점).
데이터베이스 시스템은 데이터의 영구적 저장을 위해 운영체제가 제공하는 파일시스템을 이용한다. 이때 파일은 블록 단위로 분할되어 기록된다. 블록은 수천, 수만 개의 블록으로 구성되기 때문에 매우 복잡한 구조로 레코드를 관리한다. 이때 특정 레코드에 접근하려면 어떤 레코드가 어떤 블록에 저장되어 있는지 관리할 필요가 있다. 이를 파일 구조(File Organization)이라고 하며 세 가지 유형이 있다.
첫 번째로 힙(Heap) 파일 구조가 있다. 힙 파일 구조는 각 레코드의 저장 순서를 고려하지 않고 비어 파일 내 임의의 블록에 충분한 공간만 있다면 저장하는 방식이다. 가장 단순한 형태의 파일구조로서 레코드들의 삽입연산이 발생할 때마다 순서대로 파일에 저장한다. 그래서 원하는 레코드를 찾아야 할 때마다 매번 모든 레코드를 순차적으로 접근해야 하는 경우가 발생한다. 데이터베이스 관점에서 모든 질의에서 레코드들을 참조하는 경우가 빈번한 경우는 해당 파일구조 형식이 효율적일 수 있으나, 좋은 성능을 유지하기 위해서 힙 파일을 주기적으로 재구성하고 관리해야 하는 부담이 발생할 수 있다.
두 번째로 순차 파일 구조(Sequential File Organization)가 있다. 이는 레코드를 특정 컬럼에 대한 값을 기준으로 정렬하여 저장하는 방식이다. 일반적으로 DBMS는 테이블의 물리적인 구현이 쉬운 순차 파일 구조를 사용하여 테이블을 사용한다. 이 경우 레코드들의 물리적인 순서와 논리적인 순서가 같게 저장되어 있어 데이터 탐색 시 블록의 접근 횟수를 최소화할 수 있다. 레코드들을 특정컬럼을 기준으로 정렬하여 저장하기 때문에 데이터를 주기적으로 일괄처리를 하거나 변동사항이 크지 않은 급여 관리 등에서 좋은 성능을 보일 수 있다. 하지만 레코드 삽입과 삭제 연산 비용이 큰 것이 단점이다. 삽입연산은 삽입하려는 레코드의 순서를 고려해야 하기 때문이다.
참고 자료
없음