Switch to: V10V9V8V7V6V5

Relational Database Model

In 1970, E. F. Codd, a member of the IBM Research Laboratory in San Jose, California, published his now famous paper, A Relational Model for Large Shared Data Banks in which were defined a set of abstract principles for database management. A definition of the relational model has been attempted by C. J. Date.

The relational model consists of three components:

  1. A Structural component – a set of TABLES (also called RELATIONS).
  2. MANIPULATIVE component consisting of a set of high-level operations which act upon and produce whole tables.
  3. A SET OF RULES for maintaining the INTEGRITY of the database.

Table/Relation this is flat table from columns and records. Each column contains values of the same type (domain). Most of RDBMS support several standard column types, such as numeric, string, datetime.

A field, values of which identify a record of Table is named Key Field. For some Tables a record can be indentified only by combination of several fields. In this case we say that Table have compound Key. The Table may contains several Key Fields also. One of Keys must be choosed as the Primary Key.

Let's note important feature of relational model. If in the network and hierarchical models records are linked with the help of “Group Relation”, then in relational model there is no such abstraction. To link records a key duplication is used. The fields that are copy of Key of other Tables are named Foreign Key.

On this picture you can see that Tables Person and Phone have Key Fields ID. And Table Phone have Foreign Key field “Person_ptr”.

NOTES: Most RDBMS tools often name foreign key fields as “Person_id”, so many developers are used to such style of naming. We instead offer you consider foreign key field as pointer to a parent record. And therefore name it as “Person_Ptr”.

NOTES: pay attention that in relational model usually a Table have additional ID filed and can have one or more foreign keys.

Relational model, in contrast to the network model do not use any hidden mechanisms to link records. Foreign Keys play role of pointers by value.

TIP: newbie developers often are confused where to put FOREIGN KEY field. Remember, that It must be located in the MANY table always.

External Links

Relational Model for Database Management: Version 2 - Dr. Codd, an IBM researcher, first developed the relational data model in 1970 (eg., A relational model of data for large shared data banks: 1970 Communications of the ACM Vol 136:377-387) and spawned a whole industry. In this 1990 book, Codd introduces “Version 2”, where he collects a number of his ideas and extends his model.

An Introduction to Database Systems - An Introduction to Database Systems by C.J. Date.