Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

DBF (Data Base File) — формат хранения данных, используемый в качестве одного из стандартных способов хранения информации в системах управления базами данных.

Формат был разработан Уэйном Рэтлиффом ( (англ.) Wayne Ratliff) для своей СУБД Вулкан (англ. Vulcan), разработанной для ОС CP/M и не получившей распространение. Широко стал известен с распространением СУБД dBase II для DOS, созданной им в компании Aston−Tate на основе Вулкана с участием Джорджа Тейта (англ. George Tate) и Хэла Лашли (англ. Hal Lashlee).

В новых версиях — dBase III, dBase IV — формат модифицировался и расширялся. Также, благодаря простоте и удобству обработки, стал популярен в разных СУБД, где использовались свои расширения формата. Такие клоны называют общим термином xBase. Из-за отсутствия стандарта не всякая программа может правильно прочитать и корректно записать произвольный файл .DBF.

Общие сведения

Основная информация хранится в файле с суффиксом .DBF[1].

DBF-файл делится на заголовок, в котором хранится информация о структуре базы и количестве записей (в новых версиях — и о некоторых других характеристиках, например используемой кодовой странице), и собственно область данных, представляющую собой последовательно организованную таблицу из записей фиксированной длины. Записи состоят из полей фиксированной длины.

Первый байт файла содержит номер версии формата и битовую маску дополнений.

Запись начинается с признака удаления размером один байт, возможные значения: пробел HEX: 20 и «*» HEX: 2A (запись помечена на удаление). Физическое удаление помеченных записей производится при выполнении операции «упаковка» (в большинстве СУБД xBase — командой PACK). Удалённые записи могут быть восстановлены до проведения упаковки базы.

Упаковка DBF-файла — процедура физического удаления помеченных на удаление записей из базы данных формата DBF. Первый вариант упаковки (использованный в dBase II) — сортировка записей, когда все помеченные на удаление сдвигаются в конец файла[2]. В более поздних разработках обычно реализуется копированием из исходного файла в новый только валидных записей (не помеченных на удаление), по завершении копирования прежний файл замещается новым.

Дополнительные файлы, появившиеся с развитием формата (перечислены не все)[3]:

  • .DBT — содержимое полей типа «memo» (данные переменной длины, обычно текст) dBase III, IV, и Clipper;
  • .FPT — содержимое полей типа «memo» FoxBase, «memo» и «object» FoxPro;
  • .IDX — индексный файл, используется в dBase;
  • .NTX — индексный файл, используется в Clipper;
  • .CDX — индексный файл FoxPro и 1C;
  • .MDX — мультииндексный файл.

Файлы дополнительных полей и индексов не являются самостоятельными и не могут быть прочитаны без соответствующего им .DBF-файла. В связи с этим их описание обычно включают в качестве составной части описания формата .DBF.

История

Уэйн Рэтлифф начал работать над форматом файлов для СУБД Вулкан в январе 1978 года, и в октябре 1979 года программа Вулкан, использующая первую версию файлов .DBF, была им выпущена в продажу[4].

В 1980 была выпущена новая версия программы, использовавшая .DBF второй версии, под коммерческим названием dBase II её стали продавать через компанию Ashton−Tate, где работал один из партнёров Рэтлиффа[4].

Вторая версия формата использовалась также и в dBase III, появившейся в 1984 году[5]. Но уже в dBase III+ (1985 год)[5] была реализована новая, третья версия формата DBF. dBase III и dBase III+ несовместимы по формату файлов[2].

dBase IV, выпущенная в 1988 году[5], использовала тоже новую версию формата — четвёртую.

Пятая версия формата DBF была реализована в 1994 году, когда Borland выпустила последнюю версию dBase для DOS — dBase V[6].

Седьмая версия DBF появилась в 1997 году с выходом dBase 7 (только для Windows).

Описание формата

Сведения о формате версии 1, использованном в СУБД Vulcan, не сохранились. Известно только, что максимально допустимое число полей в записи данных было 16[2].

DBF версии 2

Длина заголовка 520 байт, значение номера версии (первый байт заголовка) — 2, максимальное количество полей в записи данных — 32[7].

№ Байта Значение
0 Version number
1−2 Число записей в файле (16−битное число Little endian)
3 Год даты последней модификации в файле
4 Месяц даты последней модификации в файле
5 День даты последней модификации в файле
6−7 Длина (каждой) записи данных в файле (16−битное число LE)
8−520 Массив описаний полей (32 элемента по 16 байт), завершающийся символом возврата каретки (HEX: OD).

Если в структуре файла есть все 32 записи, 520-й байт — HEX: OD.

записи БД
EOF Файл завершается символом EOF, HEX: 1A

Структура описания поля в массиве описаний полей. Размер: 16 байт.

№ Байта Значение
0−10 Имя поля: строка от одного до 10 символов множества «alnum» и завершающий нуль-символ (HEX: 00), обычно лишнее место заполняется нуль-символами.
11 Тип поля: C, N или L (символьное, числовое, логическое)
12 Длина поля
13−14 Адрес поля в памяти (англ. Field adress in memory)
15 Десятичный счётчик полей (англ. Field decimal count)

Запись начинается с признака удаления длиной в один байт. Запись помечена на удаление, если его значение равно «*» (HEX: 2a, символ звёздочки). Нормальное значение — " " (пробел, HEX: 20).

DBF версии 3

С версии dBase III+ формат файла DBF кардинально изменился[2][8]:

  • главное изменение — заголовок переменной длины;
  • начальный байт содержит битовую маску: три младших бита — номер версии, бит 7 — наличие файла .DBT с полями типа memo;
  • байт № 28 содержит признак наличия индексного файла и его тип;
  • тип данных D (Data) — дата в формате ГГГГММДД;
  • прочие изменения.

DBF версии 4

Для dBase IV была разработана четвёртая версия формата DBF[9]. Отличия от предыдущих:

  • бит 4 в байте версии совместно с седьмым битом означает новый формат файла с полями типа memo, биты с 4 по 6 — признаки таблиц SQL;
  • тип поля F (float) длиной 20 байт — десятичное число с плавающей точкой;
  • многоиндексные файлы *.MDX.


DBF версии 5

В dBase V использована пятая версия формата DBF[10]. Нововведения:

  • тип поля B (Binary) подобный memo, но для произвольных данных;
  • тип поля G (General) для объектов OLE и подобных.

DBF версии 7

Седьмая версия dBase использует новый формат DBF тоже под номером 7, который кардинально отличается от предыдущих[9][8].

Сводная таблица версий

Нулевой байт файла DBF содержит номер версии формата[9] и битовые признаки дополнительных файлов[8].

DBF File type
0x02 dBase II и FoxBASE
0x03 FoxBASE+ или Dbase III+ без полей типа «memo»
0x30 Visual FoxPro
0x31 Visual FoxPro с автоинкрементом
0x32 Visual FoxPro с полями типов Varchar и/или Varbinary
0x43 dBASE IV файл таблиц SQL без полей типа «memo»
0x63 dBASE IV системный файл SQL без полей типа «memo»
0x83 FoxBASE+ или Dbase III+ с полями типа «memo»
0x8B dBASE IV файл таблиц SQL с полями типа «memo»
0xCB dBASE IV системный файл SQL с полями типа «memo»
0xF5 FoxPro до версии 2.6 с полями типа «memo»
0xE5 Clipper Six с файлом SMT (содержит значения полей типа «memo»)
0xFB FoxBASE

См. также

Примечания

Ссылки

Эта страница в последний раз была отредактирована 28 июля 2022 в 21:30.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).