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: Constraints and Functional Dependencies

Re: Constraints and Functional Dependencies

From: Marshall <marshall.spight_at_gmail.com>
Date: 25 Feb 2007 14:55:05 -0800
Message-ID: <1172444104.943754.19960@s48g2000cws.googlegroups.com>


On Feb 25, 8:23 am, "Keith H Duggar" <dug..._at_alum.mit.edu> wrote:
> mAsterdam wrote:
> > A rephrase to (i) could be:
>
> > <reference>
> > (i a)
> > A relation R with attribute a (written as R(a)) having
> > a as a reference into S(b)
> > is expressed as follows:
>
> > forall R(a): exists S(b): a = b
>
> > Note that b need not be a ck to S, hence 'into', not 'to'.
> > </reference>
>
> Does Marshall's notation S(b) mean that relation S has only
> one attribute b?

That was my intention; I like my examples to be as simple as possible. Certainly we could have written the example such that S had additional columns and it still would have illustrated the same point. However the additional columns wouldn't have added anything, so I left them out.

> If so then b is necessarily a ck (in fact
> the only key).

Not quite. A key is a set of columns, and the empty set is not excluded. So we have two possible keys: the empty set of columns, and the set containing b. (Which does mean the set containing b is necessarily a superkey.)

> If S(b) is actually a shorthand notation for
> S(b,b0...bn) then one can express that b is a ck by:
>
> forall b: exists c0,...cn: forall b0...bn:
> S(b,b0...bn): b0 = c0 ... bn = cn
>
> Correct?

I can't quite make out the above. Where did c0 .. cn come from? Are they free logic variables? My earlier proposal (in contrast to garden-variety FOL) prohibited free logic variables, allowing variables to range only over attribute values of named relations.

Marshall Received on Sun Feb 25 2007 - 16:55:05 CST

Original text of this message

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