Re: Two definitions for functional dependency.
- From: "V.J. Kumar" <vjkmail@xxxxxxxxx>
- Date: Fri, 30 Mar 2007 15:20:08 +0200 (CEST)
"Aloha Kakuikanu" <aloha.kakuikanu@xxxxxxxxx> wrote in
news:1175201787.460169.95830@xxxxxxxxxxxxxxxxxxxxxxxxxxx:
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.
.
- References:
- Two definitions for functional dependency.
- From: Aloha Kakuikanu
- Two definitions for functional dependency.
- Prev by Date: Re: Bidirectional Binary Self-Joins
- Next by Date: Re: What is the logic of storing XML in a Database?
- Previous by thread: Two definitions for functional dependency.
- Next by thread: Lift to Drag ratio.
- Index(es):