DBF

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Из выпущенных продуктов формат впервые применялся в dBase II (1980) в качестве стандартного формата базы. Точно не известно, использовался ли он где-нибудь ранее.

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

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

Первое поле всегда — пометка удаления (1 байт). Если оно равно 2A16 (символ «звёздочка»), считается, что запись помечена на удаление. Удалённые записи могут быть восстановлены или физически удалены при выполнении операции «упаковка» (команда PACK xBase).

Упаковка DBF-файла — процедура физического удаления помеченных на удаление записей из базы данных формата DBF. Обычно реализуется копированием из исходного файла только не помеченных записей. Для файловых систем копирование необходимо, если процедура выполняется в виде транзакции.

С DBF-файлами могут быть так же сопряжены другие файлы — .DBT (dBase III, IV,Clipper), .FPT (FoxBASE/FoxPro) и, в некоторых случаях, какие-то ещё, предназначенные для хранения больших объектов переменной длины. .DBT/.FPT-файлы не являются самостоятельными и не могут быть прочитаны без соответствующего им .DBF файла. В связи с этим их описание обычно включают в качестве составной части описания формата .DBF.

Ссылки[править | править вики-текст]