Skip to main content

Relational Algebra

Relational algebra is a procedural query language. It gives a step by step process to obtain the result of the query. It uses operators to perform queries.

Types of Relational operation


DBMS Relational Algebra

1. Select Operation:

  • The select operation selects tuples that satisfy a given predicate.
  • It is denoted by sigma (σ).
  1. Notation:  σ p(r)  

Where:

σ is used for selection prediction
r is used for relation
p is used as a propositional logic formula which may use connectors like: AND OR and NOT. These relational can use as relational operators like =, ≠, ≥, <, >, ≤.

For example: LOAN Relation

BRANCH_NAMELOAN_NOAMOUNT
ShimlaLN-0715000
MandiLN-0342000
KangraLN-1111500
ShimlaLN-3481500
ChambaLN-5360500
MandiLN-1109000
KangraLN-7613000

Input:

  1. σ BRANCH_NAME="kangra" (LOAN)  

Output:

BRANCH_NAMELOAN_NOAMOUNT
KangraLN-1111500

KangraLN-7613000
L-161300

2. Project Operation:

  • This operation shows the list of those attributes that we wish to appear in the result. Rest of the attributes are eliminated from the table.
  • It is denoted by ∏.
  1. Notation: ∏ A1, A2, An (r)   

Where

A1A2A3 is used as an attribute name of relation r.

Example: CUSTOMER RELATION

NAMESTREETCITY
AshishMainKangra
RahulSouthPathankot
HimanshuMainTalwara
SahilSouthPathankot
NamitaNorthPalampur
HarshNorthPalampur

Input:

  1. ∏ NAME, CITY (CUSTOMER)  

Output:

NAMECITY
AshishKangra
RahulPathankot
HimanshuTalwara
SahilPathankot
NamitaPalampur
HarshPalampur


3. Union Operation:

  • Suppose there are two tuples R and S. The union operation contains all the tuples that are either in R or S or both in R & S.
  • It eliminates the duplicate tuples. It is denoted by ∪.
  1. Notation: R ∪ S   

A union operation must hold the following condition:

  • R and S must have the attribute of the same number.
  • Duplicate tuples are eliminated automatically.

Example:

DEPOSITOR RELATION

CUSTOMER_NAMEACCOUNT_NO
JohnsonA-101
SmithA-121
MayesA-321
TurnerA-176
JohnsonA-273
JonesA-472
LindsayA-284

BORROW RELATION

CUSTOMER_NAMELOAN_NO
JonesL-17
SmithL-23
HayesL-15
JacksonL-14
CurryL-93
SmithL-11
WilliamsL-17

Input:

  1. ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes

4. Set Intersection:

  • Suppose there are two tuples R and S. The set intersection operation contains all tuples that are in both R & S.
  • It is denoted by intersection ∩.
  1. Notation: R ∩ S   

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Smith
Jones

5. Set Difference:

  • Suppose there are two tuples R and S. The set intersection operation contains all tuples that are in R but not in S.
  • It is denoted by intersection minus (-).
  1. Notation: R - S  

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Jackson
Hayes
Willians
Curry

6. Cartesian product

  • The Cartesian product is used to combine each row in one table with each row in the other table. It is also known as a cross product.
  • It is denoted by X.
  1. Notation: E X D  

Example:

EMPLOYEE

EMP_IDEMP_NAMEEMP_DEPT
1AshishS/W
2HimanshuH/W
3RahulN/W

DEPARTMENT

DEPT_NODEPT_NAME
S/WSoftware
H/WHardware
N/WNetworking

Input:

  1. EMPLOYEE X DEPARTMENT  

Output:

EMP_IDEMP_NAMEEMP_DEPTDEPT_NODEPT_NAME
1AshishS/WS/WSoftware
1AshishS/WH/WHardware
1AshishS/WN/WNetworking
2HimanshuH/WS/WSoftware
2HimanshuH/WH/WHardware
2HimanshuH/WN/WNetworking
3RahulN/WS/WSoftware
3RahulN/WH/WHardware
3RahulN/WN/WNetworking

7. Rename Operation:

The rename operation is used to rename the output relation. It is denoted by rho (ρ).

Example: We can use the rename operator to rename Customer relation to Client.

  1. ρ(Client, Customer)  
Anurag Rana

Comments

Popular posts from this blog

JAVA Scrollbar, MenuItem and Menu, PopupMenu

ava AWT Scrollbar The  object  of Scrollbar class is used to add horizontal and vertical scrollbar. Scrollbar is a  GUI  component allows us to see invisible number of rows and columns. AWT Scrollbar class declaration public   class  Scrollbar  extends  Component  implements  Adjustable, Accessible   Java AWT Scrollbar Example import  java.awt.*;   class  ScrollbarExample{   ScrollbarExample(){               Frame f=  new  Frame( "Scrollbar Example" );               Scrollbar s= new  Scrollbar();               s.setBounds( 100 , 100 ,  50 , 100 );               f.add(s);               f.setSize( 400 , 400 );               f.setLayout( null );               f.setVisible( true );   }   public   static   void  main(String args[]){           new  ScrollbarExample();   }   }   Output: Java AWT Scrollbar Example with AdjustmentListener import  java.awt.*;   import  java.awt.event.*;   class  ScrollbarExample{        ScrollbarExample(){               Frame f=  new  Frame( "Scro

Difference between net platform and dot net framework...

Difference between net platform and dot net framework... .net platform supports programming languages that are .net compatible. It is the platform using which we can build and develop the applications. .net framework is the engine inside the .net platform which actually compiles and produces the executable code. .net framework contains CLR(Common Language Runtime) and FCL(Framework Class Library) using which it produces the platform independent codes. What is the .NET Framework? The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class librari

C++ this Pointer, static, struct and Enumeration

C++ this Pointer In C++ programming,  this  is a keyword that refers to the current instance of the class. There can be 3 main usage of this keyword in C++. It can be used  to pass current object as a parameter to another method. It can be used  to refer current class instance variable. It can be used  to declare indexers. C++ this Pointer Example Let's see the example of this keyword in C++ that refers to the fields of current class. #include <iostream>    using   namespace  std;   class  Employee {       public :           int  id;  //data member (also instance variable)               string name;  //data member(also instance variable)            float  salary;          Employee( int  id, string name,  float  salary)             {                   this ->id = id;                  this ->name = name;                  this ->salary = salary;            }             void  display()             {                 cout<<id<< "  " <<name<&