쁑뿅 2019. 9. 19. 23:12
반응형

[ 레코드와 레코드 타입 ]

 일반적으로 데이터(튜블)는 레코드 형태로 저장되며, 각 레코드는 연관된 데이터 값이나 항목들로 구성

 레코드는 튜플을 물리적으로 매핑해서 호칭한 것을 말한다.

 레코드는 필드들(애트리뷰트들)로 구성되고, 각 필드의 값은 하나 이상의 바이트로 구성된다.

 레코드는 엔티티(튜플)와 엔티티의 애트리뷰트들을 기술한다.

 필드 이름과 필드의 데이터 타입들은 레코드 타입 또는 레코드 형식을 구성한다. 각 필드와 연관된 데이 터 타입은 한 필드가 가질 수 있는 값들의 타입을 나타낸다.

 보통 한 필드의 데이터 타입은 프로그래밍에서 사용되는 표준 데이터 타입들 중의 하나이다.

  - 표준 데이터 타입에는 수치, 문자열, 부울(0과 1또는 TRUE와 FALSE) 데이터 타입이 있다. 때로는, 특 별하게 코드화된 날짜와 시간 데이터 타입들도 사용된다. 한 컴퓨터 시스템에서 각 데이터 타입에 필요 한 바이트 수는 정해져 있다. 최근에는 TEXT 타입도 추가되어 사용된다.

 이미지, 비디오, 오디오, 긴 텍스트를 나타내는 방대한 양의 비구조적인 객체들로 구성된 데이터 항목을 저장하기 위한 필요성이 증대되고 있다. 이런 객체들을 BLOB이라고 한다. 대개 별도의 디스크 블록들의 풀(pool)에 저장되며, 레코드(튜플)에는 그 포인터만 저장한다.

 

[ 블로킹 ]

 디스크와 주기억장치 사이의 데이터 전송 단위가 하나의 블록이므로 한 파일의 레코드들을 디스크 블록들 에 할당해야 한다.

 어떤 파일은 한 블록 내에 저장할 수 없는 크기의 레코드들을 가질 수 있지만 블록 크기가 레코드 크기보 다 크면 각 블록에 여러 개의 레코드를 저장한다.

 블록 크기가 B바이트라 하고, 레코드 크기가 R바이트인 고정 길이 레코드들로 구성 된 파일에 대하여 B ≥ R인경우에, 블록 당 bfr = └B/R┘ 개의 레코드를 저장할 수 있다. 여기서 └x┘ (마루함수)는 x값 이하의 최대 정수 값을 의미한다.

 상기 bfr 를 블로킹 인수(blocking factor) 라고 한다. 일반적으로 B를 R로 정확히 나눌 수 없으므로 각 블록마다 B -(bfr * R) 바이트만큼의 사용 되지 않는 공간이 있다.

 사용되지 않는 공간을 활용하기 위하여 레코드의 일부분을 한 블록에 저장하고 나머지 부분을 다른 불록 에 저장할 수 있다.(신장 조직 방식)

 

[ 파일과 레코드 ]

 하나의 파일은 레코드들로 구성되고 대부분의 경우 한 파일 내의 모든 레코드는 같은 레코드 타입을 갖 는다.

 파일 내의 각 레코드의 크기가 모두 같을 때 이 파일이 고정 길이 레코드들로 구성되어 있다고 말한다.

 파일 내의 레코드들의 크기가 서로 다를 때 이 파일은 가변 길이 레코드들로 구성되어 있다고 말한다.

 가변 길이 레코드 파일에서는 가변 길이 필드의 바이트 수를 경정하기 위해 필드의 끝을 나타내는 표시로 분리 문자를 사용하거나, 필드 값들 앞에 가변 길이 레코드 필드의 바이트 길이(크기)를 기록한다.

 신장 조직 방식

  - 두 블록이 디스크 상에서 인접해 있지 않으면 레코드의 나머지 부분을 저장하고 있는 블록을 가리키는 포인터를 처음 블록의 마지막에 둔다. 이렇게 레코드를 두 개 이상의 블록에 걸쳐서 저장하는 방식을 신장 조직이라 한다. 레코드 하나의 크기가 한 블록의 크기보다 클 경우 사용한다. 디스크를 낭비 없 이 사용할 수 있으나, 디스크 연산이 복잡해 질 수 있다.

 비 신장 방식

  - 레코드가 블록 경계를 넘지 않도록 저장하는 방식을 비 신장 조직이라 한다. 이때 블록 안에 남아 있 는 빈 공간은 낭비된다. 그러나, 연산은 간단해 진다.

 가변길이 레코드의 경우에는 레코드의 길이 변화가 심할 수 있으므로, 신장 조직 또는 비 신장 조직을 모두 사용할 수 있다.

 평균 레코드 크기가 클 경우에는 각 블록 내의 손실 공간을 줄이기 위하여 신장 조직을 사용하는 것이 유리하다.

 

댓글이나 공감 남겨주는 사람 착한사람

반응형