The .dbf file extension represents the dBase database file. The file type was introduced in 1983 with dBASE II. The file structure has evolved to include many features and capabilities. Several additional file types have been added to support data storage and manipulation. The current .dbf file level is called Level 7. The .dbf format is supported by a number of database products.
The original dBASE database was known as Project Vulcan and was started by Wayne Ratliff in 1978. At the time the file that held the data was a simple table that could have data added, modified, deleted or printed using the ASCII characters set. By 1985 PC Magazine described its file format, .dbf, as "a de facto standard" for other software. As the product became more popular .dbf was expanded, and additional files were added to increase the capabilities of the database system. Despite dBASE being an IDE (integrated development environment), a database system, a compiler, and a database application builder, the original .dbf file was still used for the actual data storage mechanism.
This was the last update to the 16-bit version of the Borland Database Engine (BDE).
dBASE V â MS-Windows (Level 5)
xBase is a name applied to clones of the dBase, typically dBASE III+–V. Most xBase programs either use the format directly or uses a derived format with custom extensions. Erik Bachmann maintains an open-licensed description of these formats.
The Level 7 structure is the latest supported by dBASE and BDE. It is incompatible with the previous file format, and is supported by few third-party applications.
dBASE 7 â MS-Windows (Level 7)
Level 7 brought many improvements. The maximum length for field names increased from 10 to 31 characters. Some new fields types were added, such as the auto-increment field, which prevents creation of duplicate record numbers in the same table.
BDE version 5.1.0
Significant improvements over the prior releases. There are also some limitations with regards to what the BDE can handle.
The "modern dBASE" III+–V is the most common dBASE file format found in the wild. In "modern dBASE", a .dbf file consists of a header, the data records, and the end-of-file marker.
Each record begins with a 1-byte "deletion" flag. The byte's value is a space (), if the record is active, or an asterisk (), if the record is deleted. Fields are packed into records without field separators or record terminators.
All field data is ASCII. Depending on the field's type, the application imposes further restrictions:
A memo (.DBT) file consists of blocks numbered sequentially (0,1,2, and so on). SET BLOCKSIZE determines the size of each block. The first block, block 0, is the memo file header.
Each memo field of each record in the .DBF file contains the number of the block (in ASCII) where the memo field begins. If the memo field contains no data, the .DBF file contains blanks () rather than a number.
When a memo field's content changes, its block number may also change. I.e. the memo gets relocated. In that case, the number in the .DBF file gets updated.
In dBASE III PLUS, the space consumed by deleted text in a memo field cannot be reused — the .DBT file size grows each time text is added, even if other text has been deleted. dBASE for DOS may reuse that space for new text. dBASE IQ PLUS always appended new text to the end of the .dbt file.
dBASE defines many types of files. It also recognizes some operating system files and files from other products. The table below lists the most commonly used formats first. It was compiled from the documentation of dBASE III+, dBASE IV, and dBASE CLASSIC.