A relational database is a digital database whose organization is based on the relational model of data, as proposed by E.F. Codd in 1970. This model organizes data into one or more tables (or “relations”) of rows and columns, with a unique key for each row. Generally, each entity type described in a database has its own table, the rows representing instances of that entity and the columns representing the attribute values describing each instance. Because each row in a table has its own unique key, rows in other tables that are related to it can be linked to it by storing the original row’s unique key as an attribute of the secondary row (where it is known as a “foreign key”). Codd showed that data relationships of arbitrary complexity can be represented using this simple set of concepts. Prior to the advent of this model, databases were usually hierarchical, and each tended to be organized with a unique mix of indexes, chains, and pointers. The simplicity of the relational model led to its soon becoming the predominant type of database. The various software systems used to maintain relational databases are known as Relational Database Management Systems (RDBMS). Virtually all relational database systems use SQL (Structured Query Language) as the language for querying and maintaining the database.