flat-file database

Can someone define what a "flat-file" database is and provide an example?  I ran across the term a couple times on the web and I am trying to find out what it is and how it is different from our more traditional relational databases.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

VEngineerAuthor Commented:
Adjusted points to 25
A flat file database is essentially one big table.  Think of a single Excel spreadsheet as an example (not a worksheet though, that can have multiple spreadsheets.)

You have multiple rows and columns, and that is about it.  The columns are the fields, and the rows are the records.  Any time you search for or sort data in a flat file database, you are going through the entire database.  Flat file databases are very quick to implement, but have bad performance and don't scale well.  They are not as flexible as relational databases, either.

A relational database is a database made up of many tables.  These tables really exist as separate entities but are joined together (related) when queried or updated so that they can appear as a whole.  This gives a flexibility and efficiency that is a bit lengthy to go into here, but it has become the industry-standard way of storing data for a reason...

Some examples of flat file databases are:  the windows registry, Novell bindery, hosts file that stores host names and ip addresses, the phone book...examples are all around you.
drrittich has missed, to my mind the essential point about traditional Flat files. Basically the data is not in 3rd Normal Form and typically a file contains more than one record type. In the early days files tended to be stored on magnetic tape much more (It was much cheaper than Disk, or The Highly expensive and now dead Drum media).

An Accounts "Database" Flat File  could have had the following Records

'D000001750101DR00000110INVOICE    '
'D000001750102CR00000010CREDIT NOTE'

etc etc


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
I intentionally skipped over that, it is a bit lengthy to go into unless the user really wants to know about it.  It takes more than a few lines to describe 3NF.  Also, a flat file _can_ be in 3NF, although it is not likely.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.