.DBF 파일이란?
확장자가 .dbf인 파일은 dBASE라는 데이터베이스 관리 시스템 응용 프로그램에서 사용하는 데이터베이스 파일입니다. 처음에는 dBASE 데이터베이스의 이름이 Project Vulcan으로 지정되었습니다. 1978년 Wayne Ratliff에 의해 시작되었습니다. DBF 파일 유형은 1983년 dBASE II와 함께 도입되었습니다. 이는 배열 유형 필드로 여러 데이터 레코드를 정렬합니다. 광범위한 파일 형식과의 호환성 때문에 인기 있는 xBase 데이터베이스 소프트웨어. DBF 파일도 지원합니다.
DBF 파일 형식
DBF 파일 형식은 dBASE 데이터베이스 관리 시스템에 속하지만 xBase 또는 기타 DBMS 소프트웨어와 호환될 수 있습니다. dbf 파일의 초기 버전은 ASCII 문자 집합을 사용하여 데이터를 추가, 수정, 삭제 또는 인쇄할 수 있는 간단한 테이블로 구성되었습니다. 시간이 지남에 따라 .dbf가 개선되었고 데이터베이스 시스템의 기능과 기능을 향상시키기 위해 추가 파일이 추가되었습니다.
최신 dBASE에서 DBF 파일은 헤더, 데이터 레코드 및 EOF(파일 끝) 마커로 구성됩니다.
- 헤더에는 레코드 수 및 레코드에 사용된 필드 유형 수와 같은 파일에 대한 정보가 포함됩니다.
- 기록은 실제 데이터를 포함합니다.
- 파일의 끝은 값이 0x1A인 단일 바이트로 표시됩니다.
파일 헤더
dBase의 파일 헤더 레이아웃은 다음 표에 나와 있습니다.
바이트 | 목차 | 의미 |
---|---|---|
0 | 1바이트 | DOS 파일에 유효한 dBASE; 비트 0-2는 버전 번호를 나타내고, 비트 3은 DOS 메모 파일용 dBASE의 존재를 나타내고, 비트 4-6은 SQL 테이블의 존재를 나타내고, 비트 7은 메모 파일(dBASE m PLUS 또는 dBASE for 도스) |
1–3 | 3바이트 | 마지막 업데이트 날짜 YYMMDD 형식 |
4–7 | 32비트 숫자 | 데이터베이스 파일의 레코드 수 |
8–9 | 16비트 숫자 | 헤더의 바이트 수 |
10–11 | 16비트 숫자 | 레코드의 바이트 수 |
12–13 | 2바이트 | 예약된; 0으로 채우기 |
14 | 1바이트 | 불완전한 거래를 나타내는 플래그[주 1] |
15 | 1바이트 | 암호화 플래그[주 2] |
16–27 | 12바이트 | 다중 사용자 환경에서 DOS용 dBASE용으로 예약됨 |
28 | 1바이트 | 프로덕션 .mdx 파일 플래그; 프로덕션 .mdx 파일이 있으면 1, 없으면 0 |
29 | 1바이트 | 언어 드라이버 ID |
30–31 | 2바이트 | 예약된; 0으로 채우기 |
32–n [주 3][주 4] | 각각 32바이트 | 필드 설명자의 배열(설명자의 레이아웃은 아래 참조) |
n + 1 | 1바이트 | 필드 설명자 배열 종결자로 0x0D |
- ISMARKEDO 기능은 이 플래그를 확인합니다(BEGIN TRANSACTION은 1로 설정하고 END TRANSACTION 및 ROLLBACK은 0으로 재설정).
- 이 플래그가 1로 설정되면 데이터베이스 암호화됨 메시지가 나타납니다.
- 최대 필드 수는 255개입니다.
- n은 필드 설명자 배열의 마지막 바이트를 의미합니다.
필드 설명자 배열
dBASE의 필드 디스크립터 레이아웃:
바이트 | 목차 | 의미 |
---|---|---|
0–10 | 11바이트 | ASCII 필드 이름(0으로 채워짐) |
11 | 1바이트 | 필드 유형. 허용되는 값: C, D, F, L, M 또는 N(의미는 다음 표 참조) |
12–15 | 4바이트 | 예약됨 |
16 | 1바이트 | 이진 필드 길이(최대 254(0xFE)). |
17 | 1바이트 | 이진 필드 십진수 |
18–19 | 2바이트 | 작업 영역 ID |
20 | 1바이트 | 예 |
21–30 | 10바이트 | 예약됨 |
31 | 1바이트 | 프로덕션 MDX 필드 플래그; 필드에 프로덕션 MDX 파일에 인덱스 태그가 있으면 1, 없으면 0 |
데이터베이스 레코드
각 레코드는 삭제(1바이트) 플래그로 시작합니다. 필드는 필드 구분 기호 없이 레코드로 래핑됩니다. 모든 필드 데이터는 ASCII입니다. 필드 유형에 따라 애플리케이션은 추가 제한을 부과합니다. 다음은 dBase의 필드 유형입니다.
필드 유형 | 니모닉 | 그것이 허용하는 것 |
---|---|---|
C | 캐릭터 | 모든 ASCII 텍스트(필드 길이까지 공백으로 채워짐) |
디 | 날짜 | 월, 일, 연도를 구분하는 숫자 및 문자(YYYYMMDD 형식으로 내부적으로 8자리로 저장됨) |
에프 | 부동 소수점 | -, ., 0–9(오른쪽 정렬, 공백으로 채워짐) |
엘 | 논리적 | Y, y, N, n, T, t, F, f 또는 ? (초기화되지 않은 경우) |
남 | 메모 | 모든 ASCII 텍스트(.dbt 블록 번호를 나타내는 10자리 숫자로 내부에 저장됨, 오른쪽 정렬, 공백으로 채워짐) |
엔 | 숫자 | -, ., 0–9(오른쪽 정렬, 공백으로 채워짐) |