Relational Data Model

“One of the most important applications for computers is storing and managing information” Ulman (1992).

Up until 1970, when the relational data model was introduced by E. F. Codd whilst with IBM (although there were a number of publications containing some of the ideas earlier), data models were largely record based (hierarchical and network models) with one-to-many relationships which were inflexible as the data structures were mostly designed as a result of the use of the data and hence extremely process dependent. Even after its initial introduction, despite the relational data model being recognised as a breakthrough, it was considered as impractical in its application due to its demand for computing resources, which were expensive. Fortunately, with the advancement and reduction in cost of computing resources, the demands of this data model could be met and relationships used to describe data.

The relational data model allowed data to be described in terms of tuples and attributes (or in a two-dimensional tabular format of rows and columns), which became the “relation” making the data itself much more process independent, more flexible and capable of many-to-many relationships. Tables of data (and hence further relationships) could also be related to one another by the use of common attributes. This tabular format introduced some important end user features that were inherent issues in the older hierarchical and network data models; simplicity, redundancy, capacity, speed and versatility.

Simplicity: one of the most important features in any system for its widespread adoption. The relational data model is easy for the end user to understand with its tabular perception and as a result is seemly easy to add, edit and delete data (especially considering the lack of redundancy this model allows).

Redundancy: with a well designed data structure there is normally no need to repeat any data in a relational data model as attributes can be accessed directly depending on the relationships created between tables.

Capacity: although many systems were capable of storing large amounts of data, earlier models could not record the relationships between the data elements and therefore capacity was generally limited to the requirements of the data (data dependence).

Speed & Versatility: despite being considered as resource hungry initially when computer resources were limited and expensive, the ability to build and query data indexes of any logical kind and query them on demand in a many-to-many relationship environment adds to overall system usability as no predecessor model could.

In conclusion, the relational data model provides a simple and fast way of using and querying large amounts of data whilst being simple to understand. Despite the emergence of new data modelling techniques, none have yet come to replace the relational data model.

References

Coronel, Morris & Rob (2009) Database Systems: Design, Implementation, and Management (9th Edition). Cengage Learning.

Marston, T. (2004) The Relational Database Model, Normalisation and Effective Database Design [Online]. Available at http://www.tonymarston.net/php-mysql/database-design.html#relational.db (Accessed 4 April 2010).

Navanthe, S. B. (1992) Communications of the ACM: Evolution of Data Modeling for Databases [Online]. Available from University of Liverpool Library (Accessed 4 April 2010).

Ullman, J. D. (1992) Computer Science: The Mechanization of Abstraction: The Relational Data Model [Online]. Available at http://infolab.stanford.edu/~ullman/focs/ch08.pdf (Accessed 4 April 2010).