I am taking DBMS classes and am currently studying the various normal forms. The following is the definition of a Prime Attribute I learned in class:

A prime attribute belongs to the set of attributes which compose the candidate keys.

For example, if R(ABCDEF) is a relation with the functional dependencies given as:

F = {AB -> C, D->E, C->F}
Candidate Key will be ABD
the Prime attribute set will be {A,B,D}
the Prime Attributes are A,B and D.

The proper subset of a candidate key defines itself. For the above example, proper subsets of the candidate key for the relation R(ABCDEF) is:

{{A}, {B}, {D}, {A,B}, {A,D}, {B,D}}

From the above definitions, apart from the number of elements in either sets, it seems that a prime attribute and a subset of a candidate key are pretty much the same. Both of these terms are being brought up simultaneously while explaining Third Normal Form and Transitive Dependencies, which is confusing me. It would be nice if somebody clears the difference between them.

  • $\begingroup$ "The proper subset of a candidate key defines itself." - I'm sorry, I don't understand what that sentence is trying to say. $\endgroup$ – D.W. May 6 '15 at 0:39

Prime attributes are, in your example, just A, B, and C. The subsets of the candidate key are combinations of prime attributes. The difference is subtle, but if you read your material carefully, it will become apparent.

| cite | improve this answer | |

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