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.