8. 레코드 파일 관리
💦 레코드 키
- 파일 내의 특정 레코드 검색
- 레코드 내용을 근거로 특정한 레코드를 검색
ex) "1st record", "2nd record" vs "Ames record", "Mason record" - 키를 레코드 주소로 변환하는 규칙필요
- 기본 키(primary key) : 하나의 레코드를 유일하게 식별하는 키
- 보조키(secondary key)
ex) 이름, 학과
💦 순차 검색/접근(Sequential Search)
- 순차 검색의 성능 평가
- 평가 기준 : Read 함수의 호출 수 (메모리 내의 비교시간 무시)- 평균 시간 : n개의 레코드를 갖고있는 파일 -> 2/n 회의 호출필요
-
레코드 Blocking을 사용한 순차 검색성능
- Blocking : 레코드의 묶음으로 성능 측정을 위해 사용함.
- 여러 레코드로 구성된 블록을 한꺼번에 판독한 뒤, 메모리에서 그 레코드를 처리함.장점 :
1. 쉬운 프로그래밍 2. 가장 단순한 형태의 파일구조를 요구
주로사용하는 경우 :
1. 레코드의 개수가 적을 파일들일때 편리. 2. 좀처럼 검색될 필요가 없는 파일들 3. 특정한 보조키 값에 일치하는 레코드의 개수가 매우 크게 예상되는 파일들
💦 직접 검색/접근(Direct Access)
- 직접 검색 : 레코드의 시작위치를 바로 찾아가서 판독 가능할 때
순차검색은 O(n)연산, 직접검색은 O(1) 연산 -> 바로 찾아감. - 직접 검색의 주요 문제
- 레코드의 시작위치를 알아야한다.
- RRN(Relative record number) : 파일의 시작에 대한 레코드의 상대적 위치
- 가변길이 레코드인 경우는 도움이 안됨
- 고정길이 레코드인 경우 : byte offset = n * r
(n: 레코드의 RRN, r : 레코드의 크기)
💦 레코드 구조와 레코드 길이의 선택
✅ 방법 1 : 고정길이 필드를 가지는 고정길이 레코드
장점 : 단순성
✅ 방법 2 : 가변길이 필드를 가지는 고정길이 레코드
장점 : 평균 효과 (작은 공간을 효과적으로 이용), 방법 1보다 길이가 짧음.
해결과제 : 레코드 내에서 사용되지 않는 부분과 데이터 부분 구별
헤더 레코드
- 파일에 대한 정보를 유지하는 특수 레코드
- 정보 유지를 위해 파일의 시작부분에 놓음
- 보통 파일에 있는 데이터 레코드와는 다른 구조
- 파일 설계를 위한 중요한 도구
- 헤더 레코드의 내용 : 레코드의 수, 레코드의 길이, 최근 변경일 등
❗❗ 파일 접근 및 구성
❗❗ x-> △ 로 바꾸는 방법
: 인덱스파일을 추가하면 직접 접근이 가능할 수 있다.
파일 공유
- 이식성과 표준화
- 서로다른 컴퓨터, 다른프로그램에서 접근가능
Author And Source
이 문제에 관하여(8. 레코드 파일 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kdo6301/8.-레코드-파일-관리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)