Home »
DBMS
Relational Calculus in DBMS
DBMS | Relation Calculus: In this tutorial, we will learn about relational calculus and its types with examples.
By Bharti Parmar Last updated : May 28, 2023
What is Relational Calculus?
In the database management system, the Relational Calculus is a declarative language that is used for determining the results from the database by using the predicate logic or first-order logic to determine the results from Database. Relational calculus theory was introduced by Edgar F. Codd.
Types of Relational Calculus
There is two type of relational calculus in DBMS:
- Tuple relational calculus
- Domain relational calculus
1) Tuple Relational Calculus
It is also known as predicate calculus. Tuple (t) variable range for all tuple of relation or table (R).
t.A --> Column ‘A’ of tuple ‘t’
Basic form: { T | P ( T ) } where, T is variable and P(T) is formula to fetch true tuple.
Like: { t.A1, t.A2 … t.Ai | θ }
where, t.A1, t.A2 ... t.Ai is predicate calculus expression and θ is condition.
Let, we have a table name Student [ R.No, Name, D.No, Gender ]
Example: - Find R.No and Name of all student in D.No is 2.
{ t.R.No, t.Name | t ϵ Student (Student(t)) ^ t.D.N0 = 2 }
Relational calculus uses variables, constant, comparison operators ( ==, >, <, >=, <=, != ), logical operators (˅ , ˄) and quantifiers ( Ǝ, ᵿ ).
Quantifier
Condition is expressed by use quantifier with a tuple variable. Two type of quantifiers is there Ǝ (there exists), ᵿ (for all) .
Like: -
- Ǝt (variable) -> R(θ(t)) (relation and condition)
- ᵿt (variable) -> R(θ(t)) (relation and condition)
- there exists a tuple in ‘t’ (set of tuple) in relation ‘R’ such that ‘θ’ predicate condition is true.
- Θ(t) is true for all tuple in ‘t’ in relation ‘R’.
Variable uses: Free tuple (no quantifier use), use quantifier in bound expression.
Example: List all the employee name who have no manager.
{ t.name | t ϵ emp ( Ǝ emp) ˄ manager = ‘NULL’ }
2) Domain Relational Calculus
Domain (d (attribute)) variable range for all domain (columns) of relation or table (R). It is similar work on all the domains (columns) as tuple relational calculus work for all row.
Basic form: { D | P ( D ) } where, D is variable and P(D) is formula to fetch true domain.
Like: { d.A1, d.A2 … d.Ai | θ }
where, d.A1, d.A2 ... d.Ai is domain calculus expression and θ is condition.
Let, we have a table name Student [ R.No, Name, D.No, gender ]
Example: - Find R.No and Name of all student in D.No is 2.
{ d.R.No, d.Name, d.D.No, d.gender | d ϵ Student (Student(d)) ^ d.D.N0 = 2 }