Databases built using the relational model use a separate, uniquely-structured table for every different type of data (customers, orders, products etc). Each table comprises a number of columns: customer number, name, address and so on.

To build and maintain applications, programmers have to know the precise structure of every table and the meaning of every column.

As applications are developed, the database's structure becomes embedded in the programs, so when users' requirements change, each affected program has to be modified by a programmer with precise knowledge of that structure.

When the relational model was invented in 1970, a large application would have comprised maybe 50 tables and 100 programs.

Today, enterprise applications can comprise 20,000 tables or more, and correspondingly vast numbers of programs. This is why modern database applications are so costly to build and maintain.


By contrast, the associative model uses a single, common structure for all types of data. Information about the logical structure of the data and the rules that govern it are stored alongside the data in the database.

This allows programmers to work at a higher level of abstraction without having to know the structure of every data item, developing truly reusable programs that can operate on every type of data without modification.

Ted Codd, the inventor of the relational model, said "Future users of large data banks must be protected from having to know how the data is organized in the machine."

The aim of Codd's relational model was to free programmers from having to know the physical structure of data

The aim of the associative model is to free them in addition from having to know its logical structure.



  Copyright © 2013 - 2015 Lazysoft Ltd.  All Rights Reserved.