A binary decomposition is lossless when the shared attributes determine one piece.

highlighted = computed this step

Lossless join

A binary decomposition is lossless when the shared attributes determine one side of the split. The engine checks that by computing the closure of the intersection under the same dependencies. If that closure covers one piece, joining the pieces cannot invent or lose tuples for this dependency model. Note: the verdict caption is recomputed from the closure test.

lossless by intersection closure\text{lossless by intersection closure}

Intersection closure

The split intersection has size 1, and its recomputed closure has size 2. Note: the render shows the two pieces, the intersection, and the closure used for the verdict.

RLRR=1,closure=2\left|R_L\cap R_R\right|=1,\quad \left|closure\right|=2

FD closure, candidate keys, BCNF decomposition, and lossless-join checks are exact finite computations on tiny schemas; dependency inference beyond these traces and physical schema design tradeoffs are beyond this book - no product claims.

lossless: yespartattrsR1BCR2ABintersectionBclosureBC

Summary

Lossless join is another closure consequence, not a visual guess from the split tree. Note: this exact check covers the tiny binary split shown here; broader design tradeoffs and physical implementation choices are deferred.

lossless by closure\text{lossless by closure}