📝 Feedback

Tuple Relational Calculus

This article introduces the language called tuple relational calculus, and another article will feature a variation called domain relational calculus. In both variations of relational calculus, we create one declarative expression to specify a retrieval request; hence, there is no description of how, or in what order, to examine a query. A calculus expression defines what is to be retrieved instead of how to recover it. Therefore, the relational calculus is considered to be a nonprocedural language. This varies from relational algebra, where we must write a sequence of operations to define a retrieval request in a specific order of applying the operations; therefore, it can be considered as a procedural way of stating a query. It is possible to nest algebra operations to form a single expression; however, a certain order among the operations is always clearly specified in a relational algebra expression. This order also affects the method for examining the query. A calculus expression could be written in various ways, but the means it is written has no bearing on exactly how a query should be examined.

It has been shown that any retrieval that can be defined in the standard relational algebra can also be specified in relational calculus, as well as the other way around; in other words, the expressive power of the languages is identical. This brought about the interpretation of the concept of a relationally complete language. A relational query language L is considered relationally complete if we could express in L any query that can be expressed in relational calculus. Relational efficiency has become an important basis for comparing the expressive power of high-level query languages. However, certain often required queries in database applications could not be expressed in standard relational algebra or calculus. Most relational query languages are relationally complete but have much more expressive power than relational algebra or relational calculus due to additional operations such as aggregate functions grouping, and also ordering. As mentioned earlier, the relational calculus is essential for two reasons. First, it has a firm basis in mathematical logic. Second, the standard query language (SQL) for RDBMSs has its basic foundation in the tuple relational calculus.


Rate this Article: 1 Star2 Stars3 Stars4 Stars5 Stars (45 votes, average: 4.75 out of 5)
Trusted By The World’s Best