Basic Operators in Relational Algebra
Last Updated :
12 Jun, 2025
The Relational Model is a way of structuring data using relations, which are a collection of tuples that have the same attributes. Relational Algebra is a procedural query language that takes relations as input and returns relations as output. Here, we'll explore the basic operators of Relational Algebra using below tables.
Table 1: STUDENT_SPORTS
ROLL_NO | SPORTS |
1 | Badminton |
2 | Cricket |
2 | Badminton |
4 | Badminton |
Table 2: EMPLOYEE
EMP_NO | NAME | ADDRESS | PHONE | AGE |
1 | RAM | DELHI | 9455123451 | 18 |
5 | NARESH | HISAR | 9782918192 | 22 |
6 | SWETA | RANCHI | 9852617621 | 21 |
4 | SURESH | DELHI | 9156768971 | 18 |
Table 3: STUDENT
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
1 | RAM | DELHI | 9455123451 | 18 |
2 | RAMESH | GURGAON | 9652431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | DELHI | 9156768971 | 18 |
1. Selection operator (σ)
Selection operator is used to selecting tuples from a relation based on some condition.
Syntax:
σ (Cond)(Relation Name)
Extract students whose age is greater than 18 from STUDENT relation given in Table 3
σ (AGE>18)(STUDENT)
Note: SELECT operation does not show any result, the projection operator must be called before the selection operator to generate or project the result. So, the correct syntax to generate the result is:
∏(σ (AGE>18)(STUDENT))
Result:
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
2. Projection Operator (∏)
Projection operator is used to project particular columns from a relation.
Syntax:
∏(Column 1,Column 2….Column n)(Relation Name)
Extract ROLL_NO and NAME from STUDENT relation given in Table 3
∏(ROLL_NO,NAME)(STUDENT)
Result:
ROLL_NO | NAME |
---|
1 | RAM |
2 | RAMESH |
3 | SUJIT |
4 | SURESH |
Note: If the resultant relation after projection has duplicate rows, it will be removed. For Example ∏(ADDRESS)(STUDENT) will remove one duplicate row with the value DELHI and return three rows.
3. Cross Product(X)
Cross product is used to join two relations. For every row of Relation1, each row of Relation2 is concatenated. If Relation1 has m tuples and and Relation2 has n tuples, cross product of Relation1 and Relation2 will have m X n tuples.
Syntax:
Relation1 X Relation2
To apply Cross Product on STUDENT relation given in Table 1 and STUDENT_SPORTS relation given in Table 2,
STUDENT X STUDENT_SPORTS
Result:
ROLL_NO | NAME | ADDRESS | PHONE | AGE | ROLL_NO | SPORTS |
---|
1 | RAM | DELHI | 9455123451 | 18 | 1 | Badminton |
1 | RAM | DELHI | 9455123451 | 18 | 2 | Cricket |
1 | RAM | DELHI | 9455123451 | 18 | 2 | Badminton |
1 | RAM | DELHI | 9455123451 | 18 | 4 | Badminton |
2 | RAMESH | GURGAON | 9652431543 | 18 | 1 | Badminton |
2 | RAMESH | GURGAON | 9652431543 | 18 | 2 | Cricket |
2 | RAMESH | GURGAON | 9652431543 | 18 | 2 | Badminton |
2 | RAMESH | GURGAON | 9652431543 | 18 | 4 | Badminton |
3 | SUJIT | ROHTAK | 9156253131 | 20 | 1 | Badminton |
3 | SUJIT | ROHTAK | 9156253131 | 20 | 2 | Cricket |
3 | SUJIT | ROHTAK | 9156253131 | 20 | 2 | Badminton |
3 | SUJIT | ROHTAK | 9156253131 | 20 | 4 | Badminton |
4 | SURESH | DELHI | 9156768971 | 18 | 1 | Badminton |
4 | SURESH | DELHI | 9156768971 | 18 | 2 | Cricket |
4 | SURESH | DELHI | 9156768971 | 18 | 2 | Badminton |
4 | SURESH | DELHI | 9156768971 | 18 | 4 | Badminton |
4. Union (U)
Union on two relations R1 and R2 can only be computed if R1 and R2 are union compatible (These two relations should have the same number of attributes and corresponding attributes in two relations have the same domain). Union operator when applied on two relations R1 and R2 will give a relation with tuples that are either in R1 or in R2. The tuples which are in both R1 and R2 will appear only once in the result relation.
Syntax:
Relation1 U Relation2
Find the person who is either student or employees, we can use Union operators like:
STUDENT U EMPLOYEE
RESULT:
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
1 | RAM | DELHI | 9455123451 | 18 |
2 | RAMESH | GURGAON | 9652431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
4 | SURESH | DELHI | 9156768971 | 18 |
5 | NARESH | HISAR | 9782918192 | 22 |
6 | SWETA | RANCHI | 9852617621 | 21 |
5. Minus (-) or Set Difference
Minus on two relations R1 and R2 can only be computed if R1 and R2 are union compatible. Minus operator when applied on two relations as R1-R2 will give a relation with tuples that are in R1 but not in R2. Syntax:
Relation1 - Relation2
Find the person who is a student but not an employee, we can use minus operator like:
STUDENT - EMPLOYEE
Result:
ROLL_NO | NAME | ADDRESS | PHONE | AGE |
2 | RAMESH | GURGAON | 9652431543 | 18 |
3 | SUJIT | ROHTAK | 9156253131 | 20 |
6. Rename(ρ)
Rename operator is used to giving another name to a relation.
Syntax:
ρ(Relation2, Relation1)
To rename STUDENT relation to STUDENT1, we can use rename operator like:
ρ(STUDENT1, STUDENT)
If you want to create a relation STUDENT_NAMES with ROLL_NO and NAME from STUDENT, it can be done using rename operator as:
ρ(STUDENT_NAMES, ∏(ROLL_NO, NAME)(STUDENT))
Extended Relational Algebra Operators
- Intersection (∩)
- Division (÷)
- Join Operations (⋈)
- Natural Join
- Theta Join
- Equi Join
These operators provide more functionality for complex queries in relational databases.
Similar Reads
Introduction of DBMS (Database Management System) A Database Management System (DBMS) is a software solution designed to efficiently manage, organize, and retrieve data in a structured manner. It serves as a critical component in modern computing, enabling organizations to store, manipulate, and secure their data effectively. From small application
8 min read
Need for DBMS A DBMS is essential for efficiently storing, organizing, and managing large amounts of data. It ensures data consistency, integrity, and security while allowing multiple users to access and manipulate data simultaneously. DBMS simplifies complex data operations and supports quick retrieval, making d
7 min read
Advantages of DBMS over File system File System: A File Management system is a DBMS that allows access to single files or tables at a time. In a File System, data is directly stored in a set of files. It contains flat files that have no relation to other files (when only one table is stored in a single file, then this file is known as
4 min read
Introduction of ER Model The Entity-Relationship Model (ER Model) is a conceptual model for designing a databases. This model represents the logical structure of a database, including entities, their attributes and relationships between them. Entity: An objects that is stored as data such as Student, Course or Company.Attri
10 min read
Recursive Relationships in ER diagrams A relationship between two entities of the same entity set is called a recursive relationship or repeated relationship. Here the same entity set participates more than once in a relationship type with a different role for each instance. Recursive relationships are often used to represent hierarchies
3 min read
Minimization of ER Diagrams Pre-Requisite: ER DiagramEntity-Relationship (ER) Diagram is a diagrammatic representation of data in databases, it shows how data is related to one another. In this article, we require previous knowledge of ER diagrams and how to draw ER diagrams.Minimization of ER Diagram simply means reducing the
4 min read
Enhanced ER Model As data complexity grows, the traditional ER model becomes less effective for database modeling. Enhanced ER diagrams extend the basic ER model to better represent complex applications. They support advanced concepts like subclasses, generalization, specialization, aggregation, and categories.ER mod
7 min read
Mapping from ER Model to Relational Model Converting an Entity-Relationship (ER) diagram to a Relational Model is a crucial step in database design. The ER model represents the conceptual structure of a database, while the Relational Model is a physical representation that can be directly implemented using a Relational Database Management S
7 min read
Relational Model in DBMS The Relational Model organizes data using tables (relations) consisting of rows and columns. Each column represents a specific attribute with a unique name, while each row holds data about a real-world entity or relationship. As a record-based model, it stores data in fixed-format records with defin
10 min read
Introduction of Relational Algebra in DBMS Relational Algebra is a formal language used to query and manipulate relational databases, consisting of a set of operations like selection, projection, union, and join. It provides a mathematical framework for querying databases, ensuring efficient data retrieval and manipulation. Relational algebr
9 min read