I'm currently studying a basic database course with the course literature Database Systems - The Complete Book1.

In one of the book's exercises you are asked to

Show that the following rules hold, by using the closure test.

This is the closure test described in the book:

Closure test part 1 Closure test part 2

And the question I'm having trouble with is as follows:

Exercise 3.2.4 c)

How can I show that the rules hold? Can I do it by computing the closures of the relevant attributes somehow prove that?

Thank you in advance!

1 Garcia-Molina, H. & Ullman, J. D. & Widom, J. (2009). Database Systems - The Complete Book, Second Edition. Pearson Education Inc., Upper Saddle River, NJ, USA.


The definition of Pseudotransitivity given above is equivalent to say the following.


(1) A1 A2 ... An -> B1 B2 ... Bm
(2) B1 B2 ... Bm E1 E2 ... Ej -> D

we can derive:

(3) A1 A2 ... An E1 E2 ... Ej -> D

Here is a possible simple proof.

Let’s try to compute the closure of {A1 A2 ... An E1 E2 ... Ej} from the first two functional dependencies. If this closure contains D then we have proved the hypothesis.

{A1 A2 ... An E1 E2 ... Ej}+ = A1 A2 ... An E1 E2 ... Ej    (starting point)
{A1 A2 ... An E1 E2 ... Ej}+ = A1 A2 ... An B1 B2 ... Bm E1 E2 ... Ej (by using 1)
{A1 A2 ... An E1 E2 ... Ej}+ = A1 A2 ... An B1 B2 ... Bm D E1 E2 ... Ej (by using 2)
No other derivation is possible.

So, since D is included in the closure of {A1 A2 ... An E1 E2 ... Ej}, we have shown that A1 A2 ... An E1 E2 ... Ej -> D.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.