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

Standard and Formatted Input / Output in C++

The C++ standard libraries provide an extensive set of input/output capabilities which we will see in subsequent chapters. This chapter will discuss very basic and most common I/O operations required for C++ programming. C++ I/O occurs in streams, which are sequences of bytes. If bytes flow from a device like a keyboard, a disk drive, or a network connection etc. to main memory, this is called   input operation   and if bytes flow from main memory to a device like a display screen, a printer, a disk drive, or a network connection, etc., this is called   output operation . Standard Input and Output in C++ is done through the use of  streams . Streams are generic places to send or receive data. In C++, I/O is done through classes and objects defined in the header file  <iostream> .  iostream  stands for standard input-output stream. This header file contains definitions to objects like  cin ,  cout , etc. /O Library Header Files There are following header files important to C++ pro