01Overview

In 1970 Codd at IBM published a paper proposing to represent data as relations — tables — and describe queries in first-order logic. Hierarchical and network databases before it forced programmers to navigate physical structure; the relational model separated what you want from how to get it.

In 1974 the System R prototype delivered SQL and query optimisation; in 1979 Oracle shipped the first commercial relational database. The model survived the objection that it could not be as fast as network databases, and won on optimisers and transaction support. Today almost every data system inherits its interface in some form.

02History

  1. 1970

    Codd's relational model

    Tables, relational algebra and data independence.

  2. 1974

    System R

    A prototype of SQL and query optimisation.

  3. 1979

    Oracle goes commercial

    The relational database reaches the market.

  4. 1986

    SQL is standardised

    ANSI SQL.

03Core concepts

Relation

A table of rows and columns, mathematically a set of tuples.

Relational algebra

An algebra of selection, projection, join and the rest.

Data independence

Logical structure separated from physical storage, so applications survive storage changes.

04Hands-on

Do it once — it beats reading it ten times

Take a spreadsheet and express five of its questions as relational algebra, then as SQL — compare which one hid the work

05Self-check

Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.

Can you explain "Relation"?

A table of rows and columns, mathematically a set of tuples.

Can you explain "Relational algebra"?

An algebra of selection, projection, join and the rest.

Can you explain "Data independence"?

Logical structure separated from physical storage, so applications survive storage changes.

What problem did it solve, and why was there nothing better at the time?

Go back to the history section: how was this done before, and what did it cost?

If you had to build it today, how would you break it down?

Use the hands-on task above: write a plan of at most three steps before you start.

06Key people

E

Edgar F. Codd

1923 – 2003

Proposed the relational model.

D

Donald Chamberlin

1944 –

Co-designer of SQL.

07Further reading

  • The Relational Model for Database ManagementEdgar F. Codd · 1990
  • Database System ConceptsSilberschatz et al. · 1997