Pages

08 April, 2022

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

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, the 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.

No comments:

Post a Comment

Thanks