# Difference between Lossless and Lossy Join Decomposition

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.

- Lossless Decomposition
- Lossy Decomposition

**Difference Between Lossless and Lossy Join Decomposition :**

Lossless | Lossy |
---|---|

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

A | B | C |
---|---|---|

a1 | b1 | c1 |

a2 | b1 | c1 |

a1 | b2 | c2 |

B | C |
---|---|

b1 | c1 |

b1 | c1 |

b2 | c2 |

Now for the decomposition to be lossless,

R1 ⨝ R2 = R then, R1 ⨝ R2 is

A | B | C |
---|---|---|

a1 | b1 | c1 |

a2 | b1 | c1 |

a1 | b2 | c2 |

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.

A | B | C |
---|---|---|

a1 | b1 | c1 |

a2 | b1 | c1 |

a1 | b2 | c2 |

a1 | b3 | c3 |

A | B |
---|---|

a1 | b1 |

a2 | b1 |

a1 | b2 |

a1 | b3 |

A | C |
---|---|

a1 | c1 |

a2 | c1 |

a1 | c2 |

a1 | c3 |

Now for the decomposition to be lossy,

R ⊂ R1 ⨝ R2 then, R1 ⨝ R2 is

A | B | C |
---|---|---|

a1 | b1 | c1 |

a1 | b1 | c2 |

a2 | b1 | c1 |

a1 | b2 | c2 |

a1 | b2 | c1 |

a1 | b3 | c3 |

a1 | b3 | c1 |

As, R ⊂ R1 ⨝ R2,

This decomposition is Lossy.

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