История формата DBF
DBF старше большинства тех, кто сегодня с ним работает. Формат пережил свои программы, компании и операционные системы — и всё ещё приходит по почте в виде выгрузок.
Начало: Vulcan и dBase II
В конце 1970-х программист Уэйн Ратлифф написал для себя систему управления данными Vulcan. Её права купила компания Ashton-Tate и в 1980 году выпустила под именем dBase II — цифру поставили ради солидности, первой версии не было. Таблицы хранились в файлах с расширением .dbf.
Идея оказалась удачной для персональных компьютеров того времени: простая структура, быстрый доступ к любой записи по номеру, данные в читаемом виде. dBase быстро стал стандартом де-факто для настольных баз данных.
dBase III и расцвет xBase
dBase III (1984) и III Plus (1986) закрепили тот вид файла, который знают до сих пор: 32-байтовый заголовок, описания полей, записи фиксированной длины, длинный текст в отдельном .dbt.
Вокруг dBase выросла целая экосистема совместимых продуктов: FoxBASE от Fox Software, компилятор Clipper от Nantucket, десятки менее известных систем. Язык и формат стали называть общим словом xBase. Для программистов 1980-х это был примерно то же, что сегодня связка из языка и встроенной базы данных.
Смена лидеров
dBase IV (1988) вышел поздно и с ошибками, и пользователи начали уходить к конкурентам. В 1991 году Ashton-Tate купила Borland, в 1992-м Fox Software купила Microsoft. FoxPro превратился в Visual FoxPro (1995) — и именно он внёс в формат самые заметные расширения: новые типы полей, NULL-значения, базы .dbc.
Параллельно Clipper стал основой множества учётных программ, которые годами работали в DOS, а потом — через эмуляторы и наследников вроде Harbour — и в Windows.
Закат и долгая жизнь
С приходом серверных СУБД DBF перестал быть основным способом хранить данные: нет транзакций, нет полноценной многопользовательской работы, предел в 2 ГБ на файл. Microsoft выпустила последнюю версию Visual FoxPro в 2007 году, а в 2015-м прекратила поддержку. Excel перестал открывать .dbf ещё раньше — об этом в статье как открыть DBF в Excel.
Но формат не исчез. Он простой, самоописываемый и читается без сервера — поэтому остаётся форматом обмена:
- файловые базы старых учётных систем, включая 1С:Предприятие 7.7;
- выгрузки банков, реестры и справочники в здравоохранении и социальной сфере;
- геоинформационные системы: атрибуты шейп-файлов (.shp) хранятся в .dbf;
- программы на Harbour и Visual FoxPro, которые до сих пор работают в организациях.
Что это значит сегодня
Наследие сорока лет — это десяток диалектов, несколько форматов memo и кодировки, которые файл не всегда сообщает. Большинство проблем с DBF сегодня объясняются именно историей: программа знает один диалект, а файл сделан в другом. Какие бывают версии и как их различить — на странице форматы DBF.
Частые вопросы
Что означает DBF?
DataBase File — файл базы данных. Расширение пошло от dBase.
Используется ли DBF сегодня?
Да, как формат обмена и хранения в старых учётных системах, в банковских и отраслевых выгрузках и в ГИС. Новые системы его почти не выбирают, но читать его приходится постоянно.
Какой максимальный размер DBF?
Классический предел — 2 ГБ на файл; часть программ читает и больше, но полагаться на это при обмене не стоит.