The relational model is a way of structuring data that E. F. Codd introduced in his 1970 paper “A Relational Model of Data for Large Shared Data Banks.” In it, data is organized as relations, which can be thought of as tables made up of rows and columns. Each row is a tuple of values, and each column corresponds to an attribute drawn from some set of possible values.
A defining feature of the model is data independence: the way users see and query the data is kept separate from how the data is actually stored on disk. Codd argued that protecting users from the internal representation would let storage structures and access paths change without breaking the programs that depend on the data. This separation of the logical view from the physical layout is the model’s core promise.
Relations are connected through values rather than physical pointers. A key is a set of attributes that uniquely identifies each row, and rows in one table can reference rows in another by carrying matching key values. This value-based linking, combined with set-based operations, lets users ask questions of the data declaratively, by describing what they want rather than how to fetch it.
The relational model became the foundation for nearly all modern database systems and for the SQL query language. Its emphasis on a simple, regular structure grounded in the mathematics of sets is what makes relational databases both easy to reason about and amenable to automatic optimization.