엔지니어가 되고 싶은 공돌이

05. Record Search and Insert 본문

Computer Science/File Structure

05. Record Search and Insert

Geca 2025. 2. 20. 18:58

 

5. 1. Record Search

 

- 저장된 레코드에서 필요한 레코드를 어떻게 찾을 수 있을까?

 

 

1) Sequential Search -> O(n)

 

- Definition: 원하는 레코드를 찾기 위해 처음부터 검색.

 

- 성능평가방법: Read 함수의 호출 수로 측정. (메모리 내에서 비교시간은 무시합니다.)

 

- Non BlockingBlocking 2가지 방법이 있습니다.

 

 

 

- Blocking이 Seek Time을 줄여서 성능개선을 가져오지만 두 방법 모두 검색에 소요되는 시간은 O(n)입니다.

 

- Pros: 프로그래밍이 쉽고, 파일의 형태를 단순하게 할 수 있다.

 

- Record의 개수가 적은 파일들에서 사용합니다.

 

 

2) Direct Access -> O(1)

 

- Definition: 원하는 레코드의 시작위치를 찾아서 검색.

 

- RRN(Relative Record Number): 파일의 시작에 대한 Record의 상대적인 위치.

 

 

- Variable Length Record X , Fixed Length Record O.

 

- Variable Length Record에서 사용하려면 각 Record의 길이를 알아야 하기에,

 

  각 레코드의 시작위치인 Index를 필요로 합니다.

 

- Byte Offset = n X r. [n is RRN of Records / r is a Byte of Record]

 


 

5. 2. Record Insertion and Deletetion

 

- 레코드의 데이터를 삭제하고 추가하는 방법.

 

 

1) Fixed Length Record.

 

- 삭제된 레코드를 List를 이용해서 연결하며, List 끝 부분은 -1로 표현합니다.

 

- 모든 노드의 삽입과 삭제가 List 한쪽 끝에서 발생.

 

 

 

2) Variable Length Record.

 

- Length Indicator를 사용합니다.

 

- 새로운 데이터가 들어오게 되면, Length Indicator를 보면서 충분히 큰 Record를 찾습니다.

 

 


'Computer Science > File Structure' 카테고리의 다른 글

07. Placement Strategies and Binary Search  (0) 2025.02.20
06. Data Compression  (0) 2025.02.20
04. Field and Record  (0) 2025.02.17
03. Computer Storage Devices  (0) 2025.02.14
02. Hard Disk Drive  (0) 2025.02.14
Comments