The Splitting/Combining Rule

The Splitting/Combining Rule

Recall that in "Functional Dependencies" we defined the FD:

A1A2An → B1B2..Bm

to be a shorthand for the set of FD's:

A1A2...An → B1   
A1A2...An → B2
       . . .
A1A2...An → Bm

That is, we may split attributes on the right side so that only one attribute appears on the right of each FD. Similarly, we can replace a collection of FD's with a common left side by a single FD with the same left side and all the right sides combined into one set of attributes. In either event, the new set of FD's is equivalent to the old. The equivalence noted above can be used in two ways.

●  We can replace a FD  A1A2. . .An → B1B2 . . . Bm  by a set
of FD's  A1A2 . . . An → Bi for i = 1,2,. . . , m. This transformation we call the splitting rule.

●  We can replace a set of FD's A1A2 An  → Bi for i = 1,2, . . . , m by the
single FD A1A2. . . An → B1B2 . . Bm. We call this transformation the combining rule.

For instance, we mentioned in "Functional Dependencies" example, how the set of FD's:

title year → length
title year → filmType
title year → studioName

is equivalent to the single FD:

title year → length filmType studioName

One might imagine that splitting could be applied to the left sides of FD's as well as to right sides. However, there is no splitting rule for left sides, as the following example shows.

Example : Consider one of the FD's such as:

title year → length

for the relation Movies in "Functional Dependencies" example, If we try to split the left side into

title → length
year → length

then we get two false FD's. That is, title does not functionally determine length, since there can be two movies with the same title (e.g., King Kong) but of different lengths. Likewise, year does not functionally determine length, because there are definitely movies of different lengths made in any one year.



Tags