0

I am trying to understand the notion of data redundancy. Can someone please help to explain what is the difference between the notion of "a relation schema is redundant" and "a relation schema is value redundant"? Below is the formal definition, which I don't quite get.

So far my understanding is that if some data in a relation can be derived using functional dependencies over that relation, that data is redundant. However I don't know why they distinguish "redundant" and"value redundant". Many thanks in advance!

enter image description here

user3735871
  • 527
  • 2
  • 14
  • 31

1 Answers1

0

A schema is redundant for a sigma if some relation with that heading and satisfying the FDs in sigma has two equal subrows on the attributes of some FD in the closure of sigma. Eg: If X->Y and Y->Z are in sigma but X->Z is not then X->Z is nevertheless in the closure of sigma, so X->Z also has to hold. So if some relation satisfying sigma's FDs has two rows with the same (X,Y), (Y,Z) or (X,Z) value then the schema is redundant. Ie a schema is redundant when some satisfying relation actually exhibits certain (informally) "redundant" subrows per the closure of a sigma.

A schema is value-redundant for a sigma if some relation with that heading and satisfying the FDs in sigma has an element that when given a different value always gives a relation that doesn't satisfy the FDs in sigma. Ie it has an element value that given the rest of the element values must be that value. Eg in any of the above 3 cases of there being equal subrows (ie XY, YZ or XZ), the element in the determined subrow (ie respectively Y, Z or Z) has to have that value given the rest of the element values. Ie a schema is value-redundant when some satisfying relation actually exhibits a certain (informally) "redundant" subrow per a sigma.

Notice that redundancy is in terms of the closure of sigma but value-redundancy is in terms of just sigma.

The text will go on to show that a schema is redundant for a sigma if and only if it is value-redundant. So to determine redundancy, instead of having to (expensively) calculate the closure of sigma we can just use sigma per value-redundancy (in a less expensive way).

philipxy
  • 14,867
  • 6
  • 39
  • 83