Home > Enterprise >  Derive an attribute as a superkey which is not even present in functional dependency
Derive an attribute as a superkey which is not even present in functional dependency

Time:11-20

I got this question

Consider The Following Relation R(A,B,C,D,E,G) And The Set Of Functional Dependencies

F = { A → BCD 
      BC → DE 
      B → D 
      D → A}

Prove that AG is a superkey using Armstrong’s axioms.

In the FD sets there is no attribute related to G. So, is it possible to derive anything with those functional dependencies which is related to G? If yes, how can I derive that?

CodePudding user response:

To check that a set of attributes is a superkey, we should see if from those attributes we can derive (through the Armstrong’s axioms) all the attributes of the relation.

So, assuming that F is a cover of the functional dependencies of R, we can check that AG is a superkey if we can derive AG → ABCDEG. Let’s proceed through the following steps:

1. A → BCD (given)
2. BC → DE (given)
3. BCD → BC (by reflexivity)
4. A → BC (by transitivity from 1 and 3)
5. A → DE (by transitivity from 4 and 2)
6. A → BCDE (by union with 1 and 5)
7. A → ABCDE (by augmentation with A from 6)
8. AG → ABCDEG (by augmentation with G from 7)

As final note, each attribute which is not present in the right part of some dependency of a cover of F must be present in any candidate key (otherwise it could be not derived by other attributes).

  • Related