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

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...

Genetic Algorithm: Population, Fitness Function, Parent Selection, Cross over, Mutation

Genetic Algo Population Population is a subset of solutions in the current generation. It can also be defined as a set of chromosomes. There are several things to be kept in mind when dealing with GA population − The diversity of the population should be maintained otherwise it might lead to premature convergence. The population size should not be kept very large as it can cause a GA to slow down, while a smaller population might not be enough for a good mating pool. Therefore, an optimal population size needs to be decided by trial and error. The population is usually defined as a two dimensional array of –  size population, size x, chromosome size . Population Initialization There are two primary methods to initialize a population in a GA. They are − Random Initialization  − Populate the initial population with completely random solutions. Heuristic initialization  − Populate the initial population using a known heuristic for the problem. It has been observed that the e...

C++ (Object and Class)

The major purpose of C++ programming is to introduce the concept of object orientation to the C programming language. Object Oriented Programming is a paradigm that provides many concepts such as  inheritance, data binding, polymorphism etc. The programming paradigm where everything is represented as an object is known as truly object-oriented programming language.  Smalltalk  is considered as the first truly object-oriented programming language. OOPs (Object Oriented Programming System) Object  means a real word entity such as pen, chair, table etc.  Object-Oriented Programming  is a methodology or paradigm to design a program using classes and objects. It simplifies the software development and maintenance by providing some concepts: Object Class Inheritance Polymorphism Abstraction Encapsulation C++ Object In C++, Object is a real world entity, for example, chair, car, pen, mobile, laptop etc. In other words, object is an ent...