I propose to gather pointers to descriptions of the conceptual foundations of relational data base technology.

As prelude I was astonished when Ted Codd’s original RLDB ideas came out that the highly arcane (but simple) mathematical theory of relations as developed by Whitehead and Russell were to be so directly applied to a practical way of keeping data in a computer. I had just finished a math education heavy on logic and I thought I knew what was possible with computers. The combination blindsided me. I shoulda seen it coming. I had been infected by the ideas from Codasyl but had not dreamed of the idea that, short of rewritting all the code, one could decide after a data base had been created to change whether some field of a file was an index.

The new idea was to abstract the problem of navigating thru a database from the rest of the application. This abstraction allowed changing details of actual database implementation while leaving the application code unchanged.

I just ran across Microsoft’s “Entity Data Model” which is described briefly here. I am disturbed that whether a field is a key is taken as a foundational issue rather than merely a implementation and state restraint issue. I grant that such compromises may gain very large implementation benefits.