History of Database Systems

The term Database, in these days are generally used with respect to Computer Science, but they did exist earlier, in physical forms like files (real ones) and tabbed folders stored in cabinets of a warehouse like structure. This article though would be looking at the evolution of Database in terms of Computer Science.

There are various sources to this article and mention of all of them would take up a lot of space. Moreover, most of the information is known publicly with in the circles of the technically adept.

Introduction
Database, in simple terms, can be stated to be storage of information in a systematic manner – usually records, from which data can be easily (relatively speaking) retrieved or to which modifications can be made or new data can be added. As stated earlier, the basic concept of database did exist earlier to the advent of computers as files and folders. In that view, even the small address/telephone book we keep with ourselves can be categorized as a database.

Evolution
With the introduction of Computers, database picked up a new meaning and being the data processors computers are, it was a natural process to create database systems in them. As the computer technology advanced, so did the databases that relied on them advanced. It went from data being internally structured in programs to the RDBMS (Relational Database Management Systems) and more complex database systems.

File Based Systems
It saw its implementation at the end of the 60s, when the computer technology had taken its first few steps. The traditional or rather archaic database system was the use of files to store the data in a rather two dimensional, tabular structure. The programs that would process these data had to know the actual relation between the different parts of data before hand. The relation had to be coded into the programs. It required tight integration with the programs, like the use of ‘Data Divisions’ in COBOL or ‘struct’ in C.

The limitation to this system was that it lacked the scalability – once implemented, to add new features or schema of data, coding had to be done again. Also, if there required a new exchange of data between programs, one had to again get down to coding the migration of the data. There were no standards.

Hierarchical Database Systems
This model of database evolved some what in parallel to the File Based Systems, and could be found well into the 80s. The pattern of data stored was based on the binary trees – representing the one-to-many relationship of data. It did surpass the limitation of the File Based System in terms of data independence, but was found to be real hard to implement.

Network Database System
This system, evolved a bit later the previous two, according to CODASYL (Conference on Data Systems Languages) was composed of records and sets. The records held the actual data, and the sets defined the relationship between the data separately. This system gave good performance in terms of retrieval of data, but was hard to implement and reorganize.

Relational Database Management System (Relational DBMS)
This is the modern day database system in wide use presently that seems to have overcome most of the limitations of its predecessors. Very basically, RDBMS, data is stored as tables, and the tables may have relation between them. The data is organized in any way the software design of the particular DBMS wants, but it has to provide access to the database through a standardized instruction set called Structured Query Language (SQL).

When a particular program wants to interact with a database, it sends a request to the DBMS, using the SQL syntax. The DBMS then responds by providing a result set back to the calling program.

The DBMS allows the design of a particular system to keep the program (logic) and the database separate. This allows for exchange of data between programs with out the need for programming/designing each and every interaction.

There are many software vendors that provide Relational DBMS – Oracle, MySQL, Sybase, PostgreSQL, MSSQL, SQL-Server. Note that most of these systems have evolved beyond the basic feature set of a RDBMS.

Future
Many new models have are being developed that are more complex that seek to make the database interactions more efficient. Object-Relational Systems, Entity-Relationship Systems, Non-Normalized Relational Systems are few of the technical words that seems to be moving around in the circles of database gurus.

The eventual use of any one of these system would depend on the standardization of any of these systems.