Re: Two definitions for functional dependency.

From: V.J. Kumar <vjkmail_at_gmail.com>
Date: Fri, 30 Mar 2007 15:20:08 +0200 (CEST)
Message-ID: <Xns99035EF86DE2Evdghher_at_194.177.96.26>


"Aloha Kakuikanu" <aloha.kakuikanu_at_yahoo.com> wrote in news:1175201787.460169.95830_at_o5g2000hsb.googlegroups.com:

> Given a relation R(x,y) when does x->y functional dependency holds?
> Let's try several relational algebra expressions over R.
>
> 1. Self join: R /\ R. It evaluates trivially to R. We have to rename
> at least one variable to get an interesting expression. Here are 2
> choces, rename x, or rename y. Let's consider renaming y first:
>
> 2a. R(x,y') /\ R(x,y"). Let's join it with the relation y'!=y". The x-
>>y holds iff the resulting relation is empty.

It is not surprising because you've simply rephrased the very definition of functional dependency, namely that it is at least a surjection and that's exactly why it is called functional !

>This cute formulation
> has been already discussed on this forum. What is new (at least for
> me), is the option 2b:
>
> 2b. R(x',y) /\ R(x",y). Let's project this relation to <x',x">. The
> x->y holds iff the resulting relation is an equivalence relation.

That is not surprising either because, conversely, each surjection determines a partition of its domain or in other words an equivalence relation.

>
>
Received on Fri Mar 30 2007 - 15:20:08 CEST

Original text of this message