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: Can relvars be dissymetrically decomposed? (vadim and x insight demanded on that subject)

Re: Can relvars be dissymetrically decomposed? (vadim and x insight demanded on that subject)

From: erk <eric.kaun_at_gmail.com>
Date: 19 Jul 2006 04:15:16 -0700
Message-ID: <1153307716.632850.92200@i42g2000cwa.googlegroups.com>


Cimode wrote:
> *Strong* caution must be put here before assuming relations and
> relvalue are synonyms. relvalues are not to be confused with relations
> in abstract thinking. The only thing that can be said is that a
> relvalue is *necessarily* the *evaluation* of a specific relation.

An "evaluation of a specific relation" means that you must be evaluating an expression. Perhaps you mean "dereferencing", which would return the value referenced by a variable?

Either way, the concepts of values and variables are fundamental; "abstract thinking" can't smooth over their differences. When you say "relation," you mean either a VALUE (the usual definition), or a VARIABLE. If there's another concept here, define it.

> An N tuples relvalue necessarily constitutes the *evaluation* a relation
> R1 but does not equate to R1.

I don't understand this sentence.

> Question is how a relation can be defined or specified otherwise than
> by the relvalues it may evaluate to?

Then in this context by "relation" you mean a RELVAR, which can "hold" RELVALS of a type (the type of the relvar), and thus can vary over time.

> When a function F(x) is defined
> as 2 * x + 2 such definition is independent from the values to which
> the function is evaluated. The value F(2) is an evaluation of
> function F when the variable x = 2. Stating that F(x) = 2 changes the
> nature of the function.

It defines a new function. It doesn't make sense to refer to a changing function; you're defining a new one - for example, "F(x) = 2" has type ANY -> int, while "F(x) = 2*x + 2" might be int -> int or number -> number.

There's no relationship between redefining a function F and changing the relval assigned to a relvar (e.g. via update operations). Especially in view of database constraints which not only restrict tuples in a relvar but also restrict sets of relvars simultaneously (e.g. database constraints, rather than those in a single relvar).

Received on Wed Jul 19 2006 - 06:15:16 CDT

Original text of this message

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