| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: equivalence of functional dependencies
shannon wrote:
> I have tried an example from the elmasri book, perhaps somebody can pass
> judgement on my logic,
>
> two sets of functional dependencies F= {A > C, AC > D, E > AD, E > H}
> and G = {A > CD, E > AH}. Check whether or not they are equivalent.
>
> here I make conclusion that they are not equivalent,
>
> E > AD, E > H will as union give me E > ADH
Correct.
> therefore E > AH not deductible
Errr...why? If you have E -> ADH, you have separately E -> A, E -> D and E -> H, and the first and third of these can be combined to give E -> AH.
> A > C, AC > D will not help to derive A > CD either,
If A -> C and AC -> D, then A -> D and uniting the terms gives A -> CD.
Hmmm; I have a feeling I'm doing a bit too much hand-waving there. I think the conclusions are accurate, but I'm not explaining the intermediate steps as well as I probably should.
> Jonathan Leffler wrote:
>
>> shannon wrote:
>>
>>> FD has been bugging me for a month now,
>>>
>>> F = {A -> BC, A -> D, CD -> E}
>>> G = {A -> BCE, A -> ABD, CD -> E}
>>>
>>> I have been told that the sets of functional dependencies above are
>>> equivalent, can anybody explain to me how I can come to this
>>> conclusion step by step,
>>>
>>> I understand that armstrong's axioms are used to come to the
>>> conclusion, I have seen these axioms written down,
>>>
>>> please use another example if you are in fear of doing 'homework'
>>
>>
>>
>> In F, A -> BC and A -> D means A -> BCD. Since CD -> E, transitivity
>> means that A -> CD => A -> E. Hence, the first term of G is
>> deducible. The second term in G is similarly deducible from the
>> trivial A -> A (not cited; it is a tautology), plus A -> BC plus A ->
>> D. The third term is identical in F and G.
>>
>>
-- Jonathan Leffler #include <disclaimer.h> Email: jleffler_at_earthlink.net, jleffler_at_us.ibm.com Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/Received on Wed Jan 07 2004 - 00:21:22 CST
![]() |
![]() |