A **relational database** is based on the relational model of data, proposed by E. F. Codd in 1970. A digital system that uses such relational model is called a **relational database management system** or **RDBMS**. Most RDBMS use the [[SQL]] language for querying and maintaining the system.
The relational model can be summarized with some basic concepts:
- Data must be tabular and is organized in **tables** or **relations**.
- Tables have **columns** for data attributes and each of the **rows** represent a record that must define values for such attributes.
- The data model must define **relationships** between the tables.
- Relations can define **keys**: a **primary key** is used to uniquely identify each record of a table, and a **foreign key** is used to define the relationships between to tables.
- To query, modify or delete these records and tables you can use **[[SQL]]**, which defines operators based on relational calculus and algebra.