x
Exact matches only
Search in title
Search in content
Search in excerpt
Filter by Custom Post Type

Relational Algebra and RDBMS

The relational algebra is essential for several reasons. First, it offers a formal structure for relational model operations. Second, and perhaps more important, it is used as a basis for implementing and optimizing queries in the query processing and optimization modules that are important parts of relational database management systems (RDBMSs). Third, some of its concepts are included into the SQL standard query language for RDBMSs. Although most commercial RDBMSs in use today do not provide an interface for relational algebra queries, the core operations and functions in the internal modules of the majority of relational systems are based on relational algebra operations.

Whereas the algebra defines a set of operations for the relational model, the relational calculus offers a higher-level declarative language for defining relational queries. In a relational calculus expression, there is no order of operations to define ways to obtain the query result– only what information the result must consist of. This is the main differentiating function between relational algebra and relational calculus. The relational calculus is important because it has a firm basis in mathematical logic and because the standard query language (SQL) for RDBMSs has a few of its foundations in a variety of relational calculus referred to as the tuple relational calculus.

The relational algebra is often considered to be an integral part of the relational data model. Its operations can be split into 2 groups. One group consists of set operations from mathematical set theory; these are applicable since each relation is defined to be a set of tuples in the formal relational model. Establish operations include UNION, INTERSECTION, SET DIFFERENCE, and also CARTESIAN PRODUCT (also known as CROSS PRODUCT). The other group includes operations developed particularly for relational databases– these include SELECT, PROJECT, and JOIN, among others.