데이터베이스는 많은 파일들로 구성됨.
# 파일
- 디스크에 영구적으로 저장
- 레코드들의 논리적인 구조 -> 디스크의 블록에 대응
# 블록
** 파일들이 읽고 쓰는 것은 블록단위로 수행됨.
- 데이터 전송의 단위 (cpu와 디스크 사이에 파일을 주고받는 단위)
**중요**
하나의 파일은 여러개의 블록으로 구성됨
블록의 크기는 고정됨
파일의 입출력 단위는 블록
하나의 블록은 여러개의 코드로 구성됨
코드가 블록을 초과할 수는 없음
한 개의 코드가 두 개 이상의 블록에 걸쳐서 존재할 수는 없음
# 고정길이 레코드
- 각 레코드는 53바이트로 고정 -> 레코드의 크기가 53이 아니면 레코드 낭비
- 삭제된 레코드를 나중의 삽입을 대비해 가만히 냅둔다. 새로운 데이터를 끼워만준다 (크기는 같으므로)
- 고정된 길이로 공간낭비 발생
# 가변길이 레코드 - various character
- 공간낭비 발생 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 |