Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Difference between Lossless and Lossy Join Decomposition

  • Difficulty Level : Medium
  • Last Updated : 25 Aug, 2021

The process of breaking up of a relation into smaller subrelations is called Decomposition. Decomposition is required in DBMS to convert a relation into specific normal form which further reduces redundancy, anomalies, and inconsistency in the relation. 

There are mainly two types of decompositions in DBMS- 

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.

  1. Lossless Decomposition
  2. Lossy Decomposition 
     

Difference Between Lossless and Lossy Join Decomposition : 



LosslessLossy
The decompositions R1, R2, R2…Rn for a relation schema R are said to be Lossless if there natural join results the original relation R.The decompositions R1, R2, R2…Rn for a relation schema R are said to be Lossy if there natural join results into addition of extraneous tuples with the original relation R.

Formally, Let R be a relation and R1, R2, R3 … Rn be it’s decomposition, the decomposition is lossless if – 

 R1 ⨝ R2 ⨝ R3 .... ⨝ Rn = R

Formally, Let R be a relation and R1, R2, R3 … Rn be it’s decomposition, the decomposition is lossy if – 

 R ⊂ R1 ⨝ R2 ⨝ R3 .... ⨝ Rn
There is no loss of information as the relation obtained after natural join of decompositions is equivalent to original relation. Thus, it is also referred to as non-additive join decompositionThere is loss of information as extraneous tuples are added into the relation after natural join of decompositions. Thus, it is also referred to as careless decomposition.
The common attribute of the sub relations is a superkey of any one of the relation.The common attribute of the sub relation is not a superkey of any of the sub relation.

Example-1: 
Example to check whether given Decomposition Lossless Join Decomposition. 

Let there be a relational schema R(A, B, C). R1(A, B) and R2(B, C) be it’s decompositions. 

ABC
a1b1c1
a2b1c1
a1b2c2
BC
b1c1
b1c1
b2c2

Now for the decomposition to be lossless, 

R1 ⨝ R2 = R then, R1 ⨝ R2  is
ABC
a1b1c1
a2b1c1
a1b2c2
As, R1 ⨝ R2 = R, 

This decomposition is Lossless. 

Example-2: 
Example to check whether given Decomposition Lossy Join Decomposition. 

Let there be a relational schema R(A, B, C). R1(A, B) and R2(A, C) be it’s decompositions. 

ABC
a1b1c1
a2b1c1
a1b2c2
a1b3c3
AB
a1b1
a2b1
a1b2
a1b3
AC
a1c1
a2c1
a1c2
a1c3

Now for the decomposition to be lossy, 

R ⊂ R1 ⨝ R2 then, R1 ⨝ R2  is
ABC
a1b1c1
a1b1c2
a2b1c1
a1b2c2
a1b2c1
a1b3c3
a1b3c1
As, R ⊂ R1 ⨝ R2, 

This decomposition is Lossy. 
Thus, we can figure out whether decomposition is lossless or lossy.

My Personal Notes arrow_drop_up
Recommended Articles
Page :