A flat file database is a database that stores its contents in a single table. Most flat file databases are formatted as plain text files — each line containing a separate record, and fields separated by delimiter characters like commas or tabs. Most flat file databases are relatively small due to their simple structure, but very large flat file databases may be used when only a single table is needed.
Unlike relational databases, which contain multiple tables that link to and reference each other, flat file databases store all of their data in a single table. This makes flat file databases poorly suited for complex data structures like a store's inventory database, but still useful for storing simple information like a contacts list. Since flat file databases are plain text, their contents are limited to text and numbers. Text in a flat file database must also be formatted properly so that commas or tabs within the database do not accidentally split fields.
Since flat file databases are plain text with simple delimiter characters, they are often used as intermediate files when transferring data between two applications. Comma-separated value (CSV) files are the most common, often used by spreadsheet applications like Microsoft Excel to export data in a non-proprietary file format. They are also widely used by applications to store data internally, often for configuration data.