Relational Calculus
Relational
Calculus
- Relational
calculus is a non-procedural query language. In the non-procedural query
language, the user is concerned with the details of how to obtain the end
results.
- The
relational calculus tells what to do but never explains how to do.
Types of Relational
calculus:

1. Tuple Relational
Calculus (TRC)
- The
tuple relational calculus is specified to select the tuples in a relation.
In TRC, filtering variable uses the tuples of a relation.
- The
result of the relation can have one or more tuples.
Notation:
1.
{T | P (T)} or {T | Condition (T)}
Where
T is the resulting tuples
P(T) is the condition used to fetch T.
For example:
1.
{ T.name | Author(T) AND T.article = 'database' }
OUTPUT: This query selects the tuples from the AUTHOR relation. It
returns a tuple with 'name' from Author who has written an article on
'database'.
TRC (tuple relation calculus) can be quantified. In TRC, we can
use Existential (β) and Universal Quantifiers
(β).
For example:
1.
{ R| βT β Authors(T.article='database' AND R.name=T.name)}
Output: This query will yield the same result as the previous one.
2. Domain Relational
Calculus (DRC)
- The
second form of relation is known as Domain relational calculus. In domain
relational calculus, filtering variable uses the domain of attributes.
- Domain
relational calculus uses the same operators as tuple calculus. It uses
logical connectives β§ (and), β¨
(or) and β
(not).
- It
uses Existential (β) and Universal Quantifiers (β) to bind the variable.
Notation:
1.
{ a1, a2, a3, ..., an | P (a1, a2, a3, ... ,an)}
Where
a1, a2 are attributes
P stands for formula built by inner attributes
For example:
1.
{< article, page, subject > | β javatpoint β§ subject = 'database'}
Output: This query will yield the article, page, and subject from
the relational javatpoint, where the subject is a database.
Labels: Data Base Management System, DBMS Unit-2
Discussion & Queries (<$I18NNumComments$>):
<$CommentPager$>
- <$I18NAtCommentTimeWithPermalink$>, <$I18NCommentAuthorSaid$>
<$CommentPager$>
<$BlogCommentBody$>
<$BlogCommentDeleteIcon$>