Database guides

DBF (dBASE) files

Updated 2026-08-01 · 2 min read

Read legacy dBASE tables — including the attribute file inside a shapefile set — with modern SQL.

DBF is the dBASE table format, and it has outlived dBASE by decades. AddisDB decodes it into a queryable table so you can read one without hunting for software from 1994.

Who it is for

You will meet DBF in two places: inside a shapefile set, where it holds the attributes, and in legacy business systems — FoxPro, Clipper, older accounting and inventory software — whose data files are still sitting on a server somewhere.

The format predates Unicode, so text is stored in a code page rather than UTF-8, and field names are capped at ten characters. Accented characters that come back wrong are almost always an encoding declared somewhere outside the file itself.

Use it when you need to read the attribute table of GIS data on its own, or when you are migrating data out of a system old enough that DBF was its native storage.

Getting a file

  1. Inside a shapefile set: the .dbf next to the .shp holds one record per shape.
  2. From a legacy application: the data directory usually holds one .dbf per table.
  3. Some files reference a separate memo file (.dbt or .fpt) for long text fields — keep it alongside.
  4. Rows deleted in dBASE are flagged rather than removed, so an old file can carry records the application no longer shows.
  5. The file is opened read-only.

Open it in AddisDB

  1. New Connection → Files → Other → DBF.
  2. Choose the .dbf file, name the connection, and Save.

Reading cryptic columns

Ten-character field names produce the abbreviations these files are known for. Quote them as they are, alias them to something readable, and the rest is ordinary SQL.

SELECT "OWNER_NAME" AS owner,
       "PARCEL_ID"  AS parcel,
       "ACRES"      AS acres
FROM   parcels
WHERE  "ACRES" > 5
ORDER  BY acres DESC;

What AddisDB gives you

  • SQL over a format that predates SQL by a good margin.
  • The Chart view for aggregating, and notebooks for a migration you want to document.
  • AI chat grounded in the file’s real columns — helpful when the column names are cryptic eight-character abbreviations.
  • ⌘K search across every connection, and a file that is never written back to.