Saturday, February 25, 2023

Relational Algebra Operators

Relational Algebra-

 

Relational Algebra is a procedural query language which takes a relation as an input and generates a relation as an output.

 

Relational Algebra Operators-

  The operators in relational algebra are classified as-

 

 



Characteristics-

 

Following are the important characteristics of relational operators-

  • Relational Operators always work on one or more relational tables.
  • Relational Operators always produce another relational table.
  • The table produced by a relational operator has all the properties of a relational model.

 

Selection Operator-

 

  • Selection Operator (σ) is a unary operator in relational algebra that performs a selection operation.
  • It selects those rows or tuples from the relation that satisfies the selection condition.

 

Syntax-

 

σ<selection_condition>(R)

 

Examples-

 

  • Select tuples from a relation “Books” where subject is “database”

σsubject = “database” (Books)

  • Select tuples from a relation “Books” where subject is “database” and price is “450”

σsubject = “database” ∧ price = “450” (Books)

  • Select tuples from a relation “Books” where subject is “database” and price is “450” or have a publication year after 2010

σsubject = “database” ∧ price = “450” ∨ year >”2010″ (Books)

 

Important Points-

 

Point-01:

 

  • We may use logical operators like ∧ , ∨ , ! and relational operators like  = , ≠ , > , < , <= , >= with the selection condition.

 

Point-02:

 

  • Selection operator only selects the required tuples according to the selection condition.
  • It does not display the selected tuples.
  • To display the selected tuples, projection operator is used.

 

Point-03:

 

  • Selection operator always selects the entire tuple. It can not select a section or part of a tuple.

 

Point-04:

 

  • Selection operator is commutative in nature i.e.

σ A ∧ B (R) = σ B ∧ A (R)

OR

σ (σ A(R)) = σ (σ B(R))

 

Point-05:

 

  • Degree of the relation from a selection operation is same as degree of the input relation.

 

Point-06:

 

  • The number of rows returned by a selection operation is obviously less than or equal to the number of rows in the original table.

Thus,

  • Minimum Cardinality = 0
  • Maximum Cardinality = |R|

Projection Operator-

 

  • Projection Operator (π) is a unary operator in relational algebra that performs a projection operation.
  • It displays the columns of a relation or table based on the specified attributes.

 

Syntax-

 

π<attribute list>(R)

 

Example-

 

Consider the following Student relation-

 

IDNameSubjectAge
100AshishMaths19
200RahulScience20
300NainaPhysics20
400SameerChemistry21

Student

Then, we have-

 

Result for Query πName, Age(Student)-

 

NameAge
Ashish19
Rahul20
Naina20
Sameer21

 

Result for Query πID , Name(Student)-

 

IDName
100Ashish
200Rahul
300Naina
400Sameer

 

Important Points-

 

Point-01:

 

  • The degree of output relation (number of columns present) is equal to the number of attributes mentioned in the attribute list.

 

Point-02:

 

  • Projection operator automatically removes all the duplicates while projecting the output relation.
  • So, cardinality of the original relation and output relation may or may not be same.
  • If there are no duplicates in the original relation, then the cardinality will remain same otherwise it will surely reduce.

 

Point-03:

 

  • If attribute list is a super key on relation R, then we will always get the same number of tuples in the output relation.
  • This is because then there will be no duplicates to filter.

 

Point-04:

 

  • Projection operator does not obey commutative property i.e.

π <list2> (π <list1> (R)) ≠ π <list1> (π <list2> (R))

 

Point-05:

 

  • Following expressions are equivalent because both finally projects columns of list-1

π <list1> (π <list2> (R)) = π <list1> (R)

 

Point-06:

 

  • Selection Operator performs horizontal partitioning of the relation.
  • Projection operator performs vertical partitioning of the relation.

 

Point-07:

 

  • There is only one difference between projection operator of relational algebra and SELECT operation of SQL.
  • Projection operator does not allow duplicates while SELECT operation allows duplicates.
  • To avoid duplicates in SQL, we use “distinct” keyword and write SELECT distinct.
  • Thus, projection operator of relational algebra is equivalent to SELECT operation of SQL.

Set Theory Operators-

 

Following operators are called as set theory operators-

 

 

  1. Union Operator (∪)
  2. Intersection Operator (∩)
  3. Difference Operator (-)

 

Condition For Using Set Theory Operators

 

To use set theory operators on two relations,

The two relations must be union compatible.

Union compatible property means-

  • Both the relations must have same number of attributes.
  • The attribute domains (types of values accepted by attributes) of both the relations must be compatible.

 

Also read- Selection Operator and Projection Operator

 

1. Union Operator (∪)-

 

Let R and S be two relations.

Then-

  • R ∪ S is the set of all tuples belonging to either R or S or both.
  • In R ∪ S, duplicates are automatically removed.
  • Union operation is both commutative and associative.

 

Example-

 

Consider the following two relations R and S-

 

IDNameSubject
100AnkitEnglish
200PoojaMaths
300KomalScience

Relation R

 

IDNameSubject
100AnkitEnglish
400KajolFrench

Relation S

 

Then, R ∪ S is-

IDNameSubject
100AnkitEnglish
200PoojaMaths
300KomalScience
400KajolFrench

Relation R ∪ S

 

2. Intersection Operator (∩)-

 

Let R and S be two relations.

Then-

  • R ∩ S is the set of all tuples belonging to both R and S.
  • In R ∩ S, duplicates are automatically removed.
  • Intersection operation is both commutative and associative.

 

Example-

 

Consider the following two relations R and S-

 

IDNameSubject
100AnkitEnglish
200PoojaMaths
300KomalScience

Relation R

 

IDNameSubject
100AnkitEnglish
400KajolFrench

Relation S

 

Then, R ∩ S is-

 

IDNameSubject
100AnkitEnglish

Relation R ∩ S

 

3. Difference Operator (-)-

 

Let R and S be two relations.

Then-

  • R – S is the set of all tuples belonging to R and not to S.
  • In R – S, duplicates are automatically removed.
  • Difference operation is associative but not commutative.

 

Example-

 

Consider the following two relations R and S-

 

IDNameSubject
100AnkitEnglish
200PoojaMaths
300KomalScience

Relation R

 

IDNameSubject
100AnkitEnglish
400KajolFrench

Relation S

 

Then, R – S is-

 

IDNameSubject
200PoojaMaths
300KomalScience

Relation R – S

..

No comments:

Post a Comment

Reference

https://notesformsc.org/locks-database-management https://mycareerwise.com/content/concept-of-lossless-and-lossy-join-decomposition/content/...