| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Can relvars be dissymetrically decomposed? (vadim and x insight demanded on that subject)
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).
![]() |
![]() |