Answer to Problem 2.1

I like to work in a different order. First determine what the candidate identifiers are. I say that the set of candidate identifiers is [[A]] (that is, one candidate identifier and that one candidate identifier is made up of one attribute A).

Is [A] a superkey? If we know A, then we know B, and if we know B, then we know C. Yes.

Is a subset of [A] a superkey? Since there is no proper, non-empty subset of [A], it's impossible to have another superkey. So we know that [A] is a candidate identifier.

Is there another candidate identifier? Let's take them one at a time:

If you only know B, you don't know A since B only determines C.
If you only know C, you don't know anything else since C doesn't determine anything (except for itself, of course).
B, C
You still don't know A.
A, B
This is not a candidate identifier since a subset (i.e., [A]) is a superkey.
A, C
A, B, C

Thus, the set of all candidate identifiers is [[A]].

So, the only possible primary identifier is [A].

The set of all superkeys are those subsets of [A, B, C] that contain a candidate identifier. In this case that would be [[A], [A, B], [A, C], [A, B, C]].

Return to first normal form document.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License