| Адрес |
Длина |
Назначение |
| 0 |
0x00 |
1 |
Сигнатура. См. табл
3 и табл 4. |
| 1 |
0x01 |
3 |
Дата последней модификации в виде ГГММДД |
| 4 |
0x04 |
4 |
Число записей в базе |
| 8 |
0x08 |
2 |
Полная длина заголовка (с дескрипторами
полей) |
| 10 |
0x0A |
2 |
Длина одной записи |
| 12 |
0x0C |
2 |
Зарезервировано (всегда 0) |
| 14 |
0x0E |
1 |
Флаг, указывающий на наличие
незавершенной транзакции dBASE IV |
| 15 |
0x0F |
1 |
Флаг шифрования таблицы dBASE IV |
| 16 |
0x10 |
12 |
Зарезервированная область для многопользовательского использования |
| 28 |
0x1C |
1 |
Флаг наличия индексного MDX-файла |
| 29 |
0x1D |
1 |
Идентификатор кодовой страницы
файла (dBASE IV, Visual FoxPro, XBase). См.
табл 9. |
| 30 |
0x1E |
2 |
Зарезервировано (всегда 0) |
| 32 |
0x20 |
32 |
Только в dBASE 7. Идентификатор
языкового драйвера. См. табл 10. |
| 64 |
0x40 |
4 |
Только в dBASE 7. Зарезервировано |
| Сигнатура |
СУБД |
Описание |
| 2 |
0x02 |
00000010 |
FoxBASE |
Таблица без memo-полей |
| 3 |
0x03 |
00000011 |
dBASE III, dBASE IV, dBASE 5, dBASE 7, FoxPro, FoxBASE+ |
Таблица без memo-полей |
| 4 |
0x04 |
00000100 |
dBASE 7 |
Таблица без memo-полей |
| 48 |
0x30 |
00110000 |
Visual FoxPro |
Таблица (признак наличия memo-поля .FPT не
предусмотрен ) |
| 49 |
0x31 |
00110001 |
Visual FoxPro |
Таблица с автоинкрементными полями |
| 67 |
0x43 |
01000011 |
dBASE IV, dBASE 5 |
SQL-таблица dBASE IV без
memo-полей |
| 99 |
0x63 |
01100011 |
dBASE IV, dBASE 5 |
Системная SQL-таблица dBASE IV без
memo-полей |
| 131 |
0x83 |
10000011 |
dBASE III, FoxBASE+, FoxPro |
Таблица с memo-полями .DBT |
| 139 |
0x8B |
10001011 |
dBASE IV, dBASE 5 |
Таблица с memo-полями .DBT
формата dBASE IV |
| 140 |
0x8C |
10001100 |
dBASE 7 |
Таблица с memo-полями .DBT
формата dBASE IV |
| 203 |
0xCB |
11001011 |
dBASE IV, dBASE 5 |
SQL-таблица dBASE IV с memo-полями
.DBT |
| 203 |
0xE5 |
11100101 |
SMT |
Таблица с memo-полями .SMT |
| 235 |
0xEB |
11101011 |
dBASE IV, dBASE 5 |
Системная SQL-таблица dBASE IV с memo-полями
.DBT |
| 245 |
0xF5 |
11110101 |
FoxPro |
Таблица с memo-полями .FPT |
| 251 |
0xFB |
11111011 |
FoxBASE |
Таблица с memo-полями .??? |
| Символ типа |
Имя типа |
Когда появился |
Формат хранения |
| B |
Binary |
dBASE 5 |
Номер блока в MEMO-файле, хранимый
в виде строки до 10 цифр, выровненной
вправо пробелами. Длина поля всегда 10.
Пустое значение - 10 пробелов, означает
отсутствие блока в MEMO-файле |
| Double |
MS Visual FoxPro |
Плавающее число, хранимое в 8-байтовом
бинарном формате IEEE 754. Пустое значение
совпадает с нулем |
| C |
Character |
dBASE III |
Строка, выровненная влево
пробелами |
| D |
Date |
dBASE III |
Дата, хранимая в виде строки из 8
цифр в формате ГГГГММДД. Пустое значение
- 10 пробелов |
| F |
Float |
dBASE IV |
Число, хранимое в виде строки
заданной длины с заданным количеством
цифр после точки, выровненной вправо
пробелами. Пустое значение задается
строкой пробелов. Чем отличается от Numeric,
непонятно |
| G |
General (OLE) |
dBASE 5 |
Номер блока в MEMO-файле, хранимый
в виде строки до 10 цифр, выровненной
вправо пробелами. Длина поля всегда 10.
Пустое значение - 10 пробелов, означает
отсутствие блока в MEMO-файле |
| I |
Integer (Long) |
dBASE 7 |
Знаковое целое число, хранимое
в бинарном виде. Длина поля - 4 байта, порядок байтов - big-endian,
старший бит инвертирован относительно дополнительного кода. Преимущество
такого формата хранения в том, что числа можно сравнивать побайтово, что
очень полезно для индексирования. Пустое значение совпадает с нулем |
| L |
Logical |
dBASE III |
Булево значение, длина всегда 1.
'T', 't', 'Y', 'y' - истина, 'F', 'f', 'N', 'n' - ложь, пробел или '?' -
пустое значение |
| M |
Memo |
dBASE III |
Номер блока в MEMO-файле, хранимый
в виде строки до 10 цифр, выровненной
вправо пробелами. Длина поля всегда 10.
Пустое значение - 10 пробелов, означает
отсутствие блока в MEMO-файле |
| N |
Numeric |
dBASE III |
Число, хранимое в виде строки
заданной длины с заданным количеством
цифр после точки, выровненной вправо
пробелами. Пустое значение задается
строкой пробелов |
| O |
Double |
dBASE 7 |
Плавающее число, хранимое в 8-байтовом бинарном формате,
получаемом из IEEE 754 простым преобразованием. Порядок байтов изменяется на
обратный, для отрицательных чисел инвертируются все биты, для
неотрицательных - только знаковый бит. Преимущество такого формата хранения
в том, что числа можно сравнивать побайтово, что очень полезно для
индексирования. Пустое значение совпадает с нулем |
| P |
Picture |
FoxPro |
Номер блока в MEMO-файле, хранимый
в виде строки до 10 цифр, выровненной
вправо пробелами. Длина поля всегда 10.
Пустое значение - 10 пробелов, означает
отсутствие блока в MEMO-файле |
| Q |
Varbinary |
MS Visual FoxPro |
Бинарные данные переменной длины. Начальная часть хранится в DBF-файле, хвост переменного размера - в memo-файле |
| T |
DateTime |
FoxPro |
Дата и время. Существует в двух вариантах: текстовом и
бинарном. Текстовый вариант - строка из 14 цифр в формате ГГГГММДДЧЧММСС;
пустое значение - 14 пробелов. Бинарный вариант - два двойных слова little-endian,
т.е. всего 8 байт; первое двойное слово содержит число дней от начала
Юлианского календаря (01.01.4713 до нашей эры), второе двойное слово - число
миллисекунд от начала суток; пустое значение - 8 нулевых байтов |
| V |
Varchar |
MS Visual FoxPro |
Строка
переменной длины. Начальная часть строки хранится в
DBF-файле, хвост переменного размера - в memo-файле. Индексация - только по
начальной части |
| W |
Blob |
MS Visual FoxPro |
Нет информации о формате |
| Y |
Currency |
MS Visual FoxPro |
Денежный тип. Хранится в виде знакового 8-байтового целого
числа little-endian. Точность хранения составляет 1E-4 денежной единицы.
Пустое значение совпадает с нулем |
| @ |
Timestamp (DateTime) |
dBASE 7 |
Дата и время. Совпадает с типом 'T' в бинарном варианте |
| + |
Autoincrement |
dBASE 7 |
Знаковое целое число, хранимое
в бинарном виде. Длина поля - 4 байта, порядок байтов - big-endian,
старший бит инвертирован относительно дополнительного кода. Преимущество
такого формата хранения в том, что числа можно сравнивать побайтово, что
очень полезно для индексирования. Пустое значение совпадает с нулем |