Открыть сервисСервис

DBM — формат баз данных Microsoft

DBM (от англ. dBASE file, ранее database management) — формат файлов баз данных, разработанный в 1980-х годах компанией Ashton-Tate для операционной системы CP/M и позже адаптированный под MS-DOS. Файлы с расширением .dbm представляют собой структурированные таблицы данных с фиксированной длиной записей и заголовком, описывающим поля. Формат стал одним из ранних стандартов хранения табличных данных в персональных компьютерах и получил широкое распространение в 1980—1990-х годах.

История

Формат DBM возник в контексте развития систем управления базами данных (СУБД) класса dBASE. Первая версия dBASE (dBASE II) была выпущена в 1981 году компанией Ashton-Tate и работала с файлами расширения .dbf. Формат .dbm использовался для сопутствующих файлов индексов и мемо-полей (MEMO), где хранились текстовые данные переменной длины, не помещавшиеся в основную запись.

В 1990-х годах, после приобретения Ashton-Tate компанией Borland, формат развивался в линейке продуктов dBASE for Windows и Clipper. Появились альтернативные реализации: FoxPro (впоследствии приобретённая Microsoft), Harvester, Recital и другие СУБД, совместимые с семейством форматов dBASE.

Структура файла

Файл DBM состоит из трёх основных частей:

  • Заголовок файла — содержит метаданные: количество записей, дату последнего обновления, длину заголовка и структуру полей.
  • Описание полей — фиксированный массив записей по 32 байта, где для каждого поля указываются имя (до 10 символов), тип (C — символьное, N — числовое, D — дата, L — логическое, M — мемо), длина и количество знаков после запятой.
  • Данные — последовательность записей фиксированной длины, каждая из которых начинается с байта-флага удаления (* — запись удалена, пробел — активна).

Формат использует little-endian порядок байтов. Кодировка текстовых данных исторически соответствовала OEM-кодовым страницам (CP866 для русскоязычных версий), что создаёт определённые сложности при работе с современными Unicode-системами.

Классификация

В зависимости от версии и производителя выделяют несколько разновидностей формата:

РазновидностьОсобенности
dBASE IIIБазовый формат, поддержка 255 полей, ограничение 2 ГБ на файл
dBASE IVРасширенные типы данных, SQL-подмножество
FoxProСобственные расширения, индексные файлы .cdx
ClipperКомпилятор, работающий с dBASE-совместимыми файлами

Применение

Изначально DBM-файлы использовались для хранения адресных книг, бухгалтерских записей, номенклатурных справочников и другой структурированной информации. В российской практике 1990-х годов формат dBASE активно применялся в первых автоматизированных системах управления, разработанных для малого бизнеса и муниципальных учреждений.

В XXI веке формат вытеснен более совершенными системами (SQLite, PostgreSQL, MySQL, Microsoft Access), однако совместимость с ним поддерживается многими современными инструментами: LibreOffice Base, Microsoft Excel, DBF Viewer, «1С:Предприятие» (при импорте данных) и специализированными библиотеками (dbfread, DBF для Python, TDbf для Delphi).

Программная поддержка

Среди библиотек для работы с форматом в российской разработке известны компоненты для Delphi и Lazarus (TDbf), модули для PHP и Python, а также утилиты конвертации в CSV, SQLite и XML. Открытая спецификация формата позволяет реализовывать чтение и запись без лицензионных ограничений.

Примечания

Формат .dbm не следует путать с форматом GDBM (GNU Database Manager) — библиотекой хранения пар «ключ-значение» в Unix-системах, а также с Berkeley DB (BDB), которая используется, в частности, в системах BIND и OpenLDAP.

Источники

  • Ковелов А. Ф. «dBASE III Plus: справочник пользователя»
  • Боровиков В. П. «FoxPro 2.6 для Windows»
  • Microsoft Developer Network — описание форматов dBASE
  • Clipper Language Reference Manual
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru