레코드
[ 레코드와 레코드 타입 ]
▪ 일반적으로 데이터(튜블)는 레코드 형태로 저장되며, 각 레코드는 연관된 데이터 값이나 항목들로 구성
▪ 레코드는 튜플을 물리적으로 매핑해서 호칭한 것을 말한다.
▪ 레코드는 필드들(애트리뷰트들)로 구성되고, 각 필드의 값은 하나 이상의 바이트로 구성된다.
▪ 레코드는 엔티티(튜플)와 엔티티의 애트리뷰트들을 기술한다.
▪ 필드 이름과 필드의 데이터 타입들은 레코드 타입 또는 레코드 형식을 구성한다. 각 필드와 연관된 데이 터 타입은 한 필드가 가질 수 있는 값들의 타입을 나타낸다.
▪ 보통 한 필드의 데이터 타입은 프로그래밍에서 사용되는 표준 데이터 타입들 중의 하나이다.
- 표준 데이터 타입에는 수치, 문자열, 부울(0과 1또는 TRUE와 FALSE) 데이터 타입이 있다. 때로는, 특 별하게 코드화된 날짜와 시간 데이터 타입들도 사용된다. 한 컴퓨터 시스템에서 각 데이터 타입에 필요 한 바이트 수는 정해져 있다. 최근에는 TEXT 타입도 추가되어 사용된다.
▪ 이미지, 비디오, 오디오, 긴 텍스트를 나타내는 방대한 양의 비구조적인 객체들로 구성된 데이터 항목을 저장하기 위한 필요성이 증대되고 있다. 이런 객체들을 BLOB이라고 한다. 대개 별도의 디스크 블록들의 풀(pool)에 저장되며, 레코드(튜플)에는 그 포인터만 저장한다.
[ 블로킹 ]
▪ 디스크와 주기억장치 사이의 데이터 전송 단위가 하나의 블록이므로 한 파일의 레코드들을 디스크 블록들 에 할당해야 한다.
▪ 어떤 파일은 한 블록 내에 저장할 수 없는 크기의 레코드들을 가질 수 있지만 블록 크기가 레코드 크기보 다 크면 각 블록에 여러 개의 레코드를 저장한다.
▪ 블록 크기가 B바이트라 하고, 레코드 크기가 R바이트인 고정 길이 레코드들로 구성 된 파일에 대하여 B ≥ R인경우에, 블록 당 bfr = └B/R┘ 개의 레코드를 저장할 수 있다. 여기서 └x┘ (마루함수)는 x값 이하의 최대 정수 값을 의미한다.
▪ 상기 bfr 를 블로킹 인수(blocking factor) 라고 한다. 일반적으로 B를 R로 정확히 나눌 수 없으므로 각 블록마다 B -(bfr * R) 바이트만큼의 사용 되지 않는 공간이 있다.
▪ 사용되지 않는 공간을 활용하기 위하여 레코드의 일부분을 한 블록에 저장하고 나머지 부분을 다른 불록 에 저장할 수 있다.(신장 조직 방식)
[ 파일과 레코드 ]
▪ 하나의 파일은 레코드들로 구성되고 대부분의 경우 한 파일 내의 모든 레코드는 같은 레코드 타입을 갖 는다.
▪ 파일 내의 각 레코드의 크기가 모두 같을 때 이 파일이 고정 길이 레코드들로 구성되어 있다고 말한다.
▪ 파일 내의 레코드들의 크기가 서로 다를 때 이 파일은 가변 길이 레코드들로 구성되어 있다고 말한다.
▪ 가변 길이 레코드 파일에서는 가변 길이 필드의 바이트 수를 경정하기 위해 필드의 끝을 나타내는 표시로 분리 문자를 사용하거나, 필드 값들 앞에 가변 길이 레코드 필드의 바이트 길이(크기)를 기록한다.
▪ 신장 조직 방식
- 두 블록이 디스크 상에서 인접해 있지 않으면 레코드의 나머지 부분을 저장하고 있는 블록을 가리키는 포인터를 처음 블록의 마지막에 둔다. 이렇게 레코드를 두 개 이상의 블록에 걸쳐서 저장하는 방식을 신장 조직이라 한다. 레코드 하나의 크기가 한 블록의 크기보다 클 경우 사용한다. 디스크를 낭비 없 이 사용할 수 있으나, 디스크 연산이 복잡해 질 수 있다.
▪ 비 신장 방식
- 레코드가 블록 경계를 넘지 않도록 저장하는 방식을 비 신장 조직이라 한다. 이때 블록 안에 남아 있 는 빈 공간은 낭비된다. 그러나, 연산은 간단해 진다.
▪ 가변길이 레코드의 경우에는 레코드의 길이 변화가 심할 수 있으므로, 신장 조직 또는 비 신장 조직을 모두 사용할 수 있다.
▪ 평균 레코드 크기가 클 경우에는 각 블록 내의 손실 공간을 줄이기 위하여 신장 조직을 사용하는 것이 유리하다.
댓글이나 공감 남겨주는 사람 착한사람