Hacker News new | ask | show | jobs
by sriram_malhar 638 days ago
Relational algebra has nothing to do with spinning disks or even for the needs of the databases of the time.

Check out E.F. Codd's paper in CACM from June 1970. https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf

It starts with "Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation)".

It goes on to say, "(The relational model) provides a means of describing data with its natural structure only - that is, without superimposing any additional structure for machine representation purposes".

2 comments

For some more backstory[1] see Sowa, who was also an IBM researcher at the time:

  George Boole (1847, 1854) applied his algebra to propositions, sets, and monadic predicates. The expression p×q, for example, could represent the conjunction of two propositions, the intersection of two sets, or the conjunction of two monadic predicates. With his algebra of dyadic relations, Peirce (1870) made the first major breakthrough in extending symbolic logic to predicates with two arguments (or subjects, as he called them). With that notation, he could represent expressions such as "lovers of women with bright green complexions". That version of the relational algebra was developed further by Ted Codd (1970, 1971), who earned his PhD under Arthur Burks, the editor of volumes 7 and 8 of Peirce’s Collected Papers. At IBM, Codd promoted relational algebra as the foundation for database systems, a version of which was adopted for the query language SQL, which is used in all relational database systems today. Like Peirce’s version, Codd’s relational algebra and the SQL language leave the existential quantifier implicit and require a double negation to express universal quantification.


[1] http://www.jfsowa.com/peirce/ms514.htm
You win!