A relational database consists of a collection of tables that store particular sets of data. The invention of this database system has standardized the way that data is stored and processed. The concept of a relational database derives from the principles of relational algebra, realized as a whole by the father of relational databases, E. F. Codd. Most of the database systems in use today are based on the relational system; however, relational databases are built-in to software that people and companies purchase, so the database is generally invisible to the general public.
The history of the relational database began with Codd's 1970 paper, A Relational Model of Data for Large Shared Data Banks. This theory established that data should be independent of any hardware or storage system, and provided for automatic navigation between the data elements. In practice, this meant that data should be stored in tables and that relationships would exist between the different data sets, or tables.
The relation, which is a two-dimensional table, is the primary unit of storage in a relational database. A relational database can contain one or more of these tables, with each table consisting of a unique set of rows and columns. A single record is stored in a table as a row, also known as a tuple, while attributes of the data are defined in columns, or fields, in the table. The characteristics of the data, or the column, relates one record to another. Each column has a unique name and the content within it must be of the same type.
Tables can be related to each other in a variety of ways. Functional dependencies are formed when an attribute of one table relates to attributes of other tables. The simplest relationship is the one-to-one relationship, in which one record in a table is related to another record in a separate table. A one-to-many relationship is one in which one record in a table is related to multiple records in another table. A many-to-one relationship defines the reverse situation; more than one record in a single table relates to only one record in another table. Finally, in a many-to-many relationship, more than one record in a table relates to more than one record in another table.
When referring to a relational database, a key is an entity in a table that distinguishes one row of data from another. The key may be a single column, or it may consist of a group of columns that uniquely identifies a record. Tables can contain primary keys as well as foreign keys. Primary keys serve to differentiate records from one another; they can be an individual attribute or a combination of attributes. Foreign keys relate tables in the database to one another, and generally define the parent-to-child relationships between tables. Also, a foreign key in one table may be a primary key in another.
The data that is stored in tables is organized in a logical manner based on a particular purpose to help minimize duplication, reduce data anomalies, and reinforce data integrity. The process by which data is logically organized is called normalization; it not only simplifies the way data is defined, but it also regulates its structure. There are five forms in the normalization process, with each form meeting a more demanding condition. The first normal form, 1NF, meets the minimal requirements for normality and has the least data integrity, while the fifth normal form, or 5NF, structures the data with the least anomalies and the best integrity.
Stored data is manipulated using a programming language called Structured Query Language, or SQL. Many varieties of SQL exist, but most are based on set theory relational operators such as and, or, not, and in, all of which are used to perform operations on the data. The operations that can be used in relational databases include insert, select, update, and delete privileges.
In the early 2010s, the relational database management system (RDBMS), is the most commonly used database format; it is often used by businesses and corporations to help update and administer relational databases. Historically, there have been three leading RDBMS companies: Oracle®, who created the first commercial relational database in 1979; IBM®, who followed suit in 1982 with the SQL Data System, later renamed DB2®; and Microsoft®, who joined in with SQL Server® 4.2 in 1992. Other companies also offer RDBMS products, most of which can be purchased from the company's website or in retail stores that sale computer software, and prices vary depending on the company.