Query Console

Read the table and the query, predict the result set, then run to check. Rows always matter; order matters only when the query asks for it.

Loading…

Where this idea comes from

Codd’s tables and SEQUEL

In 1970 Edgar F. Codd, a mathematician at IBM’s research lab in San Jose, California, published “A Relational Model of Data for Large Shared Data Banks”. He proposed keeping data in tables he called relations, and asking questions about them in logic rather than telling the computer where to look. In 1974 two IBM colleagues, Donald Chamberlin and Raymond Boyce, designed a language for those questions meant to read like English: SEQUEL, the Structured English Query Language. It was later renamed SQL because another company already held SEQUEL as a trademark.

One thing to hold: A table of rows, which Codd defined as a set. A set has no first or third member, so a table has no row order until a query asks for one.

Why it matters: That is why a query without ORDER BY may return its rows in any order: the order was never part of the data. And it is why SQL reads SELECT … FROM … WHERE …: you say what you want, and the database works out how to fetch it.

What we don’t know: People still say it both ways, “sequel” and “S-Q-L”, and still argue about which is right.

Dates:

  1. 1970 Codd publishes the relational model.
  2. 1974 Chamberlin and Boyce describe SEQUEL.
  3. 1981 Codd receives the Turing Award for the relational model.
  4. 1986 SQL becomes an ANSI standard.

Sources: E. F. Codd, “A Relational Model of Data for Large Shared Data Banks”, Communications of the ACM 13(6), June 1970 · D. D. Chamberlin & R. F. Boyce, “SEQUEL: A Structured English Query Language”, Proceedings of the 1974 ACM SIGFIDET Workshop · D. D. Chamberlin, “Early History of SQL”, IEEE Annals of the History of Computing 34(4), 2012