I have the schema: a,b,c,d,e,g
and the following functional dependencies:
b->c, dg->ce, bc->dg, e->a, g->bd
for which I want to find the minimal cover. It seems that more than one scenario is possible.
First I represent the dependencies by splitting the right-hand side:
b->c, dg->c, dg->e, bd->d, bc->g, e->a, g->b, g->d
For dg->c
there's one extraneous attributed
. Same goes for dg->e
.
For bc->d
the attribute c
is extraneous as well as for bc->g
.
For g->bd
the attribute d
is extraneous because if we have g->b
then g+ = {gbcd}
which contains d
.
So we have 4 possible minimal covers:
b->c, g->c OR g->e, b->d OR b->g, g->b, e->a
.
The correct answer is g-->c; g-->e; b-->g; e-->a; g-->b; g-->d
according to this tool.
I cannot get the same answer from simplifying my minimal cover. What am I doing wrong?