전공 과목 이수2👨‍💻/데이터베이스관리

파일 구조

천숭이 2021. 10. 4. 17:37

데이터베이스는 많은 파일들로 구성됨.

# 파일

  - 디스크에 영구적으로 저장

  - 레코드들의 논리적인 구조 -> 디스크의 블록에 대응

# 블록

** 파일들이 읽고 쓰는 것은 블록단위로 수행됨.

- 데이터 전송의 단위 (cpu와 디스크 사이에 파일을 주고받는 단위)

 

**중요**
하나의 파일은 여러개의 블록으로 구성됨
블록의 크기는 고정됨
파일의 입출력 단위는 블록
하나의 블록은 여러개의 코드로 구성됨
코드가 블록을 초과할 수는 없음
한 개의 코드가 두 개 이상의 블록에 걸쳐서 존재할 수는 없음

파일-레코드-블록

 

# 고정길이 레코드

- 각 레코드는 53바이트로 고정 -> 레코드의 크기가 53이 아니면 레코드 낭비

- 삭제된 레코드를 나중의 삽입을 대비해 가만히 냅둔다. 새로운 데이터를 끼워만준다 (크기는 같으므로)

일반적인 운영방법

- 고정된 길이로 공간낭비 발생

 

# 가변길이 레코드 - various character

bitmap

- 공간낭비 발생 x

- 시간소요가 크다

- 고민되면 가변길이레코드를 선택하자

∵ 데이터의 크기가 크고 cpu의 성능도 좋아졌기 때문에.

 

# 가변길이 레코드 : 블록내에서의 표현

블록도 데이터의 집합이므로 정보가 헤더에 기술되어 있음

1. 레코드 엔트리의 수  2. 블록에서의 빈 공간의 끝   3. 각 레코드의 위치와 크기를 포함하고 있는 엔트리 배열

 

- 레코드 삽입 시 오른쪽 Free Space에 할당되고 위치와 크기를 왼쪽 헤더에 추가

- 레코드 삭제 시 차지하고 있던 공간이 지워지고 해당 엔트리는 삭제된 것으로 명시

                             삭제된 레코드 앞에 위치하고 있던 레코드들을 이동(오른쪽으로 밀림) -> Free Space확보

- 헤더 정보 수정

'전공 과목 이수2👨‍💻 > 데이터베이스관리' 카테고리의 다른 글

Transaction 트랜잭션  (0) 2021.12.06
인덱스 정리  (0) 2021.11.05
인덱스  (0) 2021.10.13
파일 내 레코드 구조, 데이터 사전 저장장치  (0) 2021.10.05
RAID  (0) 2021.10.04
저장장치  (0) 2021.09.15