A relational database stores data in tables, each with named columns and a set of rows. It is built on the relational model that Edgar Codd defined at IBM in 1970, which represents data as mathematical relations and treats querying as operations on those relations. Users do not navigate pointers or fixed access paths; they describe the data they want and the system retrieves it.
IBM’s System R project was the first full implementation of this idea. The System R paper describes a system offering “a high level relational data interface” that emphasizes data independence, shielding users from the details of how data is physically stored. System R was also the first system to implement SQL, the query language introduced in the SEQUEL paper, which became the standard way to talk to relational databases.
Relational databases enforce integrity through keys and constraints. A primary key uniquely identifies each row in a table, and a foreign key links rows in one table to rows in another, letting the system guarantee that relationships between data remain consistent. Good schema design, including normalization, reduces redundancy so that each fact is stored in one place.
Because the relational approach combined a clear mathematical foundation, a portable standardized query language, and practical performance proven by systems like System R, relational databases became the dominant kind of database for decades and underpin a large share of business and web applications.