3

What is meant by the lossless join property in a relation schema?

Is it the ability to maintain the semantics of information/data during the decomposition of relations whilst normalising?

philipxy
  • 14,867
  • 6
  • 39
  • 83
user559142
  • 12,279
  • 49
  • 116
  • 179

4 Answers4

8

The lossless join property is a feature of decomposition supported by normalisation. It is the ability to ensure that any instance of the original relation can be identified from corresponding instances in the smaller relations.

philipxy
  • 14,867
  • 6
  • 39
  • 83
user559142
  • 12,279
  • 49
  • 116
  • 179
3

The word loss in lossless refers to loss of information, not to loss of tuples

This ppt presentation might be helpful.

Premraj
  • 7,802
  • 8
  • 45
  • 66
0

Lossless means functioning without a loss. In other words, retain everything.

Important for databases to have this feature.

Formal Definition

  • Let R be a relation schema.
  • Let F be a set of functional dependencies on R.
  • Let R1 and R2 form a decomposition of R.

The decomposition is a lossless-join decomposition of R if at least one of the following functional dependencies are in F+

1) R1 ∩ R2 -> R1
2) R1 ∩ R2 -> R2  

In Simpler Terms…

R1 ∩ R2 -> R1
R1 ∩ R2 -> R2

If R is split into R1 and R2, for the decomposition to be lossless then at least one of the two should hold true.

Projecting on R1 and R2, and joining back, results in the relation you started with.

Source: https://en.wikipedia.org/wiki/Lossless-Join_Decomposition

Roy Latham
  • 343
  • 5
  • 8
  • No, this is about "lossless decomposition under a set of FDs", not "lossless decomposition". – philipxy Feb 15 '17 at 07:56
  • Also this only involves binary decompositions. – philipxy May 20 '19 at 08:23
  • It's also weirdly exactly the same as the Wikipedia answer I just read. I don't mean to be critical, I'm sure either Faisal was just trying to be helpful or he just wrote both sources but I don't think it's very helpful to duplicate it in both places (tho i see temp to put on wiki so it can be improved and here for karma) but I think you might not want to duicate in a way that doesn't really transform it. – Peter Gerdes Jun 03 '21 at 03:03
0

R1, ... is a lossless decomposition of R when they join back to it.

(R1, ... being a lossless decomposition of R under a set of FDs (functional dependencies) F is a different property. That is when R1, ... is a lossless decomposition of R and satisfies the FDs in F.)

philipxy
  • 14,867
  • 6
  • 39
  • 83