Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: Functional Dependencies?

Re: Functional Dependencies?

From: Marshall Spight <marshall.spight_at_gmail.com>
Date: 1 Oct 2005 11:34:45 -0700
Message-ID: <1128191685.757290.240710@g44g2000cwa.googlegroups.com>


Theo Clevadore wrote:
> If there is a FD that says {} -> Y what does that mean?
>
> I take from it that Y is a constant value therefore anything supplied
> for X (including nothing) will determine Y. But, I'm unsure.

We can rewrite any functional dependency into a universally quantified constraint:

{A} -> {B}

  is the same as

forall A, A', B, B'. A = A' => B = B'

Let P = (A = A')
Let Q = (B = B')

Then the body of the constraint is: P => Q

Putting this in disjunctive normal form, we get: !P | Q

Now in the case of A = (), we have
!( () = () ) | Q // starting to look like ascii art !true | Q
false | Q
Q

expanding Q:

forall B, B'. B = B'

So {} -> B says that for all pairwise B values we can look at, they are the same. That is, there is only one value for B. (This is perhaps slightly different than saying it's a constant, but I think that's what you meant.)

Corrections/simplifications welcome.

Marshall Received on Sat Oct 01 2005 - 13:34:45 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US