Re: Plural or singular table names

From: Bob Badour <bbadour_at_golden.net>
Date: Wed, 3 Sep 2003 15:09:08 -0400
Message-ID: <M9s5b.436$iP3.44134429_at_mantis.golden.net>


"Paul Vernon" <paul.vernon_at_ukk.ibmm.comm> wrote in message news:bj59dh$13i2$1_at_gazette.almaden.ibm.com...
> "Bob Badour" <bbadour_at_golden.net> wrote in message
> news:Lwn5b.422$0G3.43916381_at_mantis.golden.net...
> [snip]
> > > > Consider the following relation:
> > >
> > > Relation variable or relation value?
> >
> > It doesn't matter. It is a relation with known constraints.

>

> Whether something is a value or a variable doesn't matter?
>

> > Values do have constraints; they have types.
>
> Nope, a type is part of the value.

I agree. The type constraint is part of the value. Thus A and B might both be unary relations with a single integer attribute C. A and B might both have a single tuple with the integer value 1 in C. If the candidate key of A is {} while the candidate key of B is { C }, then the type of A and the type of B are different. Likewise comparing two relations with different constraints Z = A + B and Z = A ^ B. The constraints are part of the type specification and affect the resulting values of operations on the values.

> > The relation F with a binary
> > key {X,Y} is different from a similar relation with a nullary key {}. A
> > relation value has a predicate and a body.
>
> Nope, a relation value has a heading and a body. The heading defines the
type of the
> value and is part of that value.

I prefer to say that a relation has a predicate and that the heading is a required part of the predicate. The predicate defines the type of the value and is part of that value.

> You do not take a relation body and add some type constraints. A relation
body cannot
> stand alone without it's header.

A relation body cannot stand alone without its predicate and the predicate requires a heading.

> A relation value has no information about constraints.

I disagree. Every relation has at least one candidate key, and the candidate keys can affect the result values of operations.

> It might satisfy certain
> constraints, but it does not 'contain' any constraints.

Again, I disagree. The constraints form the type specification.

> It might satisfy A -> B, but
> A -> B is not part of it's value - it would be redundant if it was because
we could
> derive the fact that A -> B from the actual value of the relation.

There is an important difference between essential implication and incidental implication. We can only derive incidental implication from the value unless essential implication is also part of the value.

> A value is just a value. It is 'constrained' to be exactly the value that
it is. OK,
> so maybe that is one constraint.

A value has a type that affects its value. Received on Wed Sep 03 2003 - 21:09:08 CEST

Original text of this message