The relational model for database management is a database model based on first-order predicate logic. Edgar F. Codd proposed it in 1969. In the relational model of a database, all data is represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is called relational database.
The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it. The structure in which the data is stored, and the task of responding to users' requests and retrieving the data is left to the database system, and is not visible to the user.
Most relational databases use the SQL data definition and query language; these systems implement what can be regarded as an engineering approximation to the relational model. A table in an SQL database schema corresponds to a predicate variable; the contents of a table to a relation; key constraints, other constraints, and SQL queries correspond to predicates. Today, many database systems are different from the original model. Codd fiercely argued against deviations that compromise the original principles.
- "Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks", E.F. Codd, IBM Research Report, 1969
- Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
- Data Integration Glossary, U.S. Department of Transportation, August 2001.
- E. F. Codd, The Relational Model for Database Management, Addison-Wesley Publishing Company, 1990, ISBN 0-201-14192-2