Re: header part of the value?



On 28 feb, 20:35, Tegiri Nenashi <TegiriNena...@xxxxxxxxx> wrote:
On Feb 28, 8:37 am, Jan Hidders <hidd...@xxxxxxxxx> wrote:



On 28 feb, 17:27, Tegiri Nenashi <TegiriNena...@xxxxxxxxx> wrote:

On Feb 28, 12:03 am, Jan Hidders <hidd...@xxxxxxxxx> wrote:

On 28 feb, 04:32, Tegiri Nenashi <TegiriNena...@xxxxxxxxx> wrote:

On Feb 27, 7:08 pm, Marshall <marshall.spi...@xxxxxxxxx> wrote:

It appears to me as if you are viewing the
equation "x + 3 = y" as having 3 as the free variable, and
x and y as constants! Whereas I would consider it much
more natural to consider x and y as free variables, or
parameters, or attribute names (they are all the same)
and 3 and 5 as constants.

Well, the case with two variables in the header is tricky. First,
define union and join then we can talk about it:-)

How about: the union is the logical disjunction of the equations and
the join is the logical conjunction of the equations?

Can you please apply your definition on the example:

Q:
x + 3 = y \/
x + 5 = y
R:
x + y = 7

What is the header of the join, is it {"x+...=y", "x+y=7"}, or is it
{"x=...", "y=..."}. What is the header of the union?

In both cases {x,y}.

Are you implying that you always extract attribute names from
generalized header and do usual set operations and the result is
always classic relation? This can't be because the idempotence is
violated, for example, what would be the result of joining the Q with
itself? I might also interpret you answer as if you don't subscribe to
the idea of generalized relation, so that the header of Q is just
{x,y}.

Indeed, I don't.

Let me reiterate the generalized relation idea one more time, on a
level perhaps more digestable for wider audience. Consider classic
relation

"The person first name is ..."

Normally, we don't write the whole sentence in the relation header (we
focus exclusively on named perspective, of course) and abbreviate it
to just

Name
-----
Scott
Mike

The concept of domain has been introduced to resolve questions weather
this relation is allowed to be joined with something like

"The ship name is ..."

All we do when allowing generalized relations is admitting predicates
like this:

"The variable x is greater or equal than ..."

and insisting that the whole sentence matters as a relation header.

Column names are just there to identify the role that the objects in
the column play in the predicate, it is the name of the relation that
should indicate the predicate. Why would we want to change that?

-- Jan Hidders
.