파일 설계
01. 순차(Sequential) 파일
1) 순차 파일의 구조
- 입력되는 데이터의 논리적인 순서에 따라 물리적으로 연속된 위치에 기록하는 방식으로 일괄 처리에 많이 사용되는 편성 방식
2) 순차 파일의 종류
1. 엔트리(Entry) 순차 파일
- 레코드가 추가되는 순서대로 저장되는 파일
- 생성되는 자료의 순서가 R4, R2, R1, R3이면, R4, R2, R1, R3 순으로 저장
2. 키(Key) 순차 파일
- 레코드에 키 값을 두어 키 값의 순서로 저장되는 파일
- 생성되는 자료의 순서가 R4(3), R2(1), R1(4), R3(2)이면, R2(1), R3(2), R4(3), R1(4) 순으로 저장
3) 순차 파일의 특징
- 기록 밀도가 좋음
- 어떤 매체라도 용이하게 사용할 수 있음
- 처리하는데 불편이 커서 이용도가 낮음
- 파일의 내용을 추가, 변경, 삭제하기 어려움
- 레코드 접근은 기본적으로 레코드가 저장되어 있는 물리적 순서를 따름
- 검색할 때 순차 검색을 하여야 하므로 검색 효율이 떨어짐
- 순차 파일은 파일 복사나 일괄(Batch) 처리에 많이 사용
02. 인덱스(색인) 순차(Indexed Sequential) 파일
1) 인덱스(Index, 색인)
- 인덱스는 순차 파일에서 원하는 데이터를 빠르게 검색하고 추출할 수 있도록 일정한 순서에 따라 별도로 정리하여 놓은 목록을 의미
- 임의의 레코드를 접근하기 위해서 먼저 인덱스를 찾고, 그 인덱스가 가리키는 위치를 찾아가 원하는 레코드를 접근하게 함
- 데이터베이스에서 사용하는 경우 인덱스가 존재하면 모든 블록의 데이터를 조회하지 않고, 색인화된 인덱스 파일을 검색하여 검색 속도를 향상시킬 수 있음
- 인덱스로 구성된 파일에는 인덱스 파일과 데이터 파일이 존재
- 인덱스 파일은 레코드를 구분할 수 있는 키(Key)와 함께 레코드가 기억된 위치(주소)를 가지고 있음
- 데이터 파일은 실제 데이터들인 레코드들을 저장한 파일
2) 인덱스 순차 파일의 구조
- 인덱스를 추가한 인덱스 순차 파일
- 데이터를 논리적 순차에 따라 물리적 연속으로 구성하고 이 데이터에 대한 인덱스를 구성하여 인덱스를 통한 랜덤 처리와 데이터에 대한 순차 처리를 병행할 수 있게 편성한 방식
3) 인덱스 순차 파일 구성 방법
1. 인덱스 구역(Index Area)
- 기본 데이터 영역에 대한 인덱스를 구성하는 부분으로 트랙 인덳, 실린더 인덱스, 마스터 인덱스로 구분하여 구성
- 트랙 인덱스(Track Index)
- 가장 작은 단위의 인덱스로 소제목에 속함
- 실린더 인덱스(Cylinder Index)
- 중 제목에 속하는 인덱스로 트랙 인덱스가 많아 검색 시간이 느릴 때 만들어지는 트랙 인덱스에 대한 인덱스
- 마스터 인덱스(Master Index)
- 대 제목에 속하는 인덱스로 실린더 인덱스가 늘어나 검색 시간이 느릴 때 만들어지는 인덱스
- 트랙 인덱스(Track Index)
2. 기본 데이터 구역(Prime Data Area)
- 실제 데이터가 기록되는 부분으로 인덱스 값의 논리적 순서에 따라 물리적으로 연속된 위치에 기록
3. 오버플로우 구역(Overflow Area)
- 정적 인덱스 편성인 경우 새로 추가되는 레코드는 기본 데이터 구역에 기록되지 않고 넘친 데이터를 기록하는 부분
4) 인덱스 구성 방법
1. 정적 인덱스 방법
- 데이터 파일에 레코드가 삽입되거나 삭제될 때 인덱스 내용은 변화하지만 인덱스 파일 구조 자체는 변경되지 않음
- 데이터 파일에 새롭게 추가된 레코드를 저장하지 못한 경우에는 오버플로우 구역을 사용
2. 동적 인덱스 방법
- 인덱스 파일과 데이터 파일의 블록으로 구성
- 각 블록에는 추가되는 레코드 수를 감안하여 일정 비율 이상의 빈 공간을 미리 만들어 놓음
- 일정한 개수의 레코드를 유지 못하는 블록은 다른 블록과 합병함
5) 인덱스 순차 파일의 특징
- 순차 처리와 랜덤 처리를 병행할 수 있음
- 레코드의 삽입과 수정이 용이함
- 인덱스를 저장하기 위한 공간과 오버플로우 처리를 위한 별도의 공간이 필요함
- 인덱스를 이용한 액세스 때문에 랜덤 편성 파일과 비교해서 액세스 시간이 느림
- 삽입, 삭제가 많아지면 파일에 대한 재편성이 이루어져야 함
- 레코드의 추가/삭제 시 파일 전체를 복사할 필요가 없음
6) 다중 키를 이용하는 파일
1. 역(Inverted) 파일
- 데이터 파일의 레코드에 접근할 인덱스를 여러 개 두어 사용하는 파일
- 인덱스 키나 경로는 데이터 파일 내용에 적합한 인덱스를 만들어 사용
2. 다중 리스트(Multi List) 파일
- 데이터 파일의 레코드들을 여러 개의 연결 리스트(Linked List)로 구축한 파일
- 인덱스 파일을 혼용하여 사용할 수 있음
03. 랜덤 편성(Random Organization) 파일
1) 랜덤 편성의 구조
- 랜덤 편성은 기록 순서나 코드 순서와 같은 논리적 순서와 관계없이 특정한 방법으로 키 변환에 의하여 임의로 자료를 보관하고 처리 시에도 필요한 장소에 직접 접근하여 원하는 정보를 액세스하도록 편성한 방식
2) 랜덤 편성의 특징
- 레코드를 키 변환에 따라 직접 처리할 수 있음
- 어떤 레코드라도 평균 접근 시간 내에 접근할 수 있음
- 키 변환법에 따라 공간의 낭비를 가져올 수 있음
- 운영체제에 따라서는 키 변환을 자동적으로 하는 것도 있음
- 충돌(Collision) 문제를 해결할 수 있는 준비가 필요함
- 키 변환에 따른 지연 시간이 있음
- 대화형 처리에 적합함
'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글
인터페이스 설계 2 (0) | 2023.05.02 |
---|---|
인터페이스 설계 1 (0) | 2023.05.02 |
애플리케이션 설계 7 (0) | 2023.05.01 |
애플리케이션 설계 6 (0) | 2023.04.28 |
애플리케이션 설계 5 (0) | 2023.04.27 |