HOME

TheInfoList




A relational database is a digital
database In computing, a database is an organized collection of Data (computing), data stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal #Design and modeling, design and mode ...

database
based on the
relational model The relational model (RM) for database In computing, a database is an organized collection of Data (computing), data stored and accessed electronically from a computer system. Where databases are more complex they are often developed using form ...
of data, as proposed by
E. F. Codd Edgar Frank "Ted" Codd (19 August 1923 – 18 April 2003) was an English computer scientist who, while working for IBM, invented the relational model for database A database is an organized collection of data Data are units of informat ...
in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the
SQL SQL ( ''S-Q-L'', "sequel"; Structured Query Language) is a domain-specific languageA domain-specific language (DSL) is a computer languageA computer language is a method of communication with a computer A computer is a machine that can b ...

SQL
(Structured Query Language) for querying and maintaining the database.


History

The term "relational database" was invented by
E. F. Codd Edgar Frank "Ted" Codd (19 August 1923 – 18 April 2003) was an English computer scientist who, while working for IBM, invented the relational model for database A database is an organized collection of data Data are units of informat ...
at
IBM International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, with operations in over 170 countries. The company began in 1911, founded in Endicott, New York, as the C ...

IBM
in 1970. Codd introduced the term in his research paper "A Relational Model of Data for Large Shared Data Banks". In this paper and later papers, he defined what he meant by "relational". One well-known definition of what constitutes a relational database system is composed of
Codd's 12 rules Codd's twelve rules are a set of thirteen rules ( numbered zero to twelve) proposed by Edgar F. Codd, a pioneer of the relational model for database A database is an organized collection of data Data are units of information Informat ...
. However, no commercial implementations of the relational model conform to all of Codd's rules, so the term has gradually come to describe a broader class of database systems, which at a minimum: # Present the data to the user as relations (a presentation in tabular form, i.e. as a ''collection'' of
tables Table may refer to: * Table (information) A table is an arrangement of information or data, typically in rows and columns, or possibly in a more complex structure. Tables are widely used in communication, research, and data analysis. Tables ap ...
with each table consisting of a set of rows and
columns A column or pillar in architecture File:Plan d'exécution du second étage de l'hôtel de Brionne (dessin) De Cotte 2503c – Gallica 2011 (adjusted).jpg, upright=1.45, alt=Plan d'exécution du second étage de l'hôtel de Brionne (dessin) ...
); # Provide relational operators to manipulate the data in tabular form. In 1974, IBM began developing System R, a research project to develop a prototype RDBMS. The first system sold as an RDBMS was Multics Relational Data Store (June 1976).
Oracle An oracle is a person or agency Agency may refer to: * a governmental or other institution Institutions, according to Samuel P. Huntington, are "stable, valued, recurring patterns of behavior". Institutions can refer to mechanisms which go ...
was released in 1979 by Relational Software, now
Oracle Corporation Oracle Corporation is an American multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multinational ...
.
Ingres Jean-Auguste-Dominique Ingres ( , ; 29 August 1780 – 14 January 1867) was a French Neoclassical Neoclassical or neo-classical may refer to: * Neoclassicism or New Classicism, any of a number of movements in the fine arts, literature, t ...
and
IBM BS12 Business System 12, or simply BS12, was one of the first fully relational database management system A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain re ...
followed. Other examples of an RDBMS include
DB2 Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object–relational features and non-relational structures like JSON and X ...
, SAP Sybase ASE, and
Informix IBM Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) offerings. The Informix products were originally developed by Informix Corporation, whose Inf ...
. In 1984, the first RDBMS for
Macintosh Macintosh 128k The Macintosh 128K, originally released as the Apple Macintosh, is the original Apple Inc., Apple Macintosh personal computer. Its beige case consisted of a CRT monitor and came with a keyboard and mouse. A handle built into ...

Macintosh
began being developed, code-named Silver Surfer, and was released in 1987 as 4th Dimension and known today as 4D. The first systems that were relatively faithful implementations of the relational model were from: * University of Michigan – Micro DBMS (1969) * Massachusetts Institute of Technology (1971) * IBM UK Scientific Centre at Peterlee – IS1 (1970–72) and its successor,
PRTVPRTV (''Peterlee Relational Test Vehicle'') was the world's first relational database management system A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain r ...
(1973–79) The most common definition of an RDBMS is a product that presents a view of data as a collection of rows and columns, even if it is not based strictly upon
relational theory In physics Physics (from grc, φυσική (ἐπιστήμη), physikḗ (epistḗmē), knowledge of nature, from ''phýsis'' 'nature'), , is the natural science that studies matter, its Motion (physics), motion and behavior through Sp ...
. By this definition, RDBMS products typically implement some but not all of Codd's 12 rules. A second school of thought argues that if a database does not implement all of Codd's rules (or the current understanding on the relational model, as expressed by Christopher J. Date,
Hugh Darwen Hugh Darwen is a computer scientist who was an employee of IBM International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, with operations in over 170 countries. T ...
and others), it is not relational. This view, shared by many theorists and other strict adherents to Codd's principles, would disqualify most DBMSs as not relational. For clarification, they often refer to some RDBMSs as ''truly-relational database management systems'' (TRDBMS), naming others ''pseudo-relational database management systems'' (PRDBMS). As of 2009, most commercial relational DBMSs employ
SQL SQL ( ''S-Q-L'', "sequel"; Structured Query Language) is a domain-specific languageA domain-specific language (DSL) is a computer languageA computer language is a method of communication with a computer A computer is a machine that can b ...

SQL
as their
query language In general, a query is a form of question A question is an utterance which typically functions as a request for information, which is expected to be provided in the form of an answer. Questions can thus be understood as a kind of illocutionary ...
. Alternative query languages have been proposed and implemented, notably the pre-1996 implementation of Ingres QUEL.


Relational model

This model organizes data into one or more
tables Table may refer to: * Table (information) A table is an arrangement of information or data, typically in rows and columns, or possibly in a more complex structure. Tables are widely used in communication, research, and data analysis. Tables ap ...
(or "relations") of
columns A column or pillar in architecture File:Plan d'exécution du second étage de l'hôtel de Brionne (dessin) De Cotte 2503c – Gallica 2011 (adjusted).jpg, upright=1.45, alt=Plan d'exécution du second étage de l'hôtel de Brionne (dessin) ...
and rows, with a unique key identifying each row. Rows are also called
records A record, recording or records may refer to: An item or collection of data Computing * Record (computer science) In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures ...
or
tuple In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). ...
s. Columns are also called attributes. Generally, each table/relation represents one "entity type" (such as customer or product). The rows represent instances of that type of entity (such as "Lee" or "chair") and the columns representing values attributed to that instance (such as address or price). For example, each row of a class table corresponds to a class, and a class corresponds to multiple students, so the relationship between the class table and the student table is "one to many"


Keys

Each row in a table has its own unique key. Rows in a table can be linked to rows in other tables by adding a column for the unique key of the linked row (such columns are known as
foreign key A foreign key is a set of attributes in a table that refers to the primary key In the relational model The relational model (RM) for database A database is an organized collection of data Data are units of information Information can b ...
s). Codd showed that data relationships of arbitrary complexity can be represented by a simple set of concepts. Part of this processing involves consistently being able to select or modify one and only one row in a table. Therefore, most physical implementations have a unique
primary key In the relational model The relational model (RM) for database A database is an organized collection of data Data are units of information Information can be thought of as the resolution of uncertainty; it answers the question of "What ...
(PK) for each row in a table. When a new row is written to the table, a new unique value for the primary key is generated; this is the key that the system uses primarily for accessing the table. System performance is optimized for PKs. Other, more
natural key A natural key (also known as business key or domain key) is a type of unique key In database relational modeling and implementation, a unique key (also known as a candidate key or just a ''key'') is a set (mathematics), set of attributes (columns) ...
s may also be identified and defined as
alternate key In the relational model of databases, a primary key is a ''specific choice'' of a ''minimal'' set of attributes (Column (database), columns) that uniquely specify a tuple (Row (database), row) in a Relation (database), relation (Table (database), ta ...
s (AK). Often several columns are needed to form an AK (this is one reason why a single integer column is usually made the PK). Both PKs and AKs have the ability to uniquely identify a row within a table. Additional technology may be applied to ensure a unique ID across the world, a
globally unique identifier A universally unique identifier (UUID) is a 128-bit While there are currently no mainstream general-purpose processors built to operate on 128-bit ''integers'' or addresses, a number of processors do have specialized ways to operate on 128-bit ...
, when there are broader system requirements. The primary keys within a database are used to define the relationships among the tables. When a PK migrates to another table, it becomes a foreign key in the other table. When each cell can contain only one value and the PK migrates into a regular entity table, this design pattern can represent either a
one-to-one One-to-one or one to one may refer to: Mathematics and communication *One-to-one function, also called an injective function *One-to-one correspondence, also called a bijective function *One-to-one (communication), the act of an individual commun ...
or one-to-many relationship. Most relational database designs resolve
many-to-manyMany-to-many communication is a product of the Modern age, age of modernization that captures the increased role of the public in society. Scholar, Damien Pfister, addresses this paradigm's ability for interlocutors to sustain "large-scale, interlink ...
relationships by creating an additional table that contains the PKs from both of the other entity tables the relationship becomes an entity; the resolution table is then named appropriately and the two FKs are combined to form a PK. The migration of PKs to other tables is the second major reason why system-assigned integers are used normally as PKs; there is usually neither efficiency nor clarity in migrating a bunch of other types of columns.


Relationships

Relationships are a logical connection between different tables, established on the basis of interaction among these tables.


Transactions

In order for a database management system (DBMS) to operate efficiently and accurately, it must use ACID transactions.


Stored procedures

Most of the programming within a RDBMS is accomplished using
stored procedure A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data d ...
s (SPs). Often procedures can be used to greatly reduce the amount of information transferred within and outside of a system. For increased security, the system design may grant access to only the stored procedures and not directly to the tables. Fundamental stored procedures contain the logic needed to insert new and update existing data. More complex procedures may be written to implement additional rules and logic related to processing or selecting the data.


Terminology

The relational database was first defined in June 1970 by Edgar Codd, of IBM's San Jose Research Laboratory. Codd's view of what qualifies as an RDBMS is summarized in
Codd's 12 rules Codd's twelve rules are a set of thirteen rules ( numbered zero to twelve) proposed by Edgar F. Codd, a pioneer of the relational model for database A database is an organized collection of data Data are units of information Informat ...
. A relational database has become the predominant type of database. Other models besides the ''relational model'' include the
hierarchical database model A hierarchical database model is a data model in which the data are organized into a tree-like structure. The data are stored as records which are connected to one another through links. A record is a collection of fields, with each field containi ...
and the
network model The network model is a database model A database model is a type of data model A data model (or datamodel) is an abstract model that organizes elements of data Data are units of information Information can be thought of as the reso ...
. The table below summarizes some of the most important relational database terms and the corresponding
SQL SQL ( ''S-Q-L'', "sequel"; Structured Query Language) is a domain-specific languageA domain-specific language (DSL) is a computer languageA computer language is a method of communication with a computer A computer is a machine that can b ...

SQL
term:


Relations or tables

A '' relation'' is defined as a set of
tuple In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). ...
s that have the same
attributes Attribute may refer to: * Attribute (philosophy) In logic Logic (from Ancient Greek, Greek: grc, wikt:λογική, λογική, label=none, lit=possessed of reason, intellectual, dialectical, argumentative, translit=logikḗ)Also relate ...
. A tuple usually represents an object and information about that object. Objects are typically physical objects or concepts. A relation is usually described as a
table Table may refer to: * Table (information) A table is an arrangement of data Data are units of information Information can be thought of as the resolution of uncertainty; it answers the question of "What an entity is" and thus define ...
, which is organized into rows and
columns A column or pillar in architecture File:Plan d'exécution du second étage de l'hôtel de Brionne (dessin) De Cotte 2503c – Gallica 2011 (adjusted).jpg, upright=1.45, alt=Plan d'exécution du second étage de l'hôtel de Brionne (dessin) ...
. All the data referenced by an attribute are in the same
domain Domain may refer to: Mathematics *Domain of a function In mathematics, the domain of a Function (mathematics), function is the Set (mathematics), set of inputs accepted by the function. It is sometimes denoted by \operatorname(f), where is th ...
and conform to the same constraints. The relational model specifies that the tuples of a relation have no specific order and that the tuples, in turn, impose no order on the attributes. Applications access data by specifying queries, which use operations such as ''select'' to identify tuples, ''project'' to identify attributes, and ''join'' to combine relations. Relations can be modified using the ''insert'', ''delete'', and ''update'' operators. New tuples can supply explicit values or be derived from a query. Similarly, queries identify tuples for updating or deleting. Tuples by definition are unique. If the tuple contains a
candidate A candidate, or nominee, is the prospective recipient of an award or honor, or a person seeking or being considered for some kind of position; for example: * to be elected to an office — in this case a candidate selection procedure occurs. * ...
or primary key then obviously it is unique; however, a primary key need not be defined for a row or record to be a tuple. The definition of a tuple requires that it be unique, but does not require a primary key to be defined. Because a tuple is unique, its attributes by definition constitute a
superkey In the relational model The relational model (RM) for database management is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. ...
.


Base and derived relations

In a relational database, all data are stored and accessed via
relations Relation or relations may refer to: General uses *International relations, the study of interconnection of politics, economics, and law on a global level *Interpersonal relationship, association or acquaintance between two or more people *Public ...
. Relations that store data are called "base relations", and in implementations are called "tables". Other relations do not store data, but are computed by applying relational operations to other relations. These relations are sometimes called "derived relations". In implementations these are called " views" or "queries". Derived relations are convenient in that they act as a single relation, even though they may grab information from several relations. Also, derived relations can be used as an
abstraction layerIn computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and software. ...
.


Domain

A domain describes the set of possible values for a given attribute, and can be considered a constraint on the value of the attribute. Mathematically, attaching a domain to an attribute means that any value for the attribute must be an element of the specified set. The character string ''"ABC"'', for instance, is not in the integer domain, but the integer value ''123'' is. Another example of domain describes the possible values for the field "CoinFace" as ("Heads","Tails"). So, the field "CoinFace" will not accept input values like (0,1) or (H,T).


Constraints

Constraints make it possible to further restrict the domain of an attribute. For instance, a constraint can restrict a given integer attribute to values between 1 and 10. Constraints provide one method of implementing
business rulesA business rule defines or constrains some aspect of business Business is the activity of making one's living or making money by producing or buying and selling Product (business), products (such as goods and services). Simply put, it is "any ac ...
in the database and support subsequent data use within the application layer. SQL implements constraint functionality in the form of
check constraintA check constraint is a type of integrity constraint in SQL which specifies a requirement that must be met by each row (database), row in a database table (database), table. The constraint must be a Predicate (mathematical logic), predicate. It can r ...
s. Constraints restrict the data that can be stored in
relations Relation or relations may refer to: General uses *International relations, the study of interconnection of politics, economics, and law on a global level *Interpersonal relationship, association or acquaintance between two or more people *Public ...
. These are usually defined using expressions that result in a boolean value, indicating whether or not the data satisfies the constraint. Constraints can apply to single attributes, to a tuple (restricting combinations of attributes) or to an entire relation. Since every attribute has an associated domain, there are constraints (domain constraints). The two principal rules for the relational model are known as entity integrity and referential integrity.


Primary key

Each relation/table has a primary key, this being a consequence of a relation being a set. A primary key uniquely specifies a tuple within a table. While natural attributes (attributes used to describe the data being entered) are sometimes good primary keys,
surrogate key A surrogate key (or synthetic key, pseudokey, entity identifier, system-generated key, database sequence number, factless key, technical key, or arbitrary unique identifier) in a database A database is an organized collection of data Data are ...
s are often used instead. A surrogate key is an artificial attribute assigned to an object which uniquely identifies it (for instance, in a table of information about students at a school they might all be assigned a student ID in order to differentiate them). The surrogate key has no intrinsic (inherent) meaning, but rather is useful through its ability to uniquely identify a tuple. Another common occurrence, especially in regard to N:M cardinality is the composite key. A composite key is a key made up of two or more attributes within a table that (together) uniquely identify a record.


Foreign key

A foreign key is a field in a relational table that matches the primary key column of another table. It relates the two keys. Foreign keys need not have unique values in the referencing relation. A foreign key can be used to
cross-referenceThe abbrevation Xref can refer also to External Reference The term cross-reference (abbreviation: xref) can refer to either: * An instance within a document which refers to related information elsewhere in the same document. In both printed and on ...
tables, and it effectively uses the values of attributes in the referenced relation to restrict the domain of one or more attributes in the referencing relation. The concept is described formally as: "For all tuples in the referencing relation projected over the referencing attributes, there must exist a tuple in the referenced relation projected over those same attributes such that the values in each of the referencing attributes match the corresponding values in the referenced attributes."


Stored procedures

A stored procedure is executable code that is associated with, and generally stored in, the database. Stored procedures usually collect and customize common operations, like inserting a
tuple In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). ...
into a relation, gathering statistical information about usage patterns, or encapsulating complex
business logicIn computer software Software is a collection of instructions that tell a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform gene ...
and calculations. Frequently they are used as an
application programming interface In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...
(API) for security or simplicity. Implementations of stored procedures on SQL RDBMS's often allow developers to take advantage of procedural extensions (often vendor-specific) to the standard declarative SQL syntax. Stored procedures are not part of the relational database model, but all commercial implementations include them.


Index

An index is one way of providing quicker access to data. Indices can be created on any combination of attributes on a relation. Queries that filter using those attributes can find matching tuples directly using the index (similar to
Hash table In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and ...
lookup), without having to check each tuple in turn. This is analogous to using the index of a book to go directly to the page on which the information you are looking for is found, so that you do not have to read the entire book to find what you are looking for. Relational databases typically supply multiple indexing techniques, each of which is optimal for some combination of data distribution, relation size, and typical access pattern. Indices are usually implemented via
B+ tree In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , ...
s,
R-tree R-trees are tree data structures used for spatial index, spatial access methods, i.e., for indexing multi-dimensional information such as Geographic coordinate system, geographical coordinates, rectangles or polygons. The R-tree was proposed by ...

R-tree
s, and
bitmaps In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index. As a verb , the term "bitmap" is very often used to refer to a particular bitmapping application: the p ...
. Indices are usually not considered part of the database, as they are considered an implementation detail, though indices are usually maintained by the same group that maintains the other parts of the database. The use of efficient indexes on both primary and foreign keys can dramatically improve query performance. This is because B-tree indexes result in query times proportional to log(n) where n is the number of rows in a table and hash indexes result in constant time queries (no size dependency as long as the relevant part of the index fits into memory).


Relational operations

Queries made against the relational database, and the derived relvars in the database are expressed in a
relational calculusThe relational calculus consists of two calculi, the tuple relational calculus and the domain relational calculus, that are part of the relational model for databases and provide a declarative way to specify database queries. The relational calcu ...
or a
relational algebra In database theory, relational algebra is a theory that uses algebraic structures with a well-founded semantics for modeling data, and defining queries on it. The theory has been introduced by Edgar F. Codd. The main application of relational ...
. In his original relational algebra, Codd introduced eight relational operators in two groups of four operators each. The first four operators were based on the traditional mathematical set operations: * The union operator (υ) combines the tuples of two
relations Relation or relations may refer to: General uses *International relations, the study of interconnection of politics, economics, and law on a global level *Interpersonal relationship, association or acquaintance between two or more people *Public ...
and removes all duplicate tuples from the result. The relational union operator is equivalent to the SQL UNION operator. * The
intersection The line (purple) in two points (red). The disk (yellow) intersects the line in the line segment between the two red points. In mathematics, the intersection of two or more objects is another, usually "smaller" object. Intuitively, the inter ...
operator (∩) produces the set of tuples that two relations share in common. Intersection is implemented in SQL in the form of the INTERSECT operator. * The
set difference In set theory illustrating the intersection (set theory), intersection of two set (mathematics), sets. Set theory is a branch of mathematical logic that studies Set (mathematics), sets, which informally are collections of objects. Although any ...
operator (-) acts on two relations and produces the set of tuples from the first relation that do not exist in the second relation. Difference is implemented in SQL in the form of the EXCEPT or MINUS operator. * The
cartesian product In mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra), shapes and spaces in which they are contained (geometry), and quantities and ...
(X) of two relations is a join that is not restricted by any criteria, resulting in every tuple of the first relation being matched with every tuple of the second relation. The cartesian product is implemented in SQL as the
Cross join A join clause in SQL – corresponding to a Join (relational algebra), join operation in relational algebra – combines column (database), columns from one or more table (database), tables into a new table. American National Standards Institute, AN ...
operator. The remaining operators proposed by Codd involve special operations specific to relational databases: * The selection, or restriction, operation (σ) retrieves tuples from a relation, limiting the results to only those that meet a specific criterion, i.e. a
subset In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). ...

subset
in terms of set theory. The SQL equivalent of selection is the SELECT query statement with a
WHERE Where may refer to: * Where?, one of the Five Ws in journalism * where (command), a shell command * Where (SQL), a database language clause * Where.com, a provider of location-based applications via mobile phones * Where (magazine), ''Where'' (mag ...
clause. * The projection operation (π) extracts only the specified attributes from a tuple or set of tuples. * The join operation defined for relational databases is often referred to as a natural join (⋈). In this type of join, two relations are connected by their common attributes. MySQL's approximation of a natural join is the
Inner join A join clause in SQL – corresponding to a Join (relational algebra), join operation in relational algebra – combines column (database), columns from one or more table (database), tables into a new table. American National Standards Institute, AN ...
operator. In SQL, an INNER JOIN prevents a cartesian product from occurring when there are two tables in a query. For each table added to a SQL Query, one additional INNER JOIN is added to prevent a cartesian product. Thus, for N tables in an SQL query, there must be N−1 INNER JOINS to prevent a cartesian product. * The (÷) operation is a slightly more complex operation and essentially involves using the tuples of one relation (the dividend) to partition a second relation (the divisor). The relational division operator is effectively the opposite of the cartesian product operator (hence the name). Other operators have been introduced or proposed since Codd's introduction of the original eight including relational comparison operators and extensions that offer support for nesting and hierarchical data, among others.


Normalization

Normalization was first proposed by Codd as an integral part of the relational model. It encompasses a set of procedures designed to eliminate non-simple domains (non-atomic values) and the redundancy (duplication) of data, which in turn prevents data manipulation anomalies and loss of data integrity. The most common forms of normalization applied to databases are called the
normal forms Database normalization is the process of structuring a database A database is an organized collection of data Data are units of information Information can be thought of as the resolution of uncertainty; it answers the question of ...
.


RDBMS

Connolly and Begg define Database Management System (DBMS) as a "software system that enables users to define, create, maintain and control access to the database". RDBMS is an extension of that acronym that is sometimes used when the underlying database is relational. An alternative definition for a ''relational database management system'' is a database management system (DBMS) based on the
relational model The relational model (RM) for database In computing, a database is an organized collection of Data (computing), data stored and accessed electronically from a computer system. Where databases are more complex they are often developed using form ...
. Most databases in widespread use today are based on this model. RDBMSs have been a common option for the storage of information in databases used for financial records, manufacturing and logistical information, personnel data, and other applications since the 1980s. Relational databases have often replaced legacy
hierarchical database A hierarchical database model is a data model A data model (or datamodel) is an abstract model that organizes elements of data Data are units of information Information can be thought of as the resolution of uncertainty; it answers the ...

hierarchical database
s and
network database The network model is a conceived as a flexible way of representing objects and their relationships. Its distinguishing feature is that the schema, viewed as a graph in which object types are nodes and relationship types are arcs, is not restric ...
s, because RDBMS were easier to implement and administer. Nonetheless, relational stored data received continued, unsuccessful challenges by
object database An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "Objec ...
management systems in the 1980s and 1990s, (which were introduced in an attempt to address the so-called
object–relational impedance mismatch The object–relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program (or multiple application programs ...
between relational databases and object-oriented application programs), as well as by
XML database An XML database is a data persistence In computing, a persistent data structure or not ephemeral data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively Im ...
management systems in the 1990s. However, due to the expanse of technologies, such as
horizontal scaling Scalability is the property of a system to handle a growing amount of work by adding resources to the system. In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a p ...
of
computer cluster A computer cluster is a set of computers A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operati ...
s,
NoSQL A NoSQL (originally referring to "non-SQL SQL ( ''S-Q-L'', "sequel"; Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or fo ...
databases have recently become popular as an alternative to RDBMS databases.


Distributed relational databases

Distributed Relational Database Architecture (DRDA) was designed by a workgroup within IBM in the period 1988 to 1994. DRDA enables network connected relational databases to cooperate to fulfill SQL requests. The messages, protocols, and structural components of DRDA are defined by the
Distributed Data Management Architecture Distributed Data Management Architecture (DDM) is IBM's open, published software architecture for creating, managing and accessing data on a remote computer. DDM was initially designed to support #Record-oriented files, record-oriented files; it was ...
.


Market share

According to DB-Engines, in March 2021, the most widely used systems were: #
Oracle Database Oracle Database (commonly referred to as Oracle DBMS or simply as Oracle) is a multi-model database management system In computing, a database is an organized collection of Data (computing), data stored and accessed electronically from a co ...
#
MySQL MySQL () is an open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source m ...
#
Microsoft SQL Server Microsoft SQL Server is a relational database management system A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a ...
#
PostgreSQL PostgreSQL (, ), also known as Postgres, is a free and open-source Free and open-source software (FOSS) is software that is both free software and open-source software where anyone is free software license, freely licensed to use, copy, stu ...
(free software) #
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object–relational features and non-relational structures like JSON and ...
#
SQLite SQLite (, ) is a (RDBMS) contained in a . In contrast to many other , SQLite is not a database engine. Rather, it is embedded into the end program. SQLite generally follows syntax. SQLite uses a dynamically and that does not guarantee ...
(free software) #
Microsoft Access Microsoft Access is a database management system A database is an organized collection of Data (computing), data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed us ...
#
MariaDB MariaDB is a community-developed, commercially supported Fork (software development), fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Developme ...
(free software) # Hive (free software; specialized for
data warehouse In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and sof ...
s). #
Teradata Teradata Corporation is an American software Software is a collection of instructions that tell a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern ...
#
Microsoft Azure SQL Database Microsoft Azure SQL Database (formerly SQL Azure, SQL Server Data Services, SQL Services, and Windows Azure SQL Database) is a managed cloud database (PaaS Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based ...
According to research company
Gartner Gartner, Inc, officially known as Gartner, is a Stamford, Connecticut Stamford () is a city in the U.S. state of Connecticut. It is the second-most populous city in Fairfield County, Connecticut, Fairfield County and Connecticut (behind B ...

Gartner
, in 2011, the five leading
proprietary software Proprietary software, also known as non-free software or closed-source software, is computer software for which the software's publisher or another person reserves some rights from licenses to use, modify, share modifications, or share the softwa ...
relational database vendors by revenue were
Oracle An oracle is a person or agency Agency may refer to: * a governmental or other institution Institutions, according to Samuel P. Huntington, are "stable, valued, recurring patterns of behavior". Institutions can refer to mechanisms which go ...
(48.8%),
IBM International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, with operations in over 170 countries. The company began in 1911, founded in Endicott, New York, as the C ...

IBM
(20.2%),
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation which produces Software, computer software, consumer electronics, personal computers, and related services. Its best-know ...

Microsoft
(17.0%),
SAP SAP SE () is a German multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multinational state, a sove ...
including
Sybase Sybase, Inc. was an enterprise software and services company that produced software to manage and analyze information in relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP AG, SAP in 2010 ...
(4.6%), and
Teradata Teradata Corporation is an American software Software is a collection of instructions that tell a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern ...
(3.7%).


See also

*
SQL SQL ( ''S-Q-L'', "sequel"; Structured Query Language) is a domain-specific languageA domain-specific language (DSL) is a computer languageA computer language is a method of communication with a computer A computer is a machine that can b ...

SQL
*
Object database An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "Objec ...
(OODBMS) *
Online analytical processingOnline analytical processing, or OLAP (), is an approach to answer multi-dimensional analytical (MDA) queries swiftly in computing. OLAP is part of the broader category of business intelligence, which also encompasses relational databases, report wri ...
(OLAP) and
ROLAPOnline analytical processing, or OLAP (), is an approach to answer multi-dimensional analyticalIn statistics, econometrics, and related fields, multidimensional analysis (MDA) is a data analysis process that groups data into two categories: data dime ...
(Relational Online Analytical Processing) *
Data warehouse In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and sof ...
*
Star schema In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwar ...
*
Snowflake schema In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...

Snowflake schema
*
List of relational database management systems This is a list of relational database management systems. List of software * 4th Dimension * Adabas D *Airtable *Apache Derby *Aster Data Systems, Aster Data *Amazon Relational Database Service, Amazon Aurora *Altibase *DATACOM/DB, CA Datacom *ID ...
*
Comparison of relational database management systems The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are bas ...


References


Sources

*


External links

{{DEFAULTSORT:Relational Database Database theory Types of databases English inventions Computer-related introductions in 1969