2

Consider the following statements:

  • A relation R, is in 3NF if every non-prime attribute of R, is fully functionally dependent on some key of R.

State True or False.

The answer given is true. But I think its false.

Example: Let R(A,B,C) be a relation with functional dependencies {A→B, B→C}.

Here A is the candidate key and both B and C are fully functionally dependent on A since A→B and also A→C right?

But this relation is clearly not in 3NF. Where am I wrong?

As per the definition I found here, the set of attributes X will be fully functionally dependent on the set of attributes Y if the following conditions are satisfied:

  • X is functionally dependent on Y and
  • X is not functionally dependent on any subset of Y.

Here C is functionally dependent on A and also C is not functionally dependent on any subset of A. So this would imply that C is fully functionally dependent on A right?

2
  • 1
    Yes, you are right. Are you sure the question says "A relation R is in 3NF, if every.." and not "A relation R is in 2NF, if every.."? Commented Jan 15, 2018 at 15:54
  • It says A relation R is in 3NF, if every non-prime attribute of R, is fully functionally dependent on some key of R.
    – abnvanand
    Commented Jan 15, 2018 at 16:16

1 Answer 1

2

The exercises says:

A relation R is in 3NF, if every non-prime attribute of R, is fully functionally dependent on some key of R.

As you have noted, that definition is imprecise. Let’s try to correct it:

A relation R is in 3NF, if every non-prime attribute of R is fully functionally dependent on some (candidate) key and on nothing else.

Of course such definition should also exclude trivial dependencies or derived dependencies in which the left part contains superflous attributes.

1
  • It's 2NF, not 3NF, that involves full functionally dependency. Also it is when every non-prime attribute is fully functionally dependent on every CK. That's every CK not some, and nothing else needed. Also it is poor writing to write something wrong and then say it is wrong; only write correct things. You also are unclear in your last paragraph & with "derived" & "superfluous" you seem to be confusing the FD closure with some notion of cover.
    – philipxy
    Commented Jan 11, 2023 at 2:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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