Re: Functional Dependency to constrain a relation to exactly one element?

From: vc <boston103_at_hotmail.com>
Date: 1 Oct 2006 15:22:21 -0700
Message-ID: <1159741341.015680.162110_at_m73g2000cwd.googlegroups.com>


Marshall wrote:
> vc wrote:
> > Marshall wrote:
> > > vc wrote:
> > > > Jan Hidders wrote:
> > > > > Marshall wrote:
> > > > [...]
> > > > > > Is it possible to have a functional dependency > > [...]
> > > > > > If it can't be done with an FD, can we do it with a constraint?
> > > > >
> > > > > Of course. In first-order logic you can specify this (i.e. that there
> > > > > is at least one tuple in the relation) with a simple existential
> > > > > statement.
> > > >
> > > > What simple existential statement do you have in mind ?
> > >
> > > If we want to ensure that relation R has at least one
> > > element, *any* existential constraint on R will do it.
> >
> > Right, but it was not your original question. You asked about a
> > constraint "that will constrain R to *exactly* one row?". Clearly,
> > "*any* existential constraint on R" won't do that.

>

> Ah, of course, I see what you mean now.
>

> Well, we could always pair an empty determinant set FD with
> an empty existential constraint. Or, given a candidate key k
> of relation R, we could perhaps say
>

> exists R.k: forall R.k': k = k'
>

> (using x' to indicate a different binding of attribute x)
>

> Of course, you could make a good case that the above
> isn't "simple".

One would make a good case that it is not "existential" (why not "universal" ?) ;)

>
>
> Marshall
Received on Mon Oct 02 2006 - 00:22:21 CEST

Original text of this message