Skip to content
Related Articles
Open in App
Not now

Related Articles

Lossless Decomposition in DBMS

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 22 Jan, 2023
Improve Article
Save Article

 Lossless join decomposition is a decomposition of a relation R into relations R1, R2 such that if we perform a natural join of relation R1 and R2, it will return the original relation R. This is effective in removing redundancy from databases while preserving the original data…

In other words by lossless decomposition, it becomes feasible to reconstruct the relation R from decomposed tables R1 and R2  by using Joins.

Only 1NF,2NF,3NF and BCNF are valid for lossless join decomposition.

In Lossless Decomposition, we select the common attribute and the criteria for selecting a common attribute is that the common attribute must be a candidate key or super key in either relation R1, R2, or both.

Decomposition of a relation R into R1 and R2 is a lossless-join decomposition if at least one of the following functional dependencies are in F+ (Closure of functional dependencies) 

R1 ∩ R2 → R1
R1 ∩ R2 → R2

Question 1: 
Let R (A, B, C, D) be a relational schema with the following functional dependencies: 

A → B, B → C,
C → D and D → B. 

The decomposition of R into 
(A, B), (B, C), (B, D)

(A) gives a lossless join, and is dependency preserving 
(B) gives a lossless join, but is not dependency preserving 
(C) does not give a lossless join, but is dependency preserving 
(D) does not give a lossless join and is not dependency preserving 

Refer to this for a solution. 

Question 2 
R(A,B,C,D) is a relation. Which of the following does not have a lossless join, dependency preserving BCNF decomposition? 
(A) A->B, B->CD 
(B) A->B, B->C, C->D 
(C) AB->C, C->AD 
(D) A ->BCD 

Refer to this for a solution. 

Below is the Quiz of previous year GATE Questions 

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!