|
Структура базы данных типа .DBF
Файл базы данных состоит из записи заголовка и записей с данными. В
записи заголовка определяется структура базы данных и содержится вся
другая информация, относящаяся к базе данных. В файле она начинается
с нулевой позиции. Записи с данными* следуют за заголовком (байты располагаются
последовательно) и включают в себя фактическое содержимое полей. Длина
записи (в байтах) определяется суммированием указанных длин всех полей.
Числа в данном файле размещаются в обратном порядке.
Запись заголовка в файле с данными Байты Описание
00 Типы файлов с данными:
FoxBASE+/dBASE III +, без memo - 0х03
FoxBASE+/dBASE III +, с memo - 0х83
FoxPro/dBASE IV, без memo - 0х03
FoxPro с memo - 0хF5
dBASE IV с memo - 0x8B
01 - 03 Последнее изменение (ГГММДД)
04 - 07 Число записей в файле
08 - 09 Положение первой записи с данными
10 - 11 Длина одной записи с данными (включая признак удаления)
12 - 27 Зарезервированы
28 1 - есть структ. составной инд.файл (типа .CDX), 0-нет
29 - 31 Зарезервированы
32 - n Подзаписи полей**
n+1 Признак завершения записи заголовка (0х01)
Подзаписи полей Байты Описание
00 - 10 Название поля (максимально - 10 символов, если меньше 10, то
дополняется пустым символом (0х00))
11 Тип данных:
C - символьное;
N - числовое;
L - логическое;
M - типа memo;
D - дата;
F - с плавающей точкой;
P - шаблон.
12 - 15 Расположение поля внутри записи
16 Длина поля (в байтах)
17 - 32 Зарезервированы
* Данные в файле с данными начинаются с позиции, указываемой в записи
заголовка в байтах 08-09. Записи с данными начинаются с байта, содержащего
признак удаления. Если в этот байт занесен пробел в коде ASCII (0х20),
то запись не удалялась; если же в первом байте - звездочка (0х2A), то
запись удалена. За признаком удаления следуют данные из полей, названия
которых находятся в подзаписях полей.
** Количество полей определяет число подзаписей полей. В базе данных
для каждого поля существует одна подзапись поля.
[Оглавление]
|
|