Jay, the way I understand this is the following. You need to find the minimal set of fields that would allow you to identify all fields BOSQID
. There is an algorithm which I don't remember right now to properly do the analysis you're looking for, but the exercise seems to be simple enough in order not to need it.
- Take
B -> O
. As B
determines O
we can keep B
and remove O
from the keys. Current possible key fields: BSQID
.
- Take
I -> B
. As I
determines B
we can keep I
and remove B
from the keys. Notice that, by transitivity, I
determines O
. Current possible key fields SQID
- Take
S -> D
. As S
determines D
we can keep S
and remove D
from the keys. Current possible key fields SQI
- Take
IS -> Q
. As IS
determines Q
we can keep IS
and remove Q
from the keys. Current possible key fields: IS
As we no longer have functional dependencies we can't go on, so the result is IS
. There are more complex examples to work on in which this simple technique won't help you because it'll drive you crazy, that's why I recommend you too look for the algorithm to solve this.