Skip to main content

Lossless and dependency preserving check 1

Short answer

The decomposition is not lossless because the common attribute C is not a key for either relation, and the chase test fails. It is not dependency preserving because B → D and E → A are lost.

Suppose R = (A, B, C, D, E) is decomposed into R1 (A, B, C) and R2 (C, D, E). Is it lossless? Is it dependency preserving? Consider F = {A → BC, CD → E, B → D, E → A}.

R = (A, B, C, D, E), R1 = (A, B, C), R2 = (C, D, E), F = {A → BC, CD → E, B → D, E → A}.

Lossless join test

R1 ∩ R2 = {C}. The decomposition is lossless if C → R1 or C → R2 holds, that is, if C is a key of R1 or R2.

C⁺ = {C}, since no FD has C alone on the left side. So C → R1 and C → R2 both fail.

Chase table (a = known value, b = unknown):

ABCDE
R1aaabb
R2bbaaa

The two rows never agree on the left side of any FD (A: a vs b, CD: R1 has b in D, B: a vs b, E: b vs a), so nothing can be changed and neither row becomes all "a".

The decomposition is NOT lossless.

Dependency preservation test

Projections of F:

  • F1 on (A, B, C): A → BC (and the FDs derived from it: A → B, A → C, AB → C, ...)
  • F2 on (C, D, E): CD → E, E → CD (E⁺ = ABCDE, so E → C, E → D)

Check each FD of F:

  • A → BC: in F1. Preserved.
  • CD → E: in F2. Preserved.
  • B → D: B is in R1 but D is not, and the closure of B inside R1 is B⁺ ∩ R1 = {B, D} ∩ {A, B, C} = {B}. Never reaches D. Lost.
  • E → A: E⁺ ∩ R2 = {C, D, E}, then Z = {E, C, D}; Z ∩ R1 = {C}, C⁺ = {C}. A is never reached. Lost.

The decomposition is NOT dependency preserving (B → D and E → A are lost).

Answer: not lossless and not dependency preserving.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Database Management System chapter 4 questions →