Header Ads Widget

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:

DBMS 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|  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.

 


Post a Comment

0 Comments