A relational database is a database that conforms to the relational model, and refers to a database's data and schema (the database's structure of how those data are arranged). A Computer Database is a structured collection of records or data that is stored in a computer system The relational model for Database management is a Database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar Debt AIDS Trade in Africa (or DATA) is a Multinational non-government organization founded in January 2002 in London by U2 's A Logical Schema is a Data model of a specific problem domain expressed in terms of a particular data management technology Common usage of the term "Relational database management system" technically refers to the software used to create a relational database, but sometimes mistakenly refers to a relational database. A Relational database management system (RDBMS is a Database management system (DBMS that is based on the Relational model as introduced by E
The term relational database was originally defined and coined by E.F. Codd in 1970. Edgar Frank "Ted" Codd ( August 23, 1923 – April 18, 2003) was a British computer scientist who while working [1]
Relational databases have become the overwhelming choice for the storage of the tabular information that supports the world economy, including financial records, manufacturing and logistical information, personnel data and much more. Relational databases replaced hierarchical databases and network databases and have survived challenges from Object Databases. Hierarchical model redirects here For the statistics usage see Hierarchical linear modeling. The network model is a Database model conceived as a flexible way of representing objects and their relationships In an object database (also object oriented database) information is represented in the form of objects'' as used in Object-oriented programming. More recently, relational database have attempted to fight off challenges from XML databases, in part through the incorporation of basic XML functionality into relational database products. An XML database is a Data persistence software system that allows data to be stored in XML format
The three leading relational database vendors are Oracle, Microsoft, and IBM. Oracle Corporation ( specializes in developing and marketing Enterprise software products — particularly Database management systems In 2007 Oracle ranked Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology The leading open source implementations are MySQL and PostgreSQL. Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge MySQL is a Relational database management system (RDBMS which has more than 11 million installations PostgreSQL is an Object-relational database management system (ORDBMS
Contents |
Strictly, a relational database is a collection of relations (frequently called tables). This article sets out the set-theoretic notion of relation For a more elementary point of view see Binary relations and Triadic relations In Relational databases and Flat file databases a table is a set of data elements (values that is organized using a model of vertical columns (which are Other items are frequently considered part of the database, as they help to organize and structure the data, in addition to forcing the database to conform to a set of requirements.
Relational database theory uses a different set of mathematical-based terms, which are equivalent, or roughly equivalent, to SQL database terminology. The table below summarizes some of the most important relational database terms and their SQL database equivalents.
| Relational term | SQL equivalent |
|---|---|
| relation, base relvar | table |
| derived relvar | view, query result |
| tuple | row |
| attribute | column |
A relation is defined as a set of tuples that have the same attributes. This article sets out the set-theoretic notion of relation For a more elementary point of view see Binary relations and Triadic relations In Relational databases and Flat file databases a table is a set of data elements (values that is organized using a model of vertical columns (which are In Mathematics, a tuple is a Sequence (also known as an "ordered list" of values called the components of the tuple 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, which is organized into rows and columns. In Relational databases and Flat file databases a table is a set of data elements (values that is organized using a model of vertical columns (which are In the context of a Relational database, a row —also called a record or tuple —represents a single implicitly structured Data item in a In the context of a Relational database table, a column is a set of Data values of a particular simple type, one for each row of the All the data referenced by an attribute are in the same domain and conform to the same constraints. In Mathematics, the domain of a given function is the set of " Input " values for which the function is defined
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.
In a relational database, all data are stored and accessed via relations. In Relational databases a relvar is a term coined by C J Date as an Abbreviation for the concept of "relation variable" which is the actual In Database theory, a view is a stored query accessible as a virtual table composed of the result set of a query. Relations that store data 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". In Database theory, a view is a stored query accessible as a virtual table composed of the result set of a query. Derived relations are convenient in that though they may grab information from several relations, they act as a single relation. Also, derived relations can be used as an abstraction layer. This is about the concept in computer science for the concept in grouping see Principle of abstraction.
A domain describes the set of possible values for a given attribute. In Data management and Database analysis a data domain refers to all the unique values which a Data element may contain Because a domain constrains the attribute's values, it can be considered constraints. Mathematically, attaching a domain to an attribute means that "all values for this attribute must be an element of the specified set. "
The character data value 'ABC', for instance, is not in the integer domain. The integer value 123, satisfies the domain constraint.
Constraints are a way of implementing business rules in the database. Business rules or business rulesets describe the operations definitions and constraints that apply to an organization in achieving its goals For instance, a constraint can restrict an integer attribute to values between 1 and 10.
Constraints restrict the data that can be stored in relations. 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.
Constraints are not formally part of the relational model, but because of the integral role that they play in organizing data, they are usually discussed together with relational concepts.
A unique key is a kind of constraint that ensures that an object, or critical information about the object, occurs in at most one tuple in a given relation. A superkey is defined in the Relational model of Database organization as a Set of attributes of a relation variable ( Relvar) for which A superkey is defined in the Relational model of Database organization as a Set of attributes of a relation variable ( Relvar) for which For example, a school might want each student to have a separate locker. To ensure this, the database designer creates a key on the locker attribute of the student relation. Keys can include more than one attribute, for example, a nation may impose a restriction that no province can have two cities with the same name. The key would include province and city name. This would still allow two different provinces to have a town called Springfield because their province is different. A key over more than one attribute is called a compound key. In database design, a compound key is a key that consists of 2 or more attributes that uniquely identify an entity occurrence
A foreign key is a reference to a key in another relation, meaning that the referencing tuple has, as one of its attributes, the values of a key in the referenced tuple. In the context of Relational databases a foreign key is a referential constraint between two tables In the context of Relational databases a foreign key is a referential constraint between two tables In general a reference is a relation between objects in which one object designates by linking to another object Foreign keys need not have unique values in the referencing relation.
A foreign key could be 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".
A stored procedure is executable code that is associated with the database. A stored procedure is a Subroutine available to applications accessing a relational database system. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable Stored procedures usually collect and customize common operations, like inserting a tuple into a relation, or gathering statistical information about usage patterns. Frequently they are used as an application programming interface (API) for security or simplicity.
Stored procedures are not part of the relational database model, but all commercial implementations include them.
An index is one way of providing quicker access to data. A database index is a Data structure that improves the speed of operations on a database table. Indices can be created on any combination of attributes on a relation. Queries that filter using those attributes can find matching tuples randomly using the index, without having to check each tuple in turn. Relational databases typically supply multiple indexing techniques, each of which is optimal for some combination of data distribution, relation size, and typical access pattern. B+ trees, R-trees, and bitmaps. In Computer science, a B+ tree is a type of tree which represents sorted data in a way that allows for efficient insertion retrieval and removal of records R-trees are Tree data structures that are similar to B-trees but are used for spatial access methods i A bitmap index is a special kind of database index. Bitmap indexes have traditionally been considered to work well for data such as gender which has a small number of distinct
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.
Queries made against the relational database, and the derived relvars in the database are expressed in a relational calculus or a relational algebra. Relational algebra, an offshoot of First-order logic (and of Algebra of sets) deals with a set of relations closed under Operators Relational calculus consist of two calculi the Tuple relational calculus and the Domain relational calculus, that are part of the Relational model Relational algebra, an offshoot of First-order logic (and of Algebra of sets) deals with a set of relations closed under Operators In his original relational algebra, Dr. 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 remaining operators proposed by Dr. Codd involve special operations specific to relational
Other operators have been introduced or proposed since Dr. Codd's introduction of the original eight including relational comparison operators and extensions that offer support for nesting and hierarchical data, among others.
Normalization was first proposed by Dr. Database normalization, sometimes referred to as canonical synthesis, is a technique for designing Relational database tables to minimize duplication of Codd as an integral part of the relational model. It encompasses a set of best practices designed to eliminate the duplication of data, which in turn prevents data manipulation anomalies and loss of data integrity. Best Practice is an idea that asserts that there is a technique, method process activity incentive or reward that is more effective at delivering a particular outcome than The most common forms of normalization applied to databases are called the normal forms. Database normalization, sometimes referred to as canonical synthesis, is a technique for designing Relational database tables to minimize duplication of Normalization trades reducing redundancy for increased information entropy.