- is a set of principles for relational databases formalized by Dr. E.F. Codd in the late 1960s.
- is a database model based on first-order predicate logic
based on Mathematical Set Theory and first formulated and proposed in 1969 by E.F. Codd.
In the relational model of a database, all data is represented in terms of:
grouped into relation (table).
The purpose of the relational model is to provide a declarative method for specifying data and queries:
- we directly state what information the database contains and what information we want from it,
- and let the database management system software take care of describing data structures for storing the data and retrieval procedures for getting queries answered.
IBM's original implementation of Codd's ideas was System R.
There have been several commercial and open source products based on Codd's ideas, including:
- IBM's DB2,
- Oracle Database,
- Microsoft SQL Server,
- and many others.
Most of these use the SQL data definition and query language.
In an SQL database schema:
- A table corresponds to a predicate variable.
- The contents of a table to a relation
- key constraints, other constraints, and SQL queries correspond to predicates.
However, it must be noted that SQL databases, including DB2, deviate from the relational model in many details. Codd fiercely argued against deviations that compromise the original principles.
The relational database implements this kind of features (non-exhaustive)