The evolution of database modeling occurred when each database model improved upon the previous one. The initial solution was no database model at all using a file system (also known as
flat files). You can examine files in the file system of the operating system by
- running a dir command in DOS,
- an ls command in UNIX, or
- searching through the Windows Explorer in Microsoft Windows.
The problem that using a file system presents is no database structure at all.
Figure 3.3 below shows the evolutionary process over time from the late 1940s through the year 2000, approximately 50 years later.
It is very unlikely that network and hierarchical databases are still in use with the exceptions of IBM's IMS.
Using a
file system database model[1] implies that no modeling techniques are applied and that the database is stored in
flat files in a file system, utilizing the structure of the operating system alone.
The term
flat file is a way of describing a simple text file, containing no structure whatsoever and data is simply dumped in a file. By definition, a comma-delimited file (CSV file) contains structure because it contains commas. By definition, a comma-delimited file is a flat file.
However,
flat file databases in the past tended to use huge strings, with no commas and no new lines and data items were found based on a position in the file. In this respect, a comma-delimited CSV file used with Excel is not a flat file.
Any searching through flat files for data has to be explicitly programmed. The advantage of the various database models is that they provide some of this programming for you. For a file system database, data can be stored in individual files or multiple files. Similar to searching through flat files, any relationships and validation between different flat files would have to be programmed and likely be of limited capability.
If you are interested, here is some additional information about
other approaches to databases.
In the next lesson, we will use an analogy to drive the relational database point home.
[1]
A DBMS creates and defines the constraints for a database. A file system allows access to a single file at a time and addresses each file individually.
Because of this, functions such as
redundancy are performed on an individual level, not by the file system itself.