Question 2858 – 2013 June UGC NET Paper 1
December 27, 2023Question 14305 – Operating-Systems
December 28, 2023Database-Management-System
Question 901 |
A->B,B->C
C->D and D->B
The decomposition of R into (A,B)(B,C)(B,D)
gives a lossless join, and is dependency preserving
| |
gives lossless join,but is not dependency preserving
| |
does not give a lossless join, but is dependency preserving
| |
does not give a lossless join, but is not dependency preserving
|
A -> B
B -> C
C -> D
D -> B
Now, let’s consider the decomposition of R into (A, B), (B, C), and (B, D).
Lossless Join:
For the decomposition to be lossless join, we need to check if the natural join of the decomposed schemas can reconstruct the original relation R.
(A, B) ∩ (B, C) = (B)
(B, C) ∩ (B, D) = (B)
Both intersections include the attribute B. So, joining (A, B), (B, C), and (B, D) together would reconstruct all attributes of R. Therefore, the decomposition gives a lossless join.
Dependency Preservation:
For the decomposition to be dependency preserving, it should be checked if all the original functional dependencies can be inferred from the functional dependencies in the decomposed schemas.
In (A, B):
A -> B (from the original dependencies)
In (B, C):
B -> C (from the original dependencies)
In (B, D):
D -> B (from the original dependencies)
All original functional dependencies can be inferred from the functional dependencies in the decomposed schemas. Therefore, the decomposition is dependency preserving.
So, the correct answer is:
The decomposition gives a lossless join and is dependency preserving.
A -> B
B -> C
C -> D
D -> B
Now, let’s consider the decomposition of R into (A, B), (B, C), and (B, D).
Lossless Join:
For the decomposition to be lossless join, we need to check if the natural join of the decomposed schemas can reconstruct the original relation R.
(A, B) ∩ (B, C) = (B)
(B, C) ∩ (B, D) = (B)
Both intersections include the attribute B. So, joining (A, B), (B, C), and (B, D) together would reconstruct all attributes of R. Therefore, the decomposition gives a lossless join.
Dependency Preservation:
For the decomposition to be dependency preserving, it should be checked if all the original functional dependencies can be inferred from the functional dependencies in the decomposed schemas.
In (A, B):
A -> B (from the original dependencies)
In (B, C):
B -> C (from the original dependencies)
In (B, D):
D -> B (from the original dependencies)
All original functional dependencies can be inferred from the functional dependencies in the decomposed schemas. Therefore, the decomposition is dependency preserving.
So, the correct answer is:
The decomposition gives a lossless join and is dependency preserving.