Domain Relational Calculus is a non-procedural query language equivalent in power to Tuple Relational Calculus. Domain Relational Calculus provides only the description of the query but it does not provide the methods to solve it. In Domain Relational Calculus, a query is expressed as,
{ < x1, x2, x3, ..., xn > | P (x1, x2, x3, ..., xn ) }
where, < x1, x2, x3, …, xn > represents resulting domains variables and P (x1, x2, x3, …, xn ) represents the condition or formula equivalent to the Predicate calculus.
Predicate Calculus Formula:
Predicate Calculus Formula:
- Set of all comparison operators
- Set of connectives like and, or, not
- Set of quantifiers
Example:
Table-1: Customer
| CUSTOMER NAME | STREET | CITY |
|---|---|---|
| Debomit | Kadamtala | Alipurduar |
| Sayantan | Udaypur | Balurghat |
| Soumya | Nutanchati | Bankura |
| Ritu | Juhu | Mumbai |
Table-2: Loan
| LOAN NUMBER | BRANCH NAME | AMOUNT |
|---|---|---|
| L01 | Main | 200 |
| L03 | Main | 150 |
| L10 | Sub | 90 |
| L08 | Main | 60 |
Table-3: Borrower
| CUSTOMER NAME | LOAN NUMBER |
|---|---|
| Ritu | L01 |
| Debomit | L08 |
| Soumya | L03 |
Query-1: Find the loan number, branch, amount of loans of greater than or equal to 100 amount.
{≺l, b, a≻ | ≺l, b, a≻ ∈ loan ∧ (a ≥ 100)}
Resulting relation:
| LOAN NUMBER | BRANCH NAME | AMOUNT |
|---|---|---|
| L01 | Main | 200 |
| L03 | Main | 150 |
Query-2: Find the loan number for each loan of an amount greater or equal to 150.
{≺l≻ | ∃ b, a (≺l, b, a≻ ∈ loan ∧ (a ≥ 150)}
Resulting relation:
| LOAN NUMBER |
|---|
| L01 |
| L03 |
Query-3: Find the names of all customers having a loan at the “Main” branch and find the loan amount .
{≺c, a≻ | ∃ l (≺c, l≻ ∈ borrower ∧ ∃ b (≺l, b, a≻ ∈ loan ∧ (b = “Main”)))}
Resulting relation:
| CUSTOMER NAME | AMOUNT |
|---|---|
| Ritu | 200 |
| Debomit | 60 |
| Soumya | 150 |
Note:
The domain variables those will be in resulting relation must appear before | within ≺ and ≻ and all the domain variables must appear in which order they are in original relation or table.
The domain variables those will be in resulting relation must appear before | within ≺ and ≻ and all the domain variables must appear in which order they are in original relation or table.
Difference between Relational Algebra and Relational Calculus:
| S.NO | RELATIONAL ALGEBRA | RELATIONAL CALCULUS |
|---|---|---|
| 1. | It is a Procedural language. | While Relational Calculus is Declarative language. |
| 2. | Relational Algebra means how to obtain the result. | While Relational Calculus means what result we have to obtain. |
| 3. | In Relational Algebra, The order is specified in which the operations have to be performed. | While in Relational Calculus, The order is not specified. |
| 4. | Relational Algebra is independent on domain. | While Relation Calculus can be a domain dependent. |
| 5. | Relational Algebra is nearer to a programming language. | While Relational Calculus is not nearer to programming language. |


